电子琴课程设计--基于单片机的电子琴设计内容摘要:

4 4 4 5 5 5 6 6 6 7 7 7 我们要为这个音符建立一个表格,单片机通过查表的方式来获得相应的数据 低音 0- 19 之间,中音在 20- 39 之间,高音在 40- 59 之间 在这个程序中 ,弹奏音乐的程序是 和播放音乐都用 定时 /计数器 T0 来完成的 第二 章 硬件电路设计 2) 、硬件总体方案及说明 : 51 单片机 P2 口通过连接 4*4 的矩阵键盘, 各键盘的音调在程序中做解释,P1 口接通过 74LS247 译码器连接两个数码管,按下相应的按键产生相应键值, 连接一个蜂鸣器用于产生示例音乐, 接一个扬声器 ,用于各按键的音调发声, 通过执行相应的功能程序使电子琴发出不同音色的声音。 ) 、 芯片介绍: 在本次电子琴设计中,我们组成员单片机芯片选用了 STC89C52 芯片, 因为发下来的 AT89S52 我们无法下载程序所以改用了自己买的芯片,但是芯片无太大差异, 89C51 系列的兼容性 比较好。 下图为单片机 AT89S52 的引脚说明及其最小系统。 复位电路: 复位电路我们本来在方案选择的时候有两种选择的,上电复位和按扭复位,上电复位是利用电容充电来实现的,而按扭复位是电源对外节电容的充电使 RST为高电平, 复位松开后,电容通过下拉电阻放电,使 RST 恢复低电平。 为了制作软件的方便我们还是 选择用按扭复位,因为它比较直观。 时钟电路: 用两个 30pf 的陶瓷电容与 12M 的晶振并联产生。 其他引脚: 3 40 引脚接电源, 20 引脚接地。 P3 口 特殊功能引脚说明: P3 口引脚 特殊功能 RXD(串行输入口) TXD(串行输出口) (外部中断 0) (外部中断 1) T0(定时器 0 外部输入) T1(定时器 1 外部输入) WR(外部数据存储器写选通 ) RD(外部数据存储器读先通) ) 、 矩阵模块 : ( 1)利用 P2 口为按键接入口,形成 4 4 组成 16 个按键矩阵,设计成 15 个音 ,下图所示: 说明:按下按键显示键值,并发出相应的音调。 ) 、数码管模块 一位静态数码管 管脚及封装说明 74LS247 引脚及其封装说明 硬件连接说明:通过按键显示相应的键值,通过 74LS247 产生相应的二进制代码一次传送给数码管的各个引脚,使其显示相应的键值数,如图 protues 仿真所示, 6. 5. 4. 3. 3 2 1 7. 7 6 5 4 B ..3 ..2 ..1 3 2 1 0 7 6 5 4 11 10 9 8 15 14 13 12 所对应的键码为 : 所对应的音调为: )、发声模块 通过一个 引脚,连接一个 2N~3906 然后与扬声器使其放大发声, 也通过一个三极管接到 蜂鸣器用于示例音乐播放输出。 连线说明:具体参照 protues 仿真电路图 ( 4) protues 仿真 设计图如下 : 第三章 软件设计 ) 、软件功能模块 ( )键盘扫描程序: 检测是否有键按下,有键按下则记录按下键的键值,并跳转至功能转移程序;无键按下,则返回键盘扫描程序继续检测 ( )功能转移程序: 对检测到得按键值进行判断,是琴键则跳转至琴键处理程序,是功能键则跳转至相应的功能程序,我们设计的功能程序有两种,即音色调节功能和自动播放乐曲功能 ( )琴键处理程序: 根据检测到得 键值,查询音律表,给计时器赋值,使发出相应频率的声音 ( )数码管显示程序 根据得到的键值,通过 74LS247 转换得到相应的八位二级制并传送给数码管显示相应的键值。 ( )自动播放歌曲程序: 检测到按键按下的是自动播放歌曲功能键后执行该程序,电子琴会自 动播放事先已经存放好的歌曲,歌曲播放完毕之后自动返回至键盘扫描程序,继续等待是否有键按下 )、 程序简易流程图 否 是。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。