已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机系统课程设计报告单片机系统课程设计报告 专 业: 光电信息科学与工程 学 生 姓 名: 学 号: 指 导 教 师: 完成日期:2016 年 5 月 20 日 目录 1 设计任务和设计任务和要求要求3 1.1 设计任务 1.2 设计要求 1.3 方案论证 1.4 模拟仿真结果 2 实际制作与调试实际制作与调试1 2.1 测试方法和测试仪器 2.2 软件调试 2.3 硬件调试 2.4 调试中的问题记录 3 发挥部分设计与调试发挥部分设计与调试5 4 测试结果分析测试结果分析8 5 课程设计总结课程设计总结8 附录附录 程序清单程序清单17 1.设计任务和要求 1.1 设计任务 简易音乐播放器简易音乐播放器 1.2 设计要求 基本要求:设计一个简易音乐播放器,要求能播放至少三首内置音 乐曲目;用按键控制曲目的选择,音乐的播放和暂停,关闭音乐和系统 复位;用数码管显示当前播放曲目编号. 扩展要求:用 LCD 代替数码管显示当前播放曲目的编号和名称,以 及下一首即将播放的曲目的编号和名称;用按键控制三种不同播放 状态之间的切换:顺序播放,随机播放,单曲循环。 1.3 方案论证 以 AT89C52 单片机为核心,通过对其定时器的设定来实现音乐的播 放 ,通过对键盘的设置可以实现人机对话,借助键盘可以向计算机系 统输入程序,置数,送操作命令,控制程序的执行走向等,并最终 通过 LCD 显示器显示出播放的乐曲. 系统方案: 1.音乐播放器的组成 根据系统音乐播放器的功能要求,一个完整的音乐播放器电路相当 于一个简单的单片机系统,改系统由按键开关,单片机,LCD 显示电 路,蜂鸣器控制电路 4 个方面构成 52 单片机。52 单片机为整个系统的核心部分,是带动整个系统工 作的重要部件. 键盘输入。键盘输入用来控制输入指令,发出指令至单片机,使 单片机按照指令工作。 扬声器。扬声器作为输出部分按照键盘给单片机的指令发出乐曲。 LCD 显示电路。LCD 显示器作为输出部分,按照键盘给单片机的 指令,显示正在演奏的乐曲。 音乐播放的系统组成框图见下 系统总设计框图 理论计算 1.音阶对应频率计算初值的计算 元器件确定 AT89C52 1 1K 电阻 11 100u 电容 1 8 位开关 1 4 位开关 1 74ls02 2 导线 若干 共阴极 LCD 1 1.4 模拟仿真结果 2.实际制作与调试 2.1 测试方法和测试仪器 测试仪器:protuse.万用表 测试条件:仿真图 测试方法:通过仿真图进行测试.看是否能正常运行.连线中用万用表 检测连线是否正确 2.2 软件调试 ORG 0000H AJMP START;FOSC=12MHZ ORG 000BH ;T0 中断入口地址 AJMP INT_T0 ORG 001BH ;T1 中断入口地址 AJMP INT_T1 START: MOV SP,#60H MOV TMOD,#11H MOV IE,#8AH MOV IP,#08H ; T1 中断优先于 T0 MOV TH1,#3CH MOV TL1,#0BH ;初始化.T 60MS W1:MOV P2,#10001110B ;等待提示F LCALL GETKEY CJNE A,#0FFH,W1 MOV A,B CJNE A,#0AH,W2 LCALL KEY_A ;输入键是 A。转 KEY_A SJMP W1 W2:CJNE A,#OBH,W3 LCALL KEY_B ;输入键是 B。转 KEY_B W3:CJNE A,#0CH,W4 LCALL KEY_C ;输入键是 C。转 KEY_C W4:CJNE A,#0DH,W5 LCALL KEY_D ;输入键是 D。转 KEY_D SJMP W1 W5:SJMP W1 2.3 硬件调试 并无任何波形 2.4 调试中的问题记录 在仿真与调试中的问题: 最初没有弄懂低音高音的选择.歌曲选择了低 32H 进行测试.导致歌 曲一变成杂音使测试失败. 在选择数码管时因为极性问题.数码管无法显示 调试时因为开关需要按下弹起才算一个完整输出.导致在控制开关闭 合上耗费大量的时间去揣摩 在实际接线与实际调试中的问题: 开关最开始选择错误导致无法进行切歌.后来换成 8 位开关解决了这 个问题. 因为实验室没有共阳极的数码管.所以不得不临时改变仿真.加了一个 非门使共阴极数码管工作 因为连线过程较为繁杂.所以出现了线接反的情况.导致数码管显示异 常. 3.发挥部分设计与调试 单曲循环 KEY_C: ; 选择一首歌循环播放 T3:LCALL GETWORD CJNE A,#0FFH,T3 MOV A,B CJNE A,#00H,D1 SJMP E0 D1:CJNE A,#01H,D2 SJMP E1 D2:CJNE A,#02H,E3 SJMP E2 E0:LCALL MUSIC1 SJMP E0 E1:LCALL MUSIC2 SJMP E1 E2:LCALL MUSIC3 SJMP E2 E3:LCALL MUSIC4 SJMP E3 RET 顺序播放 KEY_A: ; 1-4 顺序播放 LCALL MUSIC1 ;精忠报国 LCALL MUSIC2 ;月亮代表我的心 LCALL MUSIC3 ;看我七十二变 LCALL MUSIC4 ;同一首歌 RET 4.测试结果分析 测试的结果与我们理想设计的情况相同 与设计指标要求进行比较: 符合基本设计.并完成了扩展要求中的顺序播放及单曲循环.缺陷在于.没有实现扩展要求中 的当前播放曲目名称,以及下一首即将播放的曲目的编号的名称.随机播放 5.课程设计总结 此次设计比较成功.团队之间合作密切.使得设计开展以及完成情况都非常不同.问 题在于.很多时候一些细微的差错就让我们组耗费大量的时间.例如:数码管选择, 开关选择.不然完成时间将会提前.并且很有可能有时间去完成剩下的扩展内容. 但很可惜因为时间原因没能完成.为此次实验的遗憾.但收获颇多.对 52 单片机的 了解与.程序的读写有了更深层次的印象 附录:程序清单 ORG 0000H AJMP START;FOSC=12MHZ ORG 000BH ;T0 中断入口地址 AJMP INT_T0 ORG 001BH ;T1 中断入口地址 AJMP INT_T1 START: MOV SP,#60H MOV TMOD,#11H MOV IE,#8AH MOV IP,#08H ; T1 中断优先于 T0 MOV TH1,#3CH MOV TL1,#0BH ;初始化.T 60MS W1:MOV P2,#10001110B ;等待提示F LCALL GETKEY CJNE A,#0FFH,W1 MOV A,B CJNE A,#0AH,W2 LCALL KEY_A ;输入键是 A。转 KEY_A SJMP W1 W2:CJNE A,#OBH,W3 LCALL KEY_B ;输入键是 B。转 KEY_B W3:CJNE A,#0CH,W4 LCALL KEY_C ;输入键是 C。转 KEY_C W4:CJNE A,#0DH,W5 LCALL KEY_D ;输入键是 D。转 KEY_D SJMP W1 W5:SJMP W1 KEY_A: ; 1-4 顺序播放 LCALL MUSIC1 ;精忠报国 LCALL MUSIC2 ;月亮代表我的心 LCALL MUSIC3 ;看我七十二变 LCALL MUSIC4 ;同一首歌 RET KEY_B: ; 1-4 循环播放 T11:LCALL KEY_A SJMP T11 RET KEY_C: ; 选择一首歌循环播放 T3:LCALL GETWORD CJNE A,#0FFH,T3 MOV A,B CJNE A,#00H,D1 SJMP E0 D1:CJNE A,#01H,D2 SJMP E1 D2:CJNE A,#02H,E3 SJMP E2 E0:LCALL MUSIC1 SJMP E0 E1:LCALL MUSIC2 SJMP E1 E2:LCALL MUSIC3 SJMP E2 E3:LCALL MUSIC4 SJMP E3 RET KEY_D: ; 选择一首歌播到最后一首 T2:LCALL GETWORD CJNE A,#0FFH,T2 MOV A,B CJNE A,#00H,B1 SJMP C0 B1:CJNE A,#01H,B2 SJMP C1 B2:CJNE A,#02H,C3 SJMP C2 C0:LCALL MUSIC1 ;乐曲精忠报国 C1:LCALL MUSIC2 ;乐曲月亮代表我的心 C2:LCALL MUSIC3 ;乐曲看我七十二变 C3:LCALL MUSIC4 ;乐曲同一首歌 RET MUSIC1: MOV P2,#11111001B ; 显示 1 MOV R5,#11111001B MOV 52H,#HIGH TABLE10 MOV 32H,#LOW TABLE10 LCALL music RET MUSIC2: MOV P2,#10100100B ; 显示 2 MOV R5,#10100100B MOV 52H,#HIGH TABLE20 MOV 53H,#LOW TABLE20 LCALL:music RET MUSIC3: MOV P2,#10110000B ; 显示 3 MOV R5,#10110000B MOV 52H,#HIGH TABLE30 MOV 53H,#LOW TABLE30 LCALL music RET MUSIC4: MOV P2,#10011001B ; 显示 4 MOV R5,#10011001B MOV 52H,#HIGH TABLE40 MOV 53H,#LOW TABLE40 LCALL music RET music:MOV R3,#00H ;音乐解码器 NEXT20: MOV A,R3 MOV DPH,52H MOV DPL,53H MOVC A,A+DPTR MOV R2,A JZ STOP ANL A,#0FH MOV R1,A MOV A,R2 SWAP A ANL A,#OFH JNZ SING CLR TR0 JMP W11 SING: DEC A MOV 22H,A RL A MOV DPTR,#TABLE00 MOVC A,A+DPTR MOV TH0,A MOV 21H,A MOV A,22H RL A INC A MOVC A,A+DPTR MOV TL0,A MOV 20H,A SETB TR0 SETB TR1 W11: LCALL DELAY3 INC R3 LJMP NEXT20 STOP: CLR TR0 CLR TR1 RET * 定时器 0 中断子程序 * INT_T0: CLR TR0 MOV TL0,20H MOV TH0,21H CPL P3.0 SETB TR0 RET1 * 定时器 1 中断子程序 * INT_T1: CLR TR1 CLR TR0 LCALL KEY_E MOV TH1,#3CH MOV TL1,#0BH DJNZ 60H,OUT MOV 60H,#20 OUT: SETB TR1 RTEI KEY_E: JB P3.1,L2 ;中断键盘检测 LCALL DELAY2 ;消除抖动 JB P3.1,L2 ;如果是高电平就跳到 L2 JNB P3.1,$ ;如果仍是低电平执行中断程序 MOV P2,#10000110B ;LED 显示 E L3:JB P3.1,$ ;检测到低电平,直到低电平跳出该指令 LCALL DELAY2 JB P3.1,L3 JNB P3.1,$ ;如果再来一个高电平跳出指令 MOV P2,P5 L2:SETB TR0 RET GETKEY: ; 读 A,B,C,B 键盘子程序 SA:JB P1.0,SB ;读 A LCALL DELAY2 JB P1.0,SA JNB P1.0,$ MOV P2,#10001000B ;显示 A MOV R5,#10001000B MOV A,#0FFH MOV B,#0AH RET SB:JB P1.1,C11 ;读 B LCALL DELAY2 JB P1.1,SB JNB P1.1,$ MOV P2,#10000011B ;显示 B MOV R5,#10000011B MOV A,#0FFH MOV B,#0BH RET C11:JB P1.2,ED1 ;读 C LCALL DELAY2 JB P1.2,C11 JNB P1.2,$ MOV P2,#11000110B ;显示 C MOV R5,#11000110B MOV A,#0FFH MOV B,#0CH RET ED1: JB P1.3,L0 ;读 D LCALL DELAY2 JB P1.3,ED1 JNB P1.3,$ MOV P2,#10100001B ;显示 D MOV R5,#10100001B MOV A,#0FFH MOV B,#0DH L0:RET GETWORD: ; 读音乐序号子程序 S1:JB P1.4,S2 ;读 1 键 LCALL DELAY2 JB P1.4,S1 JNB P1.4,$ MOV P2,#11111001B ;显示 1 MOV R5,#11111001B MOV A,#0FFH MOV B,#00H RET S2:JB P1.5,S3 ;读 2 键 LCALL DELAY2 JB P1.5,S2 JNB P1.5,$ MOV P2,#10100100B ;显示 2 MOV R5,#10100100B MOV A,#0FFH MOV B,#01H RET S3:JB P1.6,S4 ;读 3 键 LCALL DELAY2 JB P1.6,S3 JNB P1.6,$ MOV P2,#10110000B ;显示 3 MOV R5,#10110000B MOV A,#0FFH MOV B,#0AH RET S4:JB P1.7,l1 ;读 4 键 LCALL DELAY2 JB P1.7,S1 JNB P1.7,$ MOV P2,#10011001B ;显示 4 MOV R5,#10011001B MOV A,#0FFH MOV B,#03H RET L1:RET DELAY: ;延时子程序 PUSH 0 ;保存现场 PUSH 1 MOV 0,#0H DELAY1:MOV 1,#0H DJNE 1,$ DJNE 0,DELAY1 POP 1 ;恢复现场 POP 0 RET DELAY2: ;延时子程序 2 MOV 41H,#100 F1:MOV 42H,#250 DJNE 42H,$ DJNE 41H,F1 RET DELAY3: ;延时子程序 3 MOV R7,#2 W22:MOV R4,#125 W33:MOV R0,248 DJNZ R0,$ DJNZ R4,W33 DJNZ R7,W22 DJNE R1,DELAY3 RET TABLE00: DW 64260,64400,64524,64580 ;简码值 低音 5,低音 6,低音 7.1 DW 64684,64777,64820,64898 ;简码值 2,3,4,5 DW 64968,65030,65058,65110 ;简码值 6,7,高音 1,高音 DW 65157,65178,65217 ;简码值 高音 3,高音 4,高音 5 ;第一首 TABLE10:DB 66H,52H,36H,22H,12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H DB 32H,52H,22H,42H,38H,66H,52H,36H,22H,12H,22H,22H,32H,98H DB 24H,22H,32H,54H,52H,32H,92H,12H,92H,82H,98H,66H,52H,36H,22H DB 12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H,32H,52H,22H,42H, 38H DB 66H,52H,36H,22H,12H,22H,22H,32H,98H,24H,22H,32H,54H,52H,32H DB 22H,12H,92H,82H,98H,14H,24H,34H,44H,64H,0B4H,64H,32H,52H DB 62H,0B2H,62H,52H,38H,24H,22H,32H,54H,52H,62H,52H,32H,32H,22 H,38H DB 64H,0B4H,64H,32H,52H,62H,0B2H,62H,52H,38H,22H,22H,22H,32H,5 2H,52H DB 52H,62H,7FH,74H,04H,58H,6FH DB 00 ;第二首 TABLE20:DB 02H,82H DB 16H,32H,54H,02H,52H DB 0A6H,32H,54H,02H,52H DB 64H,74H,0B6H,64H DB 52H,5CH,32H,22H DB 16H,12H,14H,32H,22H DB 16H,12H,14H,22H,32H DB 26H,12H,94H,22H,32H DB 2CH DB 32H,52H DB 36H,22H,14H,54H DB 0ACH,92H,0A2H DB 96H,0A2H,96H,82H DB 3CH,54H DB 36H,22H,14H,54H DB 0ACH,92H,0A2H DB 16H,12H,14H,22H,32H DB 2CH,02H,82H DB 16H,32H,56H,12H DB 0A6H,32H,56H,52H DB 66H,72H,0B6H,62H DB 62H,52H,58H,32H,22H DB 16H,12H,14H,32H,22H DB 16H,12H,14H,22H,32H DB 26H,92H,0A4H,12H,22H DB 1CH DB 00 ;第三首 TABLE30:DB 0d4H,84H,94H,82H,92H DB 12H,22H,82H,92H,02H,92H,82H,0d2H DB 82H,92H,14H,84H,02H,0d1H,0d1H DB 0c2H,0d2H,84H,0d2H,0d2H,82H,82H DB 84H,82H,82H,94H,82H,0d2H DB 82H,82H,82H,92H,02H,82H,82H,0d2H DB 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司装饰美工职业健康及安全技术规程
- 《GBT 35395-2017 农产品质量安全检测移动实验室通 用技术规范》专题研究报告
- 供热生产调度工岗前实操评优考核试卷含答案
- 旅行社计调安全检查能力考核试卷含答案
- 公司砖瓦装出窑工合规化技术规程
- 救护仪器维修工冲突解决评优考核试卷含答案
- 合作框架协议书
- 函数与方程(解析版)-高中数学必修第一册题型考点突破
- 光的反射-2024人教版八年级物理上册同步练习(含答案解析及考点)
- 黑龙江省哈尔滨市某中学2024-2025学年高一年级下册期末考试数学试卷(含答案解析)
- 湖南省益阳市高职单招2023年医学综合第一次模拟卷(附答案)
- 桂工10级资勘优秀灌阳实习报告
- 旋挖桩施工技术交底
- 2020西式面点师(初级)考试题库及西式面点师(初级)模拟考试
- 华为公司基本法
- 航空情报执照考试题库5航行通告
- 《线段的中点》“优课”教学设计
- 甲状腺癌NCCN指南中文版2021.v2
- 变配电室的巡检制度
- 电费分割单模板
- 2022英语课标与2011课标对比变化
评论
0/150
提交评论