1、 目目 录录 1. 引言.1 1.1. 设计的目的.1 1.2. 设计的内容与要求.错误错误! !未定义未定义 书签。书签。 2. 总体设计.1 2.1. 音乐产生原理.1 2.2. 设计流程.3 3. 硬件设计.8 3.1. AT89C51 芯片简介 8 3.1.1 主要特性8 3.1.2 功能描述8 3.1.3 引脚说明与硬件连接9 3.2. 元器件清单13 4. 系统工作说明13 5. 结束语.14 5.1 收获与体会.14 5.2 遇到的问题与解决方法.15 5.3 教程建议.15 6. 参考文献15 7. 附录16 1 1. 1. 引言引言 1.1 1.1 设计的目的设计的目的 本设
2、计的主要目的是掌握单片机系统的开发应用,掌握 prteus 和 keil C51 软件的应用,巩固和加深已学过的知识,提高动手能力及解决实际问题的能力, 同时培养团队合作精神。 1.2. 1.2. 设计内容与要求设计内容与要求 (1)本设计以 AT89C52 单片机为核心控制元件设计一个电子琴,与键盘、扬声 器等模块组成核心主控制模块,在主控模块上设有 16 个弹奏按键、1 个播 放按键和扬声器,并且按下时按键发声,松开延时一段时间停止,中间再 按别的键则发另一音调的声音。16 个按键设置成 4x4 矩阵键盘,能弹奏出 16 个音,添加歌曲程序同时能够播放出歌曲。 (2)利用软件 keil C
3、51 进行程序的调试。 (3)利用 proteus 软件画电路图,并在单片机加载程序进行仿真。 (4)根据电路图运用 proteus 软件的布局和布线功能绘制 PCB 图并输出显 示电路的 3D 图。 (5)根据电路图、PCB 图和 3D 图快速地焊接电路。 (6)下载程序代码,调试(Easy 51Pro) 。 2. 2. 方案方案总体设计总体设计 2.1.2.1. 音乐产生音乐产生设计原理设计原理 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我 们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片 机来产生不同的频率非常方便, 我们可以利用单片机的定时/
4、计数器 T0 来产生这 样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系正确即可。若 要产生音频脉冲,只要算出某一音频的周期(1/频率) ,再将此周期除以 2,即 为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将 P1.0 反相, 2 然后重复计时再反相。就可在 P1.0 引脚上得到此频率的脉冲。 利用 AT89C51 的内部定时器使其工作计数器模式(MODE1)下,改变计数 值 TH0 及 TL0 以产生不同频率的方法产生不同音阶,例如,频率为 523Hz,其周 期 T1/5231912s,因此只要令计数器计时 956s/1s956,每计数 956 次时将 I/O 反相,就可得到中音 DO(523Hz) 。 计数脉冲值与频率的关系式是: N=fi2fr 式中 N 是计数值;fi 是机器频率(晶体振荡器为 12MHz 时,其频率为 1MHz) ;fr 是想要产生的频率。 其计数初值 T 的求法如下: T65536N65536fi2fr 例如:设 K65536,fi1MHz,求低音 D