八路抢答器.docx

上传人:b****1 文档编号:2209820 上传时间:2023-05-02 格式:DOCX 页数:12 大小:586.62KB
下载 相关 举报
八路抢答器.docx_第1页
第1页 / 共12页
八路抢答器.docx_第2页
第2页 / 共12页
八路抢答器.docx_第3页
第3页 / 共12页
八路抢答器.docx_第4页
第4页 / 共12页
八路抢答器.docx_第5页
第5页 / 共12页
八路抢答器.docx_第6页
第6页 / 共12页
八路抢答器.docx_第7页
第7页 / 共12页
八路抢答器.docx_第8页
第8页 / 共12页
八路抢答器.docx_第9页
第9页 / 共12页
八路抢答器.docx_第10页
第10页 / 共12页
八路抢答器.docx_第11页
第11页 / 共12页
八路抢答器.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

八路抢答器.docx

《八路抢答器.docx》由会员分享,可在线阅读,更多相关《八路抢答器.docx(12页珍藏版)》请在冰点文库上搜索。

八路抢答器.docx

八路抢答器

学号:

成绩_

单片机及接口技术

课程设计报告

 

题目八路抢答器的设计

学院电信学院专业

班级学生

指导教师设计时间:

2010/12/27~31

八路抢答器的设计

一、实验概述

设计8路抢答器的PROTEUS仿真电路图,电路要求有4位LED数码管和8个输入按键和一个输出小喇叭,4位数码管输出显示信息,喇叭输出声音提示信息,8个按键作为选手的抢答控制或其它复用控制。

编程实现如下功能:

(1)系统运行初始状态显示你的最后3位学号

(2)主持人按按键,响铃提示进入显示抢答题20秒倒计时。

a、20秒期间选手选题,显示选手号和进入90s答题倒计时,0s响铃结束,显示开始状态的学号。

b、20秒期间选手不选题,则0s响铃结束,显示开始状态的学号。

附:

响铃子程序

RING:

MOV21H,#0FFH;响铃子程序

RIN1:

CPLP3.3

LCALLD2MS;调用延时子程序

DJNZ21H,RIN1

RET

RD2MS:

MOVR5,#04;延时子程序

DEL1:

MOVR7,#248

DJNZR7,$

DJNZR5,DEL1

RET

二、硬件设计(文字性概述和电路图)

如图所示P3.0为主持人按键开关,P3.3为响铃端口,P1为选手按键端口,P2为输出口。

 

三、系统主要程序的设计(文字概述和主要程序的流程图)

四、实验运行结果

上图是初始化效果图

上图是抢答20秒倒计时效果图

上图是选手答题90秒倒计时效果图(第一位为选手号,二三位为90秒倒计时显示)

五、汇编程序清单

ORG0000H

LJMPSTART

ORG000BH

LJMPT0INT

ORG001BH

LJMPT1INT

ORG0100H

START:

MOVSP,#30H

MOVDPTR,#TAB

MOVTMOD,#11H

MOVTH0,#3CH

MOVTL0,#0B0H

MOVTH1,#3CH

MOVTL1,#0B0H

MOVR0,#20

MOVR3,#20

SETBEA

SETBET0

SETBET1

;***********显示3位学号等待P3.0输入******************

D0:

MOVR1,#20

MOVR2,#90

D1:

MOVA,#1

MOVCA,@A+DPTR

MOVP0,A

MOVP2,#01H

LCALLD2MS

MOVP2,#00H

MOVA,#2

MOVCA,@A+DPTR

MOVP0,A

MOVP2,#02H

LCALLD2MS

MOVP2,#00H

MOVA,#6

MOVCA,@A+DPTR

MOVP0,A

MOVP2,#04H

LCALLD2MS

MOVP2,#00H

JNBP3.0,D2

LJMPD1

;**************20秒倒计时等待八路开关*****************

D2:

CALLRING

SETBTR0

D3:

MOVA,R1

MOVB,#10

DIVAB

MOVCA,@A+DPTR

MOVP0,A

MOVP2,#01H

LCALLD2MS

MOVP2,#00H

MOVA,B

MOVCA,@A+DPTR

MOVP0,A

MOVP2,#02H

LCALLD2MS

MOVP2,#00H

JNBP1.0,G1

JNBP1.1,G2

JNBP1.2,G3

JNBP1.3,G4

JNBP1.4,G5

JNBP1.5,G6

JNBP1.6,G7

JNBP1.7,G8

CJNER1,#0,D3

LCALLRING

LJMPD0

;***************八路分支程序**************************

G1:

CLRTR0

SETBTR1

MOV42H,#1

LCALLD90S

LJMPD0

G2:

CLRTR0

SETBTR1

MOV42H,#2

LCALLD90S

LJMPD0

G3:

CLRTR0

SETBTR1

MOV42H,#3

LCALLD90S

LJMPD0

G4:

CLRTR0

SETBTR1

MOV42H,#4

LCALLD90S

LJMPD0

G5:

CLRTR0

SETBTR1

MOV42H,#5

LCALLD90S

LJMPD0

G6:

CLRTR0

SETBTR1

MOV42H,#6

LCALLD90S

LJMPD0

G7:

CLRTR0

SETBTR1

MOV42H,#7

LCALLD90S

LJMPD0

G8:

CLRTR0

SETBTR1

MOV42H,#8

LCALLD90S

LJMPD0

;*************90秒倒计时子程序****************************

D90S:

MOVA,42H

MOVCA,@A+DPTR

MOVP0,A

MOVP2,#01H

LCALLD2MS

MOVP2,#00H

MOVA,R2

MOVB,#10

DIVAB

MOVCA,@A+DPTR

MOVP0,A

MOVP2,#02H

LCALLD2MS

MOVP2,#00H

MOVA,B

MOVCA,@A+DPTR

MOVP0,A

MOVP2,#04H

LCALLD2MS

MOVP2,#00H

CJNER2,#0,D90S

LCALLRING

RET

;*************定时器T0**************************

T0INT:

MOVTH0,#3CH

MOVTL0,#0B0H

DJNZR0,NEXT1

MOVR0,#20

DECR1

CJNER1,#0,NEXT1

CLRTR0

NEXT1:

RETI

;*************定时器T1***************************

T1INT:

MOVTH1,#3CH

MOVTL1,#0B0H

DJNZR3,NEXT2

MOVR3,#20

DECR2

CJNER2,#0,NEXT2

CLRTR1

NEXT2:

RETI

RING:

MOV21H,#0FFH;响铃子程序

RIN1:

CPLP3.3

LCALLD2MS;调用延时子程序

DJNZ21H,RIN1

SETBP3.3

RET

D2MS:

MOVR5,#04;延时子程序

DEL1:

MOVR7,#248

DJNZR7,$

DJNZR5,DEL1

RET

TAB:

DB28H,7EH,0A2H,62H,74H,61H,21H,7AH,20H,60H

END

六、实验体会

这次实验主要是通过结合以前学习的知识来进行的,比如中断,调用子程序,延时等,实验刚开始,对于写代码比较麻烦,但是有很多子程序都是以前做实验做过的,所以直接拿过来用了,比如倒计时的子程序,延时子程序,但由于对之前的知识掌握不够透彻,所以再写代码时经常出现卡到瓶颈,只能慢慢思考,或者请教别人,很多东西不是说别人教你你就会的,而是要看自己怎么理解,所以更重要的还是在于自己如何领悟。

团队能力固然重要,但是如果你连一点基础都没有怎么谈团队,那样你只会拖后腿,再别人看来你是在不之所谓,所以个人能力还是很重要的,但是只有付出才会有收获,世界上是没有不劳而获的事情的。

 

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

当前位置:首页 > 农林牧渔 > 林学

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

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