标题: 用51单片机做的蓝牙台灯 [打印本页]

作者: 51hei学习技术中    时间: 2016-11-15 12:49
标题: 用51单片机做的蓝牙台灯
元件列表:
单片机最小系统

一个低电平吸合的继电器

一个蓝牙模块

一个台灯

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



  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. }
复制代码

Bluetooth Control.rar (957.84 KB, 下载次数: 118)

bluetooth control原理图.pdf (36.65 KB, 下载次数: 100)




作者: 练氏    时间: 2017-11-2 20:45
请问,我看不太懂你的原理图,能不能请教下?
作者: prostone    时间: 2017-11-3 14:00

楼主太强了,学习学习
作者: 消息爱心哦啊哦    时间: 2017-11-6 14:01
感谢分享~
作者: xwnc    时间: 2017-11-8 18:31
楼主太强了,学习学习
作者: 2309389517    时间: 2018-3-21 19:30
这个7805是个什么玩意
作者: 2309389517    时间: 2018-3-21 19:32
这个7805是个什么玩意呢
作者: 1532637352    时间: 2018-3-23 22:32
感谢分享
作者: 783328065    时间: 2019-5-29 14:40
学习一下。
作者: 模电一时爽    时间: 2019-9-22 20:16
2309389517 发表于 2018-3-21 19:32
**** 作者被禁止或删除 内容自动屏蔽 ****

应该是稳压芯片一类的,你查查看
作者: zsc521    时间: 2019-10-14 20:12
2309389517 发表于 2018-3-21 19:30
**** 作者被禁止或删除 内容自动屏蔽 ****

5v稳压芯片




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1