彩灯控制器设计报告
摘要:本系统主要由89S51单片机模块、数码管显示模块、按键控制模块、蜂鸣音乐模块等部分组成。完成的主要功能有:LED数码管自动显示数字,并且每个数字的显示时间可调;能产生一段简单的音乐。
设计要求
本题要求用单片机实现一个带音乐发生功能的彩灯控制器。具体要求如下:
1、 由LED数码管自动显示数字0、1、2、3、4、5、6、7、8、9(自然数列),1、3、5、7、9(奇数列),0、2、4、6、8(偶数列)和0、1、2、3、4、5、6、7、0、1(音乐符号数列),然后又依次显示出自然数列、奇数列、偶数列、音乐符号数列……,如此周而复始,不断打包循环。
2、 打开电源时控制可自动清零,从接通电源时刻起,数码管最先显示出自然数列的0,再显示出1,然后按上述规律变化。
3、 每个数字的一次显示时间(从数码管显示出它之时起到它消失之时止)基本相等,这个时间在0.5S到2S范围内连续可调。
4、 设计并制作该控制器所需要的直流稳压电源。电源电压5V。
5、 扩展功能:设计一个音乐产生电路,自动产生一段音乐。
设计方案
按照本设计题目的要求,硬件可采用AT89S51单片机作为核心部件,由1个LED数码管完成数字显示功能;由一个扬声器完成音乐播放功能;采用三键控制,其中两个键控制LED数码管每个数字的一次显示时间,另一个键控制音乐的播放;通过软件设计实现全部功能。
工作原理
单片机在循环显示数字列的同时,采用查询方式控制数字的显示时间和音乐播放的开关。音乐低频信号由定时器采用中断方式产生。
软件流程
开始
单片机初始化
显示数字
按键查询
1或2键按下
3键按下
无键按下
显示时间增减
播放音乐
设计原理
(1. LED循环数字显示;
(2. 音乐产生的方法;
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
本次设计中单片机晶振频率为12MHz,那么定时计数器的定时频率为1MHz,选用工作方式1,那么T值便为T=216—5×105/(相应的频率),那么根据不同的频率计算出应该赋给定时器的计数值,列出不同音符与单片机计数T0相关的计数值如下表所示: