欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    音乐播放系统设计单片机课程设计报告.doc

    • 资源ID:3995080       资源大小:300KB        全文页数:19页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    音乐播放系统设计单片机课程设计报告.doc

    单片机课程设计报告 音乐播放系统设计 姓 名: 班 级: 04电信(3)班 学 号: 2004358307 2004358308 2004358324 指导老师: 日期: 2007.7.22007.7.13 摘 要 作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括“Do“、“Re“、“Me“-等音阶在内的各种频率声音。在此设计中我们采用12MHz的晶振,产生的频率信号即音乐信号由P37口输出,信号经过放大后由喇叭发出声音。 乐曲中,每一音符对应着确定的频率,我们可以参照给出的各音符频率及其相应的时间常数来编写程序,根据表中所提供的常数,将其16进制代码送入芯片里,可以奏出音符。音符的节拍我们可以用定时器T0来控制,送入不同的初值,就可以产生不同的定时时间。便如某歌曲的节奏为每分钟94拍,即一拍为0.64秒。其它节拍与时间的对应关系也可以从两者关系表中得到。 定时器T0工作在定时方式1,改变TH0及TL0,产生不同的音频频率。要编写的乐谱按要求以音符字节数据表的形式存放在程序中,改变乐曲就是通过改变该数据表的内容来实现的。主程序的任务是按顺序读取数据表中的字节,根据情况调用音级子程序和音长子程序,启动定时器T0进行工作。目 录1 方案比较与选择(须详细阐述创新点或新见解)12 电路仿真与分析2.1 电路仿真2.2 电路分析3电路板制作、焊接、调试3.1 电路板制作3.2 电路板焊接3.3 电路板调试4讨论及进一步研究建议5课程设计心得Abstract参考文献1方案比较与选择方案一:利用AT89C2051和三级管9012构成的音乐播放器一、功能特色 本播放器可实现循环播放、上一曲、下一曲、复位等功能。为了体现乐曲播放过程中的动态效果,在P1口增加了8只LED,作随机闪烁以指示旋律的节奏。二、硬件设计 电路以AT89C2051为主控制器,S1为复位键,S2、S3分别为上一曲、下一曲选择键。晶振采用12MHz,音乐信号由P37口输出,经9012放大后推动喇叭发声(电路图见图1)。三、软件设计 程序中根音选取的是C调三个8度内的音符,共21个音。每个音符对应频率由定时器T0产生(音符频率及对应计数初值见附表)。为了程序调用方便,每个音符都对应一个编码,占用一个字节。在程序中以查表的方式加载计数初值。当值为00H时表示空拍,与节拍码配合完成节拍发音。节拍码也占一个字节,其总时间长度等于基本时间乘以节拍码的值。节拍码值为01H时,表示当前乐曲结束,为00H时,表示全部乐曲结束。为了编码简单,一般节拍码高半字节表示整拍,低半字节表示分数,只要基本延时设定恰当即可,为了及时响应键盘操作,键扫描指令安排在基本延时时间子程序中。按键每按下一次,乐曲数目计数器R5加"1"或减"1",然后根据R5的内容转向不同的乐曲。 本程序包含4首乐曲。若要增加更多的乐曲,在存储空间许可的情况下(可直接换用4k的AT89C4051),只要照所附的编码表将简谱转化为相应的代码附着在乐曲数据表中即可。 图1优缺点:功能有特色,本播放器可实现循环播放、上一曲、下一曲、复位等功能,但是P1口增加了8只LED,作随机闪烁以指示旋律的节奏,使得电路稍微复杂了一些,而且是用三级管9012来充当放大器和滤波,效果不好。方案二:利用AT89C2051和芯片LM386构成的音乐播放器利用AT89C2051和芯片LM386构成的音乐播放器的电路图比较简单,而且LM386的放大和滤波效果好,因此选用方案二。具体分析如下:(一):AT89C51的主要特性和引脚功能     AT89C51是带4K字节闪烁可编程可擦除只读存储器(EPEROM)的低电压、高性能CMOS 8位微处理器(俗称单片机)。该单片机与工业标准的MCS51型机的指令集和输出引脚兼容。AT89C51将多功能8位CPU和闪烁存储器组合在单个芯片中,为很多嵌入式控制提供了灵活性高且价格低廉的方案。 AT89C51的主要特性如下: 寿命达1000写/擦循环; 数据保留时间:10年; 全静态工作:0Hz24MHz; 三级程序存储器锁定; 128×8位内部RAM; 32可编程I/O线; 2个16位定时器/计数器; 5个中断源; 可编程串行通道; 低功耗闲置和掉电模式; 片内振荡器和时钟电路。 AT89C51引脚排列如图2所示,引脚功能如下: 图2 VCC(40):5V。 GND(20):接地。 P0口(3932):P0口为8位漏极开路双向I/O口,每引脚可吸收8个TTL门电流。 P1口(18):P1口是从内部提供上拉电阻器的8位双向I/O口,P1口缓冲器能接收和输出4个TTL门电流。 P2口(2128):P2口为内部上拉电阻器的8位双向I/O口,P2口缓冲器可接收和输出4个TTL门电流。 P3口(1017):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保持低电平时,外部程序存储器地址为(0000HFFFFH)不管是否有内部程序存储器。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,其周期T1/5231912s,因此只要令计数器计时956s/1s956,每计数956次时将I/O反相,就可得到中音DO (523Hz)。 图3 计数脉冲值与频率的关系式是: Nfi÷2÷fr     式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。 其计数初值T的求法如下: T65536N65536fi÷2÷fr     例如:设K65536,fi1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。 T65536N65536fi÷2÷fr655361000000÷2÷fr65536500000/fr 低音DO的T65536500000/26263627 中音DO的T65536500000/52364580 高音DO的T65536500000/104665059 C调各音符频率与计数初值T对照如表1所示。 (四)主程序流程     本系统主要完成作息定时和号音播放功能,因此用定时器T1中断方式产生100ms基准时间,再根据作息表上各段时间的长短对基准时间用软件计时。可以用查表方式取得计数参数,计时到后将播放子程序地址送DPTR,转入播放子程序,放2遍对应号音后再继续计时。主程序流程如图3所示。      播放子程序是用T0中断方式控制P1.0不断取反以产生不同频率音符,节拍的长短靠调用200ms延时子程序次数来完成。子程序也用查表来完成。2.电路仿真与分析(对所选择的电路进行软件仿真,记录仿真的步骤与出现的结果,通过仿真确定电路中各元件的参数,本部分内容中应包含仿真与分析的详细说明,题图要明确,如下文所示,全文宋体,小四号,1.5倍行距)图2.1 药液横向分布试验台试验布置吴罗罗等(1996)进行了不同形式、型号喷头和喷施方法的抗飘失能力的对比试验,试验布置见图2.1。用此设备对比在无风或有风等不同条件下,各类喷头的药液回收率变化及药液横向沉积分布状况,以评价各类喷头和喷施方法的抗飘失能力。试验用的喷头有两大类,一类为不同型号的扇形雾喷头,喷头安装成其雾面与气流平行。另一类是双圆盘离心喷头,单喷头喷施。喷头正下方2cm处,风速为5m/s。在药液横向分布试验台上试验时,以清水代替农药喷施。3电路板制作、焊接、调试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);线间距不低于10mil; 3)、注意电源线与地线应尽可能呈放射状,以及信号线不能出现回环走线(二) 印制板图的设计 完成一个印制板图的设计一般都要经过原理图输入-网络表生成-定义Keepout Layer 网络表(元件)加载-元件布局-自动(手动)布线等过程。 应该注意印制线路板的走线:印制导线的布设应尽可能的短,在高频回路中更应如此;印制导线的拐弯应成圆角,而直角或尖角在高频电路*布线密度高的情况下会影响电气性能;当两面板布线时,两面的导线宜相互垂直、斜交、或弯曲走线,避免相互平行,以减小寄生耦合;作为电路的输入及输出用的印制导线应尽量避免相邻平行,以免发生回授,在这些导线之间最好加接地线。(三)所出现的问题及解决的方法问题一:用PROTEL绘制原理图,制板时产生的网络表始终有错,无法自动产生PCB板。解决方法:可以根据原理图对生成的网络表进行手工编辑, 检查通过后即可自动布线。用制板软件自动布局和布线的板面都不十分理想。网络表错误可能是没有指定原理图中元件封装;也可能是布电路板的库中没有包含指定原理图中全部元件封装。如果是单面板就不要用自动布线,双面板就可以用自动布线。也可以对电源和重要的信号线手动,其他的自动。 问题二:后期制作出现的问题解决方法:有些问题虽然发生在后期制作中,但却是PCB设计中带来的,它们是:过线孔太多,沉铜工艺稍有不慎就会埋下隐患。所以,设计中应尽量减少过线孔。同向并行的线条密度太大,焊接时很容易连成一片。所以,线密度应视焊接工艺的水平来确定。焊点的距离太小,不利于人工焊接,只能以降低工效来解决焊接质量。否则将留下隐患。    焊盘或过线孔尺寸太小,或焊盘尺寸与钻孔尺寸配合不当。前者对人工钻孔不利,后者对数控钻孔不利。容易将焊盘钻成“c”形,重则钻掉焊盘。导线太细,而大面积的未布线区又没有设置敷铜,容易造成腐蚀不均匀。即当未布线区腐蚀完后,细导线很有可能腐蚀过头,或似断非断,或完全断。所以,设置敷铜的作用不仅仅是增大地线面积抗干扰。2:焊接:出现的问题1)短路:过大的焊点造成两焊点相接.2)线路设计不良:线路或接点间太过接近(应有0.6mm以上间距);3)虚焊焊点技术小结.1)完全使用软件元件库中的元件,不加任何修改这是大部分情况下我们应该的,但有时你的器件可能多少有点出入,如果你没有用过,确认是否与库里的元件相符,最好量一下实尺寸,以免出现元件到时插不了、管脚不符等的灾难性后果。2)要保证焊接质量 焊接时确实焊牢,焊锡的堆积、气孔容易造成虚焊。焊接时间一般不超过3秒钟,烙铁的功率应用内热式25W左右。已焊接好的集成电路要仔细查看,最好用欧姆表测量各引脚间有否短路,确认无焊锡粘连现象再接通电源。 3)焊接时间不宜过长,否则容易烫坏元件,必要时可用镊子夹住管脚帮助散热。4)、焊点应呈正弦波峰形状,表面应光亮圆滑,无锡刺,锡量适中。5)、焊接完成后,要用酒精把线路板上残余的助焊剂清洗干净,以防炭化后的助焊剂影响电路正常工作。焊接技术是一项必须掌握的基本技术,需要多多练习才能熟练掌握。3:调试程序调试中出现的问题及解决的办法:1有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发行是因为程序中有的指令书写得不规范导致的,例如有的RET返回指令一定要按正确格式书写或在两行指令间最好不要留空行。2程序中的跳转指令的运用很重要,为保险起见,都用LJMP,我们就遇到过跳转指令用错程序无法正常运行的现象。当用JNZ指令时,跳转范围比较少,这时要用一个标号中转。3编程时要注意,在程序开始时,要写入各定时器中断的入口地址。4编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。5程序的结构要设计的合理,避免上下乱调用的现象,这样会使程序更加清晰化。6编程前要加流程图,这样会使思路清晰,例如数字音乐盒的设计思路完全可以按着MP3的工作方式列写流程图。7.两个定时器同时工作,存在中断时序问题,刚开始时我们把定时器1设定在方式3,计250us,由于定时中断过于频繁,使CPU负载过大,导致音乐不能正常播放,时间不能正常显示。解决办法:将定时器1设定在工作方式1,16位计数,计50ms,效果有很大改观。8.在歌曲中,当遇到一个音符发音为4拍,在编曲中为*CH,托因时间较长,当定时器T1此时来中断时,就会对歌曲播放产生影响,若改为发音一拍,中断对歌曲播放影响减弱,但音乐效果变差。改进方案:若采用可以定时时间更长的单片机,可以避免所有问题。4. 讨论及进一步研究建议1:扩大宽音域范围: 可以采用适当的误差补偿,利用单片机定时中断的方法能在宽音域范围产生准确稳定的音频信号。 要产生音频信号,只要算出某一音频的周期(频率的倒数),将此周期除以2即为半周期的时间,利用定时器计时此半周期时间,计时到后取反输出,重复此过程即得到此频率的声音信号。2:关于中断响应时间: 定时器T0工作在定时方式1,改变TH0及TL0,产生不同的音频频率。必须考虑到中断响应时间的影响,尤其在高音部分,若忽略中断响应时间,会使音频频率比标准值低几十Hz,相当于1/4音程,很容易听出来,对低音部分影响不大。一般中断响应时间为36个机器周期,经过反复试验取5个机器周期作为校正最为恰当。3:关于杂音: 为避免T1中断可能引起杂音,应将定时器T0中断设为高优先级。这样编写出来的程序播放的音与标准音叉进行差频校音,非常准确和谐4:关系波形: 由于输出的是方波,比较难听,也可以将波形细分用DA输出正弦波。5:关于芯片:可以考虑选用89S51 89S51相对于89C51增加的新功能包括:- 新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低!- ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。- 最高工作频率为33MHz,大家都知道89C51的极限工作频率是24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。- 具有双工UART串行通道。- 内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。- 双数据指示器。- 电源关闭标识。- 全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。- 兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等等早期MCS-51兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89C51还是MCS-51等等),在89S51上一样可以照常运行,这就是所谓的向下兼容。比较结果:就如同INTEL的P3向P4升级一样,虽然都可以跑Windows98,不过速度是不同的。从AT89C51升级到AT89S51 ,也是同理。和S51比起来,C51就要逊色一些,实际应用市场方面技术的进步是永远向前的。5.课程设计心得 本学期学习单片机的时间只有10周时间,对单片机的硬件设计,软件设计掌握的深度不够,但通过此次课程设计,却改变了很多,首先对于硬件电路的工作原理有了进一步的学习,同样就有了进一步的认识;其次软件方面,在程序的设计,程序的调试方面都学到了很多东西,这是第一次编写单片机的大程序,很有成就感。在一个好的氛围里才能踏下心来做东西,在这几天课设的时间里,实验室的氛围对我们的影响很大,大家一起努力,这也是我们能完成课设的动力。另外在编程中出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定会发现错误,克服困难,我们也是这么做的,这在课设中十分重要。 此次实习可以说是获益匪浅。通过查阅了很多资料,了解了许多汇编程序的思想,扩展了自己的视野,不再仅仅局限于书本中几条简短的程序,而且更重要的是明白写程序的态度:仔细谨慎,精益求精。在系统加电调试中,针对一些问题,熟练掌握了根据原理分步测试,将错误之处缩小的最小范围内。 Abstract Music Player System Design 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 "Do", "Re" and "Me" - 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 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. 参考文献肖洪兵. 跟我学用单片机. 北京:北京航空航天大学出版社,2002.8 李广第 单片机基础 第1版北京:北京航空航天大学出版社,1999 徐惠民、安德宁 单片微型计算机原理接口与应用 第1版北京邮电大学出版社,1996 夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社, 2001 陈志强 胡辉. 单片机应用系统设计实践指南. 自编教材 李朝青现代微机原理与接口技术,第3版,北京航空航天大学出版社,2005.5

    注意事项

    本文(音乐播放系统设计单片机课程设计报告.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开