久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: ZIGBEE在51單片機(jī)上通信,無(wú)線路燈控制系統(tǒng)源代碼 [打印本頁(yè)]

作者: zkkshfksd    時(shí)間: 2018-6-6 20:49
標(biāo)題: ZIGBEE在51單片機(jī)上通信,無(wú)線路燈控制系統(tǒng)源代碼
通信程序及電路圖


單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #define jingzhen     12000000UL                         //晶振12M         
  3. #define botelv   9600UL                                      //波特率9600
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. volatile unsigned char sending;

  7. sbit key=P3^4;
  8. sbit key1=P3^5;
  9. sbit key2=P3^3;
  10. sbit key3=P3^7;

  11. uchar code table []="the light state";
  12. uchar code open[]="open normal";
  13. uchar code open1[]="open error";
  14. uchar code close[]="close normal";
  15. uchar code close1[]="close error";
  16. unsigned char x[]="1";
  17. unsigned char y[]="2";                       

  18. sbit lcden=P2^6;
  19. sbit lcdrs=P2^4;
  20. sbit rw=P2^5;

  21. uchar num;

  22. void uartinit(void)          //串口初始化                       
  23. {
  24. EA=0;
  25. TMOD&=0x0F;  
  26. TMOD|=0x20;   
  27. SCON=0x50;     
  28. TH1=256-jingzhen/(botelv*12*16);  
  29. TL1=256-jingzhen/(botelv*12*16);
  30. PCON|=0x80;   
  31. ES=1;         
  32. TR1=1;        
  33. REN=1;         
  34. EA=1;         
  35. }

  36. void send(unsigned char d)                  //d為發(fā)送的數(shù)據(jù)
  37. {

  38. SBUF=d;                   //將數(shù)據(jù)存到SBUF中
  39. sending=1;         
  40. while(sending);   
  41. }

  42. void sendc(unsigned char * pd)        //發(fā)送字符串
  43. {
  44. while((*pd)!='\0')    //遇0停止發(fā)送
  45. {
  46.   send(*pd);
  47.   pd++;  
  48. }
  49. }

  50. void delay(uint z)
  51. {
  52.         uint x,y;
  53.         for(x=z;x>0;x--)
  54.                 for(y=110;y>0;y--);
  55. }

  56. void write_com(uchar com)
  57. {
  58.         lcdrs=0;
  59.         P0=com;
  60.         delay(5);
  61.         lcden=1;
  62.         delay(5);
  63.         lcden=0;
  64. }

  65. void write_data(uchar date)
  66. {
  67.         lcdrs=1;
  68.         P0=date;
  69.         delay(5);
  70.         lcden=1;
  71.         delay(5);
  72.         lcden=0;
  73. }

  74. void init()
  75. {       
  76.         rw=0;
  77.         lcden=0;
  78.         write_com(0x38);
  79.         write_com(0x0e);
  80.         write_com(0x06);
  81.         write_com(0x01);
  82.         write_com(0x80);
  83. }

  84. void open2()
  85. {
  86.                  init();
  87.            for(num=0;num<15;num++)    //第一屏        light狀態(tài)
  88.             {
  89.                   write_data(table[num]);
  90.                     delay(1);
  91.              }
  92.             write_com(0x80+0x40);
  93.                  for(num=0;num<11;num++)    //第二行 亮 正常
  94.              {       
  95.                    write_data(open[num]);
  96.                     delay(1);
  97.          }
  98. }

  99. void open3()
  100. {
  101.                  init();
  102.            for(num=0;num<15;num++)    //第一屏        light狀態(tài)
  103.             {
  104.                   write_data(table[num]);
  105.                     delay(1);
  106.              }
  107.             write_com(0x80+0x40);
  108.                  for(num=0;num<10;num++)    //第二行 亮 不正常
  109.              {       
  110.                    write_data(open1[num]);
  111.                     delay(1);
  112.          }
  113. }

  114. void close2()
  115. {
  116.                 init();
  117.             for(num=0;num<15;num++)    //第一屏        light狀態(tài)
  118.             {
  119.                   write_data(table[num]);
  120.                     delay(1);
  121.              }
  122.             write_com(0x80+0x40);
  123.                  for(num=0;num<12;num++)    //第二行 滅 正常
  124.              {       
  125.                    write_data(close[num]);
  126.                     delay(1);
  127.          }
  128. }

  129. void close3()
  130. {
  131.       init();
  132.             for(num=0;num<15;num++)    //第一屏        light狀態(tài)
  133.             {
  134.                   write_data(table[num]);
  135.                     delay(1);
  136.              }
  137.             write_com(0x80+0x40);
  138.                  for(num=0;num<11;num++)    //第二行 滅 不正常
  139.              {       
  140.                    write_data(close1[num]);
  141.                     delay(1);
  142.          }
  143. }

  144. void main()                        //主函數(shù)
  145. {
  146.     uartinit();
  147.         init();
  148.         for(num=0;num<15;num++)    //第一屏        light狀態(tài)
  149.             {
  150.                   write_data(table[num]);
  151.                     delay(1);
  152.              }
  153.                   write_com(0x80+0x40);
  154.                  for(num=0;num<12;num++)    //第二行        正常關(guān)閉
  155.              {       
  156.                    write_data(close[num]);
  157.                     delay(1);
  158.          }
  159.         while(1)
  160.         {
  161.          if(key==0)
  162.          {         
  163.            delay(20);
  164.                         if(!key)
  165.                         {
  166.                                 while(!key);       
  167.                                 open2();                                        //亮 正常          
  168.                                 sendc(x);
  169.                         }
  170.           }
  171.           else if(key1==0)
  172.           {
  173.                   open3();                                //亮 不正常
  174.           }
  175.           else if(key2==0)
  176.           {
  177.           delay(20);
  178.                         if(!key2)
  179.                         {
  180.                                 while(!key2);       
  181.                     close2();                                // 滅 正常   
  182.                                 sendc(y);
  183.                         }
  184.           }
  185.           else if(key3==0)
  186.           {
  187.                    close3();                                // 滅 不正常
  188.           }
  189.         }
  190. }

  191. void uart(void) interrupt 4                 //串口中斷
  192. {
  193. ……………………

  194. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
無(wú)線路燈控制系統(tǒng) 程序.zip (111.2 KB, 下載次數(shù): 108)





作者: hxy19971001    時(shí)間: 2019-5-28 01:35
非常有用!感謝樓主!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 天天草天天干天天 | 黄色大片在线免费观看 | 色婷婷一区二区三区四区 | 免费观看www7722午夜电影 | 日本久久久一区二区三区 | 久久久久成人精品免费播放动漫 | 91麻豆精品国产91久久久久久 | 九九热久久免费视频 | 久久国产精品久久 | 免费精品视频在线观看 | 日本午夜在线视频 | 偷拍亚洲色图 | 亚洲精品黄色 | 日韩亚洲一区二区 | 久久人人爽人人爽人人片av免费 | 成人免费视频网站在线观看 | 亚洲国产激情 | 黄瓜av | 国产精品久久久久久妇女6080 | 全免费a级毛片免费看视频免费下 | 中文字幕在线看第二 | av一级 | 精品国产91 | 日本a∨精品中文字幕在线 亚洲91视频 | 欧美一区二区三区久久精品视 | 国产一区二区三区四区三区四 | 国产精品成人国产乱一区 | 国产精品久久久久久久岛一牛影视 | 亚洲精品一区中文字幕乱码 | 一区二区三区免费看 | 国产视频中文字幕 | 日韩和的一区二在线 | 91大片| 精品视频久久久 | 日本污视频 | 成人国产精品视频 | 亚洲欧美中文日韩在线v日本 | 日本成人中文字幕 | 奇米超碰在线 | 亚洲精品二区 | 激情视频网站 |