标题:
单片机串口通信控制电机代码
[打印本页]
作者:
468
时间:
2018-5-17 13:10
标题:
单片机串口通信控制电机代码
#include<reg52.h>
sbit bb=P1^4;
sbit cc=P1^5;
sbit dd=P1^6;
sbit ee=P1^7;
unsigned int c;
int a,b,d,e,num;
void delay(int z);
void panduan1();
void duanpan1();
void main()
{
TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
num=0;
d=0;
while(1)
{
if(RI==1) //等待接收数据
{
for(e=2;e>0;e--)
{
num++;
if(num==1)
{
RI=0; //需要软件清标志位
c=SBUF; //读取数据
}
delay(200);
if(num==2)
{
RI=0;
d=SBUF;
}
}
if(c==0xaa)
{
for(a=d;a>0;a--)
{
duanpan1();
}
}
if(c==0xbb)
{
for(b=d;b>0;b--)
{
panduan1();
}
}
if(num==2)
{
num=0;
}
}
}
}
void delay(int z)
{
int a,b;
for(a=100;a>0;a--);
for(b=z;b>0;b--);
}
void panduan1()
{
bb=1;
cc=0;
dd=0;
ee=0;
delay(100);
bb=1;
cc=1;
dd=0;
ee=0;
delay(100);
bb=0;
cc=1;
dd=0;
ee=0;
delay(100);
bb=0;
cc=1;
dd=1;
ee=0;
delay(100);
bb=0;
cc=0;
dd=1;
ee=0;
delay(100);
bb=0;
cc=0;
dd=1;
ee=1;
delay(100);
bb=0;
cc=0;
dd=0;
ee=1;
delay(100);
bb=1;
cc=0;
dd=0;
ee=1;
}
void duanpan1()
{
bb=1;
cc=0;
dd=0;
ee=1;
delay(100);
bb=0;
cc=0;
dd=0;
ee=1;
delay(100);
bb=0;
cc=0;
dd=1;
ee=1;
delay(100);
bb=0;
cc=0;
dd=1;
ee=0;
delay(100);
bb=0;
cc=1;
dd=1;
ee=0;
delay(100);
bb=1;
cc=1;
dd=0;
ee=0;
delay(100);
bb=1;
cc=0;
dd=0;
ee=0;
delay(100);
}
/*
void ser() interrupt 4
{
RI=0;
c=SBUF ;
}
if(c==0xaa)
{
delay(200);
panduan1();
}
if(c==0xbb)
{
delay(200);
duanpan1();
}
*/
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1