最近学校举办一个电子竞赛,在之前遥控插座作品基础上,蓝牙台灯很快就完成了。当然,每次做东西都会有收获。把这次的体会作为我的第一篇博客。
用89C52作为控制芯片,这比51多一个定时器T2,我可以把它作为台灯定时关断的一个功能。定时器T0中断产生PWM用来调节光的亮度。定时器T1用来实现串口通信,和蓝牙通信。制作一个小台灯也要注意很多细节:
1 涉及到串口通信就要注意波特率,所以晶振选11.0592M不会产生误差。如果已经用了12M的晶振,就要修改蓝牙模块的波特率改为2400。我觉得波特率小了以后12M晶振的误差会也会减少,才适应。
2 PWM的周期要小,否则会出现闪频。要小到闪频人眼感觉不出来即可,但是也不能太小了,因为太小就会每次中断都只是产生PWM,而不能进入串口中断。
3 串口接发数据是字符,而不是数字。字符转换为对应数字我们也要涉及。主要用来延迟1-60分钟的关断。
下面是程序:
APP是我同学负责,我也没有。可以下载一个蓝牙串口调试工具。