找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10941|回复: 10
收起左侧

用51单片机做的蓝牙台灯

  [复制链接]
ID:140725 发表于 2016-11-15 12:49 | 显示全部楼层 |阅读模式
元件列表:
单片机最小系统

一个低电平吸合的继电器

一个蓝牙模块

一个台灯

手机控制软件:蓝牙串口助手
0.png


  1. #include<reg52.h>

  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. unsigned char flag,a,i,flag_z;
  5. uchar code table_open[]="The light was turn on ! ";
  6. uchar code table_close[]="The light was turn off ! ";
  7. uchar code table_ison[]="The light is turn on ! ";
  8. uchar code table_isoff[]="The light is turn off ! ";

  9. sbit IN_1 =P3^2;                                                                                //低电平吸合继电器信号线一
  10. sbit IN_2 =P3^3;                                                                                //低电平吸合继电器信号线一

  11. /*********初始化函数*********/
  12. void init()
  13. {
  14.         TMOD=0x20;
  15.         TH1=0xfd;
  16.         TL1=0xfd;
  17.         TR1=1;
  18.         REN=1;
  19.         SM0=0;
  20.         SM1=1;
  21.         EA=1;
  22.         ES=1;
  23. }

  24. /***********主函数**********/
  25. void main()
  26. {
  27.         init();
  28.         while(1)
  29.         {
  30.                 if (flag==1)
  31.                 {
  32.                         ES=0;
  33.                         switch(flag_z)                                                        //选择发送的数据
  34.                         {
  35.                         case 0:for(i=0;i<25;i++)
  36.                                                 {
  37.                                                         SBUF=table_open[i];
  38.                                                         while(!TI);
  39.                                                         TI=0;
  40.                                                 }break;
  41.                         case 1:for(i=0;i<25;i++)
  42.                                                 {
  43.                                                         SBUF=table_close[i];
  44.                                                         while(!TI);
  45.                                                         TI=0;
  46.                                                 }break;
  47.                         case 2:for(i=0;i<25;i++)
  48.                                                 {
  49.                                                         SBUF=table_ison[i];
  50.                                                         while(!TI);
  51.                                                         TI=0;
  52.                                                 }break;
  53.                         case 3:for(i=0;i<25;i++)
  54.                                                 {
  55.                                                         SBUF=table_isoff[i];
  56.                                                         while(!TI);
  57.                                                         TI=0;
  58.                                                 }break;
  59.                         default:break;

  60.                         }
  61.                         //SBUF=a;
  62.                         //while(!TI);
  63.                         //TI=0;
  64.                         ES=1;
  65.                         flag=0;
  66.                 }
  67.         }
  68. }


  69. void ser() interrupt 4
  70. {
  71.         RI=0;
  72.         a=SBUF;
  73.         switch(a)
  74.         {
  75.                         case 97:{
  76.                                                         if(IN_1==0)                                //判断信号输出口的状态
  77.                                                         {
  78.                                                                 flag_z=2;                        //若状态为0,说明继电器为吸合状态,并发送“The Light is turn on”到蓝牙
  79.                                                         }
  80.                                                         else
  81.                                                         {
  82.                                                         IN_1=0,flag_z=0;}}                //否则则说明继电器为断开状态,则端口置高,并发送“The Light Was turn on”到蓝牙
  83.                                                         break;
  84.                         case 98:{
  85.                                                         if(IN_1==1)
  86.                                                         {
  87.                                                                 flag_z=3;
  88.                                                         }
  89.                                                         else
  90.                                                         {
  91.                                                         IN_1=1,flag_z=1;}}                //灯关,并发送“The Light Was turn off”到蓝牙
  92.                                                         break;
  93.                         default:break;
  94.         }
  95.         flag=1;
  96. }
复制代码
0.png
Bluetooth Control.rar (957.84 KB, 下载次数: 116)
回复

使用道具 举报

ID:187478 发表于 2017-11-2 20:45 | 显示全部楼层
请问,我看不太懂你的原理图,能不能请教下?
回复

使用道具 举报

ID:244971 发表于 2017-11-3 14:00 | 显示全部楼层

楼主太强了,学习学习
回复

使用道具 举报

ID:246519 发表于 2017-11-6 14:01 | 显示全部楼层
感谢分享~
回复

使用道具 举报

ID:246166 发表于 2017-11-8 18:31 | 显示全部楼层
楼主太强了,学习学习
回复

使用道具 举报

ID:259673 发表于 2018-3-21 19:30 | 显示全部楼层
这个7805是个什么玩意
回复

使用道具 举报

ID:259673 发表于 2018-3-21 19:32 | 显示全部楼层
这个7805是个什么玩意呢
回复

使用道具 举报

ID:295272 发表于 2018-3-23 22:32 来自手机 | 显示全部楼层
感谢分享
回复

使用道具 举报

ID:382864 发表于 2019-5-29 14:40 来自手机 | 显示全部楼层
学习一下。
回复

使用道具 举报

ID:498664 发表于 2019-9-22 20:16 | 显示全部楼层
2309389517 发表于 2018-3-21 19:32
**** 作者被禁止或删除 内容自动屏蔽 ****

应该是稳压芯片一类的,你查查看
回复

使用道具 举报

ID:609573 发表于 2019-10-14 20:12 | 显示全部楼层
2309389517 发表于 2018-3-21 19:30
**** 作者被禁止或删除 内容自动屏蔽 ****

5v稳压芯片
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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