资源描述
-*:1208421025课程设计报告基于51单片简易电子琴设计院 系 电子信息工程学院 专 业 电子信息工程 班 级1姓 名. z-摘 要本文设计是以AT89C51单片机为根底,所设计的电子琴。其中单片机作为最核心的控制系统,加上键盘,扬声器,LED显示器组成的控制模板。模板上的键盘是4*4键盘,通过单片机控制相应的按键控制扬声器发出各种音乐的声音。本模板上有16个键,具有随意弹奏音乐的本能。在电子音乐领域,电子音调作为现代电子科技与音乐结合的产物,它在现代音乐中扮演着重要的角色。随着中国音乐的不断开展也涌现出了更多的音乐爱好者,电子琴也成为了音乐爱好者必不可少的乐器,或者说是玩具。简单的电子琴玩具也可以激发出小孩对音乐的兴趣。单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。现在可以说单片机是百花齐放的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,它们各具特色,互成互补,为单片机的应用提供广阔的天地。纵观单片机的开展过程,可以预示单片机的开展趋势。由于单片机具有强大的控制功能和灵活的编程实现特性,所以本设计利用单片机完成电子琴的设计。电子琴又称作电子键盘,属于电子乐器(区别于电声乐器),发音音量可以自由调节。音域较宽,和声丰富,甚至可以演奏出一个管弦乐队的效果,表现力极其丰富。它还可模仿多种音色,甚至可以奏出常规乐器所无法发出的声音如合唱声,风雨声,宇宙声等。另外,电子琴在独奏时,还可随意配上类似打击乐音响的节拍伴奏,适合于演奏节奏性较强的现代音乐。本设计可以实现电子琴8个根本音的弹奏,同时参加麦克风和语音芯片进展即时录放,可以实现自弹自唱,自我提高弹奏演唱水平,娱乐性很强。关键词:单片机;电子琴目 录摘 要I目 录II1 引言11.1 研究背景及意义11.2 设计的根本思路12硬件设计12.1 总体方案设计12.2 元件介绍22.3 各模块的电路53 软件设计73.1 音乐相关知识73.2 音调数据73.3 流程图84 软件仿真95 课程设计总结.10参考文献.11附录.12. z-1 引言1.1 研究背景及意义 随着生活水平的提高,在放松自己的同时又能提高各个方面的能力。学习和欣赏音乐可以在使人们得到放松的同时,提高人们的精神品质和个人素养。当代,爱好音乐的年轻人越来越多,有不少人自己练习弹奏乐器,作为业余爱好和一种放松的手段,鉴于一些乐器学习难度大需要太多的学习时间,且其价格又太过于高昂,使得一局部有这种想法的人不得不放弃这种想法。而一些简易的电子乐器价格相对廉价,学习上手快,价格相对廉价,一般人容易负担的起,能够满足一般爱好者的需求。故简易电子乐器的研制具有一定的社会意义。本次课程设计主要研究基于AT89C51单片机的16键简易电子琴的设计。电子琴是现代电子设备与音乐知识相结合的一个产物,当前的电子琴的种类不计其数,因为原理简单,制作方便,越来越多的走入了寻常百姓家中。一首音乐由不同的音阶组成,而每个音阶对应着不同的频率,而每个音阶对应着不同的频率,利用单片机的定时器/计数器产生不同频率的方波信号,与歌曲的音阶相对应,即可编奏不同的音乐。1.2 设计的根本思路利用所给键盘的16个键,能够发出16个不同的音调,而且有一个按键可以对应一个音节,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停顿,转到后按的键的发音程序。发出后按的键的音调。2 硬件设计为了使电子琴的控制系统更加的方便、灵活以及稳定性,我们对系统硬件进展了简约和优化,使硬件更加的实用,更加的人性化,硬件电路包括中心控制模块、播放模块、按键控制模块、复位按键模块四大类。硬件电路由两片AT899C51单片机芯片为核心,接上复位电路,晶振电路,按键电路以及发声电路组成。通过软件编程,编写代码烧到单片机芯片里,配合复位电路和晶振电路组成的最小单片机系统,晶振产生的频率由单片机进展程序控制,得到想要的电信号频率。通过单片机控制端,使单片机能够准确得到两个按键信号,使对应的蜂鸣器发声。2.1 总体方案设计显示器模块时钟电路 扬声器AT89C51 44键盘 图一:总体设计模型2.2 元件介绍2.2.1 AT89C51 AT89C51单片机的片硬件组成构造如图一所示。它把那些作为控制应用所必须的根本外围部件都集中在一个集成电路芯片上。它具有以下外围部件及特性:18位微处理器CPU;(2) 数据存储器128B RAM;(3) 程序存储器4KB ROM;(4) 4个8位可编程并行I/O口P1口,P2口,P3口,P4口;(5) 1个全双工的异步串行口;(6) 2个可编程的16位定时器/计数器;(7) 1个看门狗系统;(8) 中断系统具有5个中断源、5个中断向量;(9) 有26个特许功能存放器;(10) 低功耗节电模式有空闲模式和掉电模式,且具有掉电模式下的中断恢复模式;(11) 3个程序加密锁定位。 图二:单片机的引脚2.2.2显示器74LS47引角功能:(1)LT():试灯输入,是为了检查数码管各段是否能正常发光而设置的。当LT()=0时,无论输入A3,A2,A1,A0为何种状态,译码器输出均为低电平,也就是七段将全亮,假设驱动的数码管正常,是显示8。(2)BI():灭灯输入,是为控制多位数码显示的灭灯所设置的。当BI()=0时,不管LT()和输入A3,A2,A1,A0为何种状态,译码器输出均为高电平,使共阳极数码管熄灭。(3)RBI():灭零输入,它是为使不希望显示的0熄灭而设定的。当对每一位A3=A2=A1=A0=0时,本应显示0,但是在RBI(-)=0作用下,使译码器输出全为高电平。其结果和参加灭灯信号的结果一样,将0熄灭。(4)RBO():灭零输出,它和灭灯输入BI()共用一端,两者配合使用,可以实现多位数码显示的灭零控制 图三:74LS47引脚图2.2.3 LED数码管数码管本卷须知说明:a、段及小数点上加限流电阻b、使用电压:段:根据发光颜色决定;小数点:根据发光颜色决定c、使用电流:静态:总电流 80mA每段 10mA;动态:平均电流 4-5mA 峰值电流 100mA上面这个只是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的。数码管本卷须知说明:1数码管外表不要用手触摸,不要用手去弄引角;2焊接温度:度;焊接时间:3外表有保护膜的产品,可以在使用前撕下来。2.3各模块的电路 图四:LED数码管图五:单片机的电路图六:44键盘图七:晶振电路图八:显示器及扬声器电路3 软件设计3.1 音乐相关知识音阶的产生是因为频率的不同,一首歌曲就是由不同的音阶组成,因此,我们可以通过不同频率的组合,构成我们想要的音乐,从而到达制作电子琴的目的。单片机对于频率的控制非常方便。例如,频率为523HZ,对应的周期T=1/523=1912us,只要让计数器计时956us,每记数956次将I/O反相,就可以得到中音DO(526HZ)。 计数脉冲值与频率的关系式如式3-1所示是: N=fi/2/fr 3-1式中,N是计数值,fi是机器频率;fr是要产生的频率。其计数初值T的求法如下: T=65536-N=65536-fi/2/fr例如:设K=65536,fi=1MHz,求低音DO261Hz、中音DO523Hz,高音DO1046Hz的计数值。T=65536-N=65536-fi/2/fr=65/2/fr=500000/fr低音DO的T=65536-500000/261=63627中音DO的T=65536-500000/523=64580高音DO的T=65536-500000/1046=650593.2 音调数据DOREMIFASOLASI6362563833 6401965058642606440064524低音区64580646846477864820648986496865030中音区65058651106515765178652176525265283高音区65297超高音3.3流程图开场T0开场T0中断按键释放识别按键按键对应音符嵌入T0的计数值启动T0计数按键释放T0计数图九:流程图4 软件仿真4.1仿真结果图十:运行结果图5课程设计总结 通过这次设计,我稳固了自己的理论知识,同时提高了自己的动手操作能力。以前学的只是是零散的,通过此次自我动手,把这些只是串到了一起,受益匪浅。 首先在论文刚开场的找资料阶段,我学会了怎样通过各种方式查询相关的资料。通过对大量资料的搜集整理,我了解了单片机的开展状况以及它开展的前景,认识到它的巨大功能作用,为我的进一步学习指明了方向。 课程设计主要包括了硬件和软件2局部,此次关于基于电子琴的设计的硬件图是比较简单的,操作性很强,但是很能稳固单片机知识的应用。软件方面,采用C语言编程,比较复杂的程序,对C语言有了一个很好的复习,熟悉了51系列单片机的部的存放器和变成规则,以及如何控制外围电路。. z-参考文献1. 何立民,?单片机高级教程?,第一版.:航天航空大学,20012. 王汉发,?电子琴入门一点通?,2021年5月3. ?半导体物理与器件?第三版电子工业, (美) Donald A. Neamen著; 毅强, 素英, 晓东等译4. 夏继强,?单片机试验与实践教程?,:航天航空大学,20015. 莫理,?protel电路设计?,国防工业,20056. ?新型语音芯片应用手册?,社会电子科学,2021年7. *惠民,安德宁,?单片机原理接口与应用?,邮电大学,1996年8. ?实用电子技术手册?,国防工业,2001年9. ?根底乐理?,人民音乐,2000年附录*include *include *define uint unsigned int *define uchar unsigned charsbit S= P37; uint FreqTemp;unsigned int code Freqtab = 64021,64103,64260,64400, 64524,64580,64684,64777, 64820,64898,64968,65030, 65058,65110,65157,65178; uchar Keyscan(void) uchar i, j, temp, Buffer4 = 0*fe, 0*fd, 0*fb, 0*f7; for(j = 0; j 4; j+) P1 = Bufferj; _nop_(); temp = 0*80; for(i = 0; i =1; return 16; void Display(uchar k)P2 = (k / 10) 4) + (k % 10);void Main(void) uchar Key_Value = 16, Key_Temp1, Key_Temp2;TMOD = 0*01; ET0 = 1; E*0 = 1; EA = 1;while(1) TR0 = 0; P1=0*f0;Key_Temp1 = Keyscan(); if(Key_Temp1 != 16) Display(Key_Value); Key_Temp2 = Keyscan(); if (Key_Temp1 = Key_Temp2) Key_Value = Key_Temp1; FreqTemp = FreqtabKey_Value;Display(Key_Value); TR0 = 1; while (Keyscan() 8;S = S; . z
展开阅读全文