基于AT89C2051和芯片LM386构成的音乐播放器

2020-04-20 22:59

音乐播放器的制作

摘 要

作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括“Do“、“Re“、“Me“--等音阶在内的各种频率声音。在此设计中我们采用12MHz的晶振,产生的频率信号即音乐信号由P1.0口输出,信号经过放大后由喇叭发出声音。

乐曲中,每一音符对应着确定的频率,我们可以参照给出的各音符频率及其相应的时间常数来编写程序,根据表中所提供的常数,将其16进制代码送入芯片里,可以奏出音符。音符的节拍我们可以用定时器T0来控制,送入不同的初值,就可以产生不同的定时时间。便如某歌曲的节奏为每分钟94拍,即一拍为0.64秒。其它节拍与时间的对应关系也可以从两者关系表中得到。

定时器T0工作在定时方式1,改变TH0及TL0,产生不同的音频频率。要编写的乐谱按要求以音符字节数据表的形式存放在程序中,改变乐曲就是通过改变该数据表的内容来实现的。主程序的任务是按顺序读取数据表中的字节,根据情况调用音级子程序和音长子程序,启动定时器T0进行工作。

关键词: 音乐播放器、 节拍、 音频频率

Abstract

SCM as important resources of the hardware, using the timer could have a variety of fixed-frequency square-wave signal,and also could have included \\and \-- such as scale, the frequency sound ,In this design, we used 12 MHz oscillator, the frequency signal that the music signal output from P3.7 mouth, After signal amplified by the loudspeaker to make their voices heard.

Music, each note corresponds to determine the frequency, We can refer to the notes given to the frequency and time constant corresponding to the preparation process.According to the table provided by the constant, 16 to 229 of its code into the chip, and then the music can be played.We celebrate the rhythms T0 timer can be used to control and to different initial value, it can have different timing time.for exaple,some songs to the rhythm of each

1

94-minute film, a film of 0.64 seconds. Other rhythms and the time relationship can also relations between the two tables.

Timer T0 work in a regular manner, cytokines and TL0 change, the different audio frequencies. To prepare the scores required to note byte data table in the form of stored procedures, change is the music of the data by changing the content to achieve they.The main program is a sequential read data byte table, according to the sound level of the subroutine call and audio eldest son procedures, start timer T0 work.

Keywords:music player, beats, audio frequency

2

一、方案选择

利用AT89C2051和芯片LM386构成的音乐播放器

利用AT89C2051和芯片LM386构成的音乐播放器的电路图比较简单,而且LM386的放大和滤波效果好,因此选用此方案。具体分析如下:

1.1 AT89C51的主要特性和引脚功能

AT89C51是带4K字节闪烁可编程可擦除只读存储器(EPEROM)的低电压、高性能CMOS

8位微处理器(俗称单片机)。该单片机与工业标准的MCS-51型机的指令集和输出引脚兼容。AT89C51将多功能8位CPU和闪烁存储器组合在单个芯片中,为很多嵌入式控制提供了灵活性高且价格低廉的方案。 AT89C51的主要特性如下: 寿命达1000写/擦循环; 数据保留时间:10年; 全静态工作:0Hz-24MHz; 三级程序存储器锁定; 128×8位内部RAM; 32可编程I/O线; 2个16位定时器/计数器; 5个中断源; 可编程串行通道; 低功耗闲置和掉电模式; 片内振荡器和时钟电路。

AT89C51引脚排列如图1所示,引脚功能如下:

3

图1 AT89 C51的引脚排列

VCC(40):+5V。 GND(20):接地。

P0口(39-32):P0口为8位漏极开路双向I/O口,每引脚可吸收8个TTL门电流。 P1口(1-8):P1口是从内部提供上拉电阻器的8位双向I/O口,P1口缓冲器能接收和输出4个TTL门电流。

P2口(21-28):P2口为内部上拉电阻器的8位双向I/O口,P2口缓冲器可接收和输出4个TTL门电流。

P3口(10-17):P3口是8个带内部上拉电阻器的双向I/O口,可接收和输出4个TTL门电流,P3口也可作为AT89C51的特殊功能口。

RST(9):复位输入。当振荡器复位时,要保持RST引脚2个机器周期的高电平时间。 ALE/PROG(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据存储器时,将跳过1个ALE脉冲。

PSEN(29):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期2次PSEN有效,但在访问外部数据存储器时,这2次有效的PSEN信号将不出现。 EA/VPP(31):当EA保持低电平时,外部程序存储器地址为(0000H-FFFFH)不管是否

4

有内部程序存储器。FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1(19):反向振荡器放大器的输入及内部时钟工作电路的输入。 XTAL2(18):来自反向振荡器的输出

1.2 自动播放系统的设计

自动播放系统如图2所示,AT89C51的P1.0端接音频放大模块的IN+端口,在音

频放大模块的VOUT端接一个8欧姆或者16欧姆的喇叭。

1.3 电路设计及音乐编程原理

若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即

为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。

利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为 523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO (523Hz)。

图2 自动播放系统

5


基于AT89C2051和芯片LM386构成的音乐播放器.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:粤语粤方言声调及分布区域探秘

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: