基于51单片机的音乐播放器制作

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

电子科技大学成都学院课程设计1的简介:AT89C51:是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。主要功能特性:1)与MCS-51兼容;2)4K字节可编程FLASH存储器;3)全静态工作:0Hz-24MHz;4)128×8位内部RAM;5)两个16位定时器/计数器;6)5个中断源;7)可编程串行通道;8)低功耗的闲置和掉电模式;9)片内振荡器和时钟电路。AT89C52:是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。主要功能特性:1)兼容MCS51指令系统;2)8kB可反复擦写(大于1000次)FlashROM;电子科技大学成都学院课程设计23)32个双向I/O口;4)256x8bit内部RAM;5)3个16位可编程定时/计数器中断;6)时钟频率0-24MHz;7)2个串行中断,可编程UART串行通道;8)2个外部中断源,共8个中断源;9)2个读写中断口线,3级加密位;10)低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。1.1.1结论我们通过集成电路和2款单片机的属性和优缺点对比,我们觉得AT89C51单片机芯片更加适合本次实验的中心控制芯片。第3章硬件设计3第2章硬件设计2.1硬件结构图3-1是以AT89C51单片机为核心的音乐播放器系统硬件设计结构框图。该系统主要是由复位电路、按键电路、时钟电路、中心模块、扬声器驱动等组成。其工作原理为:此音乐播放器,有三个按键及控制按钮:播放/暂停、下一曲、上一曲;通过控制按钮控制单片机,播放所要求的音乐,并通过放大电路和喇叭输出声音。图3-1硬件结构图2.2中心控制模块中控采用的是AT89C51芯片,下面是AT89C51的引脚图:电子科技大学成都学院课程设计4图3-2AT89C51引脚图各端口作用:P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能第3章硬件设计5P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89C52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)电子科技大学成都学院课程设计6此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。2.3电源模块对于一个电子系统来说,电源部分的设计越发重要。对于一个实际的电子系统,要认真的分析它的电源需求。不仅仅是关心输入电压,输出电压和电流,还要考虑到总的功率,电源实现的效率,电源部分对负载变化的瞬态响应能力,关键器件对电源波动的容忍范围以及相应的允许的电源纹波,还有散热问题等等。本次设计基于AT89C51功率因数测量系统中使用到咯+5V的电源,电源设计的原理图如下。电路中使用到的芯片是7805,7805是稳压芯片,好处是应用比较简单,只需要接上几个电容就可以使用了。第3章硬件设计7图3-3电源电路图2.4控制电路控制电路,键1与P3.2相连、键2与P3.3相连、键3与P3.5相连。当电键按下时接口接低电平,实现对音乐播放器的控制。键1连通实现上一曲更换,键二连通实现下一曲更换,键三连通实现开始暂停操作。2.5复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。复位电路采用RC充电电路组成上电复位单片机电路,当系统上电时,在上电初期,电容C充电,使复位脚持续高电平,当C充电到达一定程度复位脚电位会慢慢变低,最后被电阻R完全拉低,高电平复位的时间由充电的时间决定,充电时间又由R与C的阻值和容值之积决定。一旦单片机复位脚拉低后就一直都低电平,只有下电后再上电才重新开始复位过程。电路图如下所示:电子科技大学成都学院课程设计8图3-4复位电路图第3章硬件设计92.6电路设计所需要的器件表3-1电路设计器件表类别序号型号数量(单位)用途电源178051个系统电源IC芯片2AT89c511片CPU3LM3861片实时时钟日历芯片电容430pF2个单片机时钟震荡电路510μF1个复位电路60.1μF1个7470μF1个822μF1个947μF1个100.047μF1个11100μF1个晶振1212MHz1支电阻134.5KΩ1支141KΩ2支复位电路1510KΩ1支限压保护16470Ω1支喇叭1774F3781个扬声器硬质板18焊接性1块基础电路二极管191N40011个电源部分20发光二极管1个检测电源电子科技大学成都学院课程设计10第3章软件设计3.1音乐发声设计原理3.1.1发声原理一首乐曲是由多个音符构成的。每个音符都对应着一个确定的频率,乐曲中不同的音符,实质就是不同频率的声音;另外每个音符会根据乐曲的要求设定一个确定的节拍。可以控制单片机产生不同频率不同节拍的脉冲信号,由蜂鸣器发出就产生了美妙和谐的乐曲。3.1.2单片机产生不同频率脉冲信号的原理1、要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。2、利用单片机内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法如下:例如:频率为523Hz,其周期天/523S=1912uS,因此只要令计数器计时956uS/1us=956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。计数脉冲值与频率的关系公式如下:N=Fi/2/Fr(4-1)其中N表示计数值;Fi表示内部计时一次为1uS,故其频率为1MHz;Fr表示要产生的频率。3、其计数值的求法如下:T=65536-N=65536-Fi/2/Fr(4-2)计算举例:第4章软件设计11设K=65536,F=1000000=Fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr低音DO的T=65536-500000/262=63628。中音DO的T=65536-500000/523=64580。高音DO的T=65536-500000/1047=65059。4、每个音符使用1个字节,字节高4位代表音符高低,低4位代表音符节拍。假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。只要求得1/4拍的DELAY时间,其余节拍则为它的倍数,本设计取4/4调值,延时时间为125ms,其中节拍码与实际节拍对照表4-1-1。表4-1简谱对应的频率、简谱码和计数初值表简谱发音频率(Hz)计数初值简谱码5低音SO3926426016低音LA4406440027低音SI4946452431中音DO5236458042中音RE5876468453中音MI6596477764中音FA6986482075中音SO7846489886中音LA8806496897中音SI98865030A1高音DO104665058B2高音RE117565110C3高音MI131

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功