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

標題: 藍牙家電控制系統單片機程序 [打印本頁]

作者: SaltedFish_Kun    時間: 2019-6-8 17:06
標題: 藍牙家電控制系統單片機程序
STC89C51+HC05
我做的設計
手機裝個藍牙助手,實現指定串口內容控制LED開關。

單片機源程序如下:
  1. #include "main.h"

  2. void main(void)
  3. {
  4.         EA = 1;

  5.         LED1 = 0;
  6.         LED2 = 0;
  7.         Delay = 0;

  8.         ConfigTimer0();
  9.         ConfigUART(9600);
  10.         LCD_INIT();

  11. //        Write_String(0,0,"Hello");
  12. //        Write_String(0,1,"1602113");
  13.         string(0x83,"Welcome",7);//寫入welcome
  14.         string(0xc3,"1602113",7);//寫入Harbin China        

  15.         while(1);
  16. }

  17. //main
  18. void delay(int ms)
  19. {
  20.         int i,j;
  21.         for(i=0;i<ms;i++)
  22.                 for(j=0;j<125;j++);
  23. }

  24. /* 串口配置函數,baud-通信波特率 */
  25. void ConfigUART(unsigned int baud)
  26. {
  27.     SCON  = 0x50;  //配置串口為模式1
  28.     TMOD &= 0x0F;  //清零T1的控制位
  29.     TMOD |= 0x20;  //配置T1為模式2
  30.     TH1 = 256 - (11059200/12/32)/baud;  //計算T1重載值
  31.     TL1 = TH1;     //初值等于重載值
  32.     ET1 = 0;       //禁止T1中斷
  33.     ES  = 1;       //使能串口中斷
  34.     TR1 = 1;       //啟動T1
  35. }

  36. /* 配置并啟動T0,ms-T0定時時間 */
  37. void ConfigTimer0()
  38. {
  39.     TMOD &= 0xF0;   //清零T0的控制位
  40.     TMOD |= 0x01;   //配置T0為模式1
  41.     TH0 = T0RH;     //加載T0重載值
  42.     TL0 = T0RL;
  43.     ET0 = 1;        //使能T0中斷
  44.     TR0 = 1;        //啟動T0
  45. }

  46. //1602
  47. void LCD_INIT(void)
  48. {
  49.     LCD_RW=0;
  50.         write_com(0x38);   //顯示模式設置:16×2顯示,5×7點陣,8位數據接口
  51.         delay(20);
  52.         write_com(0x0f);   //顯示模式設置
  53.         delay(20);
  54.         write_com(0x06);   //顯示模式設置:光標右移,字符不移
  55.         delay(20);
  56.         write_com(0x01);   //清屏幕指令,將以前的顯示內容清除
  57.         delay(20);        
  58. }

  59. void write_com(uchar com)
  60. {
  61.         P0=com;
  62.         LCD_RS=0;
  63.         LCD_EN=0;
  64.         delay(10);
  65.         LCD_EN=1;
  66.         delay(10);
  67.         LCD_EN=0;
  68. }

  69. void write_date(uchar date)
  70. {
  71.         P0=date;
  72.         LCD_RS=1;
  73.         LCD_EN=0;
  74.         delay(10);
  75.         LCD_EN=1;
  76.         delay(10);
  77.         LCD_EN=0;
  78. }

  79. void string(uchar ad,uchar *p,uchar n)//顯示字符函數
  80. {
  81.         uchar i;
  82.         write_com(ad);
  83.         for(i=0;i<n;i++)
  84.         {
  85.                 write_date(*p++);
  86.                 delay(50);
  87.         }
  88. }


  89. void UART_INT(void) interrupt 4
  90. {
  91.         EA = 0;
  92.         while(RI)
  93.         {
  94.                 RxdByte = SBUF;
  95.                 SBUF = SBUF;
  96.                 switch(RxdByte)
  97.                 {
  98.                         case 0x31:LED1 = 1;//LED1開
  99.                                           //Write_String(0,0,"LED1 ON        ");
  100.                                           write_com(0x01);
  101.                                           string(0x80,"Controling",10);
  102.                                       string(0xc0,"LED1  ON ",9);
  103.                                           break;
  104.                         case 0x32:LED1 = 0;//LED1關
  105.                                           //Write_String(0,0,"LED1 OFF       ");
  106.                                           write_com(0x01);
  107.                                           string(0x80,"Controling",10);
  108.                                       string(0xc0,"LED1  OFF",9);
  109.                                           break;
  110.                         case 0x33:LED2 = 1;//LED2開
  111.                                           //Write_String(0,0,"LED2 ON        ");
  112.                                           write_com(0x01);
  113.                                           string(0x80,"Controling",10);
  114.                                       string(0xc0,"LED2  ON ",9);                                 
  115.                                           break;
  116.                         case 0x34:LED2 = 0;//LED2關
  117.                                           //Write_String(0,0,"LED2 OFF       ");
  118.                                           write_com(0x01);
  119.                                           string(0x80,"Controling",10);
  120.                                       string(0xc0,"LED2  OFF",9);
  121.                                           break;
  122.                         case 0x35:Delay = 1;//繼電器開
  123.                                           //Write_String(0,0,"Delay ON       ");
  124.                                           write_com(0x01);
  125.                                           string(0x80,"Controling",10);
  126.                                       string(0xc0,"Delay  ON ",10);
  127.                                           break;
  128.                         case 0x36:Delay = 0;//繼電器關
  129.                                           //Write_String(0,0,"Delay OFF      ");
  130.                                           write_com(0x01);
  131.                                           string(0x80,"Controling",10);//寫入welcome
  132.                                       string(0xc0,"Delay  OFF",10);//寫入Harbin China
  133.                                           break;
  134.                         default://Write_String(0,0,"Error          ");
  135.                                         write_com(0x01);
  136.                                         string(0x85,"Error",5);//寫入welcome
  137.                                     string(0xc1,"Please Retry",12);//寫入Harbin China
  138.                                         break;
  139.                 }
  140.                 RI = 0;
  141.         }
  142.         while(TI)
  143.         {
  144.                 TI=0;
  145.         }
  146.         EA=1;//開啟串口中斷
  147. }
復制代碼

所有程序51hei提供下載:
藍牙家電控制.zip (320.7 KB, 下載次數: 20)










歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 中文字幕一区二区三区乱码在线 | 中文字幕一区二区三区精彩视频 | 欧美精三区欧美精三区 | 日日干日日操 | 久久久精品一区二区三区四季av | 欧美午夜精品久久久久久浪潮 | 亚洲精品免费在线 | 日韩视频在线免费观看 | 日韩一区二区在线视频 | 亚洲一区久久 | av在线一区二区三区 | 在线一区视频 | 美女视频黄的免费 | 天天干天天玩天天操 | 成人国产精品久久久 | 国产精品jizz在线观看老狼 | 日韩av一二三区 | 久久久久久久久国产 | 国产精品jizz在线观看老狼 | 精品av天堂毛片久久久借种 | 国产伦精品一区二区三区高清 | 亚洲第一av | 国产美女一区二区 | 精品国产精品三级精品av网址 | 日韩欧美网 | 亚洲人成人一区二区在线观看 | 国产精品久久久久久久久久免费看 | 亚洲三区在线观看 | 欧美日韩成人在线 | 亚洲午夜在线 | 午夜精品一区二区三区在线观看 | 亚洲精品女优 | 一级视频黄色 | 一级看片| 亚洲电影专区 | 欧美成人不卡 | 美国十次成人欧美色导视频 | 国产一级特黄视频 | 中文字幕 国产 | 日本 欧美 三级 高清 视频 | 成人毛片视频免费 |