资源描述
1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。2 任务要求与总体设计方案2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。2.2 设计方案2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。2.2.2 按键控制模块 电子琴设有8个按键,其中7个作为音符输入,另外一个作为模式转换按键,实现用户存放的自动播放歌曲。7个按键分别代表7个音符,包括中音段的全部音符,通过软硬件设计,模式转换按键触发外部中断,中断使程序跳转,实现模式转换,启动电子琴。然后通过查询电子琴所按下的按键,读取电子琴输入状态,跳转到对应的程序入口,实现自编歌曲的。2.3 总体硬件组成框图该设计方案是通过按键随意按下所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在扬声器中发出有效的声音。通过这样可以不断的弹奏我们想要的音符或者是音调,电路由复位电路,指示灯电路,和功能按键电路组成,通过功能键可以选择播放音乐或者弹奏音节,硬件主要有下面几个部分组成。功 能 选 择(弹奏/播放)喇叭发出声音音频放大AT89S52单片机键盘输入 图2-1电子琴硬件设计框图 用P2口的高四位和P2口的第四位作为按键的接口,用P1口做信号输出口。3 系统的硬件设计 为了使电子琴的控制系统更加的方便、灵活以及稳定性,我们对系统硬件进行了简约和优化,使硬件更加的实用,更加的人性化,硬件电路包括中心控制模块、播放模块、按键控制模块、复位按键模块四大类。3.1 中心控制模块的硬件设计 这次设计的中心控制模块是采用AT89S52单片机来控制整个系统。其中P2口作为输入口,P1口为信号输出口,P1.0连接音响驱动电路。3.2 声音播放模块的硬件设计 如下图所示,为声音的播放模块,它接到P1.0口上,当有按键按下时,它通过AT89S52中心控制芯片的识别后发出相应的音符。 图3-1音频放大电路3.3 按键控制模块和复位电路模块的硬件设计 在P2口连接有8个按键开关加8个拉电阻,它们一端接5伏电源,一端接地。只要有一个按键被按下,并被单片机扫描到,则会播放发出音符。 图3-2上图为按键复位电路 图3-3上图为按键电路4 单片机最小系统设计4.1 电子琴主要电路及其芯片在电子琴主要电路设计中,我们采用了AT89S52单片机芯片,其特点及管脚封装如下介绍一般。At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52P3口亦作为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引脚出现两个机器周期以上高电平将是单片机复位。 上图为AT89S52芯片的管脚图4.2 音频功放电路LM386芯片电子琴的功放电路采用了LM386芯片,使用AT89S52驱动音频放大芯片工作,以达到我们想要输出的音频效果。LM386是美国国家半导体公司生产的音频功率放大 器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至 200。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。 图4-1为LM386管脚封装图。 LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少喝和谐波失真小等优点,广泛应用于录音机和收音机之中。4.3 扬声器 扬声器是一种把电平转变为声信号的换能器件,扬声器和性能对音质的高低音响很大。 扬声器的种类很多,按其换能原理可分为电动式、静电式、电磁式、压电式等几种,后两种多用于农村有线广播网中,按频率范围可分为低音扬声器、中音扬声器,这些常在音箱中作为组合扬声器使用。在本次试验作品中使用电磁式扬声器 图4-2为所使用的扬声器实物图 软件是该电子琴控制系统的重要组成部分,在系统的软件设计中我们也用了模块设计,将系统的各部分功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。4.4 系统软件流程识别按键功能开始T0初始化并开中断允放T0中断按键按下成功否根据按键功能,装入音符T值到T0中启动T0工作停止T0工作 图4-3软件设计流程图 本系统软件中还要是编辑电子琴播放状态的内容,在设计中采用汇编语言编写了电子琴控制系统控制和播放内容的程序。源程序参考附录一主要程序:MAIN: MOV SP,#60H ;初始化堆栈指针 MOV 30H,#00 ;定时器初值清零 MOV 31H,#00 MOV P1,#0FFH ;设置P1口为输入模式 MOV TOMD,#01H ;设置定时器0为工作模式1 SETB ET0 ;开定时器0中断 SETB EA ;开总中断 CLR TR0 ;关闭定时器0 在程序编写中多次采用了判断指令,来扫描按键的按下,然后把相应的音符传送到指定的内存空间,使其相应的按键对应相应的音符。源程序参考附录一。5 电路的仿真和调试 Proteus的ISIS事一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,可以给我们做电路设计提供方便快捷的仿真效果,让我们事半功倍。 目前支持的单片机类型有:680以及各种外围芯片0系列、8051系列、AVR系列、PIC12系列、HC11系列。 图5-1电路仿真图 5-1电子琴仿真图把程序烧进单片机,进行仿真没有问题,证明电路原理图和程序可以使用。 实物图参考附录二,在腐蚀焊接过程中应该多注意烫印板子时应尽量的小心,把该补的线都补好,等板子上的油路晾干后再进行腐蚀,这样可以尽量避免短线的发生。 该作品的音量的大少由可调电阻器来调节,实物图如下所示2 图5-2可调电阻器 由于音频功放电路采用了LM386芯片,使得音频放大更加的稳定和没有杂音,进一步达到了实验目的理想效果 在此之前,本实验组功放电路曽一度采用简单的三极管NPN9013放大电路来播放声音,其仿真图如下所示: 图5-3NPN9013功放电路 仿真虽然成功,但是在做完板子调试的时候性能及其不稳定,音响效果也很差,声音大小无法调节,最后通过询问老师以及同学,最后采用了LM386芯片的音频放大电路,最终达到了实验所要的目的。 在作品板的调试过程中,本作品的复位电路的高电平和单片机没有接好,在一开始的调试中就遇到了难题,最终在检验板子和检测中找出问题,并以解决,最终达到了实验的目的。 总 结 将以调试好的程序烧进AT89S52芯片,再放到电路板中,按下按键就可以发出相应的音。本次试验通过制作电子琴,将几个模块换呢好的融合起来,对使用单片机设计简易电子琴进行了分析,并接受了基于单片机电子期硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。说明一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,于是我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可,然后我们利用功放电路来将音乐声音放大,同时同股沟显示模块来确知自己所弹的音符。 通过这次实训设计,我感觉收获了很多:通过这次的单片机实训,我加深了对单片机系列知识及其系统的认识。这个设计题目并不怎么新颖,但从中体现到了个系统开发设计的过程,足以让我们受益匪浅。 在这次的实训中,让我更进一步的提高了动手能力,也重新复习了一次单片机的程序编程能力,在这期间,让我更加深刻了体会到了汇编程序的思路,加强了对编程能力的理解和对相应资料的查阅。谢 词 在这次实训过程中,能够得以顺利的完成,是所有曾经指导过我的老师,帮助过我的同学,成功是你们的帮助和鼓励成果。在这里我要对你们表示深深的谢意! 首先,我要特别感谢我的指导老师,李静老师,莫容老师,在实训过程中,提供了许多宝贵的建议,老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不惓的高尚师德,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多待人接物与为人处世的道理。参考资料1刘乐喜.微机计算机接口技术及应用M.华中科技大学出版社.2石东海.单片机数据通信技术从入门到精通.M.西安电子科技大学出版社.3谢自美等.电子线路设计、实验、测试.M.华中科技大学出版社4长德,李华,李东,MC51/98系列单片机原理与应用。M.机械工业出版社.附录一 音乐类MOV P1,#0FFHMOV TMOD,#01HSETB ET0SETB EACLR TR0START:MOV R3,P2CJNE R3,#0FFH,KEY1CLR TR0SJMP STARTKEY1: ;按键 1 ,P2.0CJNE R3,#0FEH,KEY2 MOV 30H,#0FBHMOV 31H,#0E9HMOV R0,#0FBH ;将音阶存放到R0,R1对应的地址中MOV R1,#0E9HINC R0INC R1LJMP SET_TIMERKEY2: ;按键2,P2.1CJNE R3,#0FDH,KEY3MOV 30H,#0FCHMOV 31H,#5CHMOV R0,#0FCHMOV R1,#5CHINC R0INC R1LJMP SET_TIMERKEY3: ;按键3 ,P2.2CJNE R3,#0FBH,KEY4MOV 30H,#0FCHMOV 31H,#0C1HMOV R0,#0FCHMOV R1,#0C1HINC R0INC R1LJMP SET_TIMERKEY4: ;按键4 ,P2.3CJNE R3,#0F7H,KEY5MOV 30H,#0FCHMOV 31H,#0EFHMOV R0,#0FCHMOV R1,#0EFHINC R0INC R1LJMP SET_TIMERKEY5: ;按键5 ,P2.4CJNE R3,#0EFH,KEY6MOV 30H,#0FDHMOV 31H,#045HMOV R0,#0FDHMOV R1,#045HINC R0INC R1LJMP SET_TIMERKEY6: ;按键6 ,P2.5CJNE R3,#0DFH,KEY7MOV 30H,#0FDHMOV 31H,#92HMOV R0,#0FDHMOV R1,#92HINC R0INC R1LJMP SET_TIMERKEY7: ;按键7,P2.6CJNE R3,#0BFH,KEY8MOV 30H,#0FDHMOV 31H,#0D6HMOV R0,#0FDHMOV R1,#0D6HINC R0INC R1LJMP SET_TIMERKEY8: ;按键8,P2.7,用来进入音乐自动播放 生日快乐CJNE R3,#7FH,NOKEYLCALL YYBF ;调用音乐自动播放程序LJMP SET_TIMERSET_TIMER:SETB TR0LJMP STARTNOKEY:CLR TR0LJMP STARTINT_T0:MOV TH0,30HMOV TL0,31HCPL P1.0RETIYYBF:CLR P1.1numtim equ 20hgewei equ 21hshiwei equ 22hscanled equ 23horg 1000hjmp YYstartorg 001bhjmp tim0org 1100hYYstart: mov tmod,#00010000b setb ea setb et1 mov numtim,#01h mov r6,#2hYYstart0:mov 40h,#00hnext: mov a,40h mov dptr,#table movc a,a+dptr mov r2,a jz end0 anl a,#0fh mov r5,a mov a,r2 swap a anl a,#0fh jnz sing clr tr1 jmp d1sing: dec a mov 22h,a rl a mov dptr,#table1 movc a,a+dptr mov th1,a mov 21h,a mov a,22h rl a inc a movc a,a+dptr mov tl1,a mov 20h,a setb tr1 d1:lcall delay inc 40h jmp next end0:clr tr1 djnz r6, YYstart0 jmp main tim0:push acc push psw mov tl1,20h mov th1,21h cpl p1.0 ;声音频率输出口P1.0 pop psw pop acc retidelay: mov r7,#02h d2: mov r4,#180 d3: mov r3,#248 djnz r3,$ djnz r4,d3 djnz r7,d2 djnz r5,delay ret table1: dw 64260,64400,64524,64580 dw 64684,64777,64820,64898 dw 64968,65030,65058,65110 dw 65157,65178,65217 table:db 82h,01h,81h,94h,84h db 0b4h,0a4h,04h db 82h,01h,81h,94h,84h db 0c4h,0b4h,04h db 82h,01h,81h,0f4h,0d4h db 0b4h,0a4h,94h db 0e2h,01h,0e1h,0d4h,0b4h db 0c4h,0b4h,04h db 00LYBF1:MOV 30H,R0MOV 31H,R1INC R0INC R1CLR P0.0 ;调试用SETB TR0LCALL DELAY1CLR TR0LJMP LYBF1RETDELAY1:MOV R4,#25LOOP1:MOV R5,#248DJNZ R5,$DJNZ R4,LOOP1RETEND 附录二作品实物图电子琴主要电路原理图LM386音频放大电路
展开阅读全文