毕业设计论文基于51单片机的音乐发生器设计Word格式.docx

上传人:b****3 文档编号:8206199 上传时间:2023-05-10 格式:DOCX 页数:40 大小:325.76KB
下载 相关 举报
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第1页
第1页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第2页
第2页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第3页
第3页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第4页
第4页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第5页
第5页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第6页
第6页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第7页
第7页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第8页
第8页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第9页
第9页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第10页
第10页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第11页
第11页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第12页
第12页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第13页
第13页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第14页
第14页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第15页
第15页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第16页
第16页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第17页
第17页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第18页
第18页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第19页
第19页 / 共40页
毕业设计论文基于51单片机的音乐发生器设计Word格式.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

毕业设计论文基于51单片机的音乐发生器设计Word格式.docx

《毕业设计论文基于51单片机的音乐发生器设计Word格式.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于51单片机的音乐发生器设计Word格式.docx(40页珍藏版)》请在冰点文库上搜索。

毕业设计论文基于51单片机的音乐发生器设计Word格式.docx

music;

Clanguage;

STC89C51;

KEIL;

PROTEUS

 

前言

音乐电声的一个重要内容就是电子音乐。

电子琴的出现,开辟了音乐的一个新天地。

但是自从电子合成器问世以来,电子音乐就又进入了一个更高的阶段。

目前,由于电子音乐的普及,电子合成器(合成器实际上是一台声音的频率合成仪,可以制作各种声音,改变各种音色)可以解决相当一部分的歌唱及舞厅的伴奏问题。

可以事先制作伴奏音乐或背景音乐,而不需要乐队,或者部分代替乐队。

由于音乐合成器制作和修改方便,成本低,音乐丰满,所以市场需求量很大,因此,世界许多国家的厂商都不断地在发展并推出新的型号,每年都要更新换代。

当前的发展趋势是不断的采用先进技术,以取得更多、更好的音色。

如扩展容量,这包括扩展槽口,增加软盘驱动器或硬盘,增加最大发音数目,增大存贮量,扩展琴键等;

使功能多样化,如一台合成器可以同时发二种、四种甚至八种音色,即一台当作几台使用,或者把鼓机的节奏发生器功能、音序器的编辑功能放入合成器,让合成器代替计算机的主机等;

扩展功能,例如有的合成器有“跟随”功能,即经预置,每一个音后可以跟随一个二度或三度音,“重叠”功能,轻奏或重奏时可以发不同音调或音色;

另外,合成器还向轻便、使用操作方便等方向发展。

随着以法、德、意为代表的欧洲和以美国为代表的电子音乐、计算机音乐早期的大力发展,国际上许多国家纷纷开始引入电子音乐研究与创作。

因此,电子音乐创作作为音乐科技领域发展的重要标志,在风格上也体现出比以往任何时代都鲜明的个性化特征。

电脑音乐也许不会成为今后音乐的主流,但它在整个人类音乐史上的地位已经不容置疑地确立了,相信它会越来越深入地浸透到音乐创作和欣赏的领域中,并且将在一定程度上影响人们对音乐的理解和诠释。

用单片机制作的音乐发生器也会越来越多,这将必然成为一种趋势。

1概述

本设计是以STC89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序控制单片机内部的定时器,把乐谱转化成相应的定时常数,使其演奏出优美动听的音乐。

用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。

对于不同型号的单片机只需要改变相应的地址即可实现功能。

本系统的软件编程和硬件系统设计具有很好的通用性,具有一定的实际使用价值,为广大的音乐爱好者提供了利用单片机实现音乐播放和设计方法和思路提供了较好的借鉴。

1.1课题意义

音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。

当时为使教会的钟塔报时,而将大小的钟表装上机械装置,被称为“可发出声音的组钟”。

音乐盒有着300多年的发展历史,是人类文明发展的历史见证。

传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键,从而发出声音。

但是,机械式的音乐盒体积比较大,比较笨重,且发音单调。

水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。

另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。

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

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

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

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

根据存储容量的大小,可以尽可能多的存储歌曲。

另外,可以设计彩灯外观效果,使音乐盒的功能更加丰富。

1.2国内外研究的现状及发展趋势

六十年代,美国物理学家RobertMoog研制出了小型实用的电子合成器。

从此,首先在欧美地区,合成器作为新型的乐器被音乐家尤其是流行音乐家所采用并飞快的流行开来。

由于美国雄厚的经济和科技基础,在早期计算机音乐获得巨大成功后,越来越多的音乐家和科学家步入到计算机音乐的研究与开发的领域中来,他们一起工作、共同开展研究,许多新产品和新设计不断涌现。

1.3音乐发生器的扩展

熟练的运用89C51单片机定时器产生固定频率的方波信号,推动喇叭发出旋律,按下单键可以演奏预先设置的歌曲旋律,最重要的是自己还可以通过程序设计输入自己喜欢的歌曲来演奏中,本设计采用简易音阶编码直觉式输入法方便设计音乐旋律,可以扩充其功能如下:

1.设计三个按键操作来更改歌曲的序号;

2.可以按照歌曲的序号来播放歌曲;

3.可以显示播放中歌曲的序号;

4.可以存储多首歌曲;

1.3.1设计方案

设计一个基于STC89C51系列单片机的音乐盒,利用按键切换演奏出不同的乐曲。

蜂鸣器发出某个音调,与之相对应的LED亮起。

使用两个按键,一个用来切换歌曲,另一个切换八路LED的变化花样。

1)电路有两种工作模式:

演奏音乐模式和花样灯模式。

演奏音乐模式:

演奏完整的一首的歌曲,八路LED随着音乐变化。

花样灯模式:

八路LED变化出各种花样,蜂鸣器随着发出“嘀嘀”声

2)按下按键1进入演奏音乐模式,再按切换歌曲,共两首歌曲。

3)按下按键2进入花样灯模式,再按切换LED花样,共三种花样。

此电路的程序只占用了1K左右,可编制更多的音乐和LED花样,使系统的功能更加强大。

251单片机介绍

2.1Intel51系列单片机

2.1.1 

MCS-51单片机简述

MCS-51是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。

INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求,其中89C51就是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的。

MCS-51系列单片机分为两大系列,即51子系列与52子系列。

51子系列:

基本型,根据片内ROM的配置,对应的芯片为8031、8051、8751、8951;

52子系列:

增强型,根据片内ROM的配置,对应的芯片为8032、8052、8752、8952。

2.1.28051与80C51的区别

80C51单片机是在8051的基础上发展起来的,也就是说在单片机的发展过程中是先有8051,然后才有80C51的。

8051单片机与80C51单片机从外形看是完全一样的,其指令系统、引脚信号、总线等完全一致(完全兼容),也就是说在8051下开发的软件完全可以在80C51上应用,反过来,在89C51下开发的软件也可以在8051上应用。

这两种单片机是完全可移植的。

8051与80C51单片机的主要差别就在于芯片的制造工艺上。

80C51的制造工艺是在8051基础上进行了改进。

8051系列单片机采用的是HMOS工艺:

高速度、高密度;

80C51系列单片机采用的是CHMOS工艺:

高速度、高密度、低功耗;

也就是说80C51单片机是一种低功耗单片机。

2.1.38051单片机的引脚功能

图中给出了40引脚的8051单片机的引脚图,40个引脚按引脚功能大致可分为4个种类:

电源、时钟、控制和I/O引脚。

图2.18051单片机的引脚图

(1)电源

 1)VCC-芯片电源,接+5V;

 2)VSS-接地端;

注:

用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。

但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。

(2)时钟

时钟:

XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。

(3)控制线

1)ALE/PROG:

地址锁存允许/片内EPROM编程脉冲。

  ①ALE功能:

用来锁存P0口送出的低8位地址。

  ②PROG功能:

片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

  2)PSEN:

外ROM读选通信号。

  3)RST/VPD:

复位/备用电源。

  ①RST(Reset)功能:

复位信号输入端。

  ②VPD功能:

在Vcc掉电情况下,接备用电源。

  4)EA/Vpp:

内外ROM选择/片内EPROM编程电源。

  ①EA功能:

内外ROM选择端。

  ②Vpp功能:

片内有EPROM芯片,在EPROM编程期间,施加编程电源Vpp。

(4)I/O线

 80C51共有4个8位并行I/O端口:

P0、P1、P2、P3口,共32个引脚。

 P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

 P3口第二功能为:

 P3.0RXD串行输入口

 P3.1TXD串行输出口

 P3.2INT0外部中断0(低电平有效)

 P3.3INT1外部中断1(低电平有效)

 P3.4T0定时计数器0

 P3.5T1定时计数器1

 P3.6WR外部数据存储器写选通(低电平有效)

P3.7RD外部数据存储器读选通(低电平有效)

2.251单片机内部结构

图2.251单片机内部结构图

从内部结构简图可以看出,51单片机内部有以下主要部分:

1)CPU512)振荡器及定时电路

3)4KB程序存储器4)128B数据存储器

5)2个16位定时/计数器6)64KB总线扩展控制

7)可编程I/O8)可编程串行口

9)中断系统

2.351系列的特性

1)片内存储器容量较小,一般内部ROM:

8KB以下,内部RAM:

256KB以下

2)可靠性高

3)易扩展 

4)控制功能强 

5)易于开发

2.4并行I/O口

51单片机有四个并行I/O口:

P0,P1,P2,P3。

2.4.1P0端口的结构及工作原理

P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及V1、V2场效应管驱动电路构成。

在P0口中,有两个三态的缓冲器,在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),上面一个是读锁存器的缓冲器,下面一个是读引脚的缓冲器,读取P0.X引脚上的数据,要使这个三态缓冲器有效,引脚上的数据才会传输到内部数据总线上。

在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。

D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。

在51单片机中,不需要外扩展存储器时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。

这个多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。

当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为‘地址/数据’总线使用的。

P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。

P0口作为I/O端口使用时,多路开关的控制信号为‘0’(低电平),V1管截止,多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。

作为地址/数据线使用时,多路开关的控制信号为‘1’,V1管由地址/数据线决定,多路开关与地址/数据线连接。

输出过程:

当写锁存器信号CP有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端P0.X。

这时多路开关的控制信号为低电平0,V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉电阻。

地址输出过程时,控制信号为‘1’,地址信号为‘0’时,与门输出低电平,V1管截止;

反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。

反之,控制信号为‘0’、地址信号为‘1’,“与门”输出为高电平,V1管导通;

反相器输出低电平,V2管截止,输出引脚的地址信号为高电平。

可见,在输出“地址/数据”信息时,V1、V2管是交替导通的,负载能力很强,可以直接与外设存储器相连,无须增加总线驱动器。

作为数据总线的输出过程时,如果该指令是输出数据,如MOVX 

@DPTR,A(将累加器的内容通过P0口数据总线传送到外部RAM中),则多路开关“控制”信号为‘1’,“与门”解锁,与输出地址信号的工作流程类似,数据据由“地址/数据”线→反相器→V2场效应管栅极→V2漏极输出。

输入过程:

读芯片引脚上的数据时,读引脚缓冲器打开,通过内部数据总线输入。

通过打开读锁存器三态缓冲器,读取锁存器输出端Q的状态。

作为数据总线使用时,在访问外部程序存储器时,P0口输出低8位地址信息后,将变为数据总线,以便读指令码(输入)。

在取指令期间,“控制”信号为“0”,V1管截止,多路开关也跟着转向锁存器反相输出端Q非;

CPU自动将0FFH(11111111,即向D锁存器写入一个高电平‘1’)写入P0口锁存器,使V2管截止,在读引脚信号控制下,通过读引脚三态门电路将指令码读到内部总线,这个过程和I/O读引脚过程是一样的。

在输入状态下,从锁存器和从引脚上读来的信号一般是一致的,但也有例外。

例如,当从内部总线输出低电平后,锁存器Q=0,Q非=1,场效应管T2开通,端口线呈低电平状态。

此时无论端口线上外接的信号是低电乎还是高电平,从引脚读入单片机的信号都是低电平,因而不能正确地读入端口引脚上的信号。

又如,当从内部总线输出高电平后,锁存器Q=1,Q非=0,场效应管T2截止。

如外接引脚信号为低电平,从引脚上读入的信号就与从锁存器读入的信号不同。

为此,8031单片机在对端口P0-P3的输入操作上,有如下约定:

凡属于读-修改-写方式的指令,从锁存器读入信号,其它指令则从端口引脚线上读入信号。

读-修改-写指令的特点是,从端口输入(读)信号,在单片机内加以运算(修改)后,再输出(写)到该端口上。

这样安排的原因在于读-修改-写指令需要得到端口原输出的状态,修改后再输出,读锁存器而不是读引脚,可以避免因外部电路的原因而使原端口的状态被读错。

当P0作为地址/数据总线使用时,在读指令码或输入数据前,CPU自动向P0口锁存器写入0FFH,破坏了P0口原来的状态。

因此,不能再作为通用的I/O端口。

在系统设计时务必注意,即程序中不能再含有以P0口作为操作数(包含源操作数和目的操作数)的指令。

2.4.2P1端口的结构及工作原理

P1端口与P0端口的主要差别在于,P1端口用内部上拉电阻R代替了P0端口的场效应管T1,并且输出的信息仅来自内部总线。

由内部总线输出的数据经锁存器反相和场效应管反相后,锁存在端口线上,所以,P1端口是具有输出锁存的静态口。

要正确地从引脚上读入外部信息,必须先使场效应管关断,以便由外部输入的信息确定引脚的状态。

为此,在作引脚读入前,必须先对该端口写入l。

具有这种操作特点的输入/输出端口,称为准双向I/O口。

8051单片机的P1、P2、P3都是准双向口。

P0端口由于输出有三态功能,输入前,端口线已处于高阻态,无需先写入l后再作读操作。

单片机复位后,各个端口已自动地被写入了1,此时,可直接作输入操作。

如果在应用端口的过程中,已向P1-P3端口线输出过0,则再要输入时,必须先写1后再读引脚,才能得到正确的信息。

此外,随输入指令的不同,P1端口也有读锁存器与读引脚之分。

2.4.3P2端口的结构及工作原理

P2端口在片内既有上拉电阻,又有切换开关MUX,所以P2端口在功能上兼有P0端口和P1端口的特点。

这主要表现在输出功能上,当切换开关向下接通时,从内部总线输出的一位数据经反相器和场效应管反相后,输出在端口引脚线上;

当多路开关向上时,输出的一位地址信号也经反相器和场效应管反相后,输出在端口引脚线上。

对于8031单片机必须外接程序存储器才能构成应用电路(或者我们的应用电路扩展了外部存储器),而P2端口就是用来周期性地输出从外存中取指令的地址(高8位地址),因此,P2端口的多路开关总是在进行切换,分时地输出从内部总线来的数据和从地址信号线上来的地址。

因此P2端口是动态的I/O端口。

输出数据虽被锁存,但不是稳定地出现在端口线上。

其实,这里输出的数据往往也是一种地址,只不过是外部RAM的高8位地址。

在输入功能方面,P2端口与P0和H端口相同,有读引脚和读锁存器之分,并且P2端口也是准双向口。

可见,P2端口的主要特点包括:

1)不能输出静态的数据;

2)自身输出外部程序存储器的高8位地址;

3)执行MOVX指令时,还输出外部RAM的高位地址,故称P2端口为动态地址端口。

P2作为I/O端口使用时的工作过程:

当没有外部程序存储器或虽然有外部数据存储器,但容易不大于256B,即不需要高8位地址时(在这种情况下,不能通过数据地址寄存器DPTR读写外部数据存储器),P2口可以I/O口使用。

这时,控制信号为“0”,多路开关转向锁存器同相输出端Q,输出信号经内部总线→锁存器同相输出端Q→反相器→V2管栅极→V2管9漏极输出。

由于V2漏极带有上拉电阻,可以提供一定的上拉电流,负载能力约为8个TTL与非门;

作为输出口前,同样需要向锁存器写入“1”,使反相器输出低电平,V2管截止,即引脚悬空时为高电平,防止引脚被钳位在低电平。

读引脚有效后,输入信息经读引脚三态门电路到内部数据总线。

P2作为地址总线使用时的工作过程:

P2口作为地址总线时,“控制”信号为‘1’,多路开关车向地址线(即向上接通),地址信息经反相器→V2管栅极→漏极输出。

由于P2口输出高8位地址,与P0口不同,无须分时使用,因此P2口上的地址信息(程序存储器上的A15~A8)功数据地址寄存器高8位DPH保存时间长,无须锁存。

2.4.4P3端口的结构及工作原理

P3口是一个多功能口,它除了可以作为I/O口外,还具有第二功能P3端口和Pl端口的结构相似,区别仅在于P3端口的各端口线有两种功能选择

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2