本帖最后由 我是胖子 于 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,灯不亮啊
|