找回密码
 立即注册

QQ登录

只需一步,快速开始

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

手机蓝牙APP遥控实物制作及单片机程序分享

  [复制链接]
跳转到指定楼层
楼主
        这是今天制作完成的手机蓝牙APP遥控实物,感觉还不错,贴出来,供大家学习借鉴。

单片机源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #include <math.h>
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. uchar receive=0;
  7. uchar send=0xff;
  8. sbit out1=P2^0;        //继电器1
  9. sbit out2=P2^1;        //继电器2
  10. sbit out3=P2^2;        //继电器3

  11. /********************************************************************
  12. * 名称 : Delay_1ms()
  13. * 功能 : 延时子程序,延时时间为 1ms * x
  14. * 输入 : x (延时一毫秒的个数)
  15. * 输出 : 无
  16. **********************************************************************/
  17. void Delay_1ms(uint i) //1ms延时
  18. {
  19.         uchar x,j;
  20.         for(j=0;j<i;j++)
  21.         for(x=0;x<=148;x++);        
  22. }
  23. /********************************************************************
  24. * 名称 : Com_Init()
  25. * 功能 : 串口初始化,晶振11.0592,波特率9600,使能了串口中断
  26. * 输入 : 无
  27. * 输出 : 无
  28. **********************************************************************/
  29. void Com_Init(void)
  30. {
  31.      TMOD = 0x20;        //设置定时器工作方式2
  32.      SCON = 0x50;        //设置为工作方式1               
  33.      TH1 = 0xfd;    //设置波特率 9600         
  34.      TL1 = 0xfd;
  35.      TR1 = 1;                //启动定时器1
  36.          ES = 1;                //开串口中断
  37.          EA = 1;                //开总中断               
  38. }
  39. //开关操作函数,接收到一次数据改变一次状态
  40. void alloff()
  41. {
  42.         P2=0xff;        
  43. }
  44. void main()
  45. {        
  46.         Delay_1ms(100);
  47.         Com_Init();//串口初始化
  48.         while (1);
  49. }        
  50. /********************************************************************
  51. * 名称 : Com_Int()
  52. * 功能 : 串口中断子函数
  53. * 输入 : 无
  54. * 输出 : 无
  55. **********************************************************************/
  56. void Com_Int(void) interrupt 4
  57. {        
  58.         EA = 0;
  59.         if(RI == 1)   //当硬件接收到一个数据时,RI会置位
  60.         {
  61.                 receive = SBUF ;   //接收=SBUF
  62.                 RI = 0;            //令接收中断标志位为0(软件清零)
  63.                 switch (receive)
  64.                 {
  65.                         case 0x00:alloff();break;        //关闭所有
  66. ……………………

  67. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码


所有资料51hei提供下载:
单片机蓝牙遥控开关制作资料.rar (2.9 MB, 下载次数: 369)

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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