proteus电子琴

proteus电子琴

ID:21734213

大小:114.00 KB

页数:18页

时间:2018-10-24

proteus电子琴_第1页
proteus电子琴_第2页
proteus电子琴_第3页
proteus电子琴_第4页
proteus电子琴_第5页
资源描述:

《proteus电子琴》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1 任务及要求1.1设计任务1.设计一个4X4的16个按键矩阵,并且每个键对应一个音。2.用AT89C51将键盘连接设计成为电子琴。3.编写电子琴的程序,要达到可以随意弹奏想要表达的音乐的目的。4.程序的分析与调试。1.2设计要求1.用汇编语言编程实现程序设计。2.利用查表,中断等方式实现目的。3.系统的各各功能模块要清楚,有序。4.程序运行时有友好的用户界面。2 设计思想2.1硬件设计思想电子琴的原理框图如图一所示。它由以下几个部件组成:单片机AT89C51、电源、4*4的16个按钮矩阵、音频放大模块。电源部分:电源部分有二部分组成。一部分是

2、由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作;另一部分是由3V的电池供电,以保证停电时正常走时。正常情况下电池是不提供电能的,以保证电池的寿命。2.2软件设计思想本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整或定闹设置程序三大模块。在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍。定时中断模块我们可以用语句:MOVTMOD,#01H写控制数MOVTH0,#0XH写定时常数SETBTR0启动TR0SETBET0允许T0SETBEA开放CPU中断3 电路原理与电路图3.1电路原理主要分为二个部

3、分:(1)4X4行列式键盘识别;(2)音乐产生的方法;①一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。现在以单片机12MHZ晶振为例,列出高中低音符与单片机计数T0相关的计数值如表3.1所示.下面我们要为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:低音0-19之间,中音在20-39之间,高音在4

4、0-59之间TABLE:DW0,63628,63835,64021,64103,64260,64400,64524,0,0DW0,63731,63928,0,64185,64331,64463,0,0,0DW0,64580,64684,64777,64820,64898,64968,65030,0,0DW0,64633,64732,0,64860,64934,64994,0,0,0DW0,65058,65110,65157,65178,65217,65252,65283,0,0DW0,65085,65134,0,65198,65235,6526

5、8,0,0,0DW0表3.1高中低音符与单片机计数T0相关的计数值表音符频率(HZ)简谱码(T值) 音符频率(HZ)简谱码(T值)低1 DO26263628#4FA#74064860#1 DO#27763731中5SO78464898低2 RE29463835#5SO#83164934#2RE#31163928中6LA88064968低3M33064021#693264994低4FA34964103中7SI98865030#4FA#37064185高1DO104665058低5SO39264260#1DO#110965085#5SO#41564

6、331高2RE117565110低6LA44064400 #2RE#124565134#646664463高3M131865157低7SI49464524高4FA139765178中1DO52364580#4FA#148065198#1DO#55464633高5SO156865217中2RE58764684#5SO#166165235#2RE#62264732高6LA176065252中3M65964777#6186565268中4FA69864820高7SI196765283②音乐的音拍,一个节拍为单位(C调)曲调值DELAY 曲调值DELA

7、Y调4/4125ms 调4/462ms调3/4187ms 调3/494ms调2/4250ms 调2/4125ms对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。在这个程序中用到了两个定时/计数器来完成的。其中T0用来产生音符频率,T1用来产生音拍。3.2电路原理图图3.14 流程图与算法描述4.1流程图图4.1系统主程序流程图图4.24.2算法描述(1)用T0做中断MOVTMOD,#01H;写控制字SETBET0;允许T0中断SETBEA;开放CPU中断(2)查表程序MOVDPTR,#TABLE;查表赋首地址MOVCA,@A+DP

8、TRMOVP0,A;P0口输出MOVA,KEYBUFMOVB,#2;赋值给BMULAB;AB相乘MOVTEMP,A4.3 程序清单KEYBUFEQU3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。