找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机蓝牙台灯源码(带五级调光)

  [复制链接]
跳转到指定楼层
楼主
ID:235954 发表于 2018-3-4 10:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

单片机源程序如下:
  1. /**********************************************************************************************
  2. 程序名:    蓝牙台灯
  3. 硬件支持: stc89c51 11.0596MHz
  4. 接口说明: P2.0
  5. 修改日志:  
  6. 完成最基本的蓝牙调光以及开关控制功能                                                       
  7. **********************************************************************************************/
  8. #include "reg51.h"
  9. #include<intrins.h>
  10. #define uint unsigned int  
  11. #define uchar unsigned char  
  12. unsigned char UART_data; //定义串口接收数据变量
  13. sbit  PWM=P2^0;
  14. unsigned char LD;//亮度位 0-255调节
  15. uchar time;
  16. bit flag;          //变化标志位
  17. void initTimer(void)
  18. {
  19.                 TMOD=0x1;
  20.           TH0=(65536-10)/256;//赋初值定时
  21.     TL0=(65536-10)%256;//0.01ms  
  22. }

  23. void initUart(void)
  24. {
  25. TMOD|=0x20;
  26. SCON=0x50;
  27. TH1=0xfd;
  28. TL1=0xfd;
  29. TR1=1;
  30. ET1=1;
  31. }

  32. void uart(void) interrupt 4
  33. {
  34. if(RI)
  35. {
  36.                 ES=0;                        //接收完毕关闭一下,用再打开,避免中断乱开
  37.     RI=0;                        //令接收中断标志位为0(软件清零)
  38.     UART_data=SBUF;
  39.                 ES=1;
  40.        
  41.         if(UART_data == 1){if(LD != 255){ flag=1;LD = LD+51;  }}//串口接收到1,增加亮度
  42.         if(UART_data == 2){if(LD != 0){ flag=1;LD = LD-51; }} //串口接收到2,减少亮度
  43.         if(UART_data == 3){if(LD != 0){ flag=1;LD = 0; }}                 //串口接收到3,改变亮度为0 即关灯
  44.         if(UART_data == 4){if(LD != 255){ flag=1;LD = 255; }}         //串口接收到4,改变亮度为255;即开灯
  45.         }
  46. }
  47. void timer0(void) interrupt 1
  48. {
  49.                 TR0=0;//赋初值时,关闭定时器  
  50.                 TH0=(65536-10)/256;//赋初值定时
  51.     TL0=(65536-10)%256;//0.01ms  
  52.     TR0=1;//打开定时器  
  53.     time++;  
  54. }

  55. void main(void)
  56. {
  57. LD = 153;//初始亮度
  58. flag = 0;
  59. IP=0X10;
  60. initTimer();
  61. initUart();
  62. TR0=1;
  63. ET0=1;
  64. EA=1;
  65. while(1)
  66.         {
  67.                                                          if(time>=255)  //PWM周期等于255*0.1ms
  68.                 {
  69.                                                                                 time=0;
  70.                 }
  71.                 if(time < LD)        
  72.                 {
  73.                         PWM=0;
  74.                 }
  75.                 else
  76.                 {
  77.                         PWM=1;
  78.                 }
  79.                                                        
  80.         }
  81. }
复制代码

所有资料51hei提供下载:
卡通台灯制作图文资料.pdf (638.15 KB, 下载次数: 161)
蓝牙台灯五级调光.rar (1015 Bytes, 下载次数: 169)




评分

参与人数 3黑币 +64 收起 理由
王国帅 + 9
zqy181818 + 5 很给力!
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:86564 发表于 2018-3-4 18:01 | 只看该作者
可以做為參考藍芽控制應用的基礎~感恩在感恩
回复

使用道具 举报

板凳
ID:99612 发表于 2018-3-4 21:22 | 只看该作者
梧院的?
回复

使用道具 举报

地板
ID:235954 发表于 2018-3-5 12:44 | 只看该作者

你也是吗
回复

使用道具 举报

5#
ID:235954 发表于 2018-3-5 12:45 | 只看该作者
shinfon 发表于 2018-3-4 18:01
可以做為參考藍芽控制應用的基礎~感恩在感恩

你注意一下用串口中断和定时中断有一点冲突
回复

使用道具 举报

6#
ID:99612 发表于 2018-3-7 21:59 | 只看该作者

是的    头像就是图书馆,
回复

使用道具 举报

7#
ID:581696 发表于 2019-7-15 11:10 | 只看该作者
很想要但是没有黑币。。。。楼主可以私发给我吗?
回复

使用道具 举报

8#
ID:589001 发表于 2019-7-23 17:39 来自手机 | 只看该作者
我想要
回复

使用道具 举报

9#
ID:256009 发表于 2019-11-25 15:34 | 只看该作者
可以做為參考藍芽控制應用的基礎~感恩在感恩
回复

使用道具 举报

10#
ID:648959 发表于 2019-11-27 10:45 | 只看该作者
很好,很想要。
回复

使用道具 举报

11#
ID:655761 发表于 2019-12-6 08:52 | 只看该作者
最近正好在搞这个,学习了
回复

使用道具 举报

12#
ID:657264 发表于 2019-12-6 09:25 | 只看该作者
为什么串口助手测试了发送数字后没有反应?
回复

使用道具 举报

13#
ID:622344 发表于 2019-12-13 14:05 | 只看该作者
很好,很赞,下载下来看看,谢谢分享
回复

使用道具 举报

14#
ID:235954 发表于 2021-1-27 11:32 | 只看该作者
sszzxx 发表于 2019-12-6 09:25
为什么串口助手测试了发送数字后没有反应?

数据格式,波特率参考程序设置
回复

使用道具 举报

15#
ID:43600 发表于 2023-12-9 04:49 | 只看该作者
有趣,謝謝分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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