|
電機(jī)PWM程序
#include<AT89X52.H> //包含51單片機(jī)頭文件,內(nèi)部有各種寄存器定義
#include<HJ-2WD_PWM.H> //包含HL-1藍(lán)牙智能小車驅(qū)動(dòng)IO口定義等函數(shù)
#define uchar unsigned char
#define uint unsigned int
unsigned char n,count;//距離標(biāo)志位,0.5ms次數(shù)
uchar i;
void DelayUs2x(uchar t)
{
while(--t);
}
void DelayMs(uchar t)
{
while(t--)
{
//大致延時(shí)1mS
DelayUs2x(245);
DelayUs2x(245);
}
}
/*------------------------------------------------
定時(shí)器01初始化
//定時(shí)器1工作方式1 ,定時(shí)器0 電機(jī)PWM調(diào)速控制信號(hào)
------------------------------------------------*/
void Time1_Int() interrupt 3//
{
TH1=0xff;
TL1=0xa3;
count=(count+1);//0.5ms次數(shù)加1
count=count%40;//次數(shù)始終保持為40即保持周期為20ms
}
//主函數(shù)
void main(void)
{
TMOD=0X11;
TH0= 0XFc; //1ms定時(shí)
TL0= 0X18;
TR0= 1;
ET0= 1;
EA = 1; //開(kāi)總中斷
TH1=0xff;
TL1=0xa3;
ET1=1;
TR1= 1;
while(1) //無(wú)限循環(huán)
{
//run(); //調(diào)用PWM函數(shù)
push_val_left=10; //速度調(diào)節(jié)變量 0-20。。。0最小,20最大
//push_val_left=PWMSD;
Left_moto_go ; //左電機(jī)
}
}
|
|