电子琴设计说明书

上传人:仙*** 文档编号:34144623 上传时间:2021-10-20 格式:DOC 页数:20 大小:163.01KB
收藏 版权申诉 举报 下载
电子琴设计说明书_第1页
第1页 / 共20页
电子琴设计说明书_第2页
第2页 / 共20页
电子琴设计说明书_第3页
第3页 / 共20页
资源描述:

《电子琴设计说明书》由会员分享,可在线阅读,更多相关《电子琴设计说明书(20页珍藏版)》请在装配图网上搜索。

1、前 言单片机诞生于20世纪70年代末 ,随着社会科学技术的快速发展,单片机的应用已是相当普遍,其发展速度也是日新月异。单片机是微型机的一个主要分支,在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,例如单片机在智能仪表中的应用、单片机在机电一体化中的应用、单片机在实时控制中的应用、单片机在分布式多机系统中的应用、单片机在人类生活中的应用等等。自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、

2、电子玩具、收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。单片机将使人类生活更加方便、舒适、丰富多彩。而本次设计也是关于单片机在日常生活中的一个简单的应用,设计作品为单片机简易电子琴。 自单片机诞生之日起,它的意义已非常突出,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。目 录摘要 1关键词11绪论2 1.1本设计的任务和主要内容2 1.2本设计的功能及使用方法2 1.3本设计的基本原理22硬件电路的设计2 2.

3、1 单片机的简介2 2.2放大电路的设计5 2.3显示电路的设计5 2.4键盘电路的设计63软件的设计7 3.1程序的设计7 3.2数据显示子程序的设计7 3.3键盘扫描子程序的设计84 设计总结8致谢8附录1 原理图10附录2 源程序11附录3 元件清单17参考文献18 18摘 要本次设计提出了用AT89S52单片机为核心控制元件,设计一个简易的电子琴。本方案以AT89S52单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有11个按键和扬声器。根据使用者的操作弹奏想要表达的音乐。一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率

4、的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。 关键词:单片机;按键;扬声器;音阶1 绪 论1.1本设计的任务和主要内容本设计主要是基于AT89S52单片机为主控核心,与键盘,扬声器等简单的电子元件组成的简易电子琴。对电子琴的主体部分电路进行模仿设计,达到电子琴固有的基本功能,故叫简易电子琴。整个设计利用单片机定时器可发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调原理来设计。首先,利用键盘电路把我所需要发出声音的信号输入单

5、片机;其次通过程序,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,就发出不同频率的脉冲,本设计中按键一次,就会调用一个延时程序,在延时后继续检测键盘,若此时又有键被按下,若被按下的仍为原键则声音不变,否则键盘会译出被按下的另一个键的音调。从而实现了一个简易电子琴的功能。通过此次电子琴的制作,深入学习和理解单片机的作用及运用,达到简单的设计,深刻学习的目的。1.2本设计的功能及使用方法设计作品功能:通过8个按钮可以演奏出基本的8种音调:Do、Re、Mi、Fa、SO、La、Si、高音Do;演奏的同时会以数字显示出当前的音调,利于培养乐感;可以

6、自动演示这8个音调;可以演奏内置生日快乐歌;自动演奏时,LED进行节拍指示。使用方法:1通过按下方的8个音调键演奏乐曲;2按演示按钮可以自动演奏这8种音调;3按奏乐按钮可以演奏生日快乐歌;4在自动演示和奏乐的过程中按停止键则中断演奏。1.3本设计的基本原理此次设计主要利用单片机的中断功能,当11个按键中有任意一个被按下时,产生一个低电平,通过软件程序设定其功能(响应)。一定频率产生声音,频率高低决定音调。利用单片机输出脉冲信号经放大后送给喇叭,便可发出声音。本制作中巧妙地利用了单片机的定时器,让定时器中断一次就对改变喇叭的状态一次,即形成矩形方波,这也是数字电路产生声音的方法。2硬件电路的设计

7、2.1 单片机的简介 单片机因其体积小、功能强、价格低廉而得到广泛应用,同时随着我国经济的飞速发展,单片机在越来越多的领域中得到了很好的应用。观察几年以来各家厂商的销售地区比重,可以发现中国大陆市场比重逐渐提升,而在国内单片机多应用于电话、Caller ID、玩具与LCD等产品,预计在未来,销货至大陆的比重仍将持续增加。在中国产品应用领域十分广泛,也与人民生活越来越密切。作为一名电气自动化的应届毕业生来说,理解和掌握单片机的工作原理和使用技巧是必备的技能。基于这种考虑,我此次毕业设计的题目为:简易电子琴。所采用的单片机为AT89S52。2.1.1单片机AT89S52的主要性能 与MCS-51单

8、片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz33Hz、三级加密程序存储器 、 32个可编程I/O口线 、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针、掉电标识符。AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash

9、,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。2.1.2 单片机引脚功能P0口:P0口是一个8位漏极开路的双向I/O口

10、。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.2分别作定时器/计

11、数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号 第二功能 P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,

12、被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电

13、阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存

14、储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C5

15、2由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。2.2放大电路的设计 放大器是一种三端电路,其中必有一端是输入和输出的共同“地”端。如果这个共“地”

16、端接于发射极,则称其为共发射极放大电路,此次设计正是利用共发射极放大电路原理。其放大电路主要作用于声音信号的放大,利用两个三极管(8050)对模拟声音心号进行放大,使效果更真。图1为喇叭驱动电路,扬声器接单片机的P1.0口,喇叭安装在箱体中。 图1 声音放大电路 2.3显示电路的设计 此次设计数码管电路显示为主,当有按键被按下时,数码管显示该按键键号,同时,扬声器发出该键的音阶。比如:当1号按键被按下时,数码管显示1,同时发出dao的音阶,当2号被按下时,数码管显示2,同时发出re的声音。 数码管电路,选用共阳数码管,ADP依次接单片机P0.0P0.7。 图2 数码管显示电路 2.4键盘电路的

17、设计对于电子琴来说,键盘是必不可缺的东西,每个声音的发出都要靠按键的驱动,只有按键被按下时才有信号输入,此时被单片机读取,软件分析后,发出执行指令。 图3 电路中按键连接 另外为了增加该次设计的动态效果,增加了一个闪亮二极管(LED),即LED电路,LED接单片机的P1.1口。注意,这里的LED是那种通电自己会闪的,这样才能有视频中的效果:图4 发光二极管3软件的设计 3.1程序的设计单片机的应用中,程序是必不可少的东西,就像人的脑袋和大脑一样,单片机是脑袋,而程序就是脑袋中的大脑。没有程序的单片机只能是一个空壳,根本无法完成任何操作。此次设计流程图如下: 图5 流程图 此次设计利用AT89S

18、52单片机控制,每当有按键被按下时,产生一个中断信号,然后单片机识别后,发出相应指令,执行操作。3.2数据显示子程序的设计此次设计采用数码管显示,数据显示子程序采用单片机中断过程,当每有一个按键按下时,检测到有低电平信号,然后调用子程序在数码管上显示相应键号。首先判断是否有按键按下,有按键按下继续判断是那个按键被按下,判断完毕后,显示相应键号,如果没有按键被按下继续判断。3.3键盘扫描子程序的设计本电子琴提供了11个按键,当按下单个键时,产生一条信号,当某个键值被释放时,发送对应的音符关消息。这些信号通过串口发送给单片机,从而产生音乐效果。音乐的时值由按键的时间长度控制,当按键被释放,实时产生

19、信号,关闭被释放的键值音。由P2口的P2.1P2.8构成行列式键盘。如下图 图6 键盘扫描子程序流程图4 设计总结 通过此次设计深入学习了单片机的知识与运用,同时也提高了动手能力,掌握了单片机硬件以及软件的基本知识。本文所述基于AT89S52 单片机的控制系统, 虽然电子琴能够顺利完成音乐功能,但也有缺陷。由于电子琴采用的是特定人识别语音方式,理论上只能识别训练者的命令,但实际上由于误差,电子琴显得很粗糙。所以,在外形设计上,还有待提高。致谢对于此次设计,我付出了不少心血,在此特别感谢指导老师的耐心指导,同时此次设计丰富了自己的所学知识,也进一步提高了自己的学习能力,对单片机也有了新的认识。感

20、谢同学及室友对我的帮助和指点,没有他们的帮助和提供资料,我是很难完成此设计的。我衷心的希望老师身体健康,同学一帆风顺。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!附录1 电路原理图附录2 源程序清单/*程序名称:简易电子琴简要说明:P1.0口输出各音调的频率方波*/#include#define SPK P1_0/定义方波输出口#define LED P1_1#define shumaguan P0 /定义数码管段码输出unsigned int tone1,tone2;/*标准音符表*/用于使定时

21、器初值变化以产生相应频率的定时unsigned char code yinfu=0xfb,0xe9, /Do 0xfc,0x5c, /Re 0xfc,0xc1, /Mi 0xfc,0xef, /Fa 0xfd,0x45, /So 0xfd,0x92, /La 0xfd,0xd0, /Si 0xfd,0xee, /Do# 0x00,0x00 /*音符之间的间隔,只要间隔时间小于65ms时,喇叭不会发出声音,用作拍子之间的短暂停顿*/ ;/*生日快乐歌音调表*/unsigned char code shengri_tone= 1,0,1,2,1,4,3,0,1,0,1,2,1,5,4,0, 1,0

22、,1,8,6,4,3,2,0,7,0,7,6,4,5,4,0 /0代表不发声,即停顿;数字即为音调;/*生日快乐歌节拍表*/unsigned char code shengri_beat= 24,1,24,48,48,48,72,5, 24,1,24,48,48,48,72,5,24,1,24,48,48,48,48,72,5,24,1,24,48,48,48,72,5 /节拍,即tone表各音调的延时;/*自动演示音调表*/unsigned char code yanshi_tone= 1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0, 8,0,7,0,6,0,5,0,4,0,

23、3,0,2,0,1,0;/*自动演示节拍表*/unsigned char code yanshi_beat= 48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,2,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,2;/*15ms延时子程序,用于节拍*/void delay(void) unsigned char n=15;while(n-) unsigned char i; for(i=0;i=33) return;/数值是shengri相关表中的元素数量 /*演奏子程序2*/void play2(void) unsigned char m

24、=0; unsigned char s; unsigned char a=1; while(1) EA=0; LED=0; a=yanshi_tonem; s=yanshi_beatm; tone1=yinfu2*a-2; tone2=yinfu2*a-1; EA=1; while(s-) delay(); LED=1; m+; if(m=32) return; /*按键检测*/void check_key(void) P2=0xff; P3=0xff;/设置为输入状态 switch(P2)/检测按键,输出数码管、载入定时器初值、允许中断 case 0xfe:shumaguan=0xF9;to

25、ne1=0xfb;tone2=0xe9;EA=1;break; case 0xfd:shumaguan=0xA4;tone1=0xfc;tone2=0x5c;EA=1;break; case 0xfb:shumaguan=0xB0;tone1=0xfc;tone2=0xc1;EA=1;break; case 0xf7:shumaguan=0x99;tone1=0xfc;tone2=0xef;EA=1;break; case 0xef:shumaguan=0x92;tone1=0xfd;tone2=0x45;EA=1;break; case 0xdf:shumaguan=0x82;tone1=0

26、xfd;tone2=0x92;EA=1;break; case 0xbf:shumaguan=0xF8;tone1=0xfd;tone2=0xd0;EA=1;break; case 0x7f:shumaguan=0x79;tone1=0xfd;tone2=0xee;EA=1;break; default: EA=0;SPK=0;shumaguan=0xff;/如果没有键按下则关闭中断和数码管 switch(P3) case 0xfb:play1();break; case 0xf7:play2();break; /*主程序*/void main(void) initTimer(); shuma

27、guan=0xff; TR0=1; ET0=1; SPK=0; while(1) check_key(); /*END*/附录3 所需元件清单 元件型号(规格)个数单片机AT89S521电阻1K1330910K9电容10uF130pF2三极管80502二极管通电自动闪烁1晶振11.0592M1数码管共阳1按钮开关四脚11扬声器1万用版1参考文献1 李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,1998.2 阎石.数字电子技术基础(第四版). 北京:高等教育出版社,2000.3 胡汉才.单片机原理及系统设计M . 北京:清华大学出版社,2002.4 何立民.单片机应用技术选编M .北京, 北京航空航天大学出版社 2002.5 马忠梅,籍顺心,张凯,马岩.单片机的C语言应用程序设计(第三版).北京:北京航空航天大学出版社,2003.6 谢宜仁. 单片机实用技术问答. 人民邮电出版社,2003.7 徐爱钧,彭秀华.KEIL Cx51 V7.0单片机高级语言编程与Vision2应用实践 2004.8 潘新民.微型计算机控制技术 M .北京:人民邮电出版社,1999.9 彭介华. 电子技术课程设计指导M .北京:高等教育出版社,2000.

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!