音乐盒设计
1、设计任务和要求
(1)利用 I/O 口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而
演乐曲(内存两首乐曲)。
(2)采用七段数码管显示当前播放的歌曲序号。
(3)可通过功能键选择乐曲,暂停,播放,上一曲,下一曲。
2、总体设计
(1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以
2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出
脉冲的 I/O 反相,然后重复计时此半周期时间再对 I/O 口反相,就可在 I/O 脚上
得到此频率的脉冲
(2)利用 8051 的内部定时器使其工作在计数器模式 MODE1 下,改变记数值
TH0 及 TL0 以产生不同频率的方法。例如频率为 523HZ,其周期 T=1/523=1912 微
秒,因此只要令计数器定时 956/1=956 在每记数 9 次时将 I/O 口反相,就可得到
中音 D0(523HZ)。
记数脉冲值与频率的关系公式如下:
N=Fi/2/Fr N:记数值
Fi:内部计时一次为 1 微秒.故其频率为 1MHZ
Fr;要产生的频率
(3):起记数值的求法如下:
T=65536-N=65536-Fi/2/Fr
例如:设 K=65536,F=1000000=Fi=1MHZ,求低音 D0(523HZ),高音的 D0
(1046HZ)的记数值。
T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/
Fr