求编写一段简单的单片机程序,要求如下

就是51单片的串口收到一串数字后,如123456后让led1亮,当收到其他数字或字符时,另外一个灯比如led3亮,求大神帮忙,急啊,最好能给个注释,多谢

第1个回答  推荐于2016-09-19
main()
{
unsigned char time=0;

TMOD = 0x20; // 定时器1工作于8位自动重载模式, 用于产生波特率
TH1 = 0xFD; // 波特率9600
TL1 = 0xFD;

SCON = 0x50; // 设定串行口工作方式
PCON &= 0xef; // 波特率不倍增

TR1 = 1; // 启动定时器1
IE = 0x00; // 禁止任何中断

while(1)
{
if(RI) // 是否有数据到来
{
RI = 0;
time++;
if(time==6) time=0;
tmp = SBUF; // 暂存接收到的数据,这个数组中的就是接收到的所有数据。
tab[time]=tmp;
//然后你把数组中的数据和“123456”进行比较,如果相等就执行相应的操作
//增加你的程序。
}
}
}追问

能不能给的完整点呢,你前面的我也都写出来了,就是比较这里总是实现不了

本回答被提问者和网友采纳
第2个回答  2015-05-06
需要给你写吗