您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 音乐播放系统设计--单片机课程设计报告
1单片机课程设计报告音乐播放系统设计姓名:陈志祥,陈琪,温雪云班级:04电信(3)班学号:200435830720043583082004358324指导老师:日期:2007.7.2~2007.7.13华南农业大学工程学院i摘要作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括“Do“、“Re“、“Me“--等音阶在内的各种频率声音。在此设计中我们采用12MHz的晶振,产生的频率信号即音乐信号由P3.7口输出,信号经过放大后由喇叭发出声音。乐曲中,每一音符对应着确定的频率,我们可以参照给出的各音符频率及其相应的时间常数来编写程序,根据表中所提供的常数,将其16进制代码送入芯片里,可以奏出音符。音符的节拍我们可以用定时器T0来控制,送入不同的初值,就可以产生不同的定时时间。便如某歌曲的节奏为每分钟94拍,即一拍为0.64秒。其它节拍与时间的对应关系也可以从两者关系表中得到。定时器T0工作在定时方式1,改变TH0及TL0,产生不同的音频频率。要编写的乐谱按要求以音符字节数据表的形式存放在程序中,改变乐曲就是通过改变该数据表的内容来实现的。主程序的任务是按顺序读取数据表中的字节,根据情况调用音级子程序和音长子程序,启动定时器T0进行工作。I目录1方案比较与选择(须详细阐述创新点或新见解)··································12电路仿真与分析··············································································2.1电路仿真···············································································2.2电路分析···············································································3电路板制作、焊接、调试···································································3.1电路板制作·············································································3.2电路板焊接·············································································3.3电路板调试············································································4讨论及进一步研究建议······································································5课程设计心得··················································································Abstract····························································································参考文献··························································································11.方案比较与选择方案一:利用AT89C2051和三级管9012构成的音乐播放器一、功能特色本播放器可实现循环播放、上一曲、下一曲、复位等功能。为了体现乐曲播放过程中的动态效果,在P1口增加了8只LED,作随机闪烁以指示旋律的节奏。二、硬件设计电路以AT89C2051为主控制器,S1为复位键,S2、S3分别为上一曲、下一曲选择键。晶振采用12MHz,音乐信号由P3.7口输出,经9012放大后推动喇叭发声(电路图见图1)。三、软件设计程序中根音选取的是C调三个8度内的音符,共21个音。每个音符对应频率由定时器T0产生(音符频率及对应计数初值见附表)。为了程序调用方便,每个音符都对应一个编码,占用一个字节。在程序中以查表的方式加载计数初值。当值为00H时表示空拍,与节拍码配合完成节拍发音。节拍码也占一个字节,其总时间长度等于基本时间乘以节拍码的值。节拍码值为01H时,表示当前乐曲结束,为00H时,表示全部乐曲结束。为了编码简单,一般节拍码高半字节表示整拍,低半字节表示分数,只要基本延时设定恰当即可,为了及时响应键盘操作,键扫描指令安排在基本延时时间子程序中。按键每按下一次,乐曲数目计数器R5加1或减1,然后根据R5的内容转向不同的乐曲。本程序包含4首乐曲。若要增加更多的乐曲,在存储空间许可的情况下(可直接换用4k的AT89C4051),只要照所附的编码表将简谱转化为相应的代码附着在乐曲数据表中即可。2图1优缺点:功能有特色,本播放器可实现循环播放、上一曲、下一曲、复位等功能,但是P1口增加了8只LED,作随机闪烁以指示旋律的节奏,使得电路稍微复杂了一些,而且是用三级管9012来充当放大器和滤波,效果不好。方案二:利用AT89C2051和芯片LM386构成的音乐播放器利用AT89C2051和芯片LM386构成的音乐播放器的电路图比较简单,而且LM386的放大和滤波效果好,因此选用方案二。具体分析如下:(一):AT89C51的主要特性和引脚功能AT89C51是带4K字节闪烁可编程可擦除只读存储器(EPEROM)的低电压、高性能CMOS8位微处理器(俗称单片机)。该单片机与工业标准的MCS-51型机的指令集和输出引脚兼容。AT89C51将多功能8位CPU和闪烁存储器组合在单个芯片中,为很多嵌入式控制提供了灵活性高且价格低廉的方案。AT89C51的主要特性如下:寿命达1000写/擦循环;数据保留时间:10年;全静态工作:0Hz-24MHz;3三级程序存储器锁定;128×8位内部RAM;32可编程I/O线;2个16位定时器/计数器;5个中断源;可编程串行通道;低功耗闲置和掉电模式;片内振荡器和时钟电路。AT89C51引脚排列如图2所示,引脚功能如下:图2VCC(40):+5V。GND(20):接地。4P0口(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)不管是否有内部程序存储器。FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1(19):反向振荡器放大器的输入及内部时钟工作电路的输入。XTAL2(18):来自反向振荡器的输出(二):自动播放系统的设计自动播放系统如图3所示,AT89C51的P1.0端接音频放大模块的IN+端口,在音频放大模块的VOUT端接一个8欧姆或者16欧姆的喇叭。(三):电路设计及音乐编程原理若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=51912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。图3计数脉冲值与频率的关系式是:N=fi÷2÷fr式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。其计数初值T的求法如下:T=65536-N=65536-fi÷2÷fr例如:设K=65536,fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。6T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr低音DO的T=65536-500000/262=63627中音DO的T=65536-500000/523=64580高音DO的T=65536-500000/1046=65059C调各音符频率与计数初值T对照如表1所示。(四)主程序流程本系统主要完成作息定时和号音播放功能,因此用定时器T1中断方式产生100ms基准时间,再根据作息表上各段时间的长短对基准时间用软件计时。可以用查表方式取得计数参数,计时到后将播放子程序地址送DPTR,转入播放子程序,放2遍对应号音后再继续计时。主程序流程如图3所示。7播放子程序是用T0中断方式控制P1.0不断取反以产生不同频率音符,节拍的长短靠调用200ms延时子程序次数来完成。子程序也用查表来完成。8图2.1药液横向分布试验台试验布置2.电路仿真与分析(对所选择的电路进行软件仿真,记录仿真的步骤与出现的结果,通过仿真确定电路中各元件的参数,本部分内容中应包含仿真与分析的详细说明,题图要明确,如下文所示,全文宋体,小四号,1.5倍行距)吴罗罗等(1996)进行了不同形式、型号喷头和喷施方法的抗飘失能力的对比试验,试验布置见图2.1。用此设备对比在无风或有风等不同条件下,各类喷头的药液回收率变化及药液横向沉积分布状况,以评价各类喷头和喷施方法的抗飘失能力。试验用的喷头有两大类,一类为不同型号的扇形雾喷头,喷头安装成其雾面与气流平行。另一类是双圆盘离心喷头,单喷头喷施。喷头正下方2cm处,风速为5m/s。在药液横向分布试验台上试验时,以清水代替农药喷施。93电路板制作、焊接、调试1:电路板制作(一):PCB布局、布线基本原则1、元件布局基本规则1).按电路模块进行布局,实现同一功能的相关电路称为一个模块,电路模块中的元件应采用就近集中原则,同时数字电路和模拟电路分开;2).定位孔、标准孔等非安装孔周围1.27mm内不得贴装元、器件,螺钉等安装孔周围3.5mm(对于M2.5)、4mm(对于M3)内不得贴装元器件;3).卧装电阻、电感(插件)、电解电容等元件的下方避免布过孔,以免波峰焊后过孔与元件壳体短路;4).元器件的外侧距板边的距离为5mm;5).贴装元件焊盘的外侧与相邻插装元件的外侧距离大于2mm;6).其它元器件的布置:所有IC元件单边对齐2、元件布线规则1)、画定布线区域距PCB板边≤1mm的区域内,以及安装孔周围1mm内,禁止布线;2)、电源线尽可能的宽,不应低于18mil;信号线宽不应低于12mil;cpu入出线不应低于10mil(或8mil);
本文标题:音乐播放系统设计--单片机课程设计报告
链接地址:https://www.777doc.com/doc-3682074 .html