单片机汇编语言抢答器.docx

上传人:b****9 文档编号:26007167 上传时间:2023-06-17 格式:DOCX 页数:32 大小:585.55KB
下载 相关 举报
单片机汇编语言抢答器.docx_第1页
第1页 / 共32页
单片机汇编语言抢答器.docx_第2页
第2页 / 共32页
单片机汇编语言抢答器.docx_第3页
第3页 / 共32页
单片机汇编语言抢答器.docx_第4页
第4页 / 共32页
单片机汇编语言抢答器.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

单片机汇编语言抢答器.docx

《单片机汇编语言抢答器.docx》由会员分享,可在线阅读,更多相关《单片机汇编语言抢答器.docx(32页珍藏版)》请在冰豆网上搜索。

单片机汇编语言抢答器.docx

单片机汇编语言抢答器

湖南工学院

课程设计说明书

 

课程:

单片机技术

课程设计题目:

抢答器

班级:

自本0903

姓名***********************

学号:

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

时间:

2011~2012学年第一学期

指导教师:

**********

 

2.2.5晶体振荡电路单元5

2.3硬件电路元器件简介5

2.3.1元器件清单5

3软件系统设计6

3.1占用单片机资源情况6

3.2程序流程框图7

4系统设计结论与分析8

4.1设计结论及使用说明8

4.1.1Proteus软件仿真8

4.1.2Proteus仿真原理图9

4.1.3仿真结果9

4.1.4设计结论10

5设计体会和教学建议11

5.1设计体会11

5.2教学建议11

参考文献12

附录13

 

1系统总体方案设计

1.1课题设计任务

设计七路抢答器,并设置为1,2,3,4,5,6,7路,选出最先按下的一路通过一个数码管显示此路数,同时实现特定的功能。

通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机技术》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。

1.2功能设计要求

设计一个具有特定功能的抢答器。

该抢答器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。

主持人按下开始按钮后,抢答开始并限定时间30S;10S内无人抢答,蜂鸣器发出音响;主持人按下开始按钮之前有人按下抢答器,抢答违规,显示器显示违规台号,违规指示灯亮,其它按钮不起作用;正常抢答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无效;正常抢答下,从按下抢答按钮开始30S内,答完按钮没按下,则作超时处理,超时处理时,违规指示灯亮,数码管显示违规台号,蜂鸣器发出音响。

各台数字显示的消除,蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位按钮。

1.3设计方案及工作原理

1.3.1设计方案选取

该系统采用单片机AT89S52作为控制核心,该系统可以完成运输控制、信号识别及显示功能的实现。

由于用了单片机,其技术比较成熟,应用起来比较方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。

整个系统具有极其灵活的可编程性,能够方便进行功能的扩展和更改。

AT89S52单片机特点:

1、可靠性好:

单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以“烧”写到ROM上,许多信号通道都在同一芯片上,故可靠性好。

2、扩展性好:

单片机有一般计算机所必须的器件,如总线、串并行的输入及输出引脚,可扩展为各种规模的微型计算机系统。

3、控制功能强:

单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳转指令。

1.3.2抢答器工作原理

抢答器的工作原理是采用单片机最小系统,用程序查询方式采用动态显示组号。

AT89S52单片机由微处理器,存储器,I/O口以及特殊功能寄存器SFR等部分构成。

其存储器在物理上设计成数据存储器和程序存储器两个独立的空间,片内数据存储器有128个字节,片内程序存储器容量为4KB。

AT89S52有4个八位并行I/O口:

P0口,P1口,P2口和P3口,各接口均由接口锁存器,输出驱动器和输入缓冲器组成。

P1口是唯一的单功能口,仅能够用作通用的数据输入/输出口。

P3口是双功能口,除了具有数据输入/输出功能外,每条口线还具有第二功能,如P3.0口是串行输入口线,P3.1口是串行输出口线。

在需要外部数据存储器和程序存储器扩展时,P0口可作为分时复用的低八位地址/数据总线,P2口可作为高八位的地址总线,P3口也可作为AT89S52的一些特殊功能口,同时为闪烁编程和编程校验接受一些控制信号,图1.1为抢答器工作原理框图。

 

图1.1抢答器工作原理框图

 

2硬件系统设计

2.1硬件电路简介

硬件电路应该能够完成以下功能:

参赛者对主持人提出的问题要能够及时的做出反应,并按下抢答键回答。

当第一人按下抢答键后,则在数码管显示器上显示其组号,蜂鸣器发声,同时电路将其他按键封锁,使其不起作用。

回答完后主持人按复位键,开始下一轮抢答。

此外,还能够对提前抢答和超时等违规行为进行报警并显示其组号等。

各台数字显示的消除,蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位按钮。

P1.0口由主持人控制,为抢答开始键和主持人复位键;P1.1-P1.7是七组抢答的输入口;P2.0-P2.7口为数码管的段选控制口;P3.1口为蜂鸣器控制口。

(1)硬件电路原理图:

见附录A

(2)硬件电路元器件PCB图:

见附录B

(3)硬件电路元器件布局图:

见附录C

2.2硬件系统各模块功能介绍

2.2.1抢答电路单元

采用七个BUTTON按键作为抢答器的选择按键,为独立式键盘,如图2.1所示:

图2.1选手抢答按键电路

独立式键盘是指用I/O口线构成的单个按键电路,每个独立式按键单独占有一根I/O口线,每根I/O口线上的工作状态不会影响其他I/O口线的工作状态,即一个按键对应着一个端口输入,可采用查询方式判断按键是否按下,1-7路的信息可以直接传输到P1.1-P1.7口线上。

2.2.2显示电路单元

采用两个八段的数码管显示,它是共阳极型的由低电平点亮数码管显示器。

显示由P2.0-P2.7口输出的数字代码,段码采用同相驱动,输入端加低电平,选中的数码段被点亮。

如图2.2所示:

图2.2显示单元电路

2.2.3蜂鸣音频电路单元

AT89S52芯片外接有蜂鸣电路,用来发出报警声。

蜂鸣器在主持人发出抢答信号,检查到有参赛者按键和有违规现象时发出蜂鸣声。

蜂鸣硬件电路比较简单,在P3.1口接上一只三极管、电阻和蜂鸣器即可,如图2.3所示:

图2.3蜂鸣音频电路

2.2.4复位电路单元

外部中断和内部中断并存,单片机有硬件复位端,只要输入持续4个周期的高电平即可实现复位。

硬件复位后的寄存器和存储器都可恢复到初始值。

本设计中有倒计时时间记忆功能,所以不能对单片机进行硬件复位,只能进行软件复位,系统复位电路如图2.4和主持人复位电路如图2.5所示:

图2.4系统复位电路

图2.5主持人复位电路

2.2.5晶体振荡电路单元

图2.6晶体振荡电路

2.3硬件电路元器件简介

2.3.1元器件清单

见附录D

3软件系统设计

3.1占用单片机资源情况

1、P1.0口由主持人控制,为抢答开始键和主持人复位键;P1.1-P1.7是七组抢答的输入口;P2.0-P2.7口为数码管的段选控制口;P3.1口为蜂鸣器控制口。

该抢答器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。

2、主持人按下开始按钮后,抢答开始并限定时间30S;10S内无人抢答,蜂鸣器发出音响。

3、主持人按下开始按钮之前有人按下抢答器,抢答违规,显示器显示违规台号,违规指示灯亮,其它按钮不起作用;正常抢答下,从按下抢答按钮开始30S内,答完按钮没按下,则作超时处理,超时处理时,违规指示灯亮,数码管显示违规台号。

4、正常抢答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无效;蜂鸣器发出音响;各台数字显示的消除,蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位按钮。

3.2软件系统各模块功能介绍

(1)显示程序:

显示程序通过数码管显示器将抢答者的组号、抢答时间及回答倒计时时间显示出来,让大家有直观的了解。

(2)复位程序:

复位电路是帮助主持人控制抢答器用的。

(3)蜂鸣程序:

蜂鸣程序是一个子程序,只在数码管显示时调用程序,就会实现蜂鸣。

(4)延时程序:

该系统有两段延时子程序,一段用于30s的抢答倒计时时间,另一段用于30s的回答倒计时时间。

3.3程序流程框图

 

(1)系统程序流程图

图3.1系统程序流程图

(2)抢答成功程序流程图

图3.2抢答成功程序流程图

(3)违规程序流程图

图3.3违规程序流程图

(4)程序清单:

见附录E

4系统设计结论与分析

4.1设计结论及使用说明

4.1.1Proteus软件仿真

Proteus的ISIS是LabCenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。

如图4.1所示,当主持人按下开始键后,启动开始抢答,数码管上显示的“30s"代表抢答时间,系统预设30s倒计时抢答,如在10s内无人抢答,系统报警,视选手放弃抢答机会;同样在抢答成功后有30s的回答时间,在规定时间内回答完并按下按键,才算是正确抢答成功。

4.1.2Proteus仿真原理图

图4.1Proteus仿真原理图

4.1.3仿真结果

(1)提示符“P.”

图4.2显示提示符“P.”

(2)抢答倒计时

 

图4.3显示倒计时

(3)选手抢答成功

图4.4显示6号选手抢答成功

4.1.4设计结论

目前,电子抢答器仍处在不断完善的过程中,同时抢答器的功能实现形式也是多种多样,不仅可以通过数字编码来实现,而且可以通过单片机控制来达到目的。

由于时间与学识的限制,本课程设计的硬件电路系统中还有一些方面需要改进,如时钟电路不稳定等;由于设计中采用了模块化的程序设计方法,因此各个程序模块的连续性是一项至关重要的工作,理清各子程序之间的关系,正确处理各种中断程序之间的关系,防止中断冲突,提高系统的稳定性。

 

5设计体会和教学建议

5.1设计体会

第一次接触单片机课程,发现联系到了很多以前学到的知识,数电,C语言,这是对前段时间学习的巩固。

学习单片机也让我初步了解了一些关于自动控制有关的知识,而课程设计是我们对所学知识理论的检验与总结,同时又是提高自己动手能力的一种方法。

通过这次课程设计,我从中受益匪浅。

明白了学习是一个长期积累的过程。

在这次课程设计过程中遇到了很多困难,第一次接触PROTUES和PROTEL99.KEIL软件,这些软件对学好单片机有很大的帮助,在设计硬件电路时,刚开始不是很熟悉这些软件,在使用中遇到很多麻烦。

制作PCB板时有一位数码管不亮,查资料,用万用表检查线路,最终发现了问题所在,原来是虚焊了。

经过了几个星期的努力成功的做好了这次课程设计,这次课程设计让我懂得了分析问题,才能解决问题的道理。

知识需要慢慢积累,我在以后的工作和生活中都应该不断的学习,努力提高自己知识和综合素质。

5.2教学建议

在教学方面,我尤其觉得吴老师的课讲的特别的好,重点、难点突出,讲解非常详细,而且还补充了一些很实用的知识,同时经常让我们创新。

吴老师将理论教学与实际操作相结合,让我们更深刻的掌握了知识,特别是做实验,吴老师严格要求我们,这是为我们好,可以考察我们掌握知识的程度,理论必须通过实践来检验它,同时提高了同学们的动手能力。

在此我只想提一个自己的拙见,

课堂上多增加一点互动。

 

参考文献

[1]李朝青.单片机原理及接口技术[M].北京:

北京航空航天大学出版社,1998.

[2]王幸之等.单片机应用系统抗干扰技术[M].北京:

北京航空航天大学出版社,

1999.

[3]何为民.低功耗单片微机系统设计[M].北京:

北京航空航天大学出版社,1994.

[4]李华.MCS-51系列单片机实用接口技术[M].北京:

北京航空航天大学出版社,

1996.

[5]何立民.单片机高级教程[M].北京:

北京航空航天大学出版社,2000.

[6]陈敌北.例说80C51(第三版)[M].北京:

人民邮电出版社2010.

[7]马忠梅.单片机应用程序设计(第四版)[M].北京:

北京航空航天大学出版社,

2006.

[8]李广弟,朱月秀,冷祖祁.单片机基础[M].北京:

北京航空航天大学出版社,

2007.

 

附录

附录A:

硬件电路原理图

 

附录B:

硬件电路元器件PCB图

 

 

附录C:

硬件电路元器件布局图

 

 

附录D:

元器件清单

 

名称

数量

备注

AT89S52芯片

1

数码管

2

八段

晶振

1

12MHz

三极管

9

普通电容

2

33pF

极性电容

1

22uF

LED灯

9

电阻1

24

470Ω

电阻2

1

4.7KΩ

电阻3

3

1KΩ

电阻4

1

200Ω

蜂鸣器

1

USB电源接口

1

下载口

1

排阻1

4

八位

排阻2

4

二位

短路冒

3

排针

2

BUTTON按键开关

9

 

附录E:

程序清单

/****************************************************************/

/*项目名称:

抢答器*/

/****************************************************************/

;系统起始程序区

ORG0000H

START:

LJMPMAIN

ORG000BH

LJMPPTT0

ORG001BH

LJMPPTT1

/****************************************************************/

;系统监控程序区

ORG0030H

MAIN:

MOVSP,#5FH

MOVTMOD,#11H

MOVR0,#20H;RAM区首地址

MOVR7,#96;RAM区单元个数

ML:

MOV@R0,#00H

INCR0

DJNZR7,ML

MOVP3,#0FFH

MOVR4,#20

MOVR3,#20

SETBEA

SETBET0

SETBET1

MOVTH0,#3CH

MOVTL0,#0B0H

MOVTH1,#3CH

MOVTL1,#0B0H

CLR3FH

CLR40H

QISHI:

LCALLDISP

MOVDPTR,#DISBH;系统初始化后提示符“P.”字符代码表首地址

MOVR5,#08H

MOVR0,#78H

DISPTSF:

CLRA

MOVCA,@A+DPTR

MOV@R0,A

INCR0

INCDPTR

DJNZR5,DISPTSF

LCALLDISP

LCALLKEY

JB20H.1,FG1

JB20H.2,FG2

JB20H.3,FG3

JB20H.4,FG4

JB20H.5,FG5

JB20H.6,FG6

JB20H.7,FG7

JNB20H.0,QISHI

LJMPKAISHI

/****************************************************************/

;提前抢答违规程序区

FG1:

MOV7BH,#01H//1号犯规

CLRP3.0//1号违规指示灯亮

LCALLKEY

JB20H.0,QISHI2

LJMPFGDISP

FG2:

MOV7BH,#02H//2号犯规

CLRP3.2//2号违规指示灯亮

LCALLKEY

JB20H.0,QISHI2

LJMPFGDISP

FG3:

MOV7BH,#03H//3号犯规

CLRP3.3//3号违规指示灯亮

LCALLKEY

JB20H.0,QISHI2

LJMPFGDISP

FG4:

MOV7BH,#04H//4号犯规

CLRP3.4//4号违规指示灯亮

LCALLKEY

JB20H.0,QISHI2

LJMPFGDISP

FG5:

MOV7BH,#05H//5号犯规

CLRP3.5//5号违规指示灯亮

LCALLKEY

JB20H.0,QISHI2

LJMPFGDISP

FG6:

MOV7BH,#06H//6号犯规

CLRP3.6//6号违规指示灯亮

LCALLKEY

JB20H.0,QISHI2

LJMPFGDISP

FG7:

MOV7BH,#07H//7号犯规

CLRP3.7//7号违规指示灯亮

LCALLKEY

JB20H.0,QISHI2

LJMPFGDISP

FGDISP:

MOV7FH,#10H

LCALLDISP

LCALLKEY

JB20H.0,QISHI2

LJMPFGDISP

QISHI2:

LJMPMAIN

/****************************************************************/

;蜂鸣程序区

KAISHI:

MOV7FH,#10H//主持人按下开始键

SETBTR0

MOV78H,#00H

MOV79H,#03H

KAI:

LCALLDISP

LCALLKEY

JB20H.1,QD1

JB20H.2,QD2

JB20H.3,QD3

JB20H.4,QD4

JB20H.5,QD5

JB20H.6,QD6

JB20H.7,QD7

LCALLDISP

JB3FH,FM//蜂鸣器10秒过后鸣叫(高电平有效)

LJMPKAI

FM:

CLRP3.1//蜂鸣器鸣叫

CLR3FH

SETBTR1

LJMPKAI

/****************************************************************/

;抢答成功程序区

/****************************************************************/

;1.第一人抢答到程序区

QD1:

MOV7BH,#01H//1号抢到

CLRP3.1//蜂鸣器鸣叫

LCALLDAOSHI

LJMPHUIDA1

QD2:

MOV7BH,#02H//2号抢到

CLRP3.1//蜂鸣器鸣叫

LCALLDAOSHI

LJMPHUIDA2

QD3:

MOV7BH,#03H//3号抢到

CLRP3.1//蜂鸣器鸣叫

LCALLDAOSHI

LJMPHUIDA3

QD4:

MOV7BH,#04H//4号抢到

CLRP3.1//蜂鸣器鸣叫

LCALLDAOSHI

LJMPHUIDA4

QD5:

MOV7BH,#05H//5号抢到

CLRP3.1//蜂鸣器鸣叫

LCALLDAOSHI

LJMPHUIDA5

QD6:

MOV7BH,#06H//6号抢到

CLRP3.1//蜂鸣器鸣叫

LCALLDAOSHI

LJMPHUIDA6

QD7:

MOV7BH,#07H//7号抢到

CLRP3.1//蜂鸣器鸣叫

LCALLDAOSHI

LJMPHUIDA7

DAOSHI:

MOV78H,#00H//抢答按键后倒计时

MOV79H,#03H

SETBTR1

MOVTH0,#3CH

MOVTL0,#0B0H

RET

/****************************************************************/

;2.选手回答程序区

HUIDA1:

LCALLDISP//1号回答

JB40H,CHAO11

LCALLKEY

JB20H.1,TING

LJMPHUIDA1

TING:

LCALLDISP//按下结束按键后只调显示

CLRTR0

LCALLKEY

JB20H.0,QISHI3

LJMPTING

QISHI3:

LJMPMAIN

HUIDA2:

LCALLDISP//2号回答

JB40H,CHAO22

LCALLKEY

JB20H.2,TING

LJMPHUIDA2

HUIDA3:

LCALLDISP//3号回答

JB40H,CHAO33

LCALLKEY

JB20H.3,TING

LJMPHUIDA3

HUIDA4:

LCALLDISP//4号回答

JB40H,CHAO44

LCALLKEY

JB20H.4,TING

LJMPHUIDA4

CHAO11:

LJMPCHAO1

CHAO22:

LJMPCHAO2

CHAO33:

LJMPCHAO3

CHAO44:

LJMPCHAO4

CHAO55:

LJMPCHAO5

CHAO66:

LJMPCHAO6

CHAO77:

LJMPCHAO7

HUIDA5:

LCALLDISP//5号回答

JB40H,CHAO55

LCALLKEY

JB20H.5,TING

LJMPHUIDA5

HUIDA6:

LCALLDISP//6号回答

JB40H,CHAO66

LCALLKEY

JB20H.6,TING

LJMPHUIDA6

HUIDA7:

LCALLDISP//7号回答

JB40H,CHAO77

LCALLKEY

JB20H.7,TING

LJMPHUIDA7

/****************************************************************/

;超时违规程序区

CHAO1:

CLRP3.0//1号超时:

违规指示灯亮

CLRP3.1//蜂鸣器鸣叫

MOV7F

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

当前位置:首页 > 高中教育 > 高考

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

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