#include<reg51.h>
#define uint unsigned char
#define uchar unsigned char
uchar step[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x08};
uchar rcom[5];
uchar rd;
uint num;
void uart() interrupt 4
{
if(RI)
{
RI=0;
rcom[rd]=SBUF;
rd++;
}
}
main()
{
uchar i,dat;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SCON=0x50;
ES=1;
EA=1;
rd=0;
while(1)
{
if(rd==4)
{
rd=0;
if(rcom[0]=='Z')
{
dat=(rcom[1]-0x30)*1000+(rcom[2]-0x30)*100+(rcom[2]-0x30)*10+(rcom[2]-0x30);
for(i=0;i<dat;i++)P0=step[i%8];
}
if(rcom[0]=='F')
{
dat=(rcom[1]-0x30)*1000+(rcom[2]-0x30)*100+(rcom[2]-0x30)*10+(rcom[2]-0x30);
for(i=0;i<dat;i++)P0=step[7-i%8];
}
}
}
}
温馨提示:答案为网友推荐,仅供参考