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

下载本文档

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

文档简介

1、简易电子琴设计说明书一设计题目:设计一简易电子琴,要求: 能够发出1、2、3、4、5、6、7、等八个音符,此八音符电子琴可通过按健输入来控制音响。 演奏时可以选择手动演奏还是自动演奏已存入的乐曲。使用元件:AT80c51、LM324、扬声器、按键等。二、设计目的:掌握电子电路的一般设计方法和设计流程,并且能够对电子电路、电子元器件、印制电路板等方面的知识有进一步的认识。学习使用protel软件绘制电路原理图及印刷板图。掌握应用EWB对所设计的电路进行仿真,通过仿真结果验证设计的正确性。三、设计内容及步骤:为使所设计的简易电子琴实现预期功能此八音符电子琴可通过按健输入来控制音响的目的,要建需立音

2、阶与8051输出频率的对应表,如下表:字符12345678音符1234567I频率5245886606987848809881048简易电子琴硬件系统图:流程图:原理:(一)音乐产生原理及硬件设计由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值便为T=216-5105/相应

3、的频率,那么根据不同的频率计算出应该赋给定时器的计数值,列出不同音符与单片机计数T0相关的计数值如下表所示: 采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:TABLEDW64580,64684,64777,64820,64898,64968,65030源程序:方案一:产生按键音符ORG0000HLJMPMAINORG000BHLJMPBREAKMAIN:MOVTMOD,#01H;设置定时器0的工作方式SETBEASETBET0;设置定时器0中断SETBTR0;启动定时器0WAIT1:LCALLKEY;调用KEY子程序,判断有键按下否?第几个键?

4、CLREA;屏蔽中断CJNER3,#00H,WAIT1;如果R3=0,表示有键按下MOVA,22H;将22H里存放的按键号送给ARLA;因为查表里都是字,所以得乘2查得数据MOVDPTR,#TABLE;指向表头MOVCA,A+DPTR;查表MOVTH0,A;将数据高位送TH0MOV21H,A;将高位备份MOVA,22H;将22H里存放的按键号送给ARLA;因为查表里都是字,所以得乘2查得数据INCA;取低位数据MOVCA,A+DPTRMOVTL0,AMOV20H,AWAIT2:LCALLKEYSETBEACJNER3,#00H,WAIT1JMPWAIT2KEY:MOVR3,#00H;KEY子程

5、序,判断有键按下否?第几个键?MOVR1,#0FFHMOVR0,#00HMOVA,R1MOVP2,AMOVA,P2CLRCCPLC;利用标志位CY来判断是哪个键按下MOVR2,#08HWAIT3:RLCA;移位判断JNCSTOREINCR0DJNZR2,WAIT3STORE:MOV22H,R0;将按键号存22H,R3=0有键按下MOVR3,#00HRETBREAK:PUSHACC;中断产生方波,从P1.0口输出PUSHPSWMOVTL0,20HMOVTH0,21HCPLP1.0POPPSWPOPACCRETITABLE:DW65030,64968,64898,64820,64777,64684

6、,64580;7,6,5,4,3,2,1END方案二:产生按键音符ORG0000HSJMPSTARTORG000BHAJMPINT_0ORG0030HSTART:MOVP1,#00HSETBEASETBET0;计数器0MOVTMOD,#02HMOVTH1,#09CHMOVTL1,#09CH;定时器初植CLRTR0;定时器不允许SCAN:;键盘扫描MOVA,P2;判断键盘按下,跳到SCAN_1,若未按,继续扫描CJNEA,#0FFH,SCAN_1NOPSJMPSCANSCAN_1:ACALLDELAY;是不是真的要按下?如果是,则跳转SU_KEY查询是哪个按下?MOVA,P2CJNEA,#0FF

7、H,SU_KEYNOPSJMPSCANSU_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:M

8、OVR1,#10SJMPNEXTNEXT:MOVA,R1MOVR0,ASETBTR0;启动定时器0NEXT_1:MOVA,P2;没键按下继续执行,有键按下,返回读引脚CJNEA,#0FFH,NEXT_1ACALLDELAYMOVA,P2;真的没键按下?CJNEA,#0FFH,NEXT_1CLRTR0;不响AJMPSCAN;扫描键盘去INT_0:;中断程序DJNZR0,RE;R0不等于0时,返回CPLP1.0MOVA,R1MOVR0,ARE:RETIDELAY:MOVR7,#100;延长时间等待,键盘消抖D1:MOVR6,#10D2:DJNZR6,D2DJNZR7,D1RETEND生日快乐歌程序

9、:(自动演奏时所存入的乐曲)ORG0000HJMPMAINORG000BHJMPTT0MAIN:MOVTMOD,#01H;设置定时器0工作方式MOVIE,#82H;设置中断MAIN0:MOV30H,#00HNEXT:MOVA,30HMOVDPTR,#TABLE;查表MOVCA,A+DPTRMOVR2,AJZSTOPANLA,0FHMOVR5,AMOVA,R2SWAPAANLA,#0FHJNZSINGCLRTR0JMPW1SING:DECAMOV22H,ARLAMOVDPTR,#TABLE1;查表MOVCA,A+DPTRMOVTH0,AMOV21H,AMOVA,22HRLAINCAMOVCA,A

10、+DPTRMOVTL0,AMOV20H,ASETBTR0W1:CALLDELAYINC30HJMPNEXTSTOP:CLRTR0JMPMAIN0TT0:PUSHACC;中断服务程序PUSHPSWMOVTL0,20HMOVTH0,21HCPLP1.0POPPSWPOPACCRETIDELAY:MOVR7,#2;延时187msW2:MOVR4,#187W3:MOVR3,#248DJNZR3,$DJNZR4,W3DJNZR7,W2DJNZR5,DELAYRETTABLE1:DW64260,64400,64524,64580;音符计数植DW64684,64777,64820,64898DW64968,65030,65058,65110DW65157,65178,65217TABLE:DB82H,01H,81H,94H,84H;节拍表DB0B4H,0A4H,04HDB82H,01H,81H,94H,84HDB0C4H,0B4H,04HDB82H,01H,81H,0F4H,0D4HDB0B4H,0A4H,94HDB0E2H,01H,0E1H,0D4H,0B4HDB0C4H,0B4H,04HDB82H,01H,81H,94H,84HDB0B4H,0A4H,04HDB82H,01H,81H

温馨提示

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

评论

0/150

提交评论