简易电子琴设计_第1页
简易电子琴设计_第2页
简易电子琴设计_第3页
简易电子琴设计_第4页
简易电子琴设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简易电子琴设计、概述随着大规模集成电路的出现和发展,芯片生产厂家把中央处理器CPU,随机存取内存RAM,只读存储器ROM,定时/计数器以及I/O接电路等主要计算机部件,集成在一块集成电路芯片(硅片)上,形成芯片级计算机,称为单片微型计算机,直译为单片机。单片机虽只是一个芯片,但从组成和功能上看,它已具有了微机系统的含义,又称微型处理部件(MicroControllerUnit),片机商品名称为微控制器单元。通常单机由单块集成电路芯构成部包含有计算机的基本功能部件央处理器、存储器和I/O接电路等因,单片机只需要和适当的软件及外部设备相结合可成为一个单片机控制系统。单片机经过1、、、代发,目前单片机正朝着高性能和多品种方向发展,其优势在于体积小、价格低、功能强等,它们功能在增强,内部资源在增多,引起的多功能化,以及低电压底功耗。目前单片机已用于工业控制、机电一体化设备、仪器仪表、信号处理、现代兵器、交通能源、商用设备、医疗设备及家用电器等各个领域,随着单片机性能的不断提高,它的应用将会更加广泛。单片机的应用有利于产品的小型化功能化和智能化有助于提高劳动效率减劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。但是单片机应用的意义绝不仅于它的广阔范围以及所带来的经济效益上重要的意义还在于片的应用正从本上改变着传统的控制系统设计思想和设计方法前必须由模拟电路或数字电路实现的大部分控制功能,现在已能使用单片机通过软件(编程序)方法实现了。这种以软件取代硬件并能提高系统性能的控制系统“软化”技术,称之为微控制技术微控制技术是一种全新概念对传统控制技术的一次革命单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。简易电子琴系统就是以单片机为主要元器件设计的一个简易电子琴单片机应用的一个点,由点及面,希望可以更好的了解和应用单片机技术。之所以以单片机电子琴为选题的在于从日常生活能接触到的细微处着手过理论与实践的结合更确自己的所所用也实践中发现理论的不足对目前日益广泛应用的单片机有了更加理性化和感性化的认识,使理论和实践相得益彰。通过单片机电子琴这个选题更层次的了解了单片机技术前只是有理论实的机会不是很多作单片机电子琴这个选题的过程中加熟练的掌握了一些单片机芯片的应用,也解决了很多以前理论和实践脱节的问题,可谓对单片机的认识有了一个小的飞跃。、系分与计-1-

简易电子琴设计.1

系设要本系统分为两个部分,一个是音乐,另一个就是电子琴。音乐部分关声音的处理,采使用说明中的响声音的方法,使用汇编语言,利用定时器来控制频率,而每个音符的符号只是存在我自己定义的表中。具体要求如下:1.要求达到电子琴的基本功能,以用弹奏出简单的乐曲。2.用键盘作出电子琴的按键,每代表一个音符,该设计只有中音音段。3.各音符按一定的顺序排列,必符合电子琴的按键排列顺序。4.固定音乐播放有按键控制:“歌”、“复位”。5.弹奏电子琴是能播放出准确的音,不弹奏时可以播放固定音乐。.2

电琴统组单片机因体积小、功能强、价格低廉而得到广泛应用AT89C51单片机设计微型电子琴的方法,仅需最系统,扩展一组小键盘,再加一L做频小功放,输出到扬声器;电源由变压器,整流二极管,电容及稳压器组成;另外,再接一组发光二极管用来指示按键的按下与否。本系统分为两个部分,一个是音乐另一个就是电子琴。音部:音实际上是有固定周期的信号。本文介绍用AT89C51的个定时器(如T0T1)制,在P20脚输出方周期信号,产生乐音,通过七个按键产生七种不同的音符(中音此作人员可以随心所欲的弹奏自己所喜爱的乐曲,当不想弹奏时通过按放歌键可以演奏事先存放在单片机中的几首动听的曲子供消遣曲演奏完时过复位键便可回到初始状态样就做了一台微型电子琴。由于一首音乐是许多不同的音阶组成的每音阶对应着不同的频率样们就可以利用不同的频率的组合可成我们所想要的音乐了然对于单片机来产生不同的频率非常方便我们可以利用单片的定/计数器T0来产这样方波频率信号因此我只要把一首歌曲的音阶对应频率关系弄正确即可曲中每一音符对应着确定的频率们将每一音符的时间常数和其相应的节拍常数作为一组序将乐曲中的所有常数排列成一个表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。电琴分实际上就是把每个按键所对应的值经过处理后发给单片机在片机内把数字当作指针指向所对应的音符。.3

电琴统设思关于声音的处理第一种方法是用汇编语言利用定时器来控制频率而每个音符的符号只是存在我自己定义的表中。音符的频率是通过查表得到的(见表2-1本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值为T=2--5﹡/相应的率,么根据不同的频率计算出应该赋给定时器的计数值,列出不同音符与单片机计数T0相关计数值如下表所示:-2-

音符中1DO中2RE中3M中4FA中5SO中6LA中7SI

简易电子琴设计表2-1频率()523587659698784880988

简谱码(T值64580646846477764820648986496865030采用查表程序进行查表时以这个音符建立一个表格助于单片机通过查表的方式来获得相应的数据TABLEDB64580,64684,,64820,64898,64968,65030此外,结束符和体止符可以分别用代码00HFFH表示,若查表结果为,表示曲子终了,若查表结果为FFH,产生相应的停顿效果。关于声音的处理二方法是用一个8的二进制数来作为音符位前两位用来判断音符是高音低音还是中音面六位判断的是Do还Xi等符D7D6=01为低区,D7D6=10为音区,D7D6=11高音。此方法与第一种方法比较起来较简单,所以在该系统的音符设计中采用的就是第二种方法。、硬设.1

系方通过电子琴按键随意键入所要表达的音符为电平送给主体电路央理器通过识别,编译最后解码输出音符再过功放电路进行放大,最后在扬声电路中发出有效的声音。通过这样可以不断的弹奏音乐。嵌入式电路由电源电路,按键电路显电路,音频放大电路和两个功能键组成,通过功能键可以选择播放音乐。.2

系功框该系统的主要模块由五个部分组,体关系如图所示:-3-

22

简易电子琴设计显AT89C51单机电

机框图.3功模详设系统主要功能模块由以下几部分组成:.31电电设计U4VCCMC7805

JP12C4103

+5VDNG

Vin

1

C5

C62200pf

1

10A

D94

12JP2103

13

2BRIDGE1

10TO13图3-2从图3-2可无论是AT89C51片机工作电源二管还是数码管的驱动要用到+5V的直流电源,所以,一个稳的、持续+5V直流电源对本系统十分重要。本系统运用桥式整流电路,将交流转换为直流,为各部分电路提供恒定+5V直。模拟部分和数字部分分别采用一个独立的稳压管供电,保证电路的稳定性和抗干扰。.32键控电路计-4-

简易电子琴设计键控

707070

70470

70470

图3-5本系统采用独立式按键方式来实键盘的按指直接用I/O口构成单个按键电路按用一条线按工作状态不会产生相互影响所当图中的某一个键闭合时I/O口线变为低电平查询到为低电平的I/O线时,就可以确定处于闭合状态的。.3.3音频放大路计LM386是美家半导体公司生的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内为20但在脚和8间增加一只外接电阻和电容,便可将电压增益调为任意值,直输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在电电压下它的静态功耗仅为24mW,使特用于电池供电的场合LM386装形式有塑8引双直式贴式其的主要目标是在失真许可的限度内效为终端载提供尽可能大的输出功率统频放大电路的设计如图示:-5-

简易电子琴设计.34复电设复位是单片机的初始化操作,其主要功能是把初始为0000H,单片机从0000H单元开始执行程序了进入系统的正常初始化之外由于程序运行出错或操作错误使系统处于死锁状态时摆脱困境需按复位键以重新启动引角是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期以上。整个复位电路包括芯片内外两部分。外部电路产生的复位信号RST)施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻施密特发器的输出进行采样。然后才得到内部复位操作所需要的信号。复位电路的基本功能是系统上电时提供复位信号直至系统电源稳定后撤销复位信号为可靠起见电源稳定后还要经一定的延时才撤销复位信号以防电源开关或电源插头-合过程中引起的抖动而影响复位。复位操作有上电自动复位和按键手动复位两种方式自复位是通过外部复位电路的电容充电来实现的样要源的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化设计采用按键手动复位方式该式又分为电平方式和脉冲方式中按键电平方式是通过使复位端经电阻与电源接通而实现的按脉冲复位则是利用RC微电路产生的正脉冲来实现的。本设计采用按键电平复位方式,具体电路图如下:

K9

C9

R9

1K图3-8图中9端与单片机复位信号RST相连。.35时电设计时钟电路用于单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路保同步工作方式的实现应唯一的时钟信号控制下严格的按时序进性工作。而时序所研究的则是指令执行中各信号之间的相互直接关系。1)时钟信号的产生-6-

简易电子琴设计在—芯内部有一个高增反向放大器,其输入端为芯片引脚X,输出端引脚XTAL2,在芯片的外部通过两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。如图3-9所示。X1

Y111.0592MHzX2图3-9

1819除使用晶体振荡器外如对时钟率要求不高还以用电感或陶瓷谐振器代替路中的电容C1和一取左右,而晶体的振荡频率范围通常是12MHz~12MHz,晶体振荡频率高则系统的时钟频率高单机运行速度也就快但过来运行速度快堆存储器的速度要求就高,对印刷电路板的工艺要求也就高(线间寄生电容要小—在通常应用情况下,使用振荡频率为6的石英晶体,而MHz主是在高速串行通信的情况下才使用着术的发展片机的时钟频率也在逐步提高在高速芯片已达40MHz。定时振荡器的工作可由专用寄存器PCON的PD位行控制,把PD位“荡器停止工作,系统进入低功耗状态。振荡电路产生的振荡脉冲并不直接使用,而是经分频后为系统所用。振荡脉冲经过二分频后才作为系统的时钟信号,在二分频的基础上再三分频产生LE信号,在二分频的基础上再六分频得到机器周期信号。2)引入外部脉冲信号在由多片单片机组成的系统中了单片机之间时钟信号的同步当入唯一的公用外部脉冲信号作为各单片机的振荡脉冲时外部的脉冲信号是经XTAL2引脚入连-7-

简易电子琴设计接如图3-10所示。VCCTTL外钟信

XTALXTAL图3-10注意,外接的脉冲信号应当是高低电平持续时间大于20ns方波,且脉冲频率应低于12MHz。对于80C51单机,情有些不同。外引脉冲信号需从XTAL1引注入,而XTAL2引脚悬空,其电路请参见图。接钟

XTALXTALVss图3-11.4

主芯功描.41AT89C51单机能描该单片机是在一块芯片中集成了CPURAMROM、定时/计器和多种功能的I/O线等一台计算机所需要的基本部件。其内包含下列几个部件:1)一个8位CPU;2)一个片内振荡器及时钟电路;字程存储器;4)128字节RAM数存储器5)两个16为定时器计器;6)可寻址64K外数据存储器和64部程序存储空间的控制电路;-8-

简易电子琴设计条编程的I/O线四个8为行I/O口);8)具有五个中断源、两个优先级套结构。其外型如图示:图AT89C51是个低电压,高性能8位单机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)128bytes的机存取数据存储器RAM。.42LM386功描图LM386是美国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20但在脚和8之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电电压下它的静态功耗仅为24mW,得LM386特适用于电池供电的场合。其主要特性有以下几点:-9-

简易电子琴设计静态功耗低,约为4mA,可于池供电。工作电压范围宽,4-12Vor5-18V。外围元件少。电压增益可调,20-200。、软设软件由初始化程序、主程序、定时器中服务程序、键盘扫描程序和延时程序组成。.1

主序程:.11电琴体程流图说参1)图4-1-10

简易电子琴设计.12放子序流图说参2图4-2。2

源序。21主序码:ORG0000HLJMPSTARTORG001BH-11

简易电子琴设计LJMPINT_0ORG000BHINC20HMOVTH0,#0D8HMOVTL0,#0EFHRETIORG0200HSTART:MOVP2,#00HSETBEASETBET0;计器0SETBET1;计器1MOVTMOD,#21HMOVTH0,#09CHMOVTL0,#09CH;时器初植MOVTH1,#0D8HMOVTL1,#0EFHCLRTR0;时器不允许CLRTR1SCAN:;键扫描MOVA,P1CJNEA,#0F0H,SCAN_1;断键盘按下,跳到,未按,继续扫描NOPLJMPSCANSCAN_1:ACALLDELAYMOVA,P1;询是哪个按下?CJNEA,#0F0H,SU_KEY;不是真的要按下?如果是,则跳转SU_KEYNOPLJMPSCANSU_KEY:JNBP1.0,MU_0;判是哪个键按下?JNBP1.1,MU_1JNBP1.2,MU_2JNBP1.3,MU_3JNBP1.4,MU_4JNBP1.5,MU_5-12

简易电子琴设计JNBP1.6,MU_6JNBP1.7,MU_7LJMPSCANMU_0:CPLP0.0;是第一个按键按下,点亮第一个LEDLCALLDELAYSETBP0.0;时之后息灭该LEDMOVR1,#19;信号期LJMPNEXTMU_1:CPL;是第二个按键按下,点亮第二个LEDLCALLDELAYSETBP0.1;时之后息灭该LEDMOVR1,#17LJMPNEXTMU_2:CPLP0.2;若第三个键按下,点亮第三个LEDLCALLDELAYSETBP0.2;时之后息灭该LEDMOVR1,#15LJMPNEXTMU_3:CPLP0.3;若第四个键按下,点亮第四个LEDLCALLDELAYSETBP0.3;时之后息灭该LEDMOVR1,#14LJMPNEXTMU_4:CPLP0.4;若第五个键按下,点亮第五个LEDLCALLDELAYSETBP0.4;时之后息灭该LEDMOVR1,#13LJMPNEXTMU_5:CPLP0.5;若第六个键按下,点亮第六个LEDLCALLDELAYSETBP0.5;时之后息灭该LEDMOVR1,#11LJMPNEXTMU_6:CPLP0.6;若第七个键按下,点亮第七个LED-13

简易电子琴设计LCALLDELAYSETBP0.6;时之后息灭该LEDMOVR1,#10LJMPNEXTMU_7:CPLP0.7;若第八个键按下,点亮第八个LEDLJMPNEXT_2NEXT:MOVA,R1MOVR0,ASETBTR1;启定时器1NEXT_1:MOVA,P1CJNEA,#0FFH,NEXT_1;键按下继续执行,有键按下,返回读引脚ACALLDELAYMOVA,P1;的没键按下?CJNEA,#0FFH,NEXT_1CLRTR1;响AJMPSCAN;描键盘去INT_0:;中程序DJNZR0,RE;不等时,回CPLP2.0MOVA,R1MOVR0,ARE:RETINEXT_2:NOP;歌程序MUSIC0:MOVSP,#50HNOPMOVDPTR,#DAT;头地址送DPTRMOV20H,#00H;断计数器清0MOVB,#00H;序号清0MUSIC1:NOPCLRAMOVCA,@A+DPTR;表取代码JZEND0;则束CJNEA,#0FFH,MUSIC5LJMPMUSIC3-14

简易电子琴设计MUSIC5:NOPMOVR6,AINCDPTRMOVA,BMOVCA,@A+DPTR;取节拍代码送R7MOVR7,ASETBTR0;启动计数MUSIC2:NOPCPLP2.0MOVA,R6MOVR3,ALCALLDELMOVA,R7CJNEA,20H,MUSIC2;断计数(20H)=R7否;不,则继续循环MOV20H,#00H;于则下一代码INCDPTR;BLJMPMUSIC1MUSIC3:NOPCLRTR0;止100毫秒MOVR2,#0DHMUSIC4:NOPMOVR3,#0FFHLCALLDELDJNZR2,MUSIC4INCDPTRLJMPMUSIC1END0:NOPMOVR2,#64H;曲束延后继续MUSIC6:MOVR3,#00HLCALLDELDJNZR2,MUSIC6LJMPMUSIC0DELAY:MOV30H,#100;长时间等待,键盘消抖-15

简易电子琴设计D1:MOVR5,#200D2:DJNZR5,D2DJNZ30H,D1RETDEL:NOPDEL3:MOVR4,#02HDEL4:NOPDJNZR4,DEL4NOPDJNZR3,DEL3RET.22音按程:该模块的主要功能是实现按键时产生相应的音符按键的同时伴随着灯闪烁。具体程序如下:ORG0000HSJMPSTARTORG000BHAJMPINT_0ORG0030HSTART:MOVP1,#00HSETBEASETBET0;计器0MOVTMOD,#02HMOVTH1,#09CHMOVTL1,#09CH;时器初植CLRTR0;时器不允许SCAN:;键扫描MOVA,P2CJNEA,#0FFH,SCAN_1;断键盘按下,跳到SCAN_1若未按,继续扫描NOPSJMPSCANSCAN_1:ACALLDELAYMOVA,P2JNEA,#0FFH,SU_KEY;不是真的要按下?如果是,则跳转SU_KEY查询哪个按下-16

简易电子琴设计NOPSJMPSCANSU_KEY:JNBP2.1,MU_1;判是哪个键按下?JNBP2.2,MU_2JNBP2.3,MU_3JNBP2.4,MU_4JNBP2.5,MU_5JNBP2.6,MU_6JNBP2.7,MU_7SJMPSCAN;R1信号期MU_1:MOVR1,#19;果第一按键按下,则R1=19,同时程序转NEXTSJMPNEXTMU_2:MOVR1,#17SJMPNEXTMU_3:MOVR1,#15SJMPNEXTMU_4:MOVR1,#14SJMPNEXTMU_5:MOVR1,#13SJMPNEXTMU_6:MOVR1,#11SJMPNEXTMU_7:MOVR1,#10SJMPNEXTNEXT:MOVMOVR0,ASETBTR0;启定T0NEXT_1:MOVA,P2CJNEA,#0FFH,NEXT_1;键按下继续执行,有键按下,返回读引脚ACALLDELAYMOVA,P2;的没键按下?CJNEA,#0FFH,NEXT_1CLRTR0;响AJMPSCAN;描键盘去-17

简易电子琴设计INT_0:;中程序DJNZR0,RE;不等时,回CPL。MOVA,R1MOVR0,ARE:RETIDELAY:MOVR7,#100;长时间待,键盘消抖D1:MOVR6,#10D2:DJNZR6,D2DJNZR7,D1RETEND.23按放程:该模块的功能是按放歌键程序自动调用事先存放在存储器中的音符续用从而达到歌曲演奏的效果。具体程序如下:ORG0000HLJMPSTARTORG000BHINC20H;断服务,中断计数加1MOVTH0,#0D8HMOVTL0,#0EFH;12M晶振形10毫中断RETISTART:MOVSP,#50HMOVTH0,#0D8HMOVTL0,#0EFHMOVTMOD,#01HMOVIE,#82HMUSIC0:NOPMOVDPTR,#DAT;头地址送DPTRMOV20H,#00H;断计数器清0MOVB,#00H;表序号清0MUSIC1:NOPCLRAOVCA,@A+DPTR;表取代码-18

简易电子琴设计JZEND0;是则束CJNEA,#0FFH,MUSIC5LJMPMUSIC3MUSIC5:NOPMOVR6,AINCDPTRMOVA,BMOVCA,@A+DPTR;节拍代码送R7MOVR7,ASETBTR0;动计数MUSIC2:NOPCPLP3。MOVA,R6MOVR3,ALCALLDELMOVA,R7CJNEA,20H,MUSIC2;断计数(20H)=R7否;不等则续循环MOV20H,#00H;于则下一代码INCDPTR;INCBLJMPMUSIC1MUSIC3:NOPCLRTR0;止100毫秒MOVR2,#0DHMUSIC4:NOPMOVR3,#0FFHLCALLDELDJNZR2,MUSIC4INCDPTRLJMPMUSIC1END0:NOPMOVR2,#64H;歌曲结束,延时秒后继续-19

简易电子琴设计MUSIC6:MOVR3,#00HLCALLDELDJNZR2,MUSIC6LJMPMUSIC0DEL:NOPDEL3:MOVR4,#02HDEL4:NOPDJNZR4,DEL4NOPDJNZR3,DEL3RETNOPDAT:db26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h。设总:本系统最终实践效果基本达到设计要求作员每执行一个动作系就会有相应的反应,并且效果比较满意,基本达到设计的要求与目的。但是该系统的设计,还存在以下几点不足之处歌时候是按照本人设定的歌曲进行播放作人不可以自主地有选择进行播放音放大电路方面没有做有与音响设备的连线插头以仅仅局限于设计硬件中的音频放大播音存的问题还是较多的其仍欠设计的成熟与专业性通过本次设计使我熟悉了单片机开发设计的流程及

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论