找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9141|回復: 7
打印 上一主題 下一主題
收起左側(cè)

app實現(xiàn)藍牙控制單片機開關(guān)例程(E4A+keil程序)

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:410672 發(fā)表于 2021-4-7 13:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近在為一個公司做實物,涉及到關(guān)于app做上位機控制單片機的要求,于是想起了在校期間專門跟著一位教授學習了E4A(易安卓)手機app編譯軟件的開發(fā)。因為E4A是全中文界面,所以上手很快,所以就算隔了好幾年了,還是很快就學習了一遍,用幾個小時的時間編寫了一個用于控制單片機兩個led燈的亮滅,并且可以將狀態(tài)顯示在app上,因為是第一個app所以就先用藍牙編寫了,而且用的是51單片機,后期我會用stm32加wifi來實現(xiàn)。
=============================================================
本時鐘配置清單如下:
-------------------------------------------------------------
主控:51單片機,可用AT89S52,也可用STC89C52
被控設(shè)備:LED小燈
通信接口:let藍牙(16位傳輸)
客戶端軟件:keil4、E4A
單片機用到的串口:p2^1、txd、rxd
=============================================================
E4A設(shè)計部分(上位機): 藍牙開關(guān).zip (514.91 KB, 下載次數(shù): 170)

c51單片機設(shè)計部分(下位機): 單片機程序.zip (10.42 KB, 下載次數(shù): 81)
  1. /*********************************************************************************************
  2. 程序名:    藍牙開關(guān)
  3. 編寫人:     
  4. 編寫時間:  
  5. 硬件支持:  外部11.0592MHZ晶振
  6. 接口說明:  
  7. 修改日志:  
  8.   NO.1- 
  9. /*********************************************************************************************
  10. 說明:


  11. /*********************************************************************************************/

  12. #include <reg52.h> //包含頭文件
  13. sbit LED=P2^1;
  14. unsigned char UART_data; //定義串口接收數(shù)據(jù)變量

  15. /*********************************************************************************************
  16. 函數(shù)名:UART串口初始化函數(shù)
  17. 調(diào)  用:UART_init();
  18. 參  數(shù):無
  19. 返回值:無
  20. 結(jié)  果:啟動UART串口接收中斷,允許串口接收,啟動T/C1產(chǎn)生波特率(占用)
  21. 備  注:振蕩晶體為12MHz,PC串口端設(shè)置 [ 4800,8,無,1,無 ]
  22. /**********************************************************************************************/
  23. void UART_init ( )
  24. {
  25.         
  26.         EA = 1; //允許總中斷(如不使用中斷,可用//屏蔽)
  27.         ES = 1; //允許UART串口的中斷

  28.         TMOD = 0x20;        //定時器T/C1工作方式2
  29.         SCON = 0x50;        //串口工作方式1,允許串口接收(SCON = 0x40 時禁止串口接收)
  30.         TH1 = 0xFa;        //定時器初值高8位設(shè)置   //12MHZ晶振,波特率為4800 0xf3
  31.         TL1 = 0xFa;        //定時器初值低8位設(shè)置   //11.0592MHZ晶振,波特率為4800 0xf4   9600  0xfa   19200  0xfd
  32.         PCON = 0x80;        //波特率倍頻(屏蔽本句波特率為2400)
  33.         TR1 = 1;        //定時器啟動   
  34. }
  35. void main( ) //主函數(shù)
  36. {
  37.     UART_init();
  38.     LED=1;
  39.         while(1)
  40.         {
  41.        if(UART_data==0x31){LED=0; }//開
  42.            if(UART_data==0x32){LED=1;}//關(guān)


  43.       
  44.         }
  45. }
  46. /*********************************************************************************************
  47. 函數(shù)名:UART串口接收中斷處理函數(shù)
  48. 調(diào)  用:[SBUF收到數(shù)據(jù)后中斷處理]
  49. 參  數(shù):無
  50. 返回值:無
  51. 結(jié)  果:UART串口接收到數(shù)據(jù)時產(chǎn)生中斷,用戶對數(shù)據(jù)進行處理(并發(fā)送回去)
  52. 備  注:過長的處理程序會影響后面數(shù)據(jù)的接收
  53. /**********************************************************************************************/
  54. void UART_R ( ) interrupt 4  using 1  //切換寄存器組到1
  55. {
  56.         
  57.         RI = 0;                        //令接收中斷標志位為0(軟件清零)
  58.         UART_data = SBUF;        //將接收到的數(shù)據(jù)送入變量 UART_data
  59.         
  60.         //用戶函數(shù)內(nèi)容(用戶可使用UART_data做數(shù)據(jù)處理)
  61.         
  62.         SBUF = UART_data;        //將接收的數(shù)據(jù)發(fā)送回去(刪除//即生效)
  63.         while(TI == 0);        //檢查發(fā)送中斷標志位
  64.         TI = 0;                //令發(fā)送中斷標志位為0(軟件清零)
  65. }
  66. /*****************************************************************************/

  67. /*****************************************************************************/
復制代碼
=============================================================
因為是第一次在51黑論壇上發(fā)表,所以文章不是很精美,但是所有的文件都上傳了,大家可自行下載查看,相信大家查看代碼后很快就能懂,如果有什么疑問可以在下方留言詢問,或者來我博客留周嘉浩的博客zhoujiahao點top;也歡迎大家來我的店查看我們最新設(shè)計的電子設(shè)備:
游客,本帖隱藏的內(nèi)容需要積分高于 1 才可瀏覽,您當前積分為 0



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

相關(guān)帖子

回復

使用道具 舉報

沙發(fā)
ID:493017 發(fā)表于 2021-4-9 11:56 | 只看該作者
采用的是什么型號的藍牙模塊呢
回復

使用道具 舉報

板凳
ID:856401 發(fā)表于 2021-4-10 07:57 來自手機 | 只看該作者
新的一天,從學習單片機開始
回復

使用道具 舉報

地板
ID:129858 發(fā)表于 2021-4-10 08:35 | 只看該作者
牛啊,初學者表示看不懂
回復

使用道具 舉報

5#
ID:410672 發(fā)表于 2021-4-10 20:11 | 只看該作者
喜歡喝綠茶的魚 發(fā)表于 2021-4-9 11:56
采用的是什么型號的藍牙模塊呢

就常見的都可以,不同的可以根據(jù)商家給的資料該串口
回復

使用道具 舉報

6#
ID:907134 發(fā)表于 2021-4-16 22:42 | 只看該作者
好的,謝謝樓主啦
回復

使用道具 舉報

7#
ID:410672 發(fā)表于 2021-7-18 10:45 | 只看該作者
喜歡喝綠茶的魚 發(fā)表于 2021-4-9 11:56
采用的是什么型號的藍牙模塊呢

esp8266-01s/esp8266-01
回復

使用道具 舉報

8#
ID:927615 發(fā)表于 2024-7-9 17:38 來自手機 | 只看該作者
不錯,我也下載了看看,謝謝
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表