欢迎来到天天文库
浏览记录
ID:29886111
大小:356.50 KB
页数:30页
时间:2018-12-24
《片机课程设计电子琴汇编语言》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、目录1.引言...................................................11.1.设计的目的.........................................11.2.设计的内容与要求...................................12.总体设计...............................................12.1.音乐产生原理.......................................12.2.设计流程....................
2、.......................33.硬件设计...............................................83.1.AT89C51芯片简介..................................83.1.1主要特性........................................83.1.2功能描述........................................83.1.3引脚说明与硬件连接..............................93.2.元器件清单.......
3、.................................134.系统工作说明..........................................135.结束语...............................................145.1收获与体会.........................................145.2遇到的问题与解决方法...............................155.3教程建议...........................................1
4、56.参考文献..............................................157.附录..................................................16291.引言1.1设计的目的本设计的主要目的是掌握单片机系统的开发应用,掌握prteus和keilC51软件的应用,巩固和加深已学过的知识,提高动手能力及解决实际问题的能力,同时培养团队合作精神。1.2.设计内容与要求(1)本设计以AT89C52单片机为核心控制元件设计一个电子琴,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个弹奏按键、1
5、个播放按键和扬声器,并且按下时按键发声,松开延时一段时间停止,中间再按别的键则发另一音调的声音。16个按键设置成4x4矩阵键盘,能弹奏出16个音,添加歌曲程序同时能够播放出歌曲。(2)利用软件keilC51进行程序的调试。(3)利用proteus软件画电路图,并在单片机加载程序进行仿真。(4)根据电路图运用proteus软件的布局和布线功能绘制PCB图并输出显示电路的3D图。(5)根据电路图、PCB图和3D图快速地焊接电路。(6)下载程序代码,调试(Easy51Pro)。2.方案总体设计2.1.音乐产生设计原理一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这
6、样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系正确即可。若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。29 利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,
7、其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。 计数脉冲值与频率的关系式是:N=fi÷2÷fr式中N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。其计数初值T的求法如下:T=65536-N=65536-fi÷2÷fr例如:设K=65536,fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。T=65536-N=65536-fi÷2
此文档下载收益归作者所有