您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 89C51 音乐播放器1
89S52音乐播放器摘要:本音乐播放器是利用89S52单片机结合内部定时系统及LED显示器,设计一个简易的微电脑音乐盒。本设计按下单键可以实现音乐播放功能,演奏预先设置的歌曲旋律,并且在数码管上显示出该曲目的编号,最重要的是自己还可以经过程序设计来输入新的歌曲,将自己喜爱的歌曲输入程序中,它可以经常发出宜人的音乐旋律,增加生活的乐趣。关键词:89S52单片机音乐播放LEDMusicbroadcastby89S52Summary:Themusicbroadcastbycombininginternaltimingistheuseof89S52singlecomputerleddisplaysystemsandthedesignofasimplemicrocomputermusicboxes.Thedesignpresssinglecomputerachievablemusicbroadcastfunctionatthepre-establishmentsongmelodies,andincontrolofthedigitalshowtherepertoireofnumbers,themostimportantthingisitcanreadtheproceduresdesignedtoimportnewsongs,thesongshelovedtoimportprocedures,itcanoftensendpleasantmusic,andincreaselifefun.Keyword:8052singlecomputermusicbroadcastled目录第一章绪论………………………………………………………………1第二章音乐播放器主要器件相关知识介绍……………………………22.1AT89C51…………………………………………………………22.2LED显示器………………………………………………………42.3喇叭……………………………………………………………52.4Cd4511译码器………………………………………………5第三章音乐播放器设计原理…………………………………………63.1单片机发声的基本原理…………………………………………63.2设计的相关音乐说明…………………………………………73.3音乐播放器设计功能说明…………………………………………73.4设计结构框图……………………………………………………93.5主程序控制的工作流程图……………………………………………103.6播放音乐的主程序……………………………………………11结束语…………………………………………………………………15致谢……………………………………………………………………………15参考文献………………………………………………………………………15第一章绪论二十世纪九十年代以来,计算机、信息、电子、控制、通信等技术得到迅速发展,促使了社会生产力的提高,也使人们的生产方式和生活方式产生了日新月异的变化。随着人们生活水平的提高及对音乐的喜爱,对音乐播放器的品质,功能,品种等提出了越来越多的要求,表现在对控制系统性能、可靠性等要求越来越高。而品质的提高,功能的更新,可靠性的增强,品种的变化无不于产品的核心控制部分水平的提高密不可分。家用音乐播放器产品及其它有关消费电器产品都是一些开环或闭环控制系统,都由核心控制部分,执行部分与人机界面三部分组成。而最为重要的控制部分一般是由单片机来执行完成的,这就必将导致和促进单片机在音乐领域应用的发展。现在这些由单片机实现的音乐播放器的功能越来越强、费用越来越低。例如,就市场上的mp3目前的功能越来越强大体积却越来越小,价格也逐渐便宜,被大多数人所能接受。但这些音乐播放器也或多或少的存在着一些问题,解决这些问题,还除智能化的单片机莫属。第二章音乐电子显示屏主要器件相关知识介绍制作音乐播放器所使用的主要元器件AT89S521个晶振12MHZ1个LED“8”型数码显示管1个LM3861个小喇叭1个电容30pf2个10uf2个0.00472uf1个47uf1个电阻10k1个470欧1个10欧1个开关1个2.1AT89S52:AT89S52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89S52芯片流程图(2.1-1)图2.1-1单片机89S52采用40Pin封装的双列直接。下图是它们的引脚配置:40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:·20:接地脚。·40:正电源脚,工作时,接+5V电源。·19:时钟XTAL1脚,片内振荡电路的输入端。·18:时钟XTAL2脚,片内振荡电路的输出端。8051的时钟有两种方式,一种是片内时钟振荡方式但需在18和19脚外接石英晶体(2-12MHz)和振荡电容,振荡电容的值一般取10p-30p。另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。输入输出(I/O)引脚:Pin39-Pin32为P0.0-P0.7输入输出脚。Pin1-Pin8为P1.0-P1.7输入输出脚。芯片引脚简要说明Vcc(40):+5V电源Vss(20):接地P0口(32~39):为8位双向三态I/O口P1口(8~1):是带内部上拉电阻结构的8位准双向I/O口P2口(28~21):也是带内部上拉电阻结构的8位准双向I/O口P3(17~10):也是带内部上拉电阻结构的8位准双向I/O口,但在整个系统中,对相应的口锁存器置“1”后,这8个脚还具有第二功能。RST/VPD(9):复位信号线ALE/PROG(30):地址锁存有效信号线PSEN(29):外部程序存储器读选通信号线EN/VPP(31):内部和外部程序存储器的选择线XTAL1(19)和XTAL2(18):接外部石英晶体XTAL1(19)和XTAL2(18):接外部石英晶体I/O端口:8051共有4I/O端口,为P0,P1,P2,P3;4个I/O口都是双向的,且每个口都具有锁存器。每个端口有8条线,共计32条I/O线。P0.0~P0.7;P1.0~P1.7;P2.0~P2.7;P3.0~P3.71.P0有三个功能1)。外部扩充存储器时,作数据总线(D0~D7)2)。外部扩充存储器时,作地址总线(A0~A7)3)。不扩充时,作一般I/O使用,内部无上拉电阻,作为输出/输入使用时应加上拉电阻2.P1只作I/O口使用,有内部上拉电阻。3.P2有两个功能1)。扩充外部存储器时,作地址总线(A8~A15)使用。2)。作一般I/O口使用,有内部上拉电阻。2.2LED显示器本设计用的显示块是由若干发光二极管组成的“8”字显示块,由“a,b,c,d,e,f,h”8个发“8”字型光二极管组成,如右图所示:为了获得不同的字形,在各显示段上加上不同的电平图2.2-1由于电平不同,因而编码也不一样,如下表字形与字段关系表(2.2-2):D7D6D5D4D3D2D1D0字形hgfedcba编码0001111113F100000110062010110115B3010011114F401100110665011011016D6011111017D700000111078011111117F9011011116Fa0111011177b011111007Cc0011100139d010111105Ee0111100179f0111100171图2.2-32.3:喇叭(如下图2.3-1)图2.3-1此电路当B2孔悬空时,三极管截止,没有电流通过喇叭,音膜不动。当B2孔接在低电位上时,有电流通过,音膜被拉动,发出声音。2.4Cd4511译码器:这里所说的译码器是将二进制码译成十进制数字符的器件。实验中选用的CD4511是一个BCD码七段译码器,并兼有驱动功能,内部没有限流电阻,与数码管相连接时,需要在每段输出接上限流电阻。CD4511图(2.4-1):VccfgabcdeBCLTBILEDAVss图2,4-1169CD451118CD4511功能表(2.4-2)输入输出显示字符LEBILTDCBAgfedcbaXX0XXXXX01XXXX111XXXX011000001100010110010011001101101000110101011011001101110111000011100111111110000000不变01111110000110101101110011111100110110110111111010000111111111111011118灭维持01234567890111010011111100000000000000灭灭图2.4-2第三章音乐播放器设计原理3.1单片机发声的基本原理我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。音符的节拍我们可以用定时器T0来控制,送入不同的初值,就可以产生不同的定时时间。便如某歌曲的节奏为每分钟94拍,即一拍为0.64秒。但是,由于T0的最大定时时间只能为131毫秒,因此不可能直接用改变T0的时间初值来实现不同节拍。我们可以用T0来产生10毫秒的时间基准,然后设置一个中断计数器,通过判别中断计数器的值来控制节拍时间的长短。。例如对1/4拍音符,定时时间为0.16秒,相应的时间常数为16(即10H);对3拍音符,定时时间为1.92秒,相应时间长数为192(即C0H)。我们将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数排列成一个表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。此外,结束符和体止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。为了产生手弹的节奏感,在某些音符(例如两个相同音符)音插入一个时间单位的频率略有不同的音符。3.2设计的相关音乐说明1要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期时间。利用半周期时间定时这个半周期时间,每当计时到后就将输出的I/O反向,然后重复计时此半周期再对I/O反向,就可以在I/O脚上得到此频率的脉冲。2利用8051的内部定时器使其工作在记数模式MODE1下,改变记数值TH0及TL0以产生不同的方法。3记数脉冲值与频率的关系公式如:N=Fi/2/Fr。N:记数值:Fi:内部计时依次为1us,故其频率为1MHZ;Fr:要产生的频率;4其记数值的求法如:T=65536-N=65536-Fi/2/Fr。例:设K=65536,F=1000000=Fi=1MHZ。求低音DO(26HZ),中音DO(523HZ),高音DO(1046HZ)的记数值。5每个音符使用1个音节,字节的高四位代表音符的高低,低四位代表音符的节拍。如果1拍为0.4秒,1/4拍为0.1秒,假设1/4拍为DELAY,则1拍为4DELAY。6歌曲设计采用直觉式输入法,由程序中直接输入“01h,02h,03h”,便会演奏DOREME。3.3功能说明:1先把乐谱的音符找出,然后建立表建立T值的顺序2把T值表建立在TABLE1,构成发音符的记数值放在“TABLE”3简谱码为高位,节拍为低四位,音符节拍码放在程序的“TABLE”处。表一各调1/4节拍的时间设定各调1/8节拍的时间设定曲调值D
本文标题:89C51 音乐播放器1
链接地址:https://www.777doc.com/doc-4355295 .html