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