毕业设计(论文)基于单片机的简易电子琴设计.doc

上传人:文库蛋蛋多 文档编号:3981155 上传时间:2023-03-30 格式:DOC 页数:18 大小:117KB
返回 下载 相关 举报
毕业设计(论文)基于单片机的简易电子琴设计.doc_第1页
第1页 / 共18页
毕业设计(论文)基于单片机的简易电子琴设计.doc_第2页
第2页 / 共18页
毕业设计(论文)基于单片机的简易电子琴设计.doc_第3页
第3页 / 共18页
毕业设计(论文)基于单片机的简易电子琴设计.doc_第4页
第4页 / 共18页
毕业设计(论文)基于单片机的简易电子琴设计.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的简易电子琴设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的简易电子琴设计.doc(18页珍藏版)》请在三一办公上搜索。

1、摘 要本论文要设计的为基于单片机的简易电子琴,基本要求为能够发出1、2、3、4、5、6、7等七个音符即可。众所周知,由于一首音乐是由许多不同的音阶组合而成的,而每个音阶则对应着不同的频率,因此我们可以利用不同的频率来进行音阶的组合,即可产生美妙的音乐了。对于单片机来说,产生不同的频率非常方便,只要算出某一音频的周期,然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后,就将输出脉冲的I/O反相,然后重复计时,此半周期再对I/O反相,即可在I/O脚上得到此频率的脉冲。因此我们可以利用单片机的定时器,使其工作在计数器模式MODE1下,改变计数值TH0及TL0来产生不同频

2、率的信号。从而产生不同的音符1。关键词:音阶,频率,单片机AbstractThis thesis designed for simple keyboard, the basic requirement is to send 1, 2, 3, 4, 5, 6, 7 seven notes. Well-known, the music is made up by many different scales, and each scale corresponds to different frequency, so we can use different frequency to make com

3、bination of scales, and then produce wonderful music. As for single-chip microcomputer, it is very convenient to produce different frequency, we just calculate an audio cycle, then this cycle divided by 2, namely half cycle time, using timer to time the half cycle time. Whenever timing, it will outp

4、ut pulse I/O reverse phase, and repeat the timing, the half cycle again to the I/O reversed-phase, then can get this frequency pulse from the I/O feet. So we can use microcontroller timer to make it work in the counter mode and generate different frequency signal. Thus produce different notes. Keywo

5、rds: scales,frequency, single-chip microcomputer 目 录1 绪 论11.1 论文特点及研究意义11.2 系统简介12 元器件22.1 元器件的种类22.2 AT89C5122.3 四运放集成电路LM32423 硬件电路43.1 硬件电路图43.2 电路各部分简要分析43.3 元件参数53.4 单片机音符与单片机频率的关系54软件流程64.1 设计思路与流程图64.2 程序设计75 制作与调试方法106 总 结11致 谢12参考文献13附录A141 绪 论1.1 论文特点及研究意义本论文设计的为电子琴,电子琴又称作电子键盘,属于电子乐器 (区别于电

6、声乐器),发音音量可以自由调节。音域较宽,和声丰富,甚至可以演奏出一个管弦乐队的效果,表现力极其丰富。它还可模仿多种音色,甚至可以奏出常规乐器所无法发出的声音(如合唱声,风雨声,宇宙声等)。另外,电子琴在独奏时,还可随意配上类似打击乐音响的节拍伴奏,适合于演奏节奏性较强的现代音乐。另外,电子琴还安装有效果器,如混响、回声、延音,震音轮和调制轮等多项功能装置,表达各种情绪时运用自如。本论文设计的电子琴虽是简易电子琴,功能和真正电子琴有不小差距,但本论文设计的电子琴是很多高档电子琴的基础,对进一步研究电子琴有很大的促进作用。本设计易懂、简练,所用器件常见,上网查询资料方便,电路模块具有通用性,非常

7、适合广大电子爱好者制作。1.2 系统简介本系统主要由硬件电路和软件流程组成。硬件电路主要包括芯片AT89C51、四运放集成电路LM324、喇叭和按键等以及由它们组成的电路图,软件流程主要包括主程序流程图和相关程序。本论文还对本设计用到的芯片AT89C512,四运放集成电路LM3243等做了一些介绍。 2 元器件2.1 元器件的种类本设计要用到的元器件有芯片AT89C51、四运放集成电路LM324、喇叭和按键等。2.2 AT89C51AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电

8、压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中, AT89C51是一种高效微控制器。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图2.1所示图2.1 AT89C51外形管脚图主要特性:与MCS-51 兼容 4K字节可编程FLASH存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24MHz2.3 四运放集成电路LM324LM324是四运放集

9、成电路,采用14脚双列直插塑料封装,外形如图2.2所示。图2.2 LM324外形管脚图它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图1所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324的引脚排列见图2.3。图2.3 LM324引脚排列图由于LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价

10、格低廉等优点,因此被广泛应用在各种电路中。正是因为如此,本论文才选用它。 3 硬件电路3.1 硬件电路图基于AT89C51芯片的简单电子琴的电路图如图3.14。图3.1 硬件电路图3.2 电路各部分简要分析单片机P2口为输入接口,接有一组按键,共7个。这7个按键S1S7通过排阻,分别按顺序与单片机的P2口P2.1P2.7相接,按键另一端接地,共同组成整个电路的按键控制部分,为整个电路提供输入信号。单片机P1.0为输出端,连接着整个电路的发声放大部分。这部分是整个电路的关键所在,脉冲电压信号通过电解电容(因为本例单片机所产生的信号频率较低,所以选用相对容量较大的电解电容)和反向放大器相连。输入电

11、阻、运算放大器和反馈电阻共同组成反向放大器。电压信号经过输入电阻,流入运算放大器的反向输入端,输出信号经过反馈电阻,反馈到反向输入端,同时接入闭环保护电阻,也可防止共模电压超出极限值。集成运放将放大的信号经过电解电容传给喇叭,以驱动喇叭发声5。对于理想闭环特性,当运算放大器的开环增益a时,就可以得到理想的闭环增益Aideal:AideallimAR2R1其中R2为反馈电阻阻值,R1为输入电阻阻值。这就是说,闭环增益还是仅决定于外部电阻的阻值,所以可以直接通过电阻分压来设置增益,且输出阻抗都很小。3.3 元件参数本论文根据实际要求所选定的元件参数如下:反馈电阻R2为10k欧,输入电阻R1为1k欧

12、,闭环增益A为10.单片机P1.6接入一个按键和一个分压电阻,组成放歌按键,来控制整个电路运行扩展功能(播放一段音乐)。X1、X2接一个晶振,作为控制反向震荡放大器的输入和输出,并且确定内部时钟的工作频率。单片机RESET端口接入一个复位电路,此部分由按键、电解电容(此电容为去耦电容,防止其他信号引起的错位复位)和控制电阻共同组成,主要功能是当按下按键时给予芯片RESET端口一个高电平复位信号。3.4 单片机音符与单片机频率的关系本次设计中,单片机晶振为12MHz,那么定时器的技术周期为1 MHz,加入选择工作方式1,那T值便为T=216x(x为THX、TLX的初值)。那么根据不同的频率计算出

13、应赋给定时器的计算值,表3.1列出不同音符与单片机计数T0相关的计数值。表3.1 音符与单片机频率对应表音符 频率 简谱码中 1DO 523 64580中 2RE 587 64684中 3MI 659 64777中 4FA 698 64820中 5SO 784 64898中 6LA 880 64968中 7SI 988 65030 4软件流程4.1 设计思路与流程图本电子琴的设计我们采用的是设计7个音符,与键盘的7个按键一一对应,并且计算出每个音符对应的频率值。音符通过定时器T0产生,然后通过键盘不断的扫描,根据按键功能,将不同按键对应的频率信号发送到集成运放中放大,最后送给喇叭发出对应的音符

14、以发出相应的声音。图4.1为流程示意图6 开始识别按键功能根据按键功能,装入音符T值到T0中启动T0工作判断按键释放是否成功停止T0工作T0初始化并开中断允许T0中断按键并判断是否成功YNYN图4.1 流程示意图在主程序流程图中,T0初始化以后,首先要通过扫描键盘,判断是否有按键按下。若没有按键按下,则要继续扫描,不断重复循环过程,直到发现按键按下,程序才能根据按键的功能,将相对应的音符T值装入到T0以后,T0开始启动。程序随后继续扫描按键,若按键保持按下状态,则T0继续保持工作状态,直到按键松开,T0停止工作,返回初始状态,等待下一次的扫描按键结果。图4.2为T0中断子程序图。 T0中断入口

15、重装TH0、TL0初值P1、0取反中断返回图4.2 T0中断子程序图当程序中断时,程序保存现场,并重装TH0、TL0的初值,然后将P1、0按位取反,重新送入P1、0,最后中断返回。4.2 程序设计 产生按键音符的程序如下7ORG 0000HLJMP MAINORG 000BHLJMP BREAKMAIN: MOV TMOD,01H ;设置定时器0的工作方式 SETB EA SETB ET0 ;设置定时器0中断 SETB TR0 ;启动定时器0WAIT1: LCALL KEY ;调用KEY子程序,判断是否有按键按下?第几个键? CLA EA ;屏蔽中断 CJNE R3,00H,WAIT1 ;如果

16、R3=0,表示有键按下 MOV A,22H ;将22H里存放的按键号送给ARL A ;因为查表里都是字,所以得乘2查得数据MOV DPTR,TABLE ;指向表头MOVC A,ADPTR ;查表MOV TH0,A ;将数据高位送TH0MOV 21H,A ;将高位备份MOV A,22H ;将22H里存放的按键号送给ARL A ;因为查表里都是字,所以得乘2查得数据INC A ;取低位数据MOVC TL0,AMOV 20H,AWAIT2: LCALL KEY SETB A CJNE R3,,00H,WAIT1 JMP WAIT2KEY: MOV R3,00H ;KEY子程序,判断是否有按键按下?第

17、几个键? MOV R1,0FFH MOV R0,00H MOV A,P1 MOV P2,A MOV A,P2 CLA C CLA C ;利用标志位CY来判断是哪个键按下 MOV R2,,08HWAIT3: RLC A ;移位判断 JNC STORE INC R0 DJNZ R2,WAIT3STOPE: MOV 22H,R0 ;将按键号存22H,R3=0有键按下 MOV R3, 00H RETBREAK: PUSH ACC ;中断产生方波,从P1.0口输出 PUSH PSW MOV TL0,21H MOV TH0,21H CPL P1.0 POP PSW POP ACC RET1TABLE: D

18、W 65030,64968,64898,64820,64777,64684,64580;7,6,5,4,3,2,1, END5 制作与调试方法本电子琴的制作比较简单,主要分为两步,第一步是连接电路,第二步是写程序。这两步按着论文上的步骤完成即可。调试也很简单,共有七个按键,按下不同按键便会产生相对应的声音。而在市场上买的电子琴机构都比较复杂,因此在使用时要特别注意以下几点:(1) 环境影响电子琴是由很多的精密电子元件构成的,外部环境的变化会造成电子元件的失灵,从而影响电子琴功能的正常发挥,要注意避免放在过湿、过热、过冷的环境中。(2)正确清洁电子琴在使用和放置过程中会有一些灰尘,在给琴清理时首

19、先要关闭电源,不要用过分潮湿和含有化学成分的溶解檫拭,可用柔软干净的布清理。(3)良好习惯在弹电子琴前后要养成良好的洗手和修剪指甲的习惯,以保持电子琴的清洁和个人卫生。在弹琴的过程中不要进食和喝水,以免食物和水进入琴键缝隙中。不要将重物放在琴键和按键上,以免琴键失灵。(4)保存事项长期不使用电子琴时,要先电源拔掉,并将电子琴内的电池取出来(如果有电池),以防止电池液渗漏损坏电路板。将电子琴上的功能键和开关复位。将琴装入琴套或琴盒里。 6 总 结通过本次论文设计,使我加深了对单片机的认识,并且熟悉了单片机系统的设计流程,收获丰硕。功能上达标,硬件设施基本合乎要求,软件设计可以配合硬件实现其功能,

20、达到设计预期。毕业论文的制作给了我难忘的回忆,在我徜徉书海查找资料的日子里,面对无数书本的罗列,最难忘的是每当找到资料时的激动与兴奋,亲手设计电路图的时间里,记忆最深处的是每一步小小的思路实现时幸福的心情,为了论文我曾感到深夜,但看着自己亲手打出的每字每句,心里满满的只有喜悦毫无疲惫,这段旅程看似荆棘密布,实则蕴藏着无尽的宝藏,在整个过程中,我学到了新知识,增长了见识。在今后的日子里我仍要不断的充实自己,争取在所学领域有所作为。脚踏实地,认真严谨,实事求是的学习态度,不怕困难,坚持不懈,吃苦耐劳的精神是我这次设计中最大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习

21、和工作有很大的帮助。在这次的毕业设计中也使我和同学的关系更进一步,同学之间互相帮助,有什么不懂的地方大家一起探讨,听听不同的看法能使我们更好的理解知识,所以在这里非常感谢帮助过我的同学。总之,这次论文设计使我学到了很多东西,不仅在知识上获得很多,而且在人际交往,怎样处理和同学的关系上也获益匪浅。学到东西使我一辈子收益。 致 谢毕业论文暂告收尾,这也意味着我在大学的四年的学习生活既将结束。回首既往,自己一生最宝贵的时光能于这样的校园之中,能在众多学富五车、才华横溢的老师们的熏陶下度过,实是荣幸之极。在这四年的时间里,我在学习上和思想上都受益匪浅。这除了自身努力外,与各位老师、同学和朋友的关心、支

22、持和鼓励是分不开的。论文设计从拟定题目到定稿,历时数月,在课题的设计、研究、开发以及论文的撰写过程中,渗透着我的导师曹玉梅老师对我极大的帮助和关怀。因为我是后来转系过来的,所以基础比较差,很多问题都不是太懂,所以经常在导师跟前问来问去,甚至有时同一个问题就问了几遍,而导师总是我不厌其烦的给我指导,并在百忙中抽出时间给我提出修改意见并耐心指导我修改论文,使我顺利地完成了本课题的研究和论文的写作。期间指导老师曹老师在论文一些设计难点上给了我很大的引导和启发,让我发现了一些更具高效率和高准确度的设计思路,并发现了一片更加广泛的运用领域,这些宝贵的知识和经验对我以后的工作和生活都会带去极大地帮助。在此

23、,向我的导师致以诚挚的谢意和崇高的敬意。感谢华豫学院向我敞开求知的大门,为我的人生打下了一个结实坚固的基础,为我的后期工作和生活创造了丰厚的储备。同时,还要特别感谢我的父母,是他们在大学生活期间一直默默的关注着我,支持着我,给我信心和动力。在这大学即将毕业的时候,在此诚心的说一声谢谢。并且,在本科学习的几年里,学校的老师和同学也给了我莫大的鼓励和支持。老师耐心细致的教诲和同学们亲如兄弟姐妹般的鼓励都是我取得如此成就的坚实保障。最后,再次对所有帮助过我,支持过我的人说一声“谢谢”! 真诚感谢在百忙中安排时间并忙碌于论文评阅工作的各位老师。 参考文献1 牛昱光,李晓林,张兴忠等.单片机原理与接口技

24、术M.北京:电子工业出版社,2009.2 于正林,苏成志,曹国华等.单片机原理及应用M.北京:国防工业出版社,2009.3 康华光.电子技术基础模拟部分(第五版)M.北京:高等教育出版社,2007. 4 赵辉.Protel 99 电子线路CAD. M.北京:北京邮电大学出版社,2008.5 颜秋容,谭丹等.电路理论M.北京:电子工业出版社,2010.6 王爽.汇编语言M.北京:清华大学出版社,2008.7 Jeri R. Hanly,Elliot B.Kkoffman.C语言详解M.北京:人民邮电出版社,2010 . 附录A AT89C51管脚说明:VCC:供电电压。GND:接地。 P0口:P

25、0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口

26、缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为

27、低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLAS

28、H编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号