ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:441.15KB ,
资源ID:7424810      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7424810.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机电子琴的设计与制作.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机电子琴的设计与制作.docx

1、单片机电子琴的设计与制作电子琴的设计与制作作者:【摘要】本文介绍了电子琴的设计与制作。该设计运用单片机对矩阵式键盘进行按键识别,根据识别结果P1.0口输出相应的音频信号,经过音频放大电路放大,驱动扬声器发出相应的音调。本设计实现了电子琴的声音的模拟,电路结构简单,稳定性高,产生的频率误差较小。【关键词】单片机 键盘 音频信号 1、方案的论证与选择1.1任务要求该设计要求用单片机去实现简易电子琴的设计,电子琴应具有基本的弹奏功能,通过矩阵式键盘的输入,去控制不同的音符,经单片机处理后,使其产生不同的方波信号,该音符的频率误差应该小于1Hz。1.2方案的论证与选择 方案一该方案主要采用矩阵式键盘输

2、入信号,经过单片机的软件程序处理,译出音频脉冲的频率,从单片机输出口,经过音频功率放大器,使扬声器发出乐音(其系统框图如图1所示)。 图1 方案一系统方框图方案一通过单片机对键盘按键的扫描,把16个不同按键的信号依次送往单片机进行处理,使其产生不同频率的方波,由单片机P1.0送往音频放大电路。根据其按键键码值的不同,产生的脉冲信号不同,则扬声器的声音不同。 方案二这是以555时基电路为核心组成的多谐振荡器电路,通过改变按键开关接通不同的电阻值,来改变音调与音符(其系统方案二如图2)。 图2方案二系统方框图方案二采用555多谐振荡器完成电子琴设计,根据不同频率的方波产生不同音调,即只要知道某一音

3、调的频率,就可以用电路模拟产生这种声音。前级电路是通过按键开关接通不同的电阻值实现,后级电路是通过电位器的调节,来改变其频率和占空比来实现。根据其输出端波形不同,则扬声器发出的声音不同。1.3方案的选择 方案一运用单片机80C51,采用矩阵式键盘,结构简单,稳定性强,在编程时运用行扫描法使程序简单化,在音频电路中用LM138,从而产生高中低不同的音符。方案二采用数字电子电路,采用 555定时器产生秒脉冲,其电路结构复杂,稳定性差,不易调试。而在产生频率方面,方案一运用单片机定时计数器,使频率误差应小于1Hz,方案二运用555构成多谐振荡器,产生的频率误差应大于1Hz,其构成的音调电路复杂。根据

4、所学知识以及设计要求,本设计采用方案一进行电路的设计。2硬件电路的设计与制做2.1单片机最小应用系统单片机最小应用系统是指能维持单片机运行的最简单配置的系统。要使单片机能够满足设计要求,且使单片机正常工作,该系统由单片机,振荡电路和复位电路构成。2.1.1单片机的选择结合所学知识,本设计选用的单片机80C51,该单片机内部有4KB的片内程序存储器ROM和128B数据存储器RAM。片内只读存储器ROM用于程序存储器,编址为0000H-0FFFH根据程序需求,该设计无需外扩程序存储器,要让单片机正常工作,应该让31号脚接高电平;片内读写存储器RAM(随机存取存储器),地址范围为0000H-FFFF

5、H,可用于存放输入、输出数据和中间计算结果,同时还作为数据堆栈区。当存储的容量不够时,可以外部扩展。2.1.2时钟电路单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已经集成了振荡器,使用晶体振荡器接18、19号引脚(如图3所示)。本设计采用12MHz晶体振荡器, 每个机器周期为1us, 一个机器周期为12个振荡周期,则振荡周期为1/12us,一个 时钟周期为2个振荡周期,则时钟周期为1/6us,该单片机采用四周期指令,则指令周期为。XTAL1、XTAL2分别接晶体振荡器的反相输入端和输出端,两个20pF的电容构成振荡电路。该电容会影响振荡器频率的高低,振荡器的稳定性和起振的速

6、度。 图3时钟电路 2.1.3复位电路复位是单片机初始化操作,复位将单片机恢复到初始化状态,目的是使CPU及各各专用寄存器处于一个确定的初始状态。单片机复位原理是当通电瞬间 稳压电源给电容充电。RST为复位输入端,当RST引脚持续两个机器周期以上的高电平时,使单片机完成复位操作。 随着电容充电结束,将使电容与电阻之间将呈现低电平,单片机复位结束。复位操作的主要功能是把PC初始化为0000H,使单片机程序存储器从0000H单元开始执行程序。此外,复位操作使P0-P3这些引脚变为高电平,还会对内部的一些单元产生影响.设计主要采用上电自动复位(如图4所示),利用外部电路RC充电来实现上电复位,接通电

7、源,只要VCC的上升时间不超过1ms,就可以实现自动上电复位。 图4复位电路综上所述,得出单片机最小应用系统的原理图,如图5所示。 图5单片机最小应用系统2.2键盘 根据本设计的需要,要实现高低不同的音符,且按键数目比较多,则本设计采用4*4矩阵式键盘进行音符输入。矩阵键盘结构图(如图 6所示),在矩阵是键盘中,行线通过上拉电阻接到+5V上。有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。无按键按下时,行线处于高电平状态;。列线的电平如果为低电平,则行线的电平也为低电平;列线的电平如果为高电平,则行线的电平也为高电平。根据矩阵式键盘的工作原理,结合本设计要求,按键通过P2.0口给单

8、片机输入信号,在图中假设P2.3所在行为低电平,然后检测列线的状态,只要有一列的电平为低,则表示该列上键盘的键被按下,反之亦然,P2.2、P2.1、P2.0行则以此类推。 本设计就是通过行扫描法进行按键识别,在检查每个按键是否按下时,有键按下则记录按下键的键值,并跳转至功能转移程序;无键按下,则返回键盘扫描程序继续检测根据检测到得按键值,查询音律表,给计时器赋值,使发出相应频率的声音。 图6键盘结构图2.3音频功率放大电路本设计中则采用最常见的LM386音频功率放大器。LM386音频功率放大器具有音频功率放大滤波的功能,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。输入端以

9、地位参考,同时输出端被自动偏置到电源电压的一半,在5V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合(如通信设备,收录音机,电子琴和各类电子设备)。其典型电参数,工作电压范围是412V;电压增益可调,20-200;低失真度。音频功率放大电路(如图7所示)中C4、C5是去耦电容,其两端电压不能跃变,可防止由于负载而使电源电压变化导致工作不稳定,电气性能变坏现象的发生。由于电解电容等效电感较大,10uF电解电容C5对高频信号的滤波效果不好,故采用小电容C4与之并联,提高对信号的滤波效果。C3是隔直流电容。图7音频功率放大电路2.4频率脉冲产生的方法要产生音频脉冲,只要

10、算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。利用89C51的内部定时器使其工作在计时器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每计数956次时将I/O反相,就可得到中音DO(523Hz)。 计数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:计数值; Fi:内部计时一次为1us,故其频率为1MH

11、z; Fr:要产生的频率; 其计数值的求法如下:T=65536N=65536Fi/2/Fr C调各音符频率与计数值T的对照表如表1所示。表1各音符频率与计数值T音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)中音1Do52364580高音2Re117565110中音2 Re58764684高音3M131865157中音3 M65964777高音4Fa139765178中音4 Fa69864820低音3M33064021中音5So78464898低音4Fa34964103中音6La88064968低音5So39264260中音7Si98865030低音6La44064400高音1Do

12、104665058低音7 Si49764524 2.5总电路原理图综上单元电路的分析,结合设计要求,采用矩阵式键盘作为音频信号的输入,经过单片机程序的处理 ,由P1.0输出不同频率的信号,经过音频放大器放大,使扬声器发出声音。总电路原理图见附录一。 3软件程序的设计 本设计采用程序模块化,根据设计要求,结合硬件电路的设计,得到程序流程图。3.1主程序流程图否3.2源程序模块的设计3.2.1键盘识别程序: 键盘按键通过P2.0口,将信号输入到单片机中 ,单片机利用行扫描法逐一判断出那个按键被按下。程序如下:SETB F0MOV R3, 0F7HMOV R1, 00HL3: MOV A, R3MO

13、V P2, AMOV A, P2CLR CCPL CMOV R5, 04H L4: RLC AJNC KEYININC R1DJNZ R5 , L4MOV A, R3CLR CCPL CRRC AMOV R3, AJC L33.2.2乐音程序: 通过键盘的输入,经单片机P1.0输出编译成相应的键码值,即为不同频率的脉冲信号据按键的不同,所得到的频率脉冲不同。程序如下:MOV DPTR, TABLEMOVC A, A+DPTRMOV TH0, AMOV 21H, AMOV A, 22HRL AINC AMOVC A, A+DPTRMOV TL0, AMOV 20H, A3.2.3定时中断程序根据

14、本设计要求,要产生一定频率的方波是先将输出高电平,然后延时一段时间再输出低电平,如此循环的输出就会产生一定频率的方波,通过改变延时时间就可以改变输出方波的频率。本设计采用定时中断来改变时间。程序流程图如下:根据程序流程图,结合定时计数器的 工作原理,程序如下: MOV TMOD, 0000 0001B MOV IE, 1000 0010BTIM0: PUSH ACC PUSH PSW MOV TL0, 20H MOV TH0, 21H CPL P1.0 POP PSW POP ACC3.2.4主程序的设计根据单元程序的分析,结合硬件电路的设计,得出完整源程序的设计见附录3:4电路的组装与调试4

15、.1单片机最小应用系统的安装与调试根据单片机的最小应用系统的电路图,在18、19号脚接单片机晶振和电容,安装时应该使晶振和电容接近与单片机芯片,这样可以减少导线的竞争电容,增强单片机的稳定性。还应该把单片机的20号脚接地,40号脚接电源。根据电路图装好单片机的最小应用系统,检查电路没问题后,看其单片机是否正常工作,主要看其30号脚是否出现带有毛疵的方波。输出波形如下:4.2音频放大电路的组装与调试根据LM386集成运放的引脚图及其工作的电参数,连接好外围电路的电阻和电容,LM386具有音频功率放大的作用,在连接音频放大电路中,应注意芯片6号脚接电源,4号脚接地,在5号脚输出连接电路时,应注意电

16、容的正负极。根据电路图连接好音频放大电路后,检查电路没问题后,给其单片机P1.0一个测试程序,看其扬声器是否能够进行正常工作。结果扬声器能够进行正常工作。4.3矩阵式键盘的安装与调试本设计采用矩阵式键盘进行进行音频电路的输入,在连接矩阵式键盘式键盘时,应该注意按键的接法,按键的对角线是常开的,相邻的两个引脚之间是常闭的,所以按键的连接可以采用对角线连接。根据矩阵式键盘的工作原理及按键的连接方法,接好矩阵式键盘,用万用表检查电路键盘电路的通与断,在没有按键按下的情况下,每行和每列的按键所在的电路都应该是断路的,因此在接通电源后,按键所在电路没有电压。按下不同的按键,经单片机处理后,其P1.0输出

17、波形不同,所以在矩阵式键盘中,按下16个按键,其输出波形如下: 低音3低音4低音5低音6 低音7中音1 中音2 中音3 中音4中音5中音6中音7高音1 高音2 高音3高音44.4整机安装与调试 在单片机实验台上,将+5V的电源接进单片机芯片89C51的40脚,GND接进89C51的20脚。启动计算机,打开伟福仿真软件,选择仿真器型号,仿真头型号,CPU类型;选择通信端口,测试串行口,编写源程序,编译无误后,全速运行程序。编译无误后进行程序的烧录。在进行仿真测试时,按键按下,扬声器不能进行正常工作,检查发现软件程序中 ,给定时中断赋初始值时,TMOD和IE的初始值,给予错误,还有按键中有两个按键

18、没有连接正确,改正错误后,按下按键扬声器能够发出声音。在声音中含有杂音,检查软件程序没有错误,导致此现象的原因是其硬件电路没有处理好,我选用5.1K电阻在1号脚输出端和10K电阻并联,作为上拉电阻,在LM386的5号输出端加一个22UF的电容用于滤波,如果用1000UF的电容太大,这样把声音都滤完了,用47UF的电容,扬声器的声音很小,所以选用22UF的电容进行滤波,这样扬声器在按键按下时,扬声器能够进行正常工作。5收获与体会 通过几周的毕业设计,我深刻感觉到电子产品设计的不容易,设计思路中应考虑到方方面面,一点考虑不周都会使电路没有办法正常工作,在电路完成后,看到自己亲手设计电路的实现,记忆

19、最深的是每一步小小思路实现时那幸福的心情;毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高;是把我们所学的基础知识和具体操作相结合;同时也是一种挑战和机遇。在这几周中,让我明白了,在遇到困难时,不应该想到的是走途径,而应该是尽自己所能,寻求解决方法,使事情能够简单话,而不是着急。在本次设计的过程中,我发现很多的问题,给我的感觉就是很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路,还有资料的查找也是一大难题,重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我们以后的就业还是学习,都会起到很大的促

20、进和帮助,我相信,通过这次的毕业设计,在以后的生活工作中我会更加努力,力争把这门知识更好的运用到生活和工作中去。通过本次电子琴的设计,让我知道了,生活中也许有许多东西可以靠自己的双手去亲手制作它,而由于自己对知识的匮乏,而今还没有能力去自己制作,在今后的生活中,遇到类似的问题,应该自己动手制作。所以在今后应注意这方面的培养。【参考文献】1 严仲兴:单片机原理与应用,中国计划出版社,2007年版 2 张毅刚:单片机原理与应用设计,东南大学出版社,2008年版3 吴金戌:8051单片机实践与应用,清华大学出版社,2002 年版 附录附录一:原理图 附录二:实物图 附录三:源程序 ORG 0000H

21、 JMP START ORG 000BH JMP TIM0 START: MOV TMOD, #00000001H MOV IE, #10000010H SETB TR0 L1: CALL KEY CLR EA JB F0 , L1 MOV A, 22H RL A MOV DPTR, #TABLE MOVC A , A+DPTR MOV TH0, A MOV 21H, A MOV A, 22H RL A INC A MOVC A, A+DPTR MOV TL0, A MOV 20H, AL2: CALL KEY SETB EA JB F0,L1 JMP L2 KEY: SETB F0 MOV

22、R3, #0F7H MOV R1, #00HL3: MOV A, R3 MOV P2, A MOV A, P2 CLR C CPL C MOV R5, #04HL4: RLC A JNC KEYIN INC R1 DJNZ R5, L4 MOV A, R3 CLR C CPL C RRC A MOV R3, A JC L3 RET KEYIN: MOV 22H, R1 CLR F0 低音3低音4低音5低音6低音7中音1中音2中音3中音4中音5中音6中音7高音1高音2高音3高音4 RET TIM0: PUSH ACC PUSH PSW MOV TL0, 22H MOV TH0 21H CPL P1.0 POP PSW POP ACC RETI TABLE: DW 64021 64103 64260 64400 DW 64524 64580 64684 64777 DW 64820 64898 64968 65030 DW 65058 65110 65157 65178 END

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1