![](https://csdnimg.cn/release/download_crawler_static/88007477/bg6.jpg)
一.设计方案分析
1.1 设计功能要求
1.利用 I/O 口处产生一定频率的方波,驱动蜂鸣器,产生不同
的音调从而演奏乐曲,达到预期目标。
2.采用七段数码管显示当前播放歌曲的序号数。
3.通过功能键实现上、下及暂停曲目播放的功能。
1.2 总体设计原理
通过单片机的定时器产生一定长度的方波,方波脉冲驱动
蜂鸣器发声。要产生音频脉冲,只需算出某一音频的周期(1/
音频),然后取半周期的时间定时。利用定时器计时这个半周
期时间,每当计时到后就将输出脉冲的 I/O 反相,然后重复计
时此半周期时间再对 I/O 口反相,就可在 I/O 脚上得到此频率
的脉冲。如中音 D0,频率为 523HZ,其周期 T=1/523=1912 微秒,
因此只要令计数器定时 1912/2=956,在每计数 956 次时将 I/O
口反相,就可得到中音 D0(523HZ)。
当键盘有键按下时,判断键值,启动计数器 T0,产生一
定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器 T1,
在 LED 显示歌曲号,也可使彩灯长亮和闪烁。数码管采用共阳
极数码管,通过单片机 P1 口控制,实现歌曲序号的显示;功
能键盘采用按键开关,通过单片机 P3 口控制,实现歌曲播放
顺序的调换和暂停播放功能;蜂鸣器由单片机的 P2 口控制,
实现歌曲播放;彩灯是由普通发光二极管代替,通过键盘能实
现单色长亮和闪烁效果。
通过功能键可以实现播放上一曲、下一曲、暂停,同时可
以通过数码管显示当前播放的曲目序号,蜂鸣器播放出音乐。