ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:127KB ,
资源ID:4532339      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4532339.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(单片机音乐盒课程设计报告.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

单片机音乐盒课程设计报告.doc

1、 - 机电高等专科学校 课程设计报告书 课程名称:单片机 课题名称:电子音乐盒 专业:自动控制系 班级:计控111 学号:111413144 XX: 思 璐 2013 年 01月01日

2、 - word.zl - - 目 录 1.设计目的 …………………………………………..1 2.设计要

3、求和设计指标1 3.设计容1 3.1硬件局部1 3.1.1 …1 3.2 软件局部1 4.本设计改良建议3 5.总结〔感想和心得等〕3 6.主要参考文献3 附录4 - word.zl -

4、 - 1.设计目的 通过学习单片机课程,对单片机的硬件设计,软件设计掌握有了不少了解,学习了protel 99 SE 和keil软件,锻炼了自己的编程能力,对单片机硬件和软件的设计都有了进一步的认识和提高。为以后的学习也打下了很好的根底。 2.设计要求和设计指标 (1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲(存两首乐曲)。 (2) 可通过功能键选择乐曲,播放不同音乐。 (3)要产生音频脉冲,只要算出某一音频的周期(1/音频),

5、然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲 (4)利用8051的部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值     Fi:部计时一次为1微秒.故其频率为1MHZ   

6、Fr;要产生的频率 (5):起记数值的求法如下: T=65536-N=65536-Fi/2/Fr 例如:设K=65536,F=1000000=Fi=1MHZ,求低音D0〔523HZ〕,高音的D0〔1046HZ〕的记数值。 T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr 低音D0的T=65536-500000/262=63627 中音D0的T=65536-500000/523=64580 低音D0的T=65536-500000/1047=65059 3.设计容 3.1 硬件局部 本设计中用到89C51单片

7、机,蜂鸣器,独立式按键。〔硬件电路原理图如图1所示〕 3.11 原理说明 当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。 〔1〕 硬件电路中用K1, K2, K3, K4分别接P0.0, P0.1, P0.2, P0.3作为对应歌曲按键 。 〔2〕 用P1.0口接蜂鸣器。 〔3〕 电路为12MHZ晶振频率工作。 音乐盒原理图 3.2.软件局部 本程序可以实现课程设计的根本要求,并可以通过按键播放两首歌曲,程序流程图如下: 是否有按键按下 播放歌曲1 开场 播放歌曲3 播放歌曲2 播放歌曲4

8、 K1键按下 K2键按下 K3键按下 K4键按下 Yes Yes Yes Yes Yes No No No No No 4.本设计改良建议 〔1〕 有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发现是因为程序中有的指令书写得不规导致的,例如有的RET返回指令一定要按正确格式书写或在两行指令间最好不要留空行。 〔2〕 程序中的跳转指令的运用很重要,为保险起见,都用LJMP,我们就遇到过跳转指令用错程序无常运行的现象。当用JNZ指令时,跳转围比拟少,这时要用一个标号中转。 〔3〕 编程时要注意,在程序开场时,要写入各定时器中断的入口地址。

9、〔4〕 编程过程中要注意加注释或分割线,否那么,在程序过长时容易变得很乱,不便于查找或更改。 5.收获与体会 (1)学习单片机的课时不多,对单片机的硬件设计,软件设计掌握的深度不够,但通过此次课程设计,明显的改善了,首先对于硬件电路的工作原理有了进一步的学习,同时有了一个提升;软件方面,在程序的设计,程序的调试方面都有了很大的进步。 (3) 通过这次课程设计,我体会到了成功的喜悦,听着自己设计的程序下载到单片机中播放出音乐,心理非常自豪。这次的课程设计在一定程度上改变了我学习单片机这门课程的态度,从最初的认为学它没有什么实际意义,到如今爱上单片机学习,并希望能将理论运用到实践,设计出更好

10、更完整的系统。我明白了一个人要想做好一件事,就必须具备自信心,耐心,还要有毅力,要胆大心细,要勇于尝试,要手脑并用,最后才能交出一份令人满意的答卷。 6. 主要参考文献 [1] 单片机原理及应用 清华大学 [2] Protel 99 SE 印刷电路板设计教程 机械工业 [3]王为青,程国钢.单片机Keil Cx51应用开发技术[M].:人民邮电,2007.02 [4] 阎石.数字电子技术根底[M].:高等教育,1998.12,第4版 [5] 邓元庆.数字电路与逻辑设计[M].:电子工业,2001 附件1:元件清单 名称 数量〔个〕 型号 备注 电阻 1

11、 开关 1 单片机 1 AT89C51 蜂鸣器 1 电源 1 5V 晶振 1 12Hz 附件2:音乐程序 K1 EQU P0.0 ;定义引脚 K2 EQU P0.1 K3 EQU P0.2 K4 EQU P0.3 SPK EQU P1.0 ;定义蜂鸣器引脚 ORG 0000H LJMP MAIN ORG 001BH LJMP T1SER ORG 0030H MAI

12、N: JNB K1,G1 JNB K2,G2 JNB K3,G3 JNB K4,G4 LJMP MAIN G1: LCALL GQ1 G2: LCALL GQ2 G3: LCALL GQ3 G4: LCALL GQ4 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; GQ1: MOV SP,#30H MOV TMOD,#10H ;设T1工作方式1 MOV IE,#88

13、H ;允许中断 LOOP1: MOV 40H,#00H ;简谱码指针清0 LOOP2: MOV A, 40H ;简谱码指针放入A MOV DPTR, #TABLE1 MOVC A,A+DPTR ;到表格TABLE1中取简谱码 MOV R1,A ;取到的简谱码暂存于R1 JZ FINISH ;简谱码是00H(完毕码),转移 ANL A,#0FH ;不是00H,取低4位(节拍码) MOV R2,A ;将节拍码存入R2中 MOV A,R1 ;将取到的简谱码再放入A

14、 SWAP A ;上下4位交换 ANL A,#0FH ;取低4位(唱名码) JNZ SING ;唱名码不是00H,转移 CLR TR1 ;唱名码是00H,那么不发音 SJMP WY ;转移至WY SING: DEC A ;唱名码减1 MOV 50H,A ;唱名码存入50H RL A ;乘2 MOV DPTR, #TABLE2 MOVC A,A+DPTR ;到表格TABLE2取计数值高8位 MOV TH1, A ;计数值高8位存入TH1 MOV 51H,

15、A ;计数值高8位存入51H MOV A, 50H ;将取到的唱名码再放入A RL A ;乘2 INC A ;唱名码加1 MOVC A,A+DPTR ;到表格TABLE2取计数值低8位 MOV TL1, A ;计数值低8位存入TL1 MOV 52H, A ;计数值低8位存入52H SETB TR1 ;启动T1 WY: LCALL DELAY ;调用根本单位时间(1/4拍) INC 40H ;简谱码指针加1 SJMP LOOP2 ;取下一个简谱码 FINISH: CLR TR1 ;停顿T1 LJMP MAIN ;重

16、复播放 T1SER: PUSH ACC ;将A的值暂存于堆栈 PUSH PSW ;将PSW的值暂存于堆栈 MOV TL1, 52H ;重置定时器初值 MOV TH1, 51H CPL SPK ;将SPK取反 POP PSW ;至堆栈取回PSW值 POP ACC ;至堆栈取回A值 RETI ;返回主程序 TABLE1: DB 84H,62H,82H,0B6H,02H ;简谱码表 DB 94H,0B4H,86H,02H DB 84H,42H,52H,64H,52H,42H DB 58H,04H,04H DB 84H,62H,8

17、2H,0B6H,0A2H DB 94H,0B4H,86H,02H DB 84H,52H,62H,76H,32H DB 48H,04H,04H DB 94H,0B4H,0B6H,02H DB 0A4H,92H,0A2H,0B6H,02H DB 92H,0A2H,0B2H,92H,92H,82H,62H,42H DB 58H,04H,04H DB 84H,62H,82H,0B6H,0A2H DB 94H,0B4H,86H,02H DB 84H,52H,62H,76H,32H DB 48H,04H,04H DB 00H

18、 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; GQ2: MOV SP,#30H MOV TMOD,#10H ;设T1工作方式1 MOV IE,#88H ;允许中断 LOOP12: MOV 40H,#00H ;简谱码指针清0 LOOP22: MOV A, 40H ;简谱码指针放入A MOV DPTR, #TAB2 MOVC A,A+

19、DPTR ;到表格TAB2中取简谱码 MOV R1,A ;取到的简谱码暂存于R1 JZ FINISH2 ;简谱码是00H(完毕码),转移 ANL A,#0FH ;不是00H,取低4位(节拍码) MOV R2,A ;将节拍码存入R2中 MOV A,R1 ;将取到的简谱码再放入A SWAP A ;上下4位交换 ANL A,#0FH ;取低4位(唱名码) JNZ SING2 ;唱名码不是00H,转移 CLR TR1 ;唱名码是00H,那么不

20、发音 SJMP WY2 ;转移至WY2 SING2: DEC A ;唱名码减1 MOV 50H,A ;唱名码存入50H RL A ;乘2 MOV DPTR, #TABLE2 MOVC A,A+DPTR ;到表格TABLE2取计数值高8位 MOV TH1, A ;计数值高8位存入TH1 MOV 51H, A ;计数值高8位存入51H MOV A, 50H ;将取到的唱名码再放入A RL A ;乘2 INC A ;唱名码加1 MOVC A,A+DPTR ;到表格TABLE2取计数值低8位 MOV TL1, A ;计数值低8

21、位存入TL1 MOV 52H, A ;计数值低8位存入52H SETB TR1 ;启动T1 WY2: LCALL DELAY ;调用根本单位时间(1/4拍) INC 40H ;简谱码指针加1 SJMP LOOP22 ;取下一个简谱码 FINISH2: CLR TR1 ;停顿T1 LJMP MAIN TAB2: DB 64H,62H,52H,64H,04H ;简谱码表 DB 62H,82H,62H,52H,64H,04H DB 44H,42H,52H,62H,82H,64H DB 54H,52H,42H,5

22、4H,04H DB 66H,81H,61H,92H,86H DB 92H,82H,82H,62H,86H,12H DB 64H,52H,52H,84H,62H,52H DB 54H,52H,42H,54H,04H DB 64H,62H,52H,64H,04H DB 62H,82H,62H,52H,64H,04H DB 44H,42H,52H,62H,82H,64H DB 54H,52H,42H,54H,04H

23、 DB 66H,81H,61H,92H,86H DB 92H,82H,82H,62H,84H,04H DB 02H,62H,52H,62H,84H,62H,52H DB 52H,46H,44H,04H DB 42H,52H DB 64H,62H,82H,94H,92H,0D2H DB 0D2H,0C2H,0B2H,92H,84H,04H DB 92H,82H,62H,52H,44H,22H,42H DB 54H,52H,42H,54H,42H,52H DB 64H,62H,82H,94H,92H,0D2H DB 0C2

24、H,0B2H,0B2H,0C2H,0B4H,04H DB 84H,82H,62H,0A2H,0B2H,42H,52H DB 64H,04H,54H,04H DB 44H,04H,04H,04H DB 00H ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; GQ3: MOV SP,#30H MOV TMOD,#10H ;设T1工作方式1 MO

25、V IE,#88H ;允许中断 LOOP13: MOV 40H,#00H ;简谱码指针清0 LOOP23: MOV A, 40H ;简谱码指针放入A MOV DPTR, #TAB3 MOVC A,A+DPTR ;到表格TAB3中取简谱码 MOV R1,A ;取到的简谱码暂存于R1 JZ FINISH3 ;简谱码是00H(完毕码),转移 ANL A,#0FH ;不是00H,取低4位(节拍码) MOV R2,A ;将节拍码存入R2中 MOV A,R1 ;将取到的简谱码

26、再放入A SWAP A ;上下4位交换 ANL A,#0FH ;取低4位(唱名码) JNZ SING3 ;唱名码不是00H,转移 CLR TR1 ;唱名码是00H,那么不发音 SJMP WY3 ;转移至WY3 SING3: DEC A ;唱名码减1 MOV 50H,A ;唱名码存入50H RL A ;乘2 MOV DPTR, #TABLE2 MOVC A,A+DPTR ;到表格TABLE2取计数值高8位 MOV TH1, A ;计数值高8位存入TH1 MOV 51H,

27、A ;计数值高8位存入51H MOV A, 50H ;将取到的唱名码再放入A RL A ;乘2 INC A ;唱名码加1 MOVC A,A+DPTR ;到表格TABLE2取计数值低8位 MOV TL1, A ;计数值低8位存入TL1 MOV 52H, A ;计数值低8位存入52H SETB TR1 ;启动T1 WY3: LCALL DELAY ;调用根本单位时间(1/4拍) INC 40H ;简谱码指针加1 SJMP LOOP23 ;取下一个简谱码 FINISH3: CLR TR1 ;停顿T1 LJMP MAIN TAB3: DB 82H

28、62H,64H ;简谱码表 DB 72H,52H,54H DB 42H,52H,62H,72H DB 82H,82H,84H DB 82H,62H,64H DB 72H,52H,54H DB 42H,62H,82H,82H DB 64H,04H DB 52H,52H,52H,52H DB 52H,62H,74H DB 62H,62H,62H,62H DB 62H,7

29、2H,84H DB 82H,62H,64H DB 72H,52H,54H DB 42H,62H,82H,82H DB 44H,04H DB 00H ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; GQ4: MOV SP,#30H MOV TMOD,#10H ;设

30、T1工作方式1 MOV IE,#88H ;允许中断 LOOP14: MOV 40H,#00H ;简谱码指针清0 LOOP24: MOV A, 40H ;简谱码指针放入A MOV DPTR, #TAB4 MOVC A,A+DPTR ;到表格TAB4中取简谱码 MOV R1,A ;取到的简谱码暂存于R1 JZ FINISH4 ;简谱码是00H(完毕码),转移 ANL A,#0FH ;不是00H,取低4位(节拍码) MOV R2,A ;将节拍码存入R2中

31、 MOV A,R1 ;将取到的简谱码再放入A SWAP A ;上下4位交换 ANL A,#0FH ;取低4位(唱名码) JNZ SING4 ;唱名码不是00H,转移 CLR TR1 ;唱名码是00H,那么不发音 SJMP WY4 ;转移至WY4 SING4: DEC A ;唱名码减1 MOV 50H,A ;唱名码存入50H RL A ;乘2 MOV DPTR, #TABLE2 MOVC A,A+DPTR ;到表格TABLE2取计数值高8位 MOV TH1, A ;计数值高

32、8位存入TH1 MOV 51H, A ;计数值高8位存入51H MOV A, 50H ;将取到的唱名码再放入A RL A ;乘2 INC A ;唱名码加1 MOVC A,A+DPTR ;到表格TABLE2取计数值低8位 MOV TL1, A ;计数值低8位存入TL1 MOV 52H, A ;计数值低8位存入52H SETB TR1 ;启动T1 WY4: LCALL DELAY ;调用根本单位时间(1/4拍) INC 40H ;简谱码指针加1 SJMP LOOP24 ;取下一个简谱码 FINISH4: CLR TR1 ;停顿T1 LJMP MAIN

33、 TAB4: DB 42H,42H,44H,14H ;简谱码表 DB 62H,62H,64H,44H DB 42H,62H,84H,84H DB 72H,62H,54H,04H DB 52H,62H,74H,74H DB 62H,52H,64H,44H DB 42H,62H,54H,14H DB 32H,52H,44H,04H DB DB DB DB

34、 DB DB DB DB DB 00H TABLE2: DW 0FD82H,0FDC8H,0FE06H ;唱名码表 DW 0FE22H,0FE56H,0FE85H DW 0FE9AH,0FEB2H,0FEE4H DW 0FF03H,0FF11H,0FF2BH DW 0FF42H,0FF4DH,0FF61H DELAY: MOV R4,#250 ;延时187ms的循环次数 LP1: MOV R5,#0 ;延时0.935ms的循环次数 DJNZ R5,$ DJNZ R4,LP1 DJNZ R2,DELAY ;节拍数未到,转移 RET END ;程序完毕 - word.zl

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服