单片机系统课程设计报告大学论文.docx

上传人:b****2 文档编号:23504861 上传时间:2023-05-17 格式:DOCX 页数:23 大小:156.40KB
下载 相关 举报
单片机系统课程设计报告大学论文.docx_第1页
第1页 / 共23页
单片机系统课程设计报告大学论文.docx_第2页
第2页 / 共23页
单片机系统课程设计报告大学论文.docx_第3页
第3页 / 共23页
单片机系统课程设计报告大学论文.docx_第4页
第4页 / 共23页
单片机系统课程设计报告大学论文.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

单片机系统课程设计报告大学论文.docx

《单片机系统课程设计报告大学论文.docx》由会员分享,可在线阅读,更多相关《单片机系统课程设计报告大学论文.docx(23页珍藏版)》请在冰豆网上搜索。

单片机系统课程设计报告大学论文.docx

单片机系统课程设计报告大学论文

 

单片机系统课程设计报告

 

 

专业:

光电信息科学与工程

学生姓名:

学号:

指导教师:

 

完成日期:

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.音阶对应频率计算初值的计算

元器件确定

AT89C521

1K电阻11

100u电容1

8位开关1

4位开关1

74ls02 2

导线若干共阴极LCD1

1.4模拟仿真结果

 

2.实际制作与调试

2.1测试方法和测试仪器

测试仪器:

protuse.万用表

测试条件:

仿真图

测试方法:

通过仿真图进行测试.看是否能正常运行.连线中用万用表检测连线是否正确

2.2软件调试

ORG0000H

AJMPSTART;FOSC=12MHZ

ORG000BH;T0中断入口地址

AJMPINT_T0

ORG001BH;T1中断入口地址

AJMPINT_T1

START:

MOVSP,#60H

MOVTMOD,#11H

MOVIE,#8AH

MOVIP,#08H;T1中断优先于T0

MOVTH1,#3CH

MOVTL1,#0BH;初始化.T60MS

W1:

MOVP2,#10001110B;等待提示'F'

LCALLGETKEY

CJNEA,#0FFH,W1

MOVA,B

CJNEA,#0AH,W2

LCALLKEY_A;输入键是A。

转KEY_A

SJMPW1

W2:

CJNEA,#OBH,W3

LCALLKEY_B;输入键是B。

转KEY_B

W3:

CJNEA,#0CH,W4

LCALLKEY_C;输入键是C。

转KEY_C

W4:

CJNEA,#0DH,W5

LCALLKEY_D;输入键是D。

转KEY_D

SJMPW1

W5:

SJMPW1

2.3硬件调试

并无任何波形

2.4调试中的问题记录

在仿真与调试中的问题:

最初没有弄懂低音高音的选择.歌曲选择了低32H进行测试.导致歌曲一变成杂音使测试失败.

在选择数码管时因为极性问题.数码管无法显示

调试时因为开关需要按下弹起才算一个完整输出.导致在控制开关闭合上耗费大量的时间去揣摩

在实际接线与实际调试中的问题:

开关最开始选择错误导致无法进行切歌.后来换成8位开关解决了这个问题.

因为实验室没有共阳极的数码管.所以不得不临时改变仿真.加了一个非门使共阴极数码管工作

因为连线过程较为繁杂.所以出现了线接反的情况.导致数码管显示异常.

3.发挥部分设计与调试

单曲循环

KEY_C:

;选择一首歌循环播放

T3:

LCALLGETWORD

CJNEA,#0FFH,T3

MOVA,B

CJNEA,#00H,D1

SJMPE0

D1:

CJNEA,#01H,D2

SJMPE1

D2:

CJNEA,#02H,E3

SJMPE2

E0:

LCALLMUSIC1

SJMPE0

E1:

LCALLMUSIC2

SJMPE1

E2:

LCALLMUSIC3

SJMPE2

E3:

LCALLMUSIC4

SJMPE3

RET

顺序播放

KEY_A:

;1-4顺序播放

LCALLMUSIC1;《精忠报国》

LCALLMUSIC2;《月亮代表我的心》

LCALLMUSIC3;《看我七十二变》

LCALLMUSIC4;《同一首歌》

RET

 

4.测试结果分析

测试的结果与我们理想设计的情况相同

与设计指标要求进行比较:

符合基本设计.并完成了扩展要求中的顺序播放及单曲循环.缺陷在于.没有实现扩展要求中的当前播放曲目名称,以及下一首即将播放的曲目的编号的名称.随机播放

5.课程设计总结

此次设计比较成功.团队之间合作密切.使得设计开展以及完成情况都非常不同.问题在于.很多时候一些细微的差错就让我们组耗费大量的时间.例如:

数码管选择,开关选择.不然完成时间将会提前.并且很有可能有时间去完成剩下的扩展内容.但很可惜因为时间原因没能完成.为此次实验的遗憾.但收获颇多.对52单片机的了解与.程序的读写有了更深层次的印象

 

附录:

程序清单

ORG0000H

AJMPSTART;FOSC=12MHZ

ORG000BH;T0中断入口地址

AJMPINT_T0

ORG001BH;T1中断入口地址

AJMPINT_T1

START:

MOVSP,#60H

MOVTMOD,#11H

MOVIE,#8AH

MOVIP,#08H;T1中断优先于T0

MOVTH1,#3CH

MOVTL1,#0BH;初始化.T60MS

W1:

MOVP2,#10001110B;等待提示'F'

LCALLGETKEY

CJNEA,#0FFH,W1

MOVA,B

CJNEA,#0AH,W2

LCALLKEY_A;输入键是A。

转KEY_A

SJMPW1

W2:

CJNEA,#OBH,W3

LCALLKEY_B;输入键是B。

转KEY_B

W3:

CJNEA,#0CH,W4

LCALLKEY_C;输入键是C。

转KEY_C

W4:

CJNEA,#0DH,W5

LCALLKEY_D;输入键是D。

转KEY_D

SJMPW1

W5:

SJMPW1

KEY_A:

;1-4顺序播放

LCALLMUSIC1;《精忠报国》

LCALLMUSIC2;《月亮代表我的心》

LCALLMUSIC3;《看我七十二变》

LCALLMUSIC4;《同一首歌》

RET

KEY_B:

;1-4循环播放

T11:

LCALLKEY_A

SJMPT11

RET

KEY_C:

;选择一首歌循环播放

T3:

LCALLGETWORD

CJNEA,#0FFH,T3

MOVA,B

CJNEA,#00H,D1

SJMPE0

D1:

CJNEA,#01H,D2

SJMPE1

D2:

CJNEA,#02H,E3

SJMPE2

E0:

LCALLMUSIC1

SJMPE0

E1:

LCALLMUSIC2

SJMPE1

E2:

LCALLMUSIC3

SJMPE2

E3:

LCALLMUSIC4

SJMPE3

RET

KEY_D:

;选择一首歌播到最后一首

T2:

LCALLGETWORD

CJNEA,#0FFH,T2

MOVA,B

CJNEA,#00H,B1

SJMPC0

B1:

CJNEA,#01H,B2

SJMPC1

B2:

CJNEA,#02H,C3

SJMPC2

C0:

LCALLMUSIC1;乐曲《精忠报国》

C1:

LCALLMUSIC2;乐曲《月亮代表我的心》

C2:

LCALLMUSIC3;乐曲《看我七十二变》

C3:

LCALLMUSIC4;乐曲《同一首歌》

RET

MUSIC1:

MOVP2,#11111001B;显示1

MOVR5,#11111001B

MOV52H,#HIGHTABLE10

MOV32H,#LOWTABLE10

LCALLmusic

RET

MUSIC2:

MOVP2,#10100100B;显示2

MOVR5,#10100100B

MOV52H,#HIGHTABLE20

MOV53H,#LOWTABLE20

LCALL:

music

RET

MUSIC3:

MOVP2,#10110000B;显示3

MOVR5,#10110000B

MOV52H,#HIGHTABLE30

MOV53H,#LOWTABLE30

LCALLmusic

RET

MUSIC4:

MOVP2,#10011001B;显示4

MOVR5,#10011001B

MOV52H,#HIGHTABLE40

MOV53H,#LOWTABLE40

LCALLmusic

RET

music:

MOVR3,#00H;音乐解码器

NEXT20:

MOVA,R3

MOVDPH,52H

MOVDPL,53H

MOVCA,@A+DPTR

MOVR2,A

JZSTOP

ANLA,#0FH

MOVR1,A

MOVA,R2

SWAPA

ANLA,#OFH

JNZSING

CLRTR0

JMPW11

SING:

DECA

MOV22H,A

RLA

MOVDPTR,#TABLE00

MOVCA,@A+DPTR

MOVTH0,A

MOV21H,A

MOVA,22H

RLA

INCA

MOVCA,@A+DPTR

MOVTL0,A

MOV20H,A

SETBTR0

SETBTR1

W11:

LCALLDELAY3

INCR3

LJMPNEXT20

STOP:

CLRTR0

CLRTR1

RET

**************

定时器0中断子程序

**************

INT_T0:

CLRTR0

MOVTL0,20H

MOVTH0,21H

CPLP3.0

SETBTR0

RET1

**************

定时器1中断子程序

**************

INT_T1:

CLRTR1

CLRTR0

LCALLKEY_E

MOVTH1,#3CH

MOVTL1,#0BH

DJNZ60H,OUT

MOV60H,#20

OUT:

SETBTR1

RTEI

KEY_E:

JBP3.1,L2;中断键盘检测

LCALLDELAY2;消除抖动

JBP3.1,L2;如果是高电平就跳到L2

JNBP3.1,$;如果仍是低电平执行中断程序

MOVP2,#10000110B;LED显示E

L3:

JBP3.1,$;检测到低电平,直到低电平跳出该指令

LCALLDELAY2

JBP3.1,L3

JNBP3.1,$;如果再来一个高电平跳出指令

MOVP2,P5

L2:

SETBTR0

RET

GETKEY:

;读A,B,C,B键盘子程序

SA:

JBP1.0,SB;读A

LCALLDELAY2

JBP1.0,SA

JNBP1.0,$

MOVP2,#10001000B;显示A

MOVR5,#10001000B

MOVA,#0FFH

MOVB,#0AH

RET

SB:

JBP1.1,C11;读B

LCALLDELAY2

JBP1.1,SB

JNBP1.1,$

MOVP2,#10000011B;显示B

MOVR5,#10000011B

MOVA,#0FFH

MOVB,#0BH

RET

C11:

JBP1.2,ED1;读C

LCALLDELAY2

JBP1.2,C11

JNBP1.2,$

MOVP2,#11000110B;显示C

MOVR5,#11000110B

MOVA,#0FFH

MOVB,#0CH

RET

ED1:

JBP1.3,L0;读D

LCALLDELAY2

JBP1.3,ED1

JNBP1.3,$

MOVP2,#10100001B;显示D

MOVR5,#10100001B

MOVA,#0FFH

MOVB,#0DH

L0:

RET

GETWORD:

;读音乐序号子程序

S1:

JBP1.4,S2;读1键

LCALLDELAY2

JBP1.4,S1

JNBP1.4,$

MOVP2,#11111001B;显示1

MOVR5,#11111001B

MOVA,#0FFH

MOVB,#00H

RET

S2:

JBP1.5,S3;读2键

LCALLDELAY2

JBP1.5,S2

JNBP1.5,$

MOVP2,#10100100B;显示2

MOVR5,#10100100B

MOVA,#0FFH

MOVB,#01H

RET

S3:

JBP1.6,S4;读3键

LCALLDELAY2

JBP1.6,S3

JNBP1.6,$

MOVP2,#10110000B;显示3

MOVR5,#10110000B

MOVA,#0FFH

MOVB,#0AH

RET

S4:

JBP1.7,l1;读4键

LCALLDELAY2

JBP1.7,S1

JNBP1.7,$

MOVP2,#10011001B;显示4

MOVR5,#10011001B

MOVA,#0FFH

MOVB,#03H

RET

L1:

RET

DELAY:

;延时子程序

PUSH0;保存现场

PUSH1

MOV0,#0H

DELAY1:

MOV1,#0H

DJNE1,$

DJNE0,DELAY1

POP1;恢复现场

POP0

RET

DELAY2:

;延时子程序2

MOV41H,#100

F1:

MOV42H,#250

DJNE42H,$

DJNE41H,F1

RET

DELAY3:

;延时子程序3

MOVR7,#2

W22:

MOVR4,#125

W33:

MOVR0,248

DJNZR0,$

DJNZR4,W33

DJNZR7,W22

DJNER1,DELAY3

RET

TABLE00:

DW64260,64400,64524,64580;简码值低音5,低音6,低音7.1

DW64684,64777,64820,64898;简码值2,3,4,5

DW64968,65030,65058,65110;简码值6,7,高音1,高音

DW65157,65178,65217;简码值高音3,高音4,高音5

;第一首《》

TABLE10:

DB66H,52H,36H,22H,12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H

DB32H,52H,22H,42H,38H,66H,52H,36H,22H,12H,22H,22H,32H,98H

DB24H,22H,32H,54H,52H,32H,92H,12H,92H,82H,98H,66H,52H,36H,22H

DB12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H,32H,52H,22H,42H,38H

DB66H,52H,36H,22H,12H,22H,22H,32H,98H,24H,22H,32H,54H,52H,32H

DB22H,12H,92H,82H,98H,14H,24H,34H,44H,64H,0B4H,64H,32H,52H

DB62H,0B2H,62H,52H,38H,24H,22H,32H,54H,52H,62H,52H,32H,32H,22H,38H

DB64H,0B4H,64H,32H,52H,62H,0B2H,62H,52H,38H,22H,22H,22H,32H,52H,52H

DB52H,62H,7FH,74H,04H,58H,6FH

DB00

;第二首《》

TABLE20:

DB02H,82H

DB16H,32H,54H,02H,52H

DB0A6H,32H,54H,02H,52H

DB64H,74H,0B6H,64H

DB52H,5CH,32H,22H

DB16H,12H,14H,32H,22H

DB16H,12H,14H,22H,32H

DB26H,12H,94H,22H,32H

DB2CH

DB32H,52H

DB36H,22H,14H,54H

DB0ACH,92H,0A2H

DB96H,0A2H,96H,82H

DB3CH,54H

DB36H,22H,14H,54H

DB0ACH,92H,0A2H

DB16H,12H,14H,22H,32H

DB2CH,02H,82H

DB16H,32H,56H,12H

DB0A6H,32H,56H,52H

DB66H,72H,0B6H,62H

DB62H,52H,58H,32H,22H

DB16H,12H,14H,32H,22H

DB16H,12H,14H,22H,32H

DB26H,92H,0A4H,12H,22H

DB1CH

DB00

;第三首《》

TABLE30:

DB0d4H,84H,94H,82H,92H

DB12H,22H,82H,92H,02H,92H,82H,0d2H

DB82H,92H,14H,84H,02H,0d1H,0d1H

DB0c2H,0d2H,84H,0d2H,0d2H,82H,82H

DB84H,82H,82H,94H,82H,0d2H

DB82H,82H,82H,92H,02H,82H,82H,0d2H

DB0c4H,84H,0d4H,92H,0d2H

DB82H,0d2H,82H,92H,98H

DB04H,94H,88H

DB04H,94H,88H

DB04H,94H,88H

DB04H,94H,88H,04H

DB32H,32H,22H,12H,02H,92H,12H,92H

DB32H,32H,22H,12H,02H,92H,12H,92H

DB32H,32H,22H,12H,02H,92H,12H,22H

DB54H,44H,34H,12H,22H

DB34H,22H,12H,02H,92H,12H,92H

DB32H,32H,22H,12H,02H,92H,12H,92H

DB32H,32H,22H,12H,02H,92H,12H,22H

DB54H,44H,32H,22H,12H,92H

DB00

;第四首《》

TABLE40:

DB88h,14h,24h,36H,42H,34H,14H,28H,14H,94H

DB1fH,88H,14H,24H,34H,32H,42H,54H,14H

DB46H,32H,54H,22H,32H,32H,22H,2CH,38H,54H,74H

DB76H,62H,68H,54H,52H,62H,74H,62H,52H,3fH

DB46H,42H,54H,64H,54H,42H,32H,28H,0a4H,0a2H

DB92H,84H,94H,1fH,0b8H,68H,46H,52H,68H

DB74H,72H,72H,74H,62H,52H,3fH,0b8H,68H

DB46H,52H,68H,64H,62H,62H,64H,42H,32H,2fH

DB58H,14H,24H,36H,42H,34H,12H,12H,26H,22H,24H,22H,12H

DB94H,9cH,0a8H,0a6H,92H,84H,64H,54H,22H,22H,46H,42H,44H,32H,22H,5fH

DB00

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1