1、 目录目录 一、引言 1 二、设计任务 . 1 三、方案论证 . 1 四.音频发声知识 . 2 1、基本知识 2 2、节拍 . 3 3、编码 . 4 五、音乐盒单路原理分析 5 1、硬件原理 5 2、软件程序设计 . 8 3、程序调试 9 六、结论与心得 9 七、参考文献 . 10 八、附录 10 1、程序 . 10 2、PCB 板图. 23 1 一、引言一、引言 本文是应用 MCS-51 单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利 用汇编语言进行程序设计。通过控制单片机内部的定时器来产生不同频率的方波,驱动 喇叭发出不同音调的音乐,再利用延迟来控制发音时间的长短。把乐谱转化成相应
2、的定 时常数就可以从发音设备中演奏出悦耳动听的音乐。 这种控制电路结构简单,可靠性高,应用性强;软件程序适应范围广,对于不同的音 乐只需要改变相应的定时常数即可。对单片机和音乐爱好者有一定的借鉴价值。 二、二、设计任务设计任务 设计题目: 单片机音乐播放器 设计要求: 1、完成 89S51 的外围复位、时钟和电源等外围电路的设计,完成扬声器驱动设计。 2、根据各音阶频率算出定时器定时常数,根据节拍给出该音阶持续的时间。 3、完成音乐播放软件并完成乐谱表的翻译,最好能编写一个播放子程序用于播放。 4、播放音乐片段。 三三、方案论证、方案论证 设计方案: 设计中我们考虑了两种设计方案,两种设计方案
3、中主要去区别在于硬件电路的不 同,对于本设计通过模拟电路和单片机设计均可以实现,最后根据设计要求、可行 性和设计成本的考虑选择了单片机设计的方案。现在一一介绍论证如下: 采用单片机来设计电路。此电路包括时钟电路、复位电路、音乐驱动电路和 MCS-51 单片机。各部分功能如下: (1) 时钟电路:由石英晶体振荡器产生单片机工作时所必须的时钟信号。振荡器 采用 12M 的晶振,使之机器周期 Tcy=1us,方便发音程序的计算和编译。 (2) 复位单路: 由复位按键使单片机的 CPU 和系统中其他部件都处于一个确定的 初始状态,并从这个状态开始工作。 2 (3) 音乐驱动电路:由于单片机最大灌入电流
4、为 3.2mA,所以选用 PNP 管,并要 在 PNP 的基极和发射极加限流电阻。 (4) 显示电路:使用单片机 P0 端口做显示电路,要在 P0 口加上拉电阻(510k ) 。 还要加限流电阻,保护单片机。 (5) 按键电路:有外部中断输入和定时/计数器的外部输入都是低电平有效,可 以和复位电路相视,只要将复位电路中的电容去掉即可。 四四.音音频发频发声知识声知识 1、基本知识基本知识 1.要生产音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以 2,即为半周期 的时间.利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的 I/O 反相,然后重 复计时此半周期时间再对 I/O
5、 反相,就可在 I/O 脚上得到此频率的脉冲. 2. 利用 8051 的内部定时器使用其工作在计数器模式 MODE1 下,改变计数值 THO 及 TLO 以产生不同频率的方法. 3. 例如频率为 523Hz,其周期 T1/5231912us,因此只要令计数器计时 956us/1us956, 在每次计数 956 次时将 I/O 反相,就可得到中音 DO (523Hz). 计数脉冲值与频率的关系公式如下: NFi 2 Fr N: 计算值; Fi: 内部计时一次为 1us, 故其频率为 1MHz; 4. 其计数值的求法如下: T65536-N65536-Fi 2 Fr 例如: 设 K65536, F
6、1000000Fi1MHz, 求低音 DO(261Hz).中音 DO (523Hz). 高 音的 DO (1046Hz)的计算值. T65536-N65536-Fi 2 Fr65536-1000000 2 Fr65536-500000/Fr 低音 DO 的 T65536-500000/26263627 中音 DO 的 T65536-500000/52364580 高音 DO 的 T65536-500000/104765059 5. C 调各音符频率与计数值 T 的对照表如表 1 所示. 3 表 1 C 调各音符频率与计数值 T 的对照表 音符 频率(HZ) 简谱码(T 值) 音符 频率(HZ) 简谱码(T 值) 低 1 DO 262 63628 # 4 FA# 740 64860 # 1 DO# 277 63731 中 5 SO 784 64898 低 2 RE 294 63853 # 5 SO# 831 64934 # 2 RE# 311 63928 中 6 LA 880 64968 低 3 M 3