直流电机的串口控制PWM
下面直流电机的串口控制PWM的软件部分.
电路资料在附件里.
#include<AT89X52.H>
#define CLK P1_0
#define FOR P1_1
void DelayMs(unsigned int millisecond)
{
unsigned int i;
for(;millisecond;millisecond--)
{
i = 5500/50;
while(i--);
}
}
void Series_Ini(void)
{
SCON=0X50;//一位开始位,8位数据
PCON=0X80;//BAUD=2^SMOD/32)*T1的溢出率
TMOD=TMOD&0xf0|0X20;//timer1 for series port baudrate
TH1=0XE6;
TL1=0XE6;
ES=1;
TI=1;//发送完后置1,由中断程序清0
TR1=1;
}
main()
{
char j=0,m=0,l=0,h=1;
Series_Ini();
P1=0XFF;
do{
if(RI==1)
{
m=SBUF;
}
if(m>=0&&m<=10)
j=m;
if(RI==1&&m==11)
FOR=0;
if(RI==1&&m==12)
FOR=1;
RI=0;
if(j==0)
{
l=1;
h=1;
}
else if(j==10)
{
l=0;
h=0;
}
else
{
l=0;
h=1;
}
CLK=l;
DelayMs(j);
CLK=h;
DelayMs(10-j);
}while(1);
}
附件: 您所在的用户组无法下载或查看附件