基于单片机控制八音盒的设计课程设计 精品.docx
- 文档编号:8868483
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:62
- 大小:805.14KB
基于单片机控制八音盒的设计课程设计 精品.docx
《基于单片机控制八音盒的设计课程设计 精品.docx》由会员分享,可在线阅读,更多相关《基于单片机控制八音盒的设计课程设计 精品.docx(62页珍藏版)》请在冰豆网上搜索。
基于单片机控制八音盒的设计课程设计精品
基于单片机控制八音盒的设计
总结25
摘要
传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键,从而发出声音。
但是,机械式的音乐盒体积比较大,比较笨重,且发音单调。
水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。
另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。
基于单片机设计制作的电子式音乐盒。
与传统的机械式音乐盒相比更小巧,音质更优美且能演奏和弦音乐。
电子式音乐盒动力来源是电池,制作工艺简单,可进行批量生产,所以价格便宜。
基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便。
所放歌曲的节奏可以根据需要进行设置,根据存储容量的大小,可以尽可能多的存储歌曲。
另外,可以设计彩灯外观效果,增设放歌时间、序号显示灯功能,使音乐盒的功能更加丰富
为了实现单片机控制音乐播放,此次毕业设计做出了尝试,即电子音乐盒的设计。
本设计采用了扬声器发声来实现歌曲的播放,能保持基本音调不变,流畅播放出歌曲,现选用AT89S51单片机。
主要工作过程是通过按下功能键实现上一首和下一首及暂停播放,同时有数码管显示当前播放歌曲的序号,扬声器播放出音乐。
此次设计要利用单片机及KeilC51编程软件编程和PROTEUS单片机仿真软件等方面知识,用KeilC51编程软件编程,用PROTEUS单片机仿真软件仿真。
最后制作实物,将程序下载到单片机中,利用I/O口产生一定频率的方波,驱动扬声器,发出不同的音调,从而演奏乐曲。
关键词
单片机、八音盒、AT89C51、proteus、keil。
第一章基于单片机八音盒的设计
1.1八音盒设计功能描述
八音盒可以经常发出宜人的音乐旋律,能给生活增加不少的乐趣。
用51系列单片机设计一个音乐盒。
功能如下:
1)利用I/O口产生一定频率的方波,驱动扬声器,发出不同的音调,从而演奏乐曲。
2)用字符型LCD显示当前播放的歌曲序号。
3)开机时有英文欢迎提示字符。
4)可通过功能键选择乐曲,暂停,播放。
5)显示乐曲播放时间或剩余时间(至少30秒)。
1.2八音盒设计分析
本次设计利用89C51单片机结合内部定时器及LCD显示器,设计一个简易的电子八音盒,按下单键可以演奏预先设置的歌曲旋律。
使用了文字型LCD(16×2)显示目前演奏的歌曲编号,由键盘(4*4)来选择演奏歌曲;具有16个按键操作来选择演奏哪一首歌曲;演奏时可以按键暂停。
内置自动定时器,若没有按键,则自动演奏歌曲。
利用单片机定时器来产生固定频率的方波信号推动压电喇叭,发出旋律。
音阶频率及定时器初值加载的关系及设计原理及方法,及按键扫描。
在歌曲旋律设计方面采直觉式输入法,由程序中直接输入方便快速设计歌曲。
1.3单片机设计任务和要求
为了实现单片机控制音乐播放,采用电子音乐盒的设计。
本设计采用了扬声器发声来实现歌曲的播放,能保持基本音调不变,流畅播放出歌曲,现选用AT89S51单片机。
主要工作过程是通过按下功能键实现上一首和下一首及暂停播放,同时有数码管显示当前播放歌曲的序号,扬声器播放出音乐。
此次设计要利用单片机及KeilC51编程软件编程和PROTEUS单片机仿真软件等方面知识,用KeilC51编程软件编程,用PROTEUS单片机仿真软件仿真。
最后制作实物,将程序下载到单片机中,利用I/O口产生一定频率的方波,驱动扬声器,发出不同的音调,从而演奏乐曲。
2.1单片机的组成
单片机是微型机的一个主要分支,在结构上的最大特点是把CPU、存储器、
定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。
就其组成和功能而言,一块单片机芯片就是一台计算。
单片机是通过内部总线把计算机的各主要部件接为一体,其内部总线包括地
址总线、数据总线和控制总线。
其中,地址总线的作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;数据总线的作用是在CPU与存储器或I/O接口之间,或存储器与外设之间交换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。
2.2单片机的特点
由于单片机的这种结构形式及它所采取的半导体工艺,使其具有很多显著的
特点,因而在各个领域都得到了迅猛的发展。
单片机主要发展如下特点:
(1)有优异的性能价格比。
(2)集成度高、体积小、有很高的可靠性。
单片机把各功能部件集成在一块芯
片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。
另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。
(3)控制功能强。
为了满足工业控制的要求,一般单片机的指令系统中均有极
丰富的转移指令、I/O口的逻辑操作以及位处理功能。
单片机的逻辑控制功能及
运行速度均高于同一档次的微机。
(4)低功耗、低电压,便于生产便携式产品。
(5)外部总线增加了IC(Inter-IntegratedCircuit)及SPI(SerialPeripheralInterface)等串行总线方式,进一步缩小了体积,简化了结构。
(6)单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。
2.3单片机的分类
单片机作为计算机发展的一个重要领域,应用一个较科学的分类方法。
根据
目前发展情况,从不同角度单片机大致可以分为通用型/专用型、总线型/非总线
型及控制型/家电型。
1.通用型/专用型
这是按单片机适用范围来区分的。
例如,80C51是通用型单片机,它不是为
某种专用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,
例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
2.总线型/非总线型
这是按单片机是否提供并行总线来区分的。
总线型单片机普遍设置有并行地
址总线、数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口
与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,
因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类
单片机称为非总线型单片机。
3.控制型/家电型
这是按照单片机大致应用的领域进行区分的。
一般而言,工控型寻址范围大,
运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件
和外设接口集成度高。
显然,上述分类并不是惟一的和严格的。
例如,80C51类单片机既是通用型
又是总线型,还可以作工控用。
2.4单片机的应用分类
由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。
它的应用遍及各个领域,主要表现在以下几个方面:
(1)单片机在智能仪表中的应用
单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。
(2)单片机在机电一体化中的应用
机电一体化是械工业发展的方向。
机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机控制的车床、钻床等。
单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。
(3)单片机在实时控制中的应用
单片机广泛地用于各种实时控制系统中。
例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。
单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。
。
综合所述,单片机已成为计算机发展和应用的一个重要方面。
另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
第三章八音盒的设计要求与发音原理
3.1单片机八音盒的设计基本要求
1.基本要求是设计一个八音盒,并且编写相应的软件,完成八音盒的任务,该控制任务应完成下列功能:
(1)使用LCD显示目前演奏的歌曲编号;
(2)用按键操作来选择演奏哪一首歌曲(建几首歌曲旋律,按下单键便可以演奏歌曲);
(3)演奏时可以按键暂停。
2.设计所需器件清单:
名称
数量(个)
型号/参数
备注
单片机
1
AT89C51
液晶屏
1
LM016
按键开关
16
BUTTON
普通电阻
2
10K(1个),1K(1个)
排阻
1
RESPACK-8
10K
电容
3
30pf(2个),10uf(1个)
晶振
1
12MHz
三极管
1
PNP
扬声器
1
SPEAKER
3.2八音盒的设计发音原理
1.八音盒的发音原理
播放一段音乐需要的是两个元素,一个是音调,另一个是音符。
首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。
对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。
另外,音符的频率有所不同。
基于上面的内容,这样就对发音的原理有了一些初步的了解。
音符的发音主要靠不同的音频脉冲。
利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制P3.7引脚的输出音乐。
只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。
2.音符频率的产生
(1)音符及定时器初始值:
例如:
中音1(do)的音频=523HZ,周期T=1/523s=1912
定时器/计数器0的定时时间为:
T/2=1912/2
=956
定时器956
的计数值=定时时间/机器周期=956
/1
=956(时钟频率=12MHZ)
装入T0计数器初值为65536-956=64580
将64580装入T0寄存器中,启动T0工作后,每计数956次时将产生溢出中断,进入中断服务时,每次对P3.0引脚的输出值进行取反,就可得到中音DO(523HZ)的音符音频。
将51单片机内部定时器工作在计数器模式1下,改变计数初值TH0,TL0以产生不同的频率。
下表2-1是C调各音符频率与计数初值T的对照表:
表2-1C调各音符频率与计数初值T的对照表
音符
频率(Hz)/初值(
)
音符
频率(Hz)/初值(
)
低1DO
262/63627
中1DO
523/64580
高1DO
1042/65056
低2RE
294/63835
中2RE
589/64687
高2RE
1245/65134
低3M
330/64021
中3M
661/64780
高3M
1318/65157
低4FA
350/64107
中4FA
700/64822
高4FA
1397/65178
低5SO
393/64264
中5SO
786/64900
高5SO
1568/65217
低6LA
441/64402
中6LA
882/64969
高6LA
1760/65252
低7SI
495/64526
中7SI
990/65031
高7SI
1967/65282
(2)音符、音符编码及定时器初始值:
为了产生音符,必须求出音符低音5—高音5的计数初值。
例如C调的低1DO的THTL=65536-50000/262=63627,中音DO的THTL=65536-500000/523=64580,高音DO的THTL=65536-500000/1042=65056。
为了方便写谱,对其进行简单的编码,在编程时,根据音符编码查找对应的计数初值。
比如说音乐是C调的,那么出现低音的5SO,直接将代码写为1;出现低音6LA,直接写一个2的代码;出现低音7SI,直接写一个3代码。
表2-2音符编码表
音符
音符编码
音符
音符编码
不发音
0
低5SO
1
低6LA
2
低7SI
3
中1DO
4
中2RE
5
中3M
6
中4FA
7
中5SO
8
中6LA
9
中7SI
A
高1DO
B
高2RE
C
高3M
D
高4FA
E
高5SO
F
高6LA
G
3.节拍频率的产生
节拍的产生与编码:
音乐中的节拍用延时时间产生。
例如,1拍=0.4s,1/4拍=0.1s,以此类推。
假设1/4拍执行一次延时程序,则1/2拍就执行两次延时程序,所以只要求出1/4拍的延时时间,其余节拍就是它的倍数。
为了方便,将节拍数也进行了编码,并且计算了乐谱节拍编程时的延时时间,如表2-3和表2-4所示。
表2-3节拍数编码表
按1/4拍为一个延时时间的节拍编码与节拍对应的表
按1/8拍为一个延时时间的节拍编码与节拍对应的表
节拍编码
节拍
节拍编码
节拍
节拍编码
节拍
节拍编码
节拍
1
1/4
6
6/4
1
1/8
6
6/8
2
2/4
8
8/4
2
2/8
8
8/8
3
3/4
A
10/4
3
3/8
A
10/8
4
4/4
C
12/4
4
4/8
C
12/8
5
5/4
F
15/4
5
5/8
表2-4乐谱节拍编程时的时间延时表
乐谱节拍
1/4拍的延时时间
乐谱节拍
1/8拍的延时时间
4/4
125ms
4/4
62ms
3/4
187ms
3/4
94ms
2/4
250ms
2/4
125ms
音符编码和节拍编码完成后,在编程时,每个音符占一个字节,高四位是音符编码,低四位是节拍编码。
3.3关于AT89C51的性能介绍
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgramableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS—51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且廉价的方案。
它可以提供以下的功能标准:
(1)4K的字节闪烁存储器;
(2)128字节随机存取数据存储器;
(3)32个I/O口;
(4)2个16位定时/计数器;
(5)1个5向量两级中断结构;
(6)1个串行通信口;
(7)片内振荡器和时钟电路。
另外AT89C51还可以警醒OHZ的惊涛逻辑操作,并支持两种软件的节点模式。
3.4AT89C51的管脚介绍
AT89C51的管脚图
VCC:
供电电压
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FIASH编程和校验时,P1口作为第八位地址接入。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用与外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FIASH变成和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下;拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INTO(外部中断0)
P3.3/INT1(外部中断1)
P3.4TO(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和变成校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(000H—FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间。
此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
第四章硬件设计
4.1Proteus功能及其特点
1.Proteus介绍
(1)实现了单片机仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
(2)支持主流单片机系统的仿真。
目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
(3)提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件
(4)具有强大的原理图绘制功能。
总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
2.使用Proteus绘制智能原理图的流程
4.2硬件电路设计
1.初步设计
此设计由AT89C51单片机,电阻,扬声器和放大电路构成的简单电路(如图)。
按下播放键,扬声器会发出一种曲调。
4.3简单八音盒的设计
由一首曲调的进一步改善,设计出具有播放动听音乐歌曲的八音盒。
1.设计框图
2.晶振与复位电路
晶振电路为系统提供基本的时钟频率信号,它结合单片机内部电路产生所需的时钟频率。
复位电路由单片机XTAL1、XTAL2引脚外接晶振(12MHz)及起振电容C1、C2(均为30pf)组成。
当复位按钮按下时,内存和相关的寄存器,计数器,计时器所具有状态表示的器件全部被复位,回到初始状态。
(如下图所示)
3.整体电路
4.总体设计框图
LCD显示电路
AT89C51
键盘输入
扬声器
复位电路
本设计中用到了AT89C51单片机,4*4键盘,扬声器,16*2LCD等硬件电路常用元器件。
4.2按键输入电路
按键输入电路由4*4矩阵键盘组成,P1口作为输入控制按键,其中P1.0~P1.3扫描行,P1.4~P1.7扫描列。
4.3输出显示电路
用P2.0~P2.2作为LCD的RS、R/W、E的控制信号;用P0.0~P0.7作为LCD的D0~D7的控制信号。
由于P0口作为输出,应加上拉电阻。
用P3.7口控制扬声器。
5.整体硬件电路图
音乐盒硬件电路原理图
6.原理说明:
当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动扬声器发出音乐。
同时启动定时器T1,显示乐曲播放的时间,并驱动LCD,显示歌曲号及播放时间。
(1) 硬件电路中用P1.0~P1.7控制按键,其中P1.0~P1.3扫描行,P1.4~P1.7扫描列;
(2)用P2.0~P2.2作为LCD的RS、R/W、E的控制信号;
(3)用P0.0~P0.7作为LCD的D0~D7的控制信号;
(4)用P3.7口控制蜂鸣器;
(5)电路为12MHz晶振频率工作,起振电路中C1,C2均为30pf。
7.键盘设计与原理
(1)键盘是由若干个按键组成的开关矩阵,它是最简单的单片机应用系统的输入设备,操作人员可以通过键盘输入数据或命令,实现简单的人机通信。
本设计采用4*4的键盘结构,如图
键盘结构图
键盘的行线X0~X3通过电阻接+5V,当键盘上没有键闭合时,所有的行线和列线都断开,行线都是高电平。
当键盘上某一个键闭合时,该键所对应的行线和列线都被短路。
例如6号键被按下时,行线X1和列线Y2被短路,此时X1的电平由Y2的电位决定。
如果把行线接到单片机的输入口,列线接到单片机的输出口,则在单片机的控制下,先使列线Y0为低电平“0”,其余三根列线Y1、Y2、Y3都为高电平“1”,读行线状态。
如果X0、X1、X2、X3都为高电平,则Y0这一列上没有键闭合。
如果读出的行线不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态,如果Y0这一列上没有键闭合,使列线Y1为低电平,其余列线为高电平,用同样的方法检查Y1这一列上是否有键闭合。
这种逐行逐列的检查键盘的状态过程称为对键盘的一次扫描。
(2)键盘按键分布如下:
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
(3)按键功能说明:
1—A
十首歌曲
C
下一首歌曲
D
上一首歌曲
E
暂停
F
开机画面
4.4LCD数码显示器简介结构
1.LCD数码显示器结构
液晶显示器又叫LCD数码显示器,液晶显示器的主要材料是液态晶体(简称液晶),它是一种有机材料,在特定的温度范围内,既具有液体的流动性,又具有某些光学特性,其透明
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于单片机控制八音盒的设计课程设计 精品 基于 单片机 控制 八音盒 设计 课程设计