单片机实现音乐盒的设计本科学位论文Word下载.docx

上传人:b****6 文档编号:19696651 上传时间:2023-01-08 格式:DOCX 页数:51 大小:304.56KB
下载 相关 举报
单片机实现音乐盒的设计本科学位论文Word下载.docx_第1页
第1页 / 共51页
单片机实现音乐盒的设计本科学位论文Word下载.docx_第2页
第2页 / 共51页
单片机实现音乐盒的设计本科学位论文Word下载.docx_第3页
第3页 / 共51页
单片机实现音乐盒的设计本科学位论文Word下载.docx_第4页
第4页 / 共51页
单片机实现音乐盒的设计本科学位论文Word下载.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

单片机实现音乐盒的设计本科学位论文Word下载.docx

《单片机实现音乐盒的设计本科学位论文Word下载.docx》由会员分享,可在线阅读,更多相关《单片机实现音乐盒的设计本科学位论文Word下载.docx(51页珍藏版)》请在冰豆网上搜索。

单片机实现音乐盒的设计本科学位论文Word下载.docx

最重要的是现在的音乐盒体积小,轻巧易携带,且音质好,功能多,有时出现一些问题时只需要改一改软件部分的程序即可。

本文设计的音乐盒,是基于单片机设计制作的电子式音乐盒。

与传统的机械式音乐盒相比更小巧,音质更优美且能演奏和弦音乐。

电子式音乐盒动力来源是电池,制作工艺简单,可进行批量生产,所以价格便宜。

基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便。

所放歌曲的节奏可以根据需要进行设置,根据存储容量的大小,可以尽可能多的存储歌曲。

第三节设计所研究的内容及所做工作

本设计以AT89C2051单片机为核心器件,外部加上时钟与复位电路、选择按键电路、音频发生器、音频放大器、扬声器,以此来实现音乐演奏控制器的硬件电路,通过汇编来控制单片机内部的定时器使其产生音频,演奏出优美动听的音乐。

用户可以按照自己的喜好通过选择按键来选择音乐。

设计完成的内容:

1.提出了音乐盒的整体设计方案,以AT89C2051单片机为核心器件,对硬件各个模块进行了设计

2.对音符频率进行了编码,并对主流程图及各个子程序模块进行了设计

3.完成了硬件和软件及软硬件联调,并针对工作中出现的噪音提出相应的一些防干扰措施

4.通过加按键电路,采用中断方式,达到选曲的目的

第二章方案论证

第二节设计方案

设计中考虑了两种设计方案,两种设计方案中主要区别在于硬件电路的不同,对于本设计通过模拟电路和单片机设计均可以实现,最后根据设计要求、可行性和设计成本的考虑选择了单片机设计的方案。

现在一一介绍论证如下:

方案一:

此方案采用的是模拟电路,其中涉及有几部分:

1.基准频率产生器,产生基准频率,其值应根据音调发生器的频率要求决定。

电路可由晶振构成时钟脉冲振荡器。

2.音调发生器,音调发生器产生各个音区与音符所对应的频率;

音符代码存储器,用来存储与乐曲的音符对应的数字代码及乐曲的数量。

3.通常先将乐曲进行编码,再将其代码存储在EPROM存储器。

4.节拍发生器与地址计数器,节拍发生器的振荡频率由乐曲演奏的速度所决定。

演奏的速度越快,节拍发生器的速度越高。

5节拍分配器,将节拍分配好,产生驱动打击的节拍信号。

6.声音驱动电路,使乐曲的节拍和频率通过发音演奏出所想要的乐曲。

方案二:

采用单片机来设计电路。

其中主要涉及以下几个部分:

1.AT89C2051单片机,通过对其进行编程,利用其内部的定时器/计数器改变计数初值,可以实现不同的音调。

2.按键电路每按一次按键就可顺序播放一首歌曲,实现选曲的目的。

3.时钟与复位电路由石英晶体振荡器产生单片机工作时所必须的时钟信号。

振荡器采用12MHZ的晶振,使之机器周期Tcy=1us,方便发音程序的计算和编译。

4.音频放大器经过音频放大器,音频信号经过适当的功率放大,可以驱动扬声器使之发声。

第二节设计方案的确定

经过查资料、构思和自己的设计,为保证电路基本功能实现,经过分析,从实现难度、性能、经济等方面综合就以上两种方案进行比较:

1.从实现音乐盒电路的硬件方面看,用单片机实现所用硬件电路比用模拟电路实现所用器件少,接线图简单,功耗较小,稳定性和抗干扰性及相对方案1好

2.用单片机实现音乐盒,通过编程就可实现音频和节拍,省去了节拍发生器和节拍分配器,实现音乐的产生较简单

3.AT89C2051微处理器的性价比高,用它完全可以实现本设计当中要求的功能,且体积小,便于产品小型化,功耗小,工作电压范围宽。

4.用单片机设计的音乐盒通过LM386功率放大器以后音质较方案一好

5.用单片机设计的音乐盒电路可以加按键电路实现播放\暂停及选曲功能

综合以上因素,选择方案二比较可行。

第三章音乐盒的硬件系统设计

该设计选择AT89C2051单片机,硬件电路包括时钟与复位电路、按键电路、音频放大器、音频发生器等几部分。

其中通过T0定时中断,并配合P3.0引脚(P3.0引脚输出接扬声器)构成音频发生器输出音频频率,通过P3.2引脚接入“播放下一曲”选择按键,中断方式接入。

在P1口接入64个发光二极管,可以输入音符的编码,将它们点亮,像“满天星”一样闪烁,能增加一些情趣。

第三节音乐盒的硬件电路设计框图

音乐盒的硬件电路有六部分组成:

单片机、时钟与复位电路、选择按键输入电路、音频发生器、音频放大器和扬声器。

音乐盒的硬件电路设计框图如图3-1所示。

图3-1电路设计框图

第二节控制系统的设计

一、AT89C2051介绍

1.AT89C2051的特点

AT89C2051是美国爱特梅尔(ATMELCORPORATION)半导体制造公司生产的一种高性能的单片机,它的指令集和引脚结构与INTEL公司的MCS-51系列单片机高度兼容、低功耗、可以在接近零频率下工作,广泛的应用于各种计算机系统、工业控制、电讯设备、宇航设备及消费类产品中。

由于ATMEL是全球最大的FLASH和EEPROM生产制造公司,加之以其EEPROM技术与INTEL的80C31内核技术交换,使ATMEL从此拥有80C31内核的使用权,从而该公司的89C51系列单片机具有极高的性能价格比。

AT89C2051的性能结构:

AT89C2051是一个功能强大的单片机,它将AT89C51的P0口、P2口、EA/Vcc、ALE/PROG、口线简化后,形成的一种仅20个引脚的单片机,相当于INTEL8031的最小应用系统。

这对于一些不太复杂的控制场合,仅用一片AT89C2051就足够了。

由于将多功能的8位CPU和2KB闪速存储器以及模拟电压比较器集成到单个芯片上,从而成为一种多功能的微处理器,这为许多嵌入式控制提供了一种极佳的方案,使传统的51系列单片机的体积大、功耗大、可选模式少等诸多困扰设计工程师们的致命弱点不复存在。

AT89C2051的主要特点:

2K字节闪速可编程可擦除只读存储器(FLASHEEPROM)和128bytes的随机存取数据存储器(RAM),重复擦写10000次,数据保存时间10年,工作电压范围:

2.7~6V,作频率:

0~24MHz,5根可编程I/O引线,2个16位定时器/计数器,一个5向量两级中断结构,一个全双工串行口,一个精密模拟比较器,两级程序加密,输出口可直接驱动LED显示,低功耗的闲置和调电保护工作方式,以及片内振荡器和时钟电路。

如下:

(1)IntelMCS-51系列和Winbond-78系列单片机兼容;

(2)2KB可重编程Flash存储器;

(3)久性高,1000次写/擦除;

(4)4.7~6V的操作范围;

(5)静态操作,0~24MHz;

(6)级加密程序存储器;

(7)28×

8位内部RAM;

(8)5条可编程I/O引线;

(9)2个16位定时/计数器;

(10)5个中断源;

(11)编程串行通用异步接受发送器UART;

(12)接LED驱动输出;

(13)内模拟比较器;

(14)功耗空闲和掉电方式;

2.引脚功能说明

AT89C2051的引脚结构如图3-2所示,各项功能说明如下所示。

3-2AT89C2051引脚图

(1)Vcc接地端。

(2)GND:

接地端。

(3)P1:

P1是一个8位准双向I/O端口。

引脚P1.2~P1.7提供上拉电阻。

P1.0和P1.1要求外部提供上拉电阻。

P1.0和P1.1还可分别作为片内精密模拟比较器的同相输入(AIN0)端和反相输入(AIN1)端。

P1.0端输入的电压高于P1.1端的电压时,P3.6输出为高电平,否则为低电平。

P1输出缓冲器可吸收20mA电流,并能直接驱动LED显示。

当P1引脚写入“1”后,才可以用作输入端,这也是准并行端口的含义。

当引脚P1.2~P1.7用作输入端并被外部拉低时,将因内部的上拉电阻而输出电流。

P1还在Flash编程和程序校验期间接受代码数据。

4.P3:

P3的P3.0~P3.5,P3.7是带有内部上拉电阻的7个双向I/O引脚。

P3.6用于固定输入片内比较器的输出信号,不能作为一个通用I/O引脚来进行访问。

P3缓冲器可吸收20mA电流。

当P3引脚写入“1”时,它们被上拉电阻拉高并可用作输入端。

在用作于输入端时,被外部拉低的P3引脚将会在上拉电阻的作用下输出电流。

P3还可以用于实现AT89C2051的其他功能,如表1示。

另外P3还用于接收一些Flash存储器编程和程序校验的控制信号。

端口引脚

第二功能

P3.0

RXD串行输入端口

P3.1

TXD串行输出端口

P3.2

外部中断0

P3.3

外部中断1

P3.4

T0定时器0外部中断

P3.5

T1定时器1外部中断

表1P3引脚功能

(5)RST:

复位输入。

RST一旦变成高电平,所有的I/O端口就复位到“1”。

当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。

每一个机器周期需要12个振荡周期或时钟周期。

(6)XTAL1:

作为振荡器反相放大器的输入和内部时钟发生器的输入。

(7)XTAL2:

作为振荡器反相放大器的输出。

(8)AT89C2051不允许构造外部总线来扩充程序/数据存储器,所以它不需要ALE、PSEN、RA、WR一类的引脚。

二、复位电路设计

1.内部时钟方式

该单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。

这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成一个自激振荡器。

图3-3是51单片机内部时钟方式的振荡器电路。

外接晶体(在频率稳定性要求不高而希望尽可能廉价时,可选用陶瓷谐振器)以及电容C

和C

构成并联谐振电路,接在放大器的反馈回路中。

对外接电容的值虽然没有严格的要求,但电容的大小多少会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和温度稳定性。

外接晶体时,C1和C2的值通常选择为30pF

左右;

外接陶瓷谐振器时,C1和C2的典型值约为47pF。

再设计印刷电路板时,晶体或陶瓷谐振器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器的稳定和可靠工作。

为了提高温度稳定性,应采用具有温度补偿特性的单片陶瓷电容。

51单片机常选择振荡频率为6MHz或12MHz的石英晶体,随着集成电路制造工艺技术的发展,单片机的时钟频率也在逐步提高,现在的高速单片机时钟芯片的频率已达40MHz。

图3-3片内时钟方式

2.外部时钟方式

外部时钟方式是使用外部振荡脉冲信号,常用于多片单片机同时工作,以便于同步。

对外部脉冲信号只要求高电平持续时间内大于20微妙。

一般为低于12MHz的方波。

这时,外部振荡器的信号接至XTAL2,即内部时钟发生器的输入端,而内部反相放大器的输入端XTAL1应接地,如图4-3所示。

由于XTAL2端的逻辑电平不是TTL的,故建议外接一个上拉电阻。

图3-4外部时钟方式

本设计采用内部时钟方式即可,各参数如图3-5所示.由于内部时钟方式中的C1和C2电容起着系统时钟频率微调和稳定的作用,因此,在本系统中的实际应用中一定注意正确选择参数(30±

10pF),并保证电路的对称性(尽可能匹配),选用正牌厂家生产的瓷片或云母电容,如果可能的话,温度系数要尽可能低。

该系统时钟电路的选的电容C1和C2的参数为22pF。

图3-5时钟电路

三、复位电路的设计

1.复位的作用

在上电或复位过程中,控制CPU的复位状态:

这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。

无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。

而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。

许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。

单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。

89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。

当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。

2.单片机的复位方式

单片机系统的复位方式有:

手动按钮复位和上电复位

(1)手动按钮复位

手动按钮复位需要人为在复位输入端RST上加入高电平,如图4-5所示。

一般采用的办法是在RST端和正电源Vcc之间接一个按钮。

当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。

手动按钮复位的电路如图4-5所示。

由于人的动作再快也会使按钮保持接通达数十毫秒,所以完全能够满足复位的时间要求。

图3-6手动复位

(2)上电复位

AT89C2051的上电复位电路如图4-6所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。

对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1µ

F。

上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。

为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。

上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;

晶振频率为1MHz,起振时间则为10ms。

在图3-7的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。

另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。

如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。

图3-7上电复位

3.复位电路的实现设计

复位电路的实现通常有两种方式:

即专用&

p监控电路和RC复位电路。

前者电路实现简单,成本低,但复位可靠性相对较低;

后者成本较高,但复位可靠性高,尤其是高可靠重复复位。

对于复位要求高、并对电源电压进行监视场合,大多采用这种方式。

(1)专用&

P监控电路

专用监控电路又称为电源监视电路,具有上电时可靠产生复位信号和电源电压跌落到“门槛值”时可靠产生复位信号等功能。

按有效电平分,有高电平输出、低电平输出两种;

按功能分,有简单的电源监视复位电路

带“看门狗”定时器的监控电路和WDT+E

PROM的监控电路等多种类型。

比较常见的生产厂家有MAXIM、PHILIPS、IMP及DALLS等,51系列的微处理器中常用的型号有MAX813L、MAX809、X25043/5等。

(2)RC复位电路

本系统采用的是RC复位方式。

RC复位电路的实质是一阶充放电电路,此复位电路只要RST引脚处至少保持2个机器周期(24个振荡器周期)的高电平就可实现复位,在RST段出现高电平后的第二个周期,执行内部复位,以后每个周期重复一次,直至RST端变低。

本设计采用的是RC复位电路,并采用上电复位与手动复位相结合的方案实现复位更加可靠。

复位电路图如下3-8所示

图3-8复位电路

第三节音频放大器的设计

一、音频放大器的作用

由于单片机端口输出信号的电流较小,不能直接驱动音频电路使喇叭发出声音,因此,需要接一个音频放大器将信号经过适当的功率放大即可驱动扬声器发声。

二、LM386的性能介绍

本设计采用的是LM386音频放大器,LM386是美国国家半导体公司生产音频功率放大器,主要应用于低电压消费类产品。

为使外围元件最少,电压增益内置为20。

但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。

以下图3-9、图3-10是不同的增益值的电路图。

输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。

图3-9放大增益为20

图3-10放大增益为200

LM386的封装形式有塑封8引线双列直插式和贴片式。

特性(Features):

1.静态功耗低,约为4mA,可用于电池供电。

2.工作电压范围宽,4-12Vor5-18V。

3.外围元件少。

4.电压增益可调,20-200。

5.低失真度。

图3-11LM386的外形和引脚的排列

LM386的外形和引脚如上图3-11所示,引脚2为反相输入端,3为同向输入端,引脚5为输出端,引脚6为电源端,引脚4为地,引脚1和8是电压增益设定端,使用时在引脚7和地之间接旁路电容,通常取10微法

LM386电源电压4-12V,音频功率0.5w.音响功放是NSC制造的,它的电源电压范围非常宽,最高可使用到15V,消耗静态电流为4mA,当电源电压为12V时,在8欧姆的负载情况下,可提供几百毫瓦的功率,它的典型输入阻抗为50K。

本设计中的音频放大器如下图3-12所示

图3-12音频放大器电路图

第四节按键选择输入电路

 在单片机应用中,人机交互对话最通用的方法就是通过键盘进行的。

操作者通过键盘向系统发送各种指令或置入必要的数据信息。

因此键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。

一、键盘接口设计

常用的按键接口一般分为“独立式按键接口设计”、“专用芯片式设计“和“矩阵式接El设计”几种。

具体采用哪种方式,应该根据所设计系统的实际情况而定。

下面分别介绍不同接口方式的优缺点及适用场合。

1.独立式按键接口设计:

独立式按键接口设计优点是电路配置灵活。

软件实现简单,但缺点也很明显,每个按键需要占用一根口线,若按键数量较多,资源浪费将比较严重,电路结构也变得复杂。

因此本方法主要用于按键较少或对操作速度要求较高的场合。

软件实现时,可以采用中断方式,也可以采用查询方式,示意图如图3-13和3-14所示。

图3-13中断方式

图3-14查询方式

2. 

矩阵式接口设计

 矩阵式按键设计适应于按键数量较多,又不想使用专用键盘芯片的场合。

这种方式的按键接口由行线和列线组成,按键位于行、列的交叉点上。

这种方式的优点就是相对于独立接口方式可以节省很多I/0资源,相对于专用芯片式可以节省成本,且更为灵活。

缺点就是需要用软件处理消抖、重键等问题。

矩阵式按键接口根据采用的按键识别方法不同基本有两种接法:

线反转法和扫描法。

其中扫描法的列线始终为输入,行线始终为输出;

线反转法则需要改变列线和行线的方向。

二、键盘模块处理方式

单片机应用系统中,键盘扫描只是MCU的工作之一。

MCU在忙于各项工作任务时,如何兼顾键盘的输入,取决于键盘的工作方式。

键盘工作方式的选取原则是既要保证能及时响应按键操作,也要不过多占用MCU的工作时间。

一般而言,有三种工作方式:

编程扫描、定时扫描和中断扫描。

1.编程扫描方式

本方式中MCU对键盘的扫描采取程序控制方式,一旦进入键扫描状态,则反复地扫描键盘,等待用户从按键上输入命令或数据。

而在执行键入命令或处理键入数据过程中,MCU将不再响应键入要求,直到MCU返回重新扫描键盘为止。

编程扫描程序流程图如图3-15所示

图3-15编程扫描程序流程图

2.定时扫描方式

定时扫描工作方式是利用MCU内部的定时器产生定时中断,CPU响应中断时对键盘进行扫描,并在有键按下时识别出该键并执行相应的键功能程序。

该种方式不再需要单独的延迟去抖动处理。

3.中断扫描方式

键盘工作在编程扫描方式时,MCU要不问断地对键盘进行扫描,其问MCU不能进行其它任何工作,若MCU工作量较大,该方式不适应;

定时扫描方式前进了一大步,只是定时的监视一下键盘输入情况,其它时间MCU可以做其它事情;

若想进一步提高MCU利用率,可以用中断扫描方式,即只有在有键按下时才理睬键盘,否则不理。

综上

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1