单片机课程设计抢答器16路抢答器Word文档下载推荐.docx

上传人:b****6 文档编号:22315911 上传时间:2023-02-03 格式:DOCX 页数:26 大小:1.69MB
下载 相关 举报
单片机课程设计抢答器16路抢答器Word文档下载推荐.docx_第1页
第1页 / 共26页
单片机课程设计抢答器16路抢答器Word文档下载推荐.docx_第2页
第2页 / 共26页
单片机课程设计抢答器16路抢答器Word文档下载推荐.docx_第3页
第3页 / 共26页
单片机课程设计抢答器16路抢答器Word文档下载推荐.docx_第4页
第4页 / 共26页
单片机课程设计抢答器16路抢答器Word文档下载推荐.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

单片机课程设计抢答器16路抢答器Word文档下载推荐.docx

《单片机课程设计抢答器16路抢答器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机课程设计抢答器16路抢答器Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。

单片机课程设计抢答器16路抢答器Word文档下载推荐.docx

7参考文献………………………………………………………………………23

1引言

当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。

而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。

鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。

本抢答器与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。

因此,我们制作了这款简易多路(十六路)数字抢答器摒弃了成本高、体积大、操作复杂。

我们采用了数字显示器直接指示,自动锁存显示结果,因而本抢答器具有显示直观,操作简单的特点。

而且在显示时抢答器会发出蜂鸣声使效果更为生动。

工厂、学校和电视台等单位常举办各种智力竞赛,抢答记分器是必要设备。

2功能概述

2.1抢答器工作原理

抢答器的工作原理是采用单片机最小系统,用查询式键盘进行抢答。

采用动态显示组号。

主持人按下开始抢答键才可以抢答。

主持人没有按下开始抢答按纽(P3.2),有人抢答则抢答违规,报警并显示组号,主持人按下开始抢答开关重新抢答。

主持人按下开始抢答按纽(P3.3),数码管10秒倒计时(10秒内抢答有效),有人在10秒抢答,3秒开始20秒倒计时(20秒内必须回答完问题)。

20秒后主持人按下复位开关为下一题的抢答做准备。

单片机最小系统、抢答按键模块(四位并行数码显示、4*4矩阵式键盘)、显示模块、显示驱动模块、抢答开关模块。

2.2设计目的与要求

(1)熟悉电路,理解各个元件之间的控制流程。

(2)熟悉PROTEUS运行环境。

(3)熟练掌握汇编语言,调用中断子程序和对端口进行读写数据的操作。

(4)理解掌握抢答器的原理及电路设计

2.3设计任务

(1)多路数字抢答器的硬件和软件设计

(2)分析电路图

(3)画出程序流程图

(4)编写代码

(5)程序分析与调试

2.4运行环境及工具

(1)WINDOWSXP系统

(2)PROTUES软件

(3)汇编编译环境、汇编语言

3系统硬件设计

3.1芯片的选择

3.1四位一体数码管引脚图

图3四位一体数码管引脚图

3.2、STC89C52介绍

1、STC89C52主要功能及DIP封装

STC89C52是由深圳宏晶科技公司生产的与工业标准MCS-51指令集和输出管

脚相兼容的单片机。

STC89C52主要功能如表1所示,其DIP封装如图2所示

表1:

STC89C52主要功能

主要功能特性

兼容MCS51指令系统

8K可反复擦写FlashROM

32个双向I/O口

256x8bit内部RAM

3个16位可编程定时/计数器中断

时钟频率0-24MHz

2个串行中断

可编程UART串行通道

2个外部中断源

共6个中断源

2个读写中断口线

3级加密位

低功耗空闲和掉电模式

软件设置睡眠和唤醒功能

2、STC89C52引脚介绍

①主电源引脚(2根)

VCC(Pin40):

电源输入,接+5V电源

GND(Pin20):

接地线

②外接晶振引脚(2根)

XTAL1(Pin19):

片内振荡电路的输入端

XTAL2(Pin20):

片内振荡电路的输出端

③控制引脚(4根)

RST/VPP(Pin9):

复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。

ALE/PROG(Pin30):

地址锁存允许信号

PSEN(Pin29):

外部存储器读选通信号

EA/VPP(Pin31):

程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。

④可编程输入/输出引脚(32根)

STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。

P0口(Pin39~Pin32):

8位双向I/O口线,名称为P0.0~P0.7

P1口(Pin1~Pin8):

8位准双向I/O口线,名称为P1.0~P1.7

P2口(Pin21~Pin28):

8位准双向I/O口线,名称为P2.0~P2.7

P3口(Pin10~Pin17):

8位准双向I/O口线,名称为P3.0~P3.7

3.2原理及电路总框图

图3.2抢答器总原理图

3.3晶振复位及开始抢答电路

晶振的频率为12MHZ,提供89C51的时钟脉冲使89C51工作,复位电路是单片机初始化,使单片机重新开始执行程序。

当复位开关按下RST由低电平变为高电平,则程序从头开始执行,在此次课程设计电路中当一个问题结束主持人后按下复位开关后进行下一题的准备。

图3.3晶振复位及开始抢答电路

3.3选手抢答键(矩阵式键盘)

89C51的P1口做一个4*4的行列式键盘。

P1.0至P1.3轮流输出低电平在软件查询P1.4至P1.7的电平变化来输入组号。

给每一个选手编号1至16,当选手按下按钮时,电平变化从P1口输入,经单片机处理后从P0输出由数码管显示抢答者编号。

图3.4选手抢答电路

3.4显示与显示驱动电路

此电路包括显示和驱动,显示采用数码管,驱动用三极管PNP。

数码管要显示抢答违规者编号、抢答10秒倒计时、正常抢答者编号和回答问题时间20秒倒计时,数码管采用动态显示。

驱动电路PNP发射极接+5V电压,当基极为低电平是集电极

为高电平则能驱动数码管使其显示数字。

因为PNP是模拟器件而数码管为数字器件,PNP的集电极如果不接一个较大的电阻显示就会出问题。

所以在PNP的集电极接了一个10千欧的电阻。

图4.3显示与显示驱动电路

4系统软件设计

4.1系统主程序设计

为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,因而在编开始抢答前的程序得先编写设定时间的程序,当时间设好了之后,主持人按开始键发布抢答命令,若在主持人未按开始键之前,有选手提前答题,则为违规抢答,蜂鸣器会发出警告声,并在显示器上显示犯规的选手编号。

当有选手抢答成功,则程序打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序,其他选手在此之后按键无效。

当在扫描到有人按下了抢答键,马上关闭T0、调用显示程序、封锁键盘。

4.2系统流程图

4.2.1硬件复位流程图

图4.2.1硬件复位流程图

4.2.2系统程序流程图

图4.2.2系统程序流程图

4.2.3显示抢答违规流程图

图4.2.3显示抢答违规流程图

4.2.4抢答成功流程图图

图4.24抢答成功流程图

4.3程序清单

ORG0000H

LJMPMAIN

ORG0013H

LJMPESS1

ORG0100H

MAIN:

SETBEA

SETBEX1

SETBIT1;

外部中断1初始化

L16:

MOVP1,#0FFH

MOVR2,#00H

CLRP1.0

INCR2

JBP1.4,L0

LCALLDE0

L0:

INCR2

JBP1.5,L1

L1:

JBP1.6,L2

L2:

JBP1.7,L3

L3:

SETBP1.0

CLRP1.1

JBP1.4,L4

L4:

JBP1.5,L5

L5:

JBP1.6,L6

L6:

JBP1.7,L7

L7:

SETBP1.1

CLRP1.2

JBP1.4,L8

L8:

JBP1.5,L9

L9:

JBP1.6,L10

L10:

JBP1.7,L11

L11:

SETBP1.2

CLRP1.3

JBP1.4,L12

L12:

JBP1.5,L13

L13:

JBP1.6,L14

L14:

JBP1.7,L15

L15:

LJMPL16;

读行列式键盘

ESS1:

MOV70H,#30D;

外部中断1

MOVR7,#0CH

CLRP3.0

S2:

LCALLDELAY

DJNZ70H,S2

SETBP3.0;

蜂鸣器提示开始抢答

MOVTMOD,#00010000B

MOVR3,#0AH

L20:

MOV55H,#14H

L19:

MOVTH0,#3CH

MOVTL0,#0B0H;

定时器1初始化

SETBTR1;

启动定时器1

MOVA,R3

MOVB,#0AH

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOV53H,A

CLRP2.4

MOVP0,53H

LCALLDELAY1

SETBP2.4

MOVA,B

MOV54H,A

CLRP2.5

MOVP0,54H

SETBP2.5

L18:

JNBTF1,L18

CLRTF1

DJNZ55H,L19

DECR3

CJNER7,#00H,D6

LJMPD5

D6:

CJNER3,#0FFH,L21

LJMPL22

L21:

LJMPL20;

抢答倒计时

L22:

MOV73H,#02D

S5:

MOV70H,#20D

MOV71H,#20H

CLRP3.0

S4:

DJNZ70H,S4

SETBP3.0

S6:

DJNZ71H,S6

DJNZ73H,S5;

抢答倒计时时间到声音提示

D5:

RETI

DE0:

MOVDPTR,#TAB;

抢答违规报警并显示抢答违规组号

MOVA,R2

MOVB,#0A

S10:

MOV72H,#20D

MOV73H,#10D

S8:

LCALLLCC

DJNZ72H,S8

S9:

DJNZ73H,S9

DJNZ71H,S10

L17:

LJMPL17

LCC:

CLRP2.4

MOVP0,50H

LCALLDELAY

DELAY1:

MOVP1,#0FFH;

正常抢答读键

MOVR4,#250D

W17:

MOVR2,#00H

JBP1.4,W0

LCALLDE1

W0:

JBP1.5,W1

W1:

JBP1.6,W2

W2:

JBP1.7,W3

W3:

JBP1.4,W4

W4:

JBP1.5,W5

W5:

JBP1.6,W6

W6:

JBP1.7,W7

W7:

JBP1.4,W8

W8:

JBP1.5,W9

W9:

JBP1.6,W10

W10:

JBP1.7,W11

W11:

JBP1.4,W12

W12:

JBP1.5,W13

W13:

JBP1.6,W14

W14:

JBP1.7,W15

W15:

DJNZR4,W16

LJMPW18

W16:

LJMPW17

W18:

RET

DE1:

抢答成功声音提示及回答问题时间20秒倒计时

MOV70H,#20D

S3:

DJNZ70H,S3

SETBP2.0

SETBP2.1

MOV56H,A

MOV57H,A

MOVTMOD,#00000001B

MOVR5,#16H

L32:

MOVR6,#14H

L31:

MOVTL0,#0B0H

SETBTR0

MOVP0,56H

MOVP0,57H

SETBP2.5

CJNER5,#14H,L34

LJMPL35

L34:

JCL35

LJMPL30

L35:

MOVA,R5

MOV58H,A

MOV59H,A

CLRP2.6

MOVP0,58H

SETBP2.6

CLRP2.7

MOVP0,59H

SETBP2.7

L30:

JNBTF0,L30

CLRTF0

DJNZR6,L31

DECR5

CJNER5,#0FFH,L32

MOVP1,#0FFH

MOV70H,#50D

S7:

DJNZ70H,S7

MOVP2,#0FFH

MOVR3,#00H

MOVR7,#00H

RET

DELAY:

MOV51H,#10D;

延时子程序

D0:

MOV52H,#248D

D1:

DJNZ52H,D1

DJNZ51H,D0

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

5系统仿真结果

5.1开始抢答仿真

主持人按开始按钮后,进入抢答10秒倒计时。

图5.1.110秒抢答倒计时开始

图5.1.210秒抢答倒计时结束

5.2抢答犯规仿真

若在主持人还未按开始按钮时,就抢答则为抢答犯规。

仿真为4号犯规。

图5.2.1未开始状态

图5.2.24号选手犯规抢答

5.3抢答成功仿真

主持人按开始按钮后,10秒内抢答则为成功抢答。

仿真为15号选手成功抢答,抢答后进入20秒倒计时答题时间。

图5.3.110秒抢答倒计时开始

图5.3.215号选手成功抢答

6课程设计的总结与体会

通过本次科研实践使我对proteus仿真软件的使用和汇编语言有了更进一步的了解和掌握。

在最初编写过程中,我也曾经因为实践经验的缺乏失落过,也曾经因仿真成功而热情高涨。

特别是Proteus仿真软件的使用,不知是由于电脑的问题还是怎么,这个软件的安装就花了我很长的时间,好不容易安装好了,又对软件的使用一点都不熟悉,要从头开始学起,对着老师发给我们的芯片原理进行仿真画图,刚刚开始时候真的很难下手,因为是英文版的软件,很多东西都看不太明白,都是通过自己一个个来慢慢琢磨,才把仿真图画了出来,然后把写好的程序导入芯片,进行仿真,当看到程序正常运行的那一刻,心中真是有几分的喜悦。

虽然这只是一次的较简单的课程设计,可是平心而论,也耗费了我不少的心血。

我想说:

为完成这次课程设计我们确实很辛苦,但苦中仍有乐,和同学们相互帮助,当数码管亮了起来,喇叭响了起来是对我这段日子以来最好的告慰。

而且对于论文的总体构思也有了很多经验,相信自己经过这一次的训练与学习,对于今后的毕业论文会有更多帮助。

这次科研实践让我充分理解了89C51芯片的工作原理,知道了抢答器的硬件和软件的实现过程,并且通过自己动手编写程序来控制抢答器的工作,我感到非常有成就感,也锻炼了我的编程能力。

在刚开始编程的时候,我感到很茫然,不知道怎么样下手,但是通过自己的仔细的分析和老师的细心的指导,在认真分析了原来已有的代码后,和应有的硬件后,经过多次调试和测试终于成功了。

在此我非常要感谢的是我的指导老师,感谢老师的细心认真的辅导,教给我许多原来不知道的知识。

这次课程设计能够顺利的完成,当然有我个人的努力,但同时也离不开指导老师的答疑解惑和同学的帮助。

参考文献资料

【1】张齐.《单片机原理与应用系统技术》

【2】张齐朱宁西《单片机应用系统设计技术》

【3】个人计算机

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

当前位置:首页 > 外语学习 > 其它语言学习

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

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