如果你是用字符串进行控制,我也是有程序的。
/*
长字符串控制
*/
#include<reg51.h>
sbit LED0=P2^0;
unsigned char i=0,k;
unsigned char DD[11];
void UsartConfiguration();
void Delay10ms(unsigned int c);
void main()
{
UsartConfiguration();
Delay10ms(10);
while(1)
{
}
}
void UsartConfiguration()//设置串口12M\4800
{
SCON=0X50;
TMOD=0X20;
PCON=0X80;
TH1=0XF3;
TL1=0XF3;
TR1=1;
ES=1;
EA=1;
}
void Delay10ms(unsigned int c)
{
unsigned char a, b;
for (;c>0;c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}
void CKTX() interrupt 4
{
RI=0;
k=SBUF;
if (k!='\n')
{
DD[i]=k;
i++;
if (i>11)
{
i=0;
}
}
else
{
DD[i]=k;
i=0;
if ((DD[0]=='1')&&(DD[1]=='2')&&(DD[2]=='3')&&(DD[3]=='4')&&(DD[4]=='5')&&(DD[5]=='6')&&(DD[6]=='7')&&(DD[7]=='8')&&(DD[8]=='9')&&(DD[9]==0x0d)&&(DD[10]==0x0a))
{
LED0=~LED0;
}
}
}
程序要求,字符串必须以回车结束,字符串长度最大九位 |