单片机电子琴(1).doc_第1页
单片机电子琴(1).doc_第2页
单片机电子琴(1).doc_第3页
单片机电子琴(1).doc_第4页
单片机电子琴(1).doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机电子琴设计单片机电子琴设计摘要 本设计主要是通过对电子琴主体部分的电路进行模仿设计,采用8051单片机作为核心控制元件,达到电子琴固有的基本功能。通过对定时器的定时时间进行控制来产生不同频率的方波,驱动扬声器发出不同音阶的声音。把C调中相应琴键对应的音符变换为定常数,作为数据表格存放在存储器中,由程序查表得到定时常数,用以控制定时器产生方波的频率。电子琴的时钟电路设计采用的内部方式,即利用芯片内部的振荡电路。我们还用软件方法解决按键抖动问题,就是通过延迟10ms来等待抖动消失,这之后再读入键盘码。我们使用8051单片机的八位I/O口实现控制C调各音阶的输出,每个按键单独占有一根I/O接口线。 最后我们得出了电子琴设计程序。关键词:单片机;电子琴 ;按键;扬声器;音阶目 录1 设计目的与意义3 1.1 设计目的3 1.2 设计意义32 设计内容与要求4 2.1 设计内容4 2.2 设计要求4 2.3 系统功能要求43 设计方案及硬件连接4 3.1 整体方案4 3.2 声音的实现和产生53.3 键盘的方案选择及抖动的消除63.4 放大电路63.5 时钟电路73.6 复位电路74 程序流程图 8 4.1 主程序流程图 8 4.2 子程序流程图 8 5 课程设计心得体会 96 参考文献 117 附录 11 7.1 附录1 硬件原理图 11 7.2 附录2 程序清单 121 设计目的与意义1.1 设计目的单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引脚的多功能化,以及低电压底功耗。单片机电子琴设计的目的是为了使我们更加深入的了解单片机的发声原理,利用定时器可发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。其次,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,就发出不同频率的脉冲。也使我们进一步熟悉定时器的编程方法和定时初值的计算,进一步熟悉键盘扫描电路的工作原理和编程方法,了解单片机芯片的接口技术。1.2 设计意义 电子琴以其音色丰富,节奏多样,表现力强,演奏方法较易掌握等特点,受到人们的喜欢。当今,学习电了琴已经成为培养少年儿童音乐素养,普及音乐知识,开发智力的一种手段。一些有音乐天赋的孩子通过学习电子琴,可能踏进音乐圣殿的大门,从此走上艺术之路,成为有成就的音乐家。而大多数孩子学习电子琴的意义,在于提高他们对音乐的兴趣,从而活跃他们的思维,丰富他们的想象力,培养他们的审美能力,促进他们的智力发展。我们知道,人的大脑可分为左半脑和有右半脑,人们的抽象思维加对事物的推理、分析,主要是通过左半脑的活动来进行的;而右半脑的主要活动内容是形象思维,如人们的艺术活动能力及想象为传统的课堂教学主要调动的是人的左半脑的思维活动,大脑得不到均衡活动容易造成疲劳,这是影响智力发展的一个因素,通过音乐活动,调动右半脑的思维,使大脑左右交替、同时均衡地活动,对促进大脑思维,开发智力有着积极的作用。让少年儿童学习音乐,演奏乐器,能够培养孩子们手、眼、嘴、脚的协调能力,调动、促进大脑,特别是右半脑的思维,训练孩子们反应的敏捷性,这对促进孩子们的智力发展是非常有益的。此次我们的设计简易电子琴只是为了演示电子琴的实现过程,所以我们的简易电子琴以能够弹奏动听曲目为预期效果。但是简易电子琴的设计是实现多功能电子琴并满足市场要求的必经过程。2 设计内容与要求2.1设计内容熟悉键盘扫描电路工作原理及编程方法,了解计算机发声原理。利用定时器,可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调。利用实验仪上提供的键盘,使数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音调。2.2 设计要求1) 设计论文内容要正确,概念要清楚;2) 完成任务书所规定的内容;3) 附有电路原理图及程序流程图,以及程序清单;4) 文字要通顺,书写要工整,设计图纸必须符合规范。2.3 系统功能要求1) 具有发出C大调为标准音1 2 3 4 5 6 7七个音的功能。2) 设计完整的原理图电路,包括时钟电路、复位电路以及键盘接口电路等。3 设计方案及硬件连接3.1整体方案1) 按下K1键发出1的声音。2) 按下K2键发出2的声音。3) 按下K3键发出3的声音。4) 按下K4键发出4的声音。5) 按下K5键发出5的声音。6) 按下K6键发出6的声音。7) 按下K7键发出7的声音。8) 单片机采用8255芯片,fosc=12MHZ。9) 附加按键输入电路,复位电路。方案1: 发声采用位触发方式。电路原理图如下所示。程序直接控制PPI(8255可编程序外围接口芯片)的输出控制寄存器(I/O端口为61H)的第一位,使该位按所需的频率进行1和0的交替变化,从而产生一串脉冲控制波形,这些脉冲经过放大后驱动扬声器发出声音。 可以利用软件延时来控制所产生的脉冲波形的长度和脉宽,就可以实现产生不同频率和不同音长的声音。方案2: 利用定时器发声。这里是通过硬件即8253定时器产生声音。 CUP通过对定时器的通道2进行编程,使其I/O寄存器接收一个控制声音频率的16位计数值,端口61H的最低位控制通道2门控的开断,以产生特殊的音响。当定时器接收的计数值为533H时,能产生896Hz的声音,因此产生其他频率的计数值就可由下式计算: 计数值=533H896 f=1234DCH f 在送出频率计数值之前,还要给方式寄存器送一个方式值,该数决定对哪一个通道编程,采用什么模式,送入通道的计数值是一字节还是两字节,是二进制码还是BCD码。其位组合的格式如下: 当通道2用于发声时,采用的是模式3,在模式3下,输出线为“1”和为“0”的时间各占计数时间的一半,因而产生一系列间隔均匀的脉冲。 方案比较: 在上述两个方案中,输入部分都是一样的。区别在于以不同的方式来驱动扬声器发声。经对比可知,两种方案都各有优缺点。在方案1中,其优点是电路简单,所用的器件芯片少,主要芯片只有需一片8255,产生方波是通过软件来实现的,易于修改和维护。然而它也存在一定的缺点,就是系统不断地通过软件来产生方波,系统资源被占用,无法再做其它事。与方案1相比,方案2增加了一个8253芯片和一个与门,虽然电路比方案1复杂,但通过定时器产生方波,实现起来比较简单,而且也不会出现系统资源被全部占用的情况。 经分析,选择方案1进行设计。 3.2声音的实现和产生利用键盘的按下来控制定时器中断的开或关,并通过对不同键的识别来调整定时器的定时时间,即可借此产生不同频率的脉冲,不同频率的脉冲即可驱使喇叭发出不同的音调。 若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。 利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T1/5231912s,因此只要令计数器计时956s/1s956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。 计数脉冲值与频率的关系式(如式4-1所示)是: Nfi2fr 4-1式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。其计数初值T的求法如下: T65536N65536fi2fr 例如:设K65536,fi1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。 T65536N65536fi2fr6553610000002fr65536500000/fr 低音DO的T65536500000/26263627 中音DO的T65536500000/52364580 高音DO的T65536500000/104665059 单片机12MHZ晶振,高中低音符与计数T0相关的计数值如表4-2所示 表4-2 音符频率表音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)低1DO26263628# 4 FA#74064860#1DO#27763731中 5 SO78464898低2RE29463835# 5 SO#83164934#2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO#110965085# 5 SO#41564331高 2 RE117565110低 6 LA44064400# 2 RE#124565134# 646664463高 3 M131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA176065252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI1967652833.3 硬件设计软件设计4 程序流程图5 课程设计心得体会6 参考文献1 胡汉才. 单片机原理及接口技术M. 北京:清华大学出版社,2004.2 张友德等. 单片微型机原理、应用与实验(第三版)M. 上海:复旦大学出版社, 2000.3 邱关源. 电路(第4版). 北京: 高等教育出版社. 2002年4 童诗白. 模拟电子技术基础M. 北京:高等教育出版社,2001.5 阎石. 数字电子技术基础(第4版). 北京: 高等教育出版社. 1998年7 附录附录一 硬件原理图附录二 程序清单mode equ 082hPORTA equ 08000hCTL equ 08003hOUTBIT equ 09002hIN equ 09001hPulse equ 55hPulseCNT equ 50hToneHigh equ 51hToneLow equ 52hTone equ 53hKeyBuf equ 54hSpeaker equ PORTA ljmp Start org 000bhTimer0Int: push PSW clr TR0 mov TH0, ToneHigh mov TL0, ToneLow setb TR0 mov a, Pulse mov dptr, #Speaker movx dptr,a inc Pulse dec PulseCNT pop PSW retiToneTable: dw 64578, 64686, 64778, 64821, 64898, 64968, 65029TestKey: mov dptr, #OUTBIT mov a, #0 movx dptr, a mov dptr, #IN movx a, dptr cpl a anl a, #0fh retKeyTable: db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h db 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07hGetKey: mov dptr, #OUTBIT mov P2, dph mov r0, #Low(IN) mov r1, #00100000b mov r2, #6KLoop: mov a, r1 cpl a movx dptr, a cpl a rr a mov r1, a movx a, r0 cpl a anl a, #0fh jnz Goon1 djnz r2, KLoop mov r2, #0ffh sjmp ExitGoon1: mov r1, a mov a, r2 dec a rl a rl a mov r2, a ; r2 = (r2-1)*4 mov a, r1 mov r1, #4LoopC: rrc a jc Exit inc r2 djnz r1, LoopCExit: mov dptr, #OUTBIT clr a movx dptr, a mov a, r2 mov dptr, #KeyTable movc a, a+dptr retStart: mov sp, #70h mov a, #mode mov dptr,#CTL movx dptr,a mov TMOD, #01 ; Timer mov IE, #82h ; EA=1, IT0 = 1 mov Tone,#0MLoop: call TestKey jz MLoop call

温馨提示

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

评论

0/150

提交评论