找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7039|回复: 6
打印 上一主题 下一主题
收起左侧

app实现蓝牙控制单片机开关例程(E4A+keil程序)

  [复制链接]
跳转到指定楼层
楼主
ID:410672 发表于 2021-4-7 13:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在为一个公司做实物,涉及到关于app做上位机控制单片机的要求,于是想起了在校期间专门跟着一位教授学习了E4A(易安卓)手机app编译软件的开发。因为E4A是全中文界面,所以上手很快,所以就算隔了好几年了,还是很快就学习了一遍,用几个小时的时间编写了一个用于控制单片机两个led灯的亮灭,并且可以将状态显示在app上,因为是第一个app所以就先用蓝牙编写了,而且用的是51单片机,后期我会用stm32加wifi来实现。
=============================================================
本时钟配置清单如下:
-------------------------------------------------------------
主控:51单片机,可用AT89S52,也可用STC89C52
被控设备:LED小灯
通信接口:let蓝牙(16位传输)
客户端软件:keil4、E4A
单片机用到的串口:p2^1、txd、rxd
=============================================================
E4A设计部分(上位机): 蓝牙开关.zip (514.91 KB, 下载次数: 154)

c51单片机设计部分(下位机): 单片机程序.zip (10.42 KB, 下载次数: 72)
  1. /*********************************************************************************************
  2. 程序名:    蓝牙开关
  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; //定义串口接收数据变量

  15. /*********************************************************************************************
  16. 函数名:UART串口初始化函数
  17. 调  用:UART_init();
  18. 参  数:无
  19. 返回值:无
  20. 结  果:启动UART串口接收中断,允许串口接收,启动T/C1产生波特率(占用)
  21. 备  注:振荡晶体为12MHz,PC串口端设置 [ 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位设置   //12MHZ晶振,波特率为4800 0xf3
  31.         TL1 = 0xFa;        //定时器初值低8位设置   //11.0592MHZ晶振,波特率为4800 0xf4   9600  0xfa   19200  0xfd
  32.         PCON = 0x80;        //波特率倍频(屏蔽本句波特率为2400)
  33.         TR1 = 1;        //定时器启动   
  34. }
  35. void main( ) //主函数
  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;}//关


  43.       
  44.         }
  45. }
  46. /*********************************************************************************************
  47. 函数名:UART串口接收中断处理函数
  48. 调  用:[SBUF收到数据后中断处理]
  49. 参  数:无
  50. 返回值:无
  51. 结  果:UART串口接收到数据时产生中断,用户对数据进行处理(并发送回去)
  52. 备  注:过长的处理程序会影响后面数据的接收
  53. /**********************************************************************************************/
  54. void UART_R ( ) interrupt 4  using 1  //切换寄存器组到1
  55. {
  56.         
  57.         RI = 0;                        //令接收中断标志位为0(软件清零)
  58.         UART_data = SBUF;        //将接收到的数据送入变量 UART_data
  59.         
  60.         //用户函数内容(用户可使用UART_data做数据处理)
  61.         
  62.         SBUF = UART_data;        //将接收的数据发送回去(删除//即生效)
  63.         while(TI == 0);        //检查发送中断标志位
  64.         TI = 0;                //令发送中断标志位为0(软件清零)
  65. }
  66. /*****************************************************************************/

  67. /*****************************************************************************/
复制代码
=============================================================
因为是第一次在51黑论坛上发表,所以文章不是很精美,但是所有的文件都上传了,大家可自行下载查看,相信大家查看代码后很快就能懂,如果有什么疑问可以在下方留言询问,或者来我博客留周嘉浩的博客zhoujiahao点top;也欢迎大家来我的店查看我们最新设计的电子设备:
游客,本帖隐藏的内容需要积分高于 1 才可浏览,您当前积分为 0



评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:493017 发表于 2021-4-9 11:56 | 只看该作者
采用的是什么型号的蓝牙模块呢
回复

使用道具 举报

板凳
ID:856401 发表于 2021-4-10 07:57 来自手机 | 只看该作者
新的一天,从学习单片机开始
回复

使用道具 举报

地板
ID:129858 发表于 2021-4-10 08:35 | 只看该作者
牛啊,初学者表示看不懂
回复

使用道具 举报

5#
ID:410672 发表于 2021-4-10 20:11 | 只看该作者
喜欢喝绿茶的鱼 发表于 2021-4-9 11:56
采用的是什么型号的蓝牙模块呢

就常见的都可以,不同的可以根据商家给的资料该串口
回复

使用道具 举报

6#
ID:907134 发表于 2021-4-16 22:42 | 只看该作者
好的,谢谢楼主啦
回复

使用道具 举报

7#
ID:410672 发表于 2021-7-18 10:45 | 只看该作者
喜欢喝绿茶的鱼 发表于 2021-4-9 11:56
采用的是什么型号的蓝牙模块呢

esp8266-01s/esp8266-01
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表