电子音乐发生器的设计.doc
《电子音乐发生器的设计.doc》由会员分享,可在线阅读,更多相关《电子音乐发生器的设计.doc(24页珍藏版)》请在沃文网上搜索。
1、目 录标题.1中文摘要.11 序言.12 硬件系统设计.2 2.1系统结构和工作原理.2 2.1.1系统结构.2 2.1.2工作原理.2 2.2系统硬件设计.3 2.2.1单片机控制电路.3 2.2.2时钟与复位电路.4 2.2.3功能键盘.5 2.2.4 LM386驱动电路.6 2.2.5 1602液晶显示电路.73 软件系统设计.7 3.1主程序功能.7 3.2音乐发生程序设计.8 3.3发生器演奏功能下按键程序设计.9 3.4 LCD显示程序设计.104 结束语 . 11参考文献:.12致 谢.13附录:.14外文页:.23电子音乐发生器的设计摘 要 电子音乐发生器的设计以STC89C5
2、2单片机作为系统的核心控制部分,由按键电路、时钟与复位电路、音频功放电路、扬声器和LCD液晶显示电路五部分组成。各部分电路协调工作,然后进行软硬件的调试运行,最终达到设计电路的乐器演奏、播放乐曲及显示功能。设计中应用中断系统和定时/计数原理控制演奏器发声,对音乐发生所必须确定的音符和节拍分别用程序语言实现。可以用它来弹奏和播放乐曲。特点是设计思路简单、清晰,成本低。关键词 音乐发生器 单片机 音符 节拍1序言1.1音乐发生器的现状与发展除了PC和大型计算机系统以外,今天每一个人都很熟悉的嵌入式电子设备如电饭褒、空调、洗衣机、热水器、遥控多功能风扇、冰箱、电视、DVD播放机、MP3播放机、充电器
3、、手机、汽车、电动自行车、电梯、飞机、火车等都采用了不同性能档次、不同温度范围和不同成本等级的单片机。基于单片机的设计创新和产品创新看起来似乎永无止境,而且它们也的的确确在方方面面日益完善和丰富着我们每个人的日常生活和工作。电子音乐发生器是现代电子科技与音乐结合的产物,它在现代音乐扮演者重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已融入现代人们的生活中,成为不可替代的一部分。1.2课题的设计任务本文的主要内容是用STC89C52单片机为核心控制元件,设计一个电子音乐发生器。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控制模块上设有11个按键和扬声器。本文主
4、要对使用单片机设计简易电子音乐发生器进行了分析,并介绍了基于单片机电子音乐发生器硬件系统组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图、主要芯片、各模块原理及各模块的程序的调试来详细阐述。一首音乐是由许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了。当然对于单片机来说,产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样频率的方波信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。 2 硬件系统设计2.1系统结构和工作原理2.1.1系统结构该设计以ST
5、C89C52单片机为控制核心,时钟与复位电路、功能键盘、LM386驱动电路、1602液晶显示电路以及电源等部分组成。系统结构框图如图1所示。单片机STC89C52按键输入时钟与复位电路音频功放电路扬声器LCD显示图1 系统结构框图2.1.2工作原理声音是通过振动产生的。单片机对某一I/O引脚以一定的频率循环置一清零,这一引脚便产生一定频率的方波,该方波通过放大后作用于扬声器便产生一定频率的声音。若改变输出方波的频率,产生的声音也就改变了。通过控制输出方波的时间长短,声音的长短也就得到控制。因此,根据乐谱,单片机就可产生电子音乐。音乐中最关键的两个要素就是音符和节拍。每个音符对应一特定固定的频率
6、,同时为了编程的方便,给每个音符设置简谱码,简谱码以十六进制数表示,音符的频率确定后,其倒数就是周期,该周期可用单片机的定时器实现。在每个周期内,高、低电平的时间各占一半,因此,输出脚在每个方波周期内要动作两次,一次为高电平,一次为低电平。音符频率和简谱码的对应关系如表1所示,音符和时间常数对应关系如表2所示。表1 音符频率和简谱码对应关系音符低5SO低6LA低7SI中1DO中2RE中3MI中4FA中5SO中6LA中7SI频率(HZ)390440494523578659698784880988简谱码123456789A音符低5SO低6LA低7SI中1DO中2RE中3MI中4FA中5SO中6LA
7、中7SIN64260644006452464580646846477764820648986496865030表2 音符和时间常数对应关系将表中N的值送给定时器,启动定时后,在输出脚上便可产生对应的音符频率。通过建立节拍码和节拍数的对应关系,然后在软件中利用延时便可实现相应的节拍。节拍码用十六进制数表示,节拍码和节拍数的对应关系如表3表3 节拍码和节拍数的对应关系节拍码1234568ACF节拍数1/42/43/415/43/225/2315/42.2系统硬件设计2.2.1单片机控制电路STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存
8、储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停
9、止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。 图2 STC89C52单片机芯片2.2.2时钟与复位电路STC89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、
10、振荡器工作的稳定性、起振的难易程度及温度稳定性。在此设计中选取:12MHZ时钟频率。 图3 单片机振荡电路与其他计算机一样,MCS-51单片机系统的复位方法有上电自动复位、手动复位以及“看门狗”复位等。此最小系统采用手动复位电路。在系统运行过程中,有时可能对系统需要进行复位,为避免对硬件经常加电和断电造成的损害,我们可以采用手动复位。这种方法是将一个开关串联一只电阻后,再并联于电容C的两端,在系统运行过程中需要复位时只要使开关闭合,在RST引脚上就会出现一定时间的高电平信号,从而使单片机实现复位。图4复位电路2.2.3功能键盘本系统中用到11个独立按键完成对整个硬件电路系统的控制,其中,P3.
11、2口完成发生器的工作模式选择功能。在乐曲播放模式下,P3.3口实现乐曲的选择,P3.5口按键实现乐曲的暂停与播放功能。在乐曲演奏模式下,设P1.3、P1.6、P1.7、P2.0-P2.3这7个按键,分别代表7个音符,包括中音段的全部音符。用单片机的I/O口接独立键盘即可满足需要,软件消除抖动处理,并能准确判断所需执行的相应程序。通过软硬件设计,按键触发外部中断(按键P3.2),中断使程序跳转,实现模式转换,启动电子琴。P2.4按键是用来选择音调(低音-中音-高音)的。然后通过查询电子琴所按下的按键,读取电子琴输入状态,跳转到对应的程序人口,实现各种琴键的声音1。表4 键盘基本功能表(1)(哆)
12、(2)(嘞)(3)(咪)(4)(发)(5)(唆)(6)(啦)(7)(嘻)(8)(换音调)11个按键与单片机的连接电路图如下:图5独立键盘模块2.2.4LM386驱动电路LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值直至 200。输入端以地为参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。LM386是一种低电压通用型音频集成功率放大器,广泛应用于收音机、对讲机和信号发生器中; LM
13、386的外形与管脚图如图6所示,它采用8脚双列直插式塑料封装。静态功耗低,约为4mA,可用于电池供电。工作电压范围宽,4-12V or 5-18V。外围元件少。电压增益可调,20-200。低失真度。LM386有两个信号输入端,2脚为反相输入端,3脚为同相输入端;每个输入端的输入阻抗均为50 k,而且输入端对地的直流电位接近于零,即使输入端对地短路,输出端直流电平也不会产生大的偏离。 图6 LM386外形与管脚分配用LM 386组成的OTL功放电路如图7所示,信号从3脚同相输入端输入,从5脚经耦合电容(47F)输出。当1脚和8脚之间不介入任何器件时,电路的放大增益为20。 图7 音乐发生器音频功
14、放电路图2.2.5 1602液晶显示电路 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。1602LCD是指显示的内容为162,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。1602采用标准的16接口,其中:第1脚:VSS为电源地。第2脚:VDD接5V电源正极。第3脚:VEE液晶驱动电压。第4脚:RS为寄存器选择,高电平1时选择数据寄存器,低电平0时选择指令寄存器。 图8 液晶显示接口电路第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。 第6脚:E端为使能端,高电平时读取信息,负跳变时执行指令。第714脚:D0D7为八
15、位双向数据端。第1516脚:15脚背光正极,16脚背光负极26。LCD1602接口如图8所示。3 软件系统设计开始上电复位整机初始化外部中断触发乐曲播放模式N按键弹奏模式Y3.1主程序功能: 图9 主程序流程图3.2音乐发生程序设计音乐演奏控制器是通过单片机内部的定时器T0来产生不同频率的方波,驱动喇叭发出不同音节的声音,再利用延迟来控制发音时间的长短,即可控制音调中的节拍。把乐谱中的音符对应的频率转换为定时常数,把相应的节拍变换为延时常数,然后作成表格存放在存储器中,由程序查表得到定时常数和延时常数,分别用以控制定时器产生方波的频率和该方波的持续时间。当延时时间到时,再查下一个音符的定时常数
16、和延时常数。依次下去,就可演奏悦耳动听的音乐47。其具体流程图如下图10所示。开始找数据表初值查表取定时值和延时常数返回值为0?取得定时常数 值为0?装入定时常数启动定时器调用延时子程序修改数据区指针查延时常数关闭定时器 图10 音乐发生程序流程图3.3发生器演奏功能下按键程序设计判断是否有按键按下,没有则不停查询,如有则喇叭发出声调。按键使用流程图如下: Y1键按下2键按下3键按下4键按下5键按下6键按下7键按下8键按下播放哆的音播放嘞的音播放咪的音播放发的音播放唆的音播放啦的音播放嘻的音改变播放的低中高音NYNYNYNYNYNYNYN开始 图11 按键扫描流程图3.4LCD显示程序设计LC
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子音乐 发生器 设计
