本帖最后由 我是胖子 于 2013-7-29 16:47 编辑
/*
时间:2013年7月29日10:33:54
为什么我把数据从串口发送,灯不亮?
*/
# include<reg52.h>
# include<HL_1.h>
unsigned char b[10];
unsigned char flag, i, a, count = 0;
unsigned char code table[][10] = {"ONLED0","OFFLED0"};
unsigned char code message[] = "Succeed!";
void Init(void)//初始化函数
{
TMOD = 0x20;
TH1 = 0xfd;
TL1 = 0xfd;
TR1 = 1;
REN = 1;
SM0 = 0;
SM1 = 1;
EA = 1;
ES = 1;
}
void succeed_mes()//返回运行成功的消息
{
if(flag==1)
{
ES = 0;
for(i=0;i<8;i++)
{
SBUF = message[i];
while(!TI);
TI = 0;
}
ES = 1;
flag = 0;
}
}
void command(void)//接收的数据命令
{
unsigned int i, j;
for(i=0;i<10;++i)
{
if(table[0][i]!=b[i])
{
j = 0;
break;
}
}
if(i==9)
{
j = 1;
}
switch(j)
{
case 0:
{
break ;
}
case 1:
{
LED0 = 0;
succeed_mes();
break ;
}
}
}
void main()
{
Init();
while(1)
{
command();
}
}
void Ser() interrupt 4
{
RI = 0;
a = SBUF;
flag = 1;
for(;count<10;count++)
{
b[count] = a;
}
}
我下载到板子上,用电脑往单片机发送ONLED0,灯不亮啊 |