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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

简易7按键电子琴的设计.docx

1、简易7按键电子琴的设计目录第1章 概 述 11.1 设计的目的 1第2章 系统设计 22.1简易电子琴设计方案 22.2系统总框图 22.3系统工作原理 3第3章 硬件电路的设计 4第4章 软件的设计 54.1 程序流程图 54.2 程序设计说明 64.2.1 对声音的控制 64.2.2对演奏的控制 6第5章 总结 7参考文献 8附录1 系统电路图 9附录2 源代码 错误!未定义书签。第1章 概 述我们生活在一个信息时代,各种电子产品层出不穷,作为一个计算机专业的学生,了解这些电子产品的基本组成和设计原理是十分必要的,我们学习的是计算机组成的理论知识,而课程设计正是对我们学习的理论的实践与巩固

2、。本设计主要介绍的是一个用超高速硬件描述语言VHDL设计的一个具有若干功能的简易电子琴,其理论基础来源于计算机组成原理的时钟分频器。1.1设计目的(1)能够对电子电路、电子元器件、印制电路板等方面的知识有进一步的认识,独立对其进行测试与检查。(2)熟悉8051单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。(3)为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。(4)对软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。第2章 系统设计2.1简易电子琴设计方案设计一简易电子琴,要求能够发出1、

3、2、3、4、5、6、7等七个音符。使用元件:AT89C51、LM324,喇叭,按键等1.能够实现基本的琴键功能即每按下一个琴键,单片机能够检测到键盘的按键,并根据按键的位置通过程序来控制,使蜂鸣器发著不同频率的声音,声音延迟延迟一段时间,等到按键放开后,声音停止。然后再继续扫描,看是否有键按下,如此循环下去,即实现基本的琴键功能。2.能够实现调节电子琴银色功能在键盘上设置功能键,通过按键选择不同的因素。3.能够实现通过按键自动播放歌曲的功能在键盘上设置几个功能键,按下之后会根据功能键跳转到自动播放歌曲的程序,来播放相应的歌曲。2.2系统的总框图2.3系统工作原理乐音实际上是有固定周期的信号。我

4、们可以用AT89C51的一个定时器(如T1)控制,在P34脚上输出方波周期信号,产生乐音。根据不同的按键,调节T1的溢出时间,可输出不同频率的乐音,这样就做出了一台微型电子琴。每个乐音的音高(频率)是固定的,表1列出了一个8度以及其上下共16个音的音名、频率及定时器T1初值对照(设晶体频率为6MHz)音乐产生原理及硬件设计由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可

5、。本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值便为T= 216-5105/相应的频率 ,那么根据不同的频率计算出应该赋给定时器的计数值,电子琴的具体工作原理图如下图所示。 简易电子琴的工作原理图第3章 硬件电路的设计由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。本次设计中单片机晶振为12MHZ,那么定时器的计数周期

6、为1MHZ,假如选择工作方式1,那T值便为T= 216-5105/相应的频率 ,那么根据不同的频率计算出应该赋给定时器的计数值,列出不同音符与单片机计数T0相关的计数值如下表所示:音符频率(HZ)简谱码(T值)中 1 DO52364580中 2 RE58764684中 3 M65964777中 4 FA69864820中 5 SO78464898中 6 LA88064968中 7 SI98865030采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:TABLE DW 64580,64684,64777,64820,64898,64968,65030

7、第4章 软件设计4.1程序流程图 图3.2 简易电子琴的工作流程图4.2程序设计说明4.2.1对声音的控制对音调的控制:根据不同的按键,对定时器T1送入不同的初值,调节T1的溢出时间,这样就可以输出不同音调频率的方波。不同音调下各个音阶的定时器对音长的控制:先向定时器T0送入一个固定初值,控制中断循环的次数,从而得到成倍数关系的时间间隔。按一拍0.64S计算,取1/16拍为最小间隔,即0.04S,为此设定T0的初值为63C0。乐谱的编码规则:对于每个音符,定义用8位二进制数表示。其中,最高位为1的字符为结束符,当读到最高位为1时,停止播放;低3位存储音阶码,即音阶表的列数,可为000B111B

8、 (17和休止符),休止符表示停顿,不发音,只有时间长短属性;第3位和第4位存储音高码,即音阶表的行数,可为00B10B;第5位和第6位存储音长码,即中断次数,可为00B10B。4.2.2对演奏的控制在手动演奏时,规定先按音调键,后按音阶键。每次音阶键按下时,调用键盘扫描子程序,获得键值,查询音阶表,获取定时器的计时初值,向喇叭输入相应频率的驱动脉冲,发出相应的声音,若按键没有松开,则一直发声;若按键松开,则停止发声。在自动演奏时,通过选曲键来确定要播放的音乐,根据键值查询曲目表获取所点歌曲的首地址,依次读取歌曲的代码,获得音阶、音调和音长信息,播放相应的音乐。当读到结束符时,停止播放音乐。第

9、5章 总结通过一周的紧张工作,终于完成了简易电子琴的设计,这个课程设计使我受益匪浅,他使我了解了硬件设计的整个流程,并且加深了我对计算机组成原理这门的课内容的理解,通过这个课程设计,不仅使我了解了组成原理的脊髓,而且使我对单片机从陌生到初步理解,扩充的我的知识面。这个课程设计也培养了我们的耐心和毅力,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,由于这个课程设计也使我积累了一些经验,相信这些经验在我以后的学习工作中会有很大的作用。此课程设计也使我了解了单片机设计的方便灵活性,这是我们跨入计算机硬件行业很好的一次锻炼。参考文献【1】 单片微型计算机接口技术及应用张淑清

10、姜万录等著编(国防工业出版社2003年1月)【2】 8051单片机实践与应用吴金戌 沈庆阳 郭庭吉 编著(清华大学出版社2001年8月)【3】 微型计算机原理与接口技术冯博琴主编(清华大学出版社2004年4月)【4】 新颖实用电子设计与制作 张友汉主编(福建科学技术出版社2000年1月)【5】 C语言程序设计教程(第二版)谭浩强等著编(高等教育出版社)【6】 数字电子技术基础简明教程(第二版) 余孟尝主编附录(一)硬件电路图:附录(二)源代码1. 方案一:产生按键音符 ORG 0000H LJMP MAIN ORG 000BH LJMP BREAKMAIN: MOV TMOD,#01H ;设置

11、定时器0的工作方式 SETB EA SETB ET0 ; 设置定时器0中断 SETB TR0 ; 启动定时器0WAIT1: LCALL KEY ; 调用KEY子程序,判断有键按下否?第几个键? CLR EA ;屏蔽中断 CJNE R3,#00H,WAIT1 ;如果R3=0,表示有键按下 MOV A,22H ;将22H里存放的按键号送给A RL A ; 因为查表里都是字,所以得乘2查得数据 MOV DPTR,#TABLE ;指向表头 MOVC A,A+DPTR ; 查表 MOV TH0,A ;将数据高位送TH0 MOV 21H,A ; 将高位备份 MOV A,22H ;将22H里存放的按键号送给

12、A RL A ;因为查表里都是字,所以得乘2查得数据 INC A ;取低位数据 MOVC A,A+DPTR MOV TL0,A MOV 20H,AWAIT2: LCALL KEY SETB EA CJNE R3,#00H,WAIT1 JMP WAIT2KEY: MOV R3,#00H ; KEY子程序,判断有键按下否?第几个键? MOV R1,#0FFH MOV R0,#00H MOV A,R1 MOV P2,A MOV A,P2 CLR C CPL C ;利用标志位CY来判断是哪个键按下 MOV R2,#08HWAIT3: RLC A ;移位判断 JNC STORE INC R0 DJNZ

13、R2,WAIT3STORE: MOV 22H,R0 ; 将按键号存22H,R3=0有键按下 MOV R3,#00H RETBREAK: PUSH ACC ; 中断产生方波,从P1.0口输出 PUSH PSW MOV TL0,20H MOV TH0,21H CPL P1.0 POP PSW POP ACC RETITABLE: DW 65030,64968,64898,64820,64777,64684,64580 ; 7,6,5,4,3,2,1 END方案二:产生按键音符 ORG 0000H SJMP START ORG 000BH AJMP INT_0 ORG 0030HSTART: MOV

14、 P1,#00H SETB EA SETB ET0 ;计数器0 MOV TMOD,#02H MOV TH1,#09CH MOV TL1,#09CH ;定时器初植 CLR TR0 ;定时器不允许SCAN: ;键盘扫描 MOV A,P2 ;判断键盘按下,跳到SCAN_1,若未按,继续扫描 CJNE A,#0FFH,SCAN_1 NOP SJMP SCANSCAN_1:ACALL DELAY ;是不是真的要按下?如果是,则跳转SU_KEY查询是哪个按下? MOV A,P2 CJNE A,#0FFH,SU_KEY NOP SJMP SCANSU_KEY:JNB P2.1,MU_1 ;判断是哪个键按下?

15、 JNB P2.2,MU_2 JNB P2.3,MU_3 JNB P2.4,MU_4 JNB P2.5,MU_5 JNB P2.6,MU_6 JNB P2.7,MU_7 SJMP SCAN ;R1信号周期MU_1: MOV R1,#19 ;如果第一个按键按下,则R1=19,同时程序转NEXT SJMP NEXTMU_2: MOV R1,#17 SJMP NEXTMU_3: MOV R1,#15 SJMP NEXTMU_4: MOV R1,#14 SJMP NEXTMU_5: MOV R1,#13 SJMP NEXTMU_6: MOV R1,#11 SJMP NEXTMU_7: MOV R1,#

16、10 SJMP NEXTNEXT: MOV A,R1 MOV R0,A SETB TR0 ;启动定时器0 NEXT_1:MOV A,P2; 没键按下继续执行,有键按下,返回读引脚 CJNE A,#0FFH,NEXT_1 ACALL DELAY MOV A,P2 ;真的没键按下? CJNE A,#0FFH,NEXT_1 CLR TR0 ;不响 AJMP SCAN ;扫描键盘去INT_0: ;中断程序 DJNZ R0,RE ;R0不等于0时,返回 CPL P1.0 MOV A,R1 MOV R0,ARE: RETIDELAY:MOV R7,#100 ;延长时间等待,键盘消抖D1: MOV R6,#

17、10D2: DJNZ R6,D2 DJNZ R7,D1 RET END大庆石油学院课程设计成绩评价表课程名称单片机原理及应用课程设计题目名称基于51单片机简易电子琴设计学生姓名高尚学号060901140501指导教师姓名职称序号评价项目指 标满分评分1工作量、工作态度和出勤率按期圆满的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。202课程设计质量课程设计选题合理,计算过程简练准确,分析问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。453创新工作中有创新意识,对前人工作有一些改进或有一定应用价值。54答辩能正确回答指导教师所提出的问题。30总分评语:指导教师: 年 月 日

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

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