欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于AT89C52的音乐播放器课程设计报告文档格式.docx

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

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

    基于AT89C52的音乐播放器课程设计报告文档格式.docx

    1、并由中断来控制音乐的播放到上一曲,或者下一曲。3各单元电路的设计3.1晶振时间电路设计晶振电路由两个30pF的电容和一个12Mhz的晶体振荡器组成。晶振电路如图3所示。节点1与单片机的XTAL2相连接,节点2与单片机的XTAL1相连接,从而为单片机提供时间信号,为音乐的播放节拍控制提供基本时间单位。当晶体振荡频率为12MHz,定时器工作在方式1下。在音乐播放器实际设计时,由于所选用的单片机开发板上已具备晶振电路,故而不再另外焊接晶振电路,而是直接接入使用。 图2 晶振电路设计3.2输入电路设计 歌曲选择电路由按键上一曲(P3.2接口)和按键下一曲(P3.3接口)连接单片机组成,且单片机为低电平

    2、时按键按下。输入电路如图3所示。图3 输入电路设计 3.3 输出电路设计发声电路由数字扬声器连接P2.3接口实现音乐的输出,由控制电路发出操作指令后,单片机调用相应程序,并将音乐信号由P2.3口输出,通过三极管放大电流以驱动扬声器发出美妙的音乐,输出电路如图4所示。图4 输出电路设计4 元器件的选择此次设计中用到了AT89S52单片机、晶振、三极管、蜂鸣器等等。4.1单片机AT89C52的工作原理:AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等

    3、功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和S

    4、CLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。主要性能:1、兼容MCS51指令系统2、8kB可反复擦写(大于1000次)Flash ROM;3、32个双向I/O口;4、256x8bit内部RAM;5、3个16位可编程定时/计数器中断;6、时钟频率0-24MHz;7、2个串行中断,可编程UART串行通道;8、2个外部中断源,共8个中断源;9、2个读写中断口线,3级加密位;10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不

    5、同产品的需求。图5 单片机引脚排列4.2晶振晶振作用:给单片机正常工作提供稳定的时钟信号。原理:在石英晶体的两个极板上加一个电场,晶片会产生机械变形,对极板施加机械力使其变形,又会在极板上产生相应的电荷,这叫压电效应。如果在两个极板上加上交变的电压,晶片便会产生机械变形震荡,同时这种机械震荡还会产生交变的电场(比较的微小),但是当外加交变的电压的频率与晶片固有的频率(由其形状和尺寸决定)相等时,机械振动的幅度会加剧,产生交变电场也增大。叫做压电谐波。即使去掉晶振,电路照样的能振荡,并且如果把那两个电容改成可调电容的话也能得到想要的某个频率,那还要晶振干什么:晶振、陶瓷谐振槽路、RC振荡器以及硅

    6、振荡器是适用于微控制器的四种时钟源。针对具体应用优化时钟源设计依赖于以下因素:成本、精度和环境参数。RC振荡器能够快速启动,成本也比较低,但通常在整个温度和工作电源电压范围内精度较差,会在标称输出频率的5%至50%范围内变化;但相对RC振荡器而言,基于晶振与陶瓷谐振槽路的振荡器通常能提供非常高的初始精度和较低的温度系数。4.3 三极管该设计选用的三极管是NPN型8050,三极管最基本的作用是放大作用,它可以把微弱的电信号变成一定强度的信号,当然这种转换仍然遵循能量守恒,它只是把电源的能量转换成信号的能量。三极管有一个重要参数就是电流放大系数。当三极管的基极上加一个微小的电流时,在集电极上可以得

    7、到一个是注入电流倍的电流,即集电极电流。集电极电流随基极电流的变化而变化,并且基极电流很小的变化可以引起集电极电流很大的变化,这就是三极管的放大作用。如图6为NPN8050的结构。图6 NPN8050结构图4.4蜂鸣器 蜂鸣器的作用就是输出音频。将电信号转换成声音信号,以此来发出声音。发音原理:播放一段音乐需要的是两个元素,一个是音调,另一个是音符。首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。另外,音符的频率有所不同。基于上面的内容,这样就对发

    8、音的原理有了一些初步的了解。音符的发音主要靠不同的音频脉冲。利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制P0.3引脚的输出音乐。只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。如下表1。表1 简谱对应的简谱码、T值、节拍数简谱发音简谱码T值节拍码节拍数5低音SO1642601/4拍6低音LA2644002/4拍7低音TI3645243/4拍中音DO4645801拍中音RE646841又1/4拍中音MI6

    9、47771又1/2拍中音FA6482082拍中音SO64898A2又1/2拍中音LA964968C3拍中音TI65030F3又3/4拍高音DOB65058高音RE65110高音MID65157高音FAE65178高音SO652175 电路的仿真分析图7 Proteus仿真原理图5.1 电路的组装图8 电路组装元器件排布图图9电路组装引脚连线图5.2 电路的调试播放器一开始没有加三极管,蜂鸣器由单片机输出的高电平驱动发生声音,但由于单片机输出的电流很小,导致声音特别小,后来向学姐和老师请教,得出两种方法可以是蜂鸣器的声音放大。一种是将蜂鸣器的正极直接接5V电源,负极接单片机输出端口。另一种是在原

    10、来电路的基础上,加上NPN三极管8050,基极接单片机输出端口,集电极接5V电源,发射极接蜂鸣器的正极。通过不断的调试,很好的实现了循环播放和上下选曲的功能,当电源接通但是没有开关打输入选择歌曲上一曲还是下一曲时,播放自动播放曲目1到曲目5循环播放。当按下开关,则会一条过正在播放的曲目,播放上一曲,或者下一曲。按下抚慰开关后,歌曲将又从第一首歌曲开始播放。6 心得体会本学期学习单片机的时间只有十几周时间,对单片机的硬件设计,软件设计掌握的深度不够,但通过此次课程设计,让我学到很多很多的东西,学会了怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。不仅巩固

    11、了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。在这几天课设的时间里,实验室的氛围对我们的影响很大,大家一起努力,这也是我们能完成课设的动力。另外在编程中出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定会发现错误,克服困难,我们也是这么做的,这在课设中十分重要。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,对以前所

    12、学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不够好。这次课程设计通过自己的努力,同学的帮助,还有老师的辛勤指导下,最终顺利完成了。总之此次课程设计让我获益匪浅。参考资料1 郑郁正.单片机原理及应用M.四川大学出版社,2003.7.2 谭浩强.C程序设计(第二版)M.清华大学出版社,1999.6.3 王晓君,安国臣等. MCS51及兼容单片机原理与选型Z. 北京-电子工业出版社, 2003.2.4 杨全胜,胡有彬.现代微机原理与接口技术M。北京:电子工业出版社,2002.4.5 王玉凤,刘湘黔,杨欣.51单片机应用从零开始.北京:清华大学出版社,20086 陈卫兵.单片机技术

    13、与应用基础.北京:人民邮电出版社,20107 张毅刚,彭喜元.单片机原理及接口技术.北京:人民邮电出版社,20088 杜树春.基于Proteus和KeilC51的单片机设计与仿真.北京:电子工业出版社,20129 郭天祥.51单片机C语言教程.北京:电子工业出版社,200910东方.卓越.简谱入门基础教程.北京:同心出版社出版,2009附录1 :元件清单元件名称型号参数数量STC89C52单片机/开关晶振11.0592MHZ电容22pF蜂鸣器电解电容10uF电阻10K附录2 :音乐播放器系统主程序源代码 #include #define uchar unsigned char#define u

    14、int unsigned intsbit key_1 = P32;sbit key_2 = P33;sbit fm=P23;/蜂鸣器连续的IO口 uchar count2;/歌曲标志 uchar timeh,timel,i;/-简谱-/编程规则:字节高位是简谱,低位是持续时间,/代表多少个十六分音符/1-7代表中央C调,8-E代表高八度,0代表停顿/最后的0是结束标志uchar code music_1= /梁祝0x18,0x26,0x32,0x56,0x62,0x32,0x52,0x24,0x96,0xC2,0xA2,0x92,0x72,0x92,0x68,0x66,0x72,0x44,0x

    15、34,0x26,0x32,0x54,0x64,0x14,0x54,0x32,0x22,0x32,0x52,0x28,0x76,0x92,0x44,0x64,0x32,0x52,0x28,0x04,0x12,0x24,0x12,0x22,0x32,0x42,0x62,0x36,0x22,0x32,0x56,0x62,0x94,0x74,0x64,0x72,0x62,0x54,0x32,0x22,0x18,0x58,0x32,0x51,0x32,0x22,0x12,0x22,0x32,0x52,0x28,0x00;uchar code music_2= /新年好0x41,0x41,0x42,0x1

    16、2,0x61,0x61,0x62,0x42,0x41,0x61,0x82,0x82,0x71,0x61,0x54,0x51,0x61,0x72, 0x72,0x61,0x51,0x62,0x42,0x41,0x61,0x52,0x12,0x31, 0x51,0x44,0x08,0x08;uchar code music_3= /两只老虎0x42,0x52,0x62,0x42,0x42,0x52,0x62,0x42,0x62,0x72,0x84,0x62,0x72,0x84,0x81,0x91,0x81,0x71,0x62,0x42,0x81,0x91,0x81,0x71,0x62,0x42,0

    17、x52,0x12,0x44,0x52,0x12,0x44uchar code music_4= /生日快乐0x13,0x13,0x24,0x14,0x44,0x34,0x04,0x13,0x13,0x24,0x14,0x54,0x44,0x04,0x13,0x13,0x84,0x64,0x44,0x34,0x24,0x76,0x73,0x64,0x44,0x54,0x44,0x04uchar code music_5= /隐形的翅膀0x12,0x42,0x66,0x61,0x81,0x64,0x52,0x42,0x42,0x42,0x42,0x21,0x11,0x14,0x12,0x42,0x

    18、66,0x82,0x82,0x82,0x81,0x91,0x82,0x82,0x62,0x51,0x41,0x41,0x51,0x54,0x92,0x82,0x66,0x82,0x82,0x82,0x92,0x82,0x62,0x52,0x42,0x41,0x51,0x24,0x12,0x22,0x36,0x62,0x54,0x62,0x42,0x4c,0x62,0x82,0xb6,0xa1,0xb1,0xa4,0x92,0x82,0x92,0x91,0xb1,0x62,0x52,0x44,0x42,0x42,0x42,0xb4,0x92,0x82,0x62,0x52,0x41,0x51,0x

    19、5c,0x42,0x42,0x42,0xb4,0x92,0x82,0x62,0x52,0x42,0x4c/-简谱音调对应的定时器初值-/适合11.0592M的晶振uchar code cuzhi= 0xff,0xff,/占位 0xFC,0x8E,/中央C调1-7 0xFC,0xED, 0xFD,0x43, 0xFD,0x6A, 0xFD,0xB3, 0xFD,0xF3, 0xFE,0x2D, 0xFE,0x47, /高八度1-7 0xFE,0x76, 0xFE,0xA1, 0xFE,0xC7, 0xFE,0xD9, 0xFE,0xF9, 0xFF,0x16 ;void delay(uint z

    20、) /延时165MS,即十六分音符 uint x,y; for(x=z;x0;x-) for(y=19000;yy-);void delay1(uint z) /延时1MS for(y=112;void song() uint temp; uchar jp;/jp是简谱 i=0; while(1) if(count2=0) break; if(count2=1) /选曲 temp=music_1i; if(count2=2) temp=music_2i; if(count2=3) temp=music_3i; if(count2=4) temp=music_4i; if(count2=5) t

    21、emp=music_5i; if(temp=0xff) jp=temp/16; /取数的高4位 if(jp!=0) timeh=cuzhijp*2; timel=cuzhijp*2+1; else TR0=0; fm=1;/关蜂鸣器 delay(temp%16); /取数的低4位 /唱完一个音停10MS delay1(10); TR0=1; i+; TR0=0; fm=1;main() count2=1; /改值可变换歌曲(1-5) EA=1;/开总中断 TMOD=0x01;/定时器0工作在方式1 TH0=0; TL0=0; ET0=1; IT0 = 1; IT1 = 1; EX1 = 1; /开启外部中断0 EX0 = 1; /开启外部中断1 song(); delay1(1000); void timer0() interrupt 1 /用于产生各种音调 TH0=timeh; TL0=timel; fm=fm;void int0() interrupt 0 count2-; if(count2 5) count2 = 1;


    注意事项

    本文(基于AT89C52的音乐播放器课程设计报告文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开