基于AT89S52的四路抢答器设计文档.docx

上传人:b****4 文档编号:1029218 上传时间:2022-10-15 格式:DOCX 页数:23 大小:84.54KB
下载 相关 举报
基于AT89S52的四路抢答器设计文档.docx_第1页
第1页 / 共23页
基于AT89S52的四路抢答器设计文档.docx_第2页
第2页 / 共23页
基于AT89S52的四路抢答器设计文档.docx_第3页
第3页 / 共23页
基于AT89S52的四路抢答器设计文档.docx_第4页
第4页 / 共23页
基于AT89S52的四路抢答器设计文档.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

基于AT89S52的四路抢答器设计文档.docx

《基于AT89S52的四路抢答器设计文档.docx》由会员分享,可在线阅读,更多相关《基于AT89S52的四路抢答器设计文档.docx(23页珍藏版)》请在冰豆网上搜索。

基于AT89S52的四路抢答器设计文档.docx

基于AT89S52的四路抢答器设计文档

摘要

随着现代娱乐节目及其它游戏环节的需要,也为了完善节目的紧张气氛和观众的互动,就出现了多路抢答器。

很多人都抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。

抢答器的出现给人们带来极大的方便,它能准确无误的从若干名参赛选手中确定出最先抢答者,并且有显示,生效等功能。

本设计是以四路抢答为基本理念。

考虑到依需设定限时回答的功能,利用AT89S52单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和计数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。

关键词:

抢答器;AT89S52

 

ABSTRACT

 

Withmodernentertainmentprogramsandothergameloop,alsoneedinordertoimprovetheprogramoftensionandtheaudienceinteraction.Manypeoplearescare-answeringdeviceasatool,hasbeenwidelyappliedinallkindsofintelligenceandknowledgecompetitionsituation.Theemergenceoftheviestoanswerfirstpeoplebringsgreatconvenience.Itcanaccuratefromseveralofparticipatinginthefirstviestoanswerfirstdetermine.Andhaveashow,soundeffectsandotherfunctions.

Thisdesignis4viesforbasicideas.Consideringaccordingtoneedtosetlimittoanswerfunction,usingAT89S52andperipheryinterfaceimplementationofscare-answeringsystem,ofthemicrocontrollertimer/countertimingandnumerationprinciple,softwareandhardwareorganically,andmakesthesystemcancorrectlytothetime,atthesametimemakingdigitaltubecanproperlyshowsthetime.

Keywords:

scare-answeringdevice;AT89S52

1设计课题任务、功能要求说明及方案介绍………………………………1

1.1设计课题任务…………………………………………………………1

1.2功能要求说明…………………………………………………………1

1.3设计总体方案介绍及原理说明………………………………………1

2硬件系统的设计……………………………………………………………3

2.1硬件系统各模块功能简要介绍………………………………………3

2.2元器件清单……………………………………………………………3

3软件系统的设计……………………………………………………………5

3.1使用单片机资源的情况………………………………………………5

3.2软件系统各模块功能简要介绍………………………………………5

3.3软件系统程序流程框图………………………………………………5

3.4软件系统程序清单……………………………………………………9

4设计结论、实际结果、误差分析、教学建议……………………………20

4.1设计结论………………………………………………………………20

4.2设计实物使用说明……………………………………………………20

4.3设计课题的误差分析…………………………………………………20

4.4设计体会………………………………………………………………20

4.5教学建议………………………………………………………………21

结束语……………………………………………………………………………22

致谢………………………………………………………………………………23

参考文献…………………………………………………………………………24

附录………………………………………………………………………………25

 

1设计课题任务、功能要求说明及方案

 

1.1设计课题任务

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

1.2功能要求说明

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

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

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

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

1.3设计总体方案介绍及工作原理说明

本抢答器主要由单片机、按键电路、显示接口电路和复位电路构成,设计课题的总体方案如图1所示:

 

图1总体设计方案

智能抢答器用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,采用单片机AT89S52。

片内带有4KB的Flash存储器,并允许在系统内改写或用编程器编程。

该系统的核心器件是AT89S52,其外部接上复位电路、上拉电阻、数码管、独立式按键及蜂鸣器。

利用单片机定时器/计数器产生定时效果通过编程实现需要的定时时间,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现多路抢答,正确显示时间和台号的功能。

 

2硬件系统的设计

 

2.1硬件系统各模块功能简要介绍

本设计的硬件系统主要采用以下基本模块实现:

单片机最小系统模块,输入模块,输出模块,蜂鸣器模块,指示灯模块,电源模块,下载模块。

(1)单片机最小系统模块:

单片机最小系统一般包括:

单片机,晶振电路,复位电路,本模块以AT89S52为系统控制核心,单片机的复位由复位电路完成

(2)输入模块:

输入模块采用独立式键盘。

八个独立式按键S1-S8一端分别接在P1口P1.0-P1.7,另一端都连接在GND接地。

当某一按键按下时,相应的口线发生电平变化,单片机进行扫描来确定某一按键的按下。

进而判断某一选手按下抢答键,同时数码管显示电路显示相应的时间和选手号码。

(3)输出模块:

输出模块采用数码管显示。

本模块采用两个四位一体数码管(共阳极)作为显示窗口,位控端接有三极管,用8个PNP三极管来驱动数码管,既节约成本又简化电路。

(4)蜂鸣器模块:

蜂鸣器与三极管相连,三极管的一端连接在P3.1口线上,蜂鸣器电路的作用是,当无人抢答或者是抢答超时时起到报警作用。

(5)指示灯模块:

用八个发光二极管LED0-LED7一端并接在VDD(VCC+5V)上,另一端分别通过限流电阻470Ω的电阻连接在P3口的P3.0-P3.7口线上。

用来显示对应的台号以及抢答开始、结束及违规指示。

(6)电源模块:

电源模块直接由USB口直接供电,接+5V的电压。

(7)下载模块:

ISP下载功能,是通过单片机的SPI口实现的。

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

抢答器元器件清单列表如表1所示:

 

表1元器件清单列表

序号

名称、大小

数量

1

电阻200Ω

1个

2

电阻470Ω

24个

3

电阻1KΩ

4个

4

电容22μF

1个

5

电容33pF

2个

6

AT89S52

1个

7

单排插

若干

8

四位一体共阳数码管

2个

9

LED

9个

10

PNP

9个

11

四脚按钮

9个

12

六脚开关

1个

13

USB电源接口

1个

14

下载口

1个

15

晶振12MHz

1个

16

蜂鸣器

1个

 

3软件系统的设计

 

3.1使用单片机资源的情况

AT89S52的P1口为输入,P0、P3口为输出

RST为复位输入

片内资源主要有:

T/C0用于50ms时基信号的产生

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

本设计的软件系统主要采用以下基本模块来实现:

主函数、定时器0中断服务函数、键盘扫描及处理函数、显示输出及更新函数、延时函数。

(1)主函数:

主要是用于对输入信号的处理,输出信号的控制和对各个功能程序模块的运用及其控制。

(2)定时器0中断服务函数:

30秒倒计时,判别30秒内是否有人抢答,并判别在有人抢答的情况下,答题时间是否超过30秒。

(3)键盘扫描及处理函数:

键盘扫描函数,函数返回值即键值;键处理则是处理与键盘相连的P1口的内容,作为键值。

(4)显示输出及更新函数:

显示输出是将相应的台号和时间在数码管上显示,显示更新函数即是设置一个显示缓冲函数用于数码管显示的更新,保证显示的稳定性。

(5)延时函数:

两个纯延时函数,一个为显示延时函数,一个为蜂鸣器报警延时函数,为了蜂鸣器报警声音更清晰,延时大约为0.5秒。

3.3软件系统程序流程框图

系统软件采用C语言编写程序,然后通过Keil软件进行调试,生成hex文件后,通过Proteus软件进行电路仿真。

程序总体流程框图如图2所示

中断服务函数流程框图如图3所示

键盘扫描函数流程框图如图4所示

显示函数流程框图如图5所示

 

图2程序总体流程框图

 

 

图3中断服务函数流程框图

Y

图4键盘扫描程序流程框图图5显示程序流程框图

 

3.4软件系统程序清单

按键功能及指示灯指示:

S2:

抢答开始;S3:

抢答结束;

S4,S5,S6,S7为对应的四路抢答器按键;S9:

主持人复位按键;

LED0:

抢答开始提示;LED1:

抢答违规指示;LED2:

抢答结束提示;

LED3、LED4、LED5、LED6为对应的四路位置指示

#include"reg52.h"

#include"intrins.h"

#include"absacc.h"

#defineucharunsignedchar

#defineuintunsignedint

#defineulongunsignedlong

/*定义定时器T0时间常数和方式控制字*/

#definev_th00x3c//计数初值初始化

#definev_tl00xb0

#definev_tmod0x01//TMOD初始化

ucharled_buf[8];//显示缓冲数组

bitbdataqdks_biaozhi;//启动键的标志位

bitbdatabiaozhi1;//有人开始抢答的标志位

bitbdatafuwei;//复位键标志位

/*定义LED显示字符段码*/

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

当前位置:首页 > 解决方案 > 学习计划

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

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