单片机音乐发声器1.docx

上传人:b****6 文档编号:8675792 上传时间:2023-02-01 格式:DOCX 页数:16 大小:98.07KB
下载 相关 举报
单片机音乐发声器1.docx_第1页
第1页 / 共16页
单片机音乐发声器1.docx_第2页
第2页 / 共16页
单片机音乐发声器1.docx_第3页
第3页 / 共16页
单片机音乐发声器1.docx_第4页
第4页 / 共16页
单片机音乐发声器1.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

单片机音乐发声器1.docx

《单片机音乐发声器1.docx》由会员分享,可在线阅读,更多相关《单片机音乐发声器1.docx(16页珍藏版)》请在冰豆网上搜索。

单片机音乐发声器1.docx

单片机音乐发声器1

单片机音乐发声器

摘要

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。

现当今,利用单片机控制音乐播放多不胜举.音乐芯片也相当之多,而利用单片机存储音乐,控制播放最为广泛.它有功能多﹑价格优﹑外围电路简单的特点,很受音乐爱好者及音乐芯片制造商的青昧.本文中,用单片机芯片及少数外围电路控制音乐播放。

对于单片机产生音乐,关键是控制频率的输出.我们知道,不同的声音对应不同的频率,产生有规律的频率输出就可以得到相应规律的声音.有8个基本音符:

do﹑re﹑mi﹑fa﹑so﹑la﹑xi﹑do,八个不同的音符对应着不同的频率.只要我们对照音符输出相对应的频率,就可以产生美妙的音乐.本文中采用了T0中断方式产生不同频率,并用按键控制音乐的播放和停止。

用三极管、电阻等组成的放大电路驱动扬声器。

关键词单片机/音乐/按键/频率

 

 

ABSTRACT

 

Inrecentyearsalongwithscienceandtechnologydevelopfast,theapplicationofsingleflatmachineismovingtowardsthoroughcontinuously,atthesametimedrivetraditionalcontroldetectiondaythebenefitofnewmoonupdate.Intheonlyflatmachineapplicationsystemoftheautomaticcontrolanddetectionofrealtime,onlyflatmachineisoftentouseasakeyparts,onlysingleflatmachineaspectknowledgeisinsufficient,returnshouldbasisspecificlyhardwarestructure,aswellasaimatthesoftwarethatappliesobjectcharacteristicspecificlycombination,perfect.

Now,musicplayingisalotswhichmicrochipcontrol.Themusicchipisverymuch.Butitisatbesttoapplythemicrochip.Ithasthecharacteristicwhichfunctionismuchandpriceisalittleandout’scircuitisafew.Soitisusedbypeoplewholikemusicandmanufacturethemusicchip.Thischapter,usingmicrochipandafewoutcircuitcontroltheplayingofmusic,andgivebirthtomusicofhappybirthday,withinglampionswichoverworking.Musicandlighthavesynchronouseffect.

Forthemicrochipgivingbirthtomusic,theimportanceiscontrollingoutputoffrequence.theoutputoffrequencewhichhasrulecangainmusicthatruleaccordingly.Haveeightbasicmusic’sbits:

do,re,mi,fa,so,la,xi,do,eightbasicbitshavedifferentfrequence.Soifweoutputfrequenceofmusicbasicbitaccordingly,musiccangainaccordinglytoo.TheoutputoffrequenceusedmethodofT0stoppinginthischapter,andtwokeypresscontrolplayingandstop.

Wecontrolmusicbymicrochip,thekeypresscontrolplaying,andcontrolspeakerbyin-phaseblowingupmethodofcountingblowingup.

KEYWORDSsingleflatmachine,music,keypress,frequency

 

摘 要 ...............................................Ⅰ

ABSTRACT .............................................Ⅱ

1绪论 ...............................................1

2单片机概述...........................................2

3硬件设计.............................................3

3.1 芯片简介........................................3

3.2 引脚说明........................................4

3.3 主要电路设计....................................7

3.3.1时钟电路.........................................8

3.3.2复位电路.........................................8

3.4电路图的设计....................................8

4软件设计.............................................10

4.1程序流程图......................................10

4.2程序............................................11

4.3定时器的初始化设置..............................14

4.4音乐发声器发音原理..............................15

5焊接及调试...........................................16

5.1焊接...........................................16

5.2调试............................................16

5.2.1硬件调试..........................................17

5.2.2软件调试..........................................17

5.2.3软硬联调..........................................17

结束语.................................................18

致谢...................................................19

参考文献...............................................20

附录...................................................21

 

1绪论

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

◆可设计多个按键操作来选择演奏哪一首歌曲。

◆以随机数方式自动演奏歌曲。

◆设计程序可以以按键来实现前进和后退。

◆修改程序可以演奏伴奏音,或是如手机上播放的和谐铃声。

 

2单片机概述

一台能够工作的计算机要有这样几个部分构成:

CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:

串行口、并行输出口等)。

在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。

而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部分外,还集成了其它部份如A/D,D/A等【1】。

单片机的体积也不大,一般用40脚封装,当然功能多一些的单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只有8只引脚。

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

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

本设计就是用89C51来完成的。

 

3硬件设计

一个单片机应用系统的硬件电路设计包含有两部分内容:

一是系统扩展,即单片机内部的功能单元,如ROM﹑RAM﹑I/O口﹑定时/计数器﹑中断系统等能量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。

二是系统配置,既按照系统功能要求配置外围设备,如键盘显示器﹑打印机﹑A/D﹑D/A转换器等,要设计合适的接口电路。

3.1芯片简介

89C51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。

如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。

它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。

但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。

1)微处理器

该单片机中有一个8位的微处理器,与通用的微处理器基本相同,同样包括了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以进行位变量的处理。

2)数据存储器

片内为128个字节,片外最多可外扩至64k字节,用来存储程序在运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等,所以称为数据存储器。

3)程序存储器

由于受集成度限制,片内只读存储器一般容量较小,如果片内的只读存储器的容量不够,则需用扩展片外的只读存储器,片外最多可外扩至64k字节。

4)中断系统

具有5个中断源,2级中断优先权。

5)定时器/计数器

片内有2个16位的定时器/计数器,具有四种工作方式。

6)串行口

1个全双工的串行口,具有四种工作方式。

可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。

7)P1口、P2口、P3口、P4口

为4个并行8位I/O口。

8)特殊功能寄存器

共有21个,用于对片内的各功能的部件进行管理、控制、监视。

实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。

由上可见,89C51单片机的硬件结构具有功能部件种类全,功能强等特点。

特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个1位微计算机有自己的CPU、位寄存器、I/O口和指令集。

1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;而8位机在数据采集,运算处理方面有明显的长处。

MCS-51单片机中8位机和1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是MCS-51单片机在设计的精美之处。

3.2引脚说明

MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚。

 

 

图3-1引脚图

P0.0~P0.7P0口8位双向口线(在引脚的39~32号端子)。

P1.0~P1.7P1口8位双向口线(在引脚的1~8号端子)。

P2.0~P2.7P2口8位双向口线(在引脚的21~28号端子)。

P3.0~P3.7P3口8位双向口线(在引脚的10~17号端子)。

(1)P0口有三个功能:

1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)

2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)

3、不扩展时,可做一般的I/O口使用,但内部无上拉电阻,作为输入或输出时

应在外部接上拉电阻。

(2)P1口功能:

P1口只做I/O口使用:

其内部有上拉电阻。

(3)P2口有两个功能:

1、扩展外部存储器时,当作地址总线使用

2、做一般I/O口使用,其内部有上拉电阻

(4)P3口有两个功能:

除了作为I/O口使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。

当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。

(5)ALE/PROG地址锁存控制信号:

在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。

PROG为编程脉冲的输入端,在89c51单片机内部有一个4KB的程序存储器(ROM),ROM的作用就是用来存放用户需要执行的程序的,那么我们是怎样把编写好的程序存入进这个ROM中的呢?

实际上是通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是PROG。

(6)PSEN外部程序存储器读选通信号:

在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作:

1、内部ROM读取时,PSEN不动作;

2、外部ROM读取时,在每个机器周期会动作两次;

3、外部RAM读取时,两个PSEN脉冲被跳过不会输出;

4、外接ROM时,与ROM的OE脚相接。

(7)EA/VPP访问程序存储器控制信号:

1、接高电平时:

CPU读取内部程序存储器(ROM)

2、接低电平时:

CPU读取外部程序存储器(ROM)。

8031单片机内部是没有ROM的,那么在应用8031单片机时,这个脚是一直接低电平的。

(8)RST复位信号:

当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。

(9)XTAL1和XTAL2:

外接晶振引脚。

当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。

(10)VCC:

电源+5V输入

(11)GND:

接地

3.3主要电路设计

89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的系统简单﹑可靠。

本设计利用单片机芯片构成应用系统时,主要是将单片机接上时钟电路和复位电路。

其应用特点:

◆有可供用户使用的大量I/O口线。

◆内部存储器容量有限。

◆应用系统开发具有特殊性。

3.3.1时钟电路

89C51虽然有内部振荡电路,但要形成时钟,必须外部附加电路。

89C51单片机的时钟产生方法有两种:

内部时钟方式和外部时钟方式。

本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。

振荡晶体可在1.2MHZ到12MHZ之间选择。

电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2可在20pF到100pF之间取值,但在60pF到70pF时振荡器有较高的频率稳定性。

所以本设计中,振荡晶体选择12MHZ,电容选择20pF。

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

3.3.2复位电路

89C51的复位是由外部的复位电路来实现的。

复位引脚RST通过一个施密特触发器用来抑制噪声,在每个机器周期的S5P2,施密特触发器的输出电平由复位

电路采样一次,然后才能得到内部复位操作所需要的信号。

复位电路通常采用上电自动复位和按钮复位两种方式。

最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。

只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。

时钟频率用12MHZ时C取10uF,R取1KΩ。

除了上电复位外,有时还需要按键手动复位。

本设计就是用的按键手动复位。

按键手动复位有电平方式和脉冲方式两种。

其中电平复位是通过RST端经电阻与电源Vcc接通而实现的。

3.4电路图的设计(见附录)

 

4软件设计

在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。

因此,软件设计在微机控制系统设计中占重要地位。

对于本系统,软件更为重要。

在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。

数据处理包括:

数据的采集、数字滤波、标度变换等。

过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。

4.1程序流程图

主程序开始

初始化变量

 

初始化定时器

等待按键,N

是否有按键

↓Y

演奏歌曲

图4-1流程图

4.2程序

LOEQU30H

SIEQU31H

TCEQU32H

ORG0000H

JMPBEGIN

ORG000BH

JMPTOINT

BEGIN:

MOVSP,#60H

MOVTMOD,#00H

MOVIE,#82H

WAIT:

JBP1.4,RUN

JMPWAIT

RUN:

ACALLSOUNDON

ACALLPLAYSONG

ACALLSOUNDOFF

JMPWAIT

PLAY:

ACALLLOADVALUE

L1:

MOVR5,#30

ACALLDELAY

DJNZR3,L1

ACALLSOUNDOFF

MOVR5,#3

ACALLDELAY

ACALLSOUNDON

RET

PLAYSONG:

MOVTC,#0

X0:

MOVDPTR,#SONG

MOVA,TC

MOVCA,@A+DPTR

MOVR4,A

CJNEA,#0FFH,X1

RET

X1:

MOVDPTR,#LEN

MOVA,TC

MOVCA,@A+DPTR

MOVR3,A

ACALLPLAY

INCTC

JMPX0

RET

SOUNDON:

SETBTR0

RET

SOUNDOFF:

CLRTR0

RET

LOADVALUE:

MOVDPTR,#SILIST

MOVA,R4

MOVCA,@A+DPTR

MOVSI,A

MOVDPTR,#LOLIST

MOVA,R4

MOVCA,@A+DPTR

MOVLO,A

RET

TOINT:

MOVTL0,LO

MOVTH0,SI

CPLP3.4

RETI

DELAY:

MOVR6,#35

D1:

MOVR7,#70

DJNZR7,$

DJNZR6,D1

DJNZR5,DELAY

RET

SILIST:

DB196,202,208,211,216,220,224

DB226,229,232,233,236,238,240

DB241,242,244,244,246,247,248

LOLIST:

DB4,28,21,7,5,16,12

DB4,13,10,20,3,8,6

DB2,23,5,26,1,4,3

SONG:

DB12,15,13,12,12,10,12,13,15,12,12,13,12,10,9,9,10,12,10,9,10,8

DB12,15,13,15,12,10,12,9,10,12,10,12,13,15,12,13,12,10,12,8,10,9

DB10,9,8,9,10,13,12,10,12,13,12,15,13,12,10,12,9,12,9,10,9,8,0FFH

LEN:

DB2,1,1,2,2,1,1,1,1,2,2,2,1,1,2,2,2,1,1,1,1,3

DB2,2,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2

DB1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,2,0FFH

END

4.3定时器的初始化设置

以下介绍如何以定时器产生各种频率的声音,可以通过喇叭发出“DO”、“RE”、“ME”……的音阶,实验仍以定时器0工作于模式0,计时时间长短按所发音的频率而定,下表是我们所介绍的频率值【2】:

表4-1频率值

低音

1

2

3

4

5

6

7

频率

262

294

330

349

392

440

494

中音

1

2

3

4

5

6

7

频率

523

587

659

698

784

880

987

高音

1

2

3

4

5

6

7

频率

1046

1174

1318

1396

1567

1760

1975

通过频率值我们可以推得定时计数器,它们的关系介绍如下:

t=1/f;

co=t/2;

lo=(8192-co)%32;

hi=(8192-co)/32;

其中符号的含义说明如下:

◆f:

频率值

◆t:

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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