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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 993|回復: 0
打印 上一主題 下一主題
收起左側

藍牙家電控制系統單片機程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:521005 發表于 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)





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 青青草视频免费观看 | 久久精品亚洲一区二区三区浴池 | 欧美成人猛片aaaaaaa | 99精品电影| 黄色a级一级片 | 国产日韩久久 | 99reav | 男人天堂久久 | 国产精品日韩欧美一区二区三区 | 久久精品一区二区视频 | 欧美一区二区三区在线观看视频 | 久久机热 | 中文字幕亚洲一区二区三区 | 日本天堂视频在线观看 | 久久99精品久久久 | 久久久久亚洲精品 | 中文字幕国产高清 | 三级成人片 | 久久综合婷婷 | 欧美精品一区二区三区在线 | 国产精品久久久久久久久久软件 | 午夜在线视频一区二区三区 | 婷婷色国产偷v国产偷v小说 | 亚洲国产成人精品在线 | 日韩欧美精品在线播放 | 黄色免费网站在线看 | 女人夜夜春 | 日韩综合在线 | 国产最好的av国产大片 | 精区3d动漫一品二品精区 | 国产精品久久国产精品 | 成人在线视频免费看 | 69视频在线播放 | 国产精品成人久久久久 | 99久久婷婷国产综合精品电影 | 午夜免费电影院 | 欧美日韩免费在线 | 欧美久久久久久久 | 久久亚洲国产精品 | 日韩三级电影在线看 | 国产精品久久福利 |