基于单片机的8路智能抢答器设计毕业设计论文.docx

上传人:b****4 文档编号:5496317 上传时间:2022-12-17 格式:DOCX 页数:29 大小:705.93KB
下载 相关 举报
基于单片机的8路智能抢答器设计毕业设计论文.docx_第1页
第1页 / 共29页
基于单片机的8路智能抢答器设计毕业设计论文.docx_第2页
第2页 / 共29页
基于单片机的8路智能抢答器设计毕业设计论文.docx_第3页
第3页 / 共29页
基于单片机的8路智能抢答器设计毕业设计论文.docx_第4页
第4页 / 共29页
基于单片机的8路智能抢答器设计毕业设计论文.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

基于单片机的8路智能抢答器设计毕业设计论文.docx

《基于单片机的8路智能抢答器设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的8路智能抢答器设计毕业设计论文.docx(29页珍藏版)》请在冰豆网上搜索。

基于单片机的8路智能抢答器设计毕业设计论文.docx

基于单片机的8路智能抢答器设计毕业设计论文

摘要

在抢答比赛中,利用抢答器可以轻易分辨出某个人或代表队首先获得答题权。

本设计采用STC89C52单片机设计抢答器系统。

电路要求设置有8个键盘,但是考虑到系统的可拓展性,本设计采取矩阵键盘从而设置16个键盘,可以供16名选手参加比赛。

主持人按下开始按钮,则开始抢答,并显示抢答时限;若有人按下自己抢答键,则在数码管上显示对应编号和抢答剩余时间,抢答剩余时间低于5秒时会报警提示,剩余时间为0秒时,若无人抢答,本次抢答无效;有人抢答情况下,主持人读完题目后按下开始作答按钮,则显示作答时间,作答时间低于5秒,会报警提示。

关键词:

可拓展性;STC89C52单片机;矩阵键盘

ABSTRACT

Inaquiz,therespondercaneasilydistinguishwhichgroupachievethefirstanswerright.ThesubjectappliestheSTC89C52MCUtodesigntherespondersystem.Thecircuitset8keyboards.Buttakingintoaccountthescalabilityofthesystem,thisdesigntakethematrixkeyboardtosetthe16keyboards,sothecircuitcanbeusedfor16playerstoparticipateinthecompetition.Theresponderwillworkwhenahostpressthestartbutton,andshowanswertimelimit;ifyoupressyouranswerkey,thedigitaltubewillshowthecorrespondingnumberandtheremainingtime;andthecircuitwillalarmwhentheremainingtimelessthan5seconds;ifnobodyanswerthequestionwhentheremainingtimeis0seconds,theanswerisinvalid.Themoderatorwillpressthebuttonafterreadingthequestionifsomeoneansweraquestion,thenthecircuitdisplayresponsetimeafterpressingthebutton.Inaddition,thecircuitwillalarmwhenthetimeoftheanswerlessthan5seconds.

Keywords:

Scalability;STC89C52singlechipmicrocomputer;Matrixkeyboard

1前言

1.1设计背景及意义

随着科技的飞速发展,单片机已经渗透到我们生活的各个领域,几乎在每个领域都能找到单片机的影子。

上至军用航空导弹导航系统下至生活中使用的电子表等用品,都离不开单片机应用。

单片机产生于20世纪70年代末,大致经历了三个阶段。

单片微型计算机(SingleChipMicrocomputer)阶段,微控制器(MicroControllerUnit)阶段,SoC单片机(SystemOnChip)阶段。

著名的单片机生产企业有Atmel、STC、飞利浦、Intel、Philips等公司。

[1]

单片机出现方便了人们的生活,所以单片机的使用也使抢答器的电路更加简便和实用。

抢答器的运用虽然很广泛,但是,传统的抢答器具有以下的问题亟待解决:

①有的传统抢答器由数字电路组成,在使用现场会有多名选手或代表团参加比赛,所以会造成布线繁琐等麻烦,现场不美观等问题;②由于传统抢答器由电子元器件集成制作而成,所以就会造成可靠性低,元器件集成工艺复杂,花费比较高等麻烦:

③由与传统的抢答器由数字电路构成,所以可能造成抢答时控制不精确,功能单一等缺陷。

[2]

所以,为了改进传统抢答器的各种缺点,本课题采用STC89C52单片机设计抢答器系统。

采用单片机设计抢答器,不仅可以避免布线复杂,集成工艺复杂等问题,还可以减小误差,降低开支,充分利用现有资源。

使得抢答器工作效率高,反应灵敏。

采用单片机设计的抢答器可以简单的实现拓展功能,可以扩至16路。

而且单片机具有方便、低功耗、抗干扰性强等特点,使得本设计具有更强的实用价值。

通过本次毕业设计,我们应该熟悉单片机的基本结构,将理论所学知识运用到实际中来,能熟练运用Proteus仿真软件,和Keil51编程软件。

从而提高自身的编程能力以及解决问题的能力。

1.2设计要求

利用单片机使用方便、低功耗、抗干扰性强、可靠性高等特点,设计一个8路智能抢答器。

1、以单片机为核心处理器,实现一个智能抢答器,要求同时供8名选手或8个代表队参加比赛。

2、同时要设置一个用于控制整个电路的开关,用来控制整个抢答器系统的清零、开始抢答及定时器预置等。

3、抢答器具有锁存抢答选手编号和显示功能,抢答正式开始后,若有参赛选手或代表队按下自己按钮,锁存并显示选手编号,并禁止其他选手抢答。

1.3设计内容

利用单片机实现8路智能抢答器功能。

先在Proteus软件上画出系统的各部分硬件电路设计框图,并且在Keil软件上完成对应的软件程序设计,实现系统的主要功能。

硬件设计内容主要包括:

复位电路,晶振电路,矩阵键盘输入,LED显示模块,报警电路部分。

软件设计内容主要包括:

键盘扫描,编码显示,抢答选手扫描,中断程序控制,定时器的使用。

抢答器要求可同时供8名选手或8个代表队参加抢答比赛。

此外,设置一个控制开关,用来控制系统的清零、抢答开始及定时器的预置等。

抢答器具有数据锁存和显示功能。

1.4设计内容的扩展

设计题目要求设计基于单片机的8路抢答器,但是在实际运用过程中,参赛的选手或者代表队往往多于8路,所以8路抢答往往不够用。

本次设计为了更好的适应实际要求,在设计过程中对电路做了扩展,将基于单片机的8路抢答器扩展设计成16路抢答器。

在下文中,所有设计都是按照16路抢答器要求来完成的。

 

2系统概述

2.1系统的主要功能

本系统运用单片机来实现抢答器设计,主要包括一下几个模块:

复位电路,晶振电路,矩阵键盘输入,LED显示模块,报警电路。

图2.1系统主要功能

2.2系统工作状态

将16位选手编号1-16,接通电源后,主持人按下开始键则开始抢答,16位选手在规定时间内抢答,当有选手按键抢答时,在屏幕上显示选手号码且显示剩余时间,并禁止其他选手抢答;此时,主持人读完题目按下开始答题按钮则开始答题,选手要在规定时间内完成作答,若答题时间快到时会报警。

当无选手抢答时,剩余抢答时间小于5秒时会通过闪亮小灯响起蜂鸣器来报警,如果抢答时间耗尽还没有选手按下抢答键,则此轮抢答无效。

主持人按下复位按钮则抢答重新开始。

图2.2系统工作状态

2.3单片机STC89C52功能简介

本次毕业设计采用的是STC89C52型号的单片机,也是16路抢答器电路的核心处理器。

STC89C52是由宏晶公司生产的一种8位微型处理器,具有8k可编程的只读Flash存储器。

巨有低功耗、低电压、低价格和高性能的特点。

在当今科技发展飞速的时期,STC89C52单片机的使用越来越广泛。

STC89C52是STC89C51的升级产品,与STC89C51比较多了以下功能:

STC89C52具有3个定时器/计数器,STC89C51只有2个定时器/计数器;STC89C52具有8KB的Flash存储器,而STC89C51具有4KB的Flash存储器。

STC89C52单片机内部主要有以下部件组成:

8KBFlash存储器,512B数据存储器,32条I/O口线,3个定时器/计时器,看门狗定时电路,内置4KB的EEPROM,用于多处理机通信、I/O扩展或全双工UART的串行口;一个具有8个中断源、4个优先级的中断嵌套结构。

如下图2.3是STC89C52的管脚示意图:

图2.3STC89C52的管脚示意图

 

STC89C52各个管脚的功能:

(1)电源与晶振

Vcc接+5V电压,GND接地。

XTAL1接外部晶体振荡器的一个引脚。

在单片机内部,他是一个反相放大器的输入端,此反相放大器构成了片内振荡器。

XTAL2接外部晶体振荡器的另一个引脚。

在单片机内部,他是一个反相放大器的输出端,输入到内部时钟发生器。

(2)I/O:

P0、P1、P2、P3共4个I/O口,32根

P0:

8位、漏极开路的双向I/O口,不含内部上拉电阻。

P1:

8位、准双向I/O口,内部含有上拉电阻。

P2:

8位、准双向I/O口,内部含有上拉电阻。

P3:

8位、准双向I/O口,内部含有上拉电阻。

(3)控制线:

共4根

RST----复位输入信号,高电平有效。

在振荡器工作时,在RST上作用两个机器周期以上的高电平,便可实现复位操作。

EA/Vpp----片外程序存储器访问允许信号,低电平有效。

当EA接地。

单片机只执行片外存储器中的程序;当EA接Vcc时,CPU首先执行片内程序存储器中的程序,然后自动转向执行片外程序存储器中的程序。

如果程序锁定位LB1被编程,那么EA值将在复位时由片内锁存。

在与Flash并行编程/校验期时。

该引脚施加12V的编程电压Vpp。

ALE/PROG----地址锁存允许信号输出。

在CPU访问外部程序存储器或外部数据存储器时,ALE提供一个地址锁存信号,将低8位地址锁存在片外存储器中。

在与Flash并行编程/校验期间,该引脚也是编程负脉冲的输入端。

在正常操作状态下,该引脚端口输出恒定频率的脉冲。

其频率为晶振频率的1/6,可用做外部定时或其他触发信号。

应注意,单片机每次访问内部数据存储器时,都要失去一个ALE脉冲。

ALE的禁止位不影响对外部存储器的访问。

PSEN----片外程序存储器选通信号,低电平有效。

当STC89C52执行来自外部程序存储器的指令代码时,PSEN每个机器周期两次有效。

在访问外部数据存储器时,PSEN无效。

[3]

 

3硬件电路设计

3.1Proteus软件介绍

Proteus软件是英国公司出版的一款EDA软件。

此软件不仅具有一般EDA软件的仿真功能,而且能仿真单片机及其外围电路。

它是目前最好的仿真单片机及外围电路软件。

在进行各种电路设计之前,必须要进行电路原理图的仿真,只有在软件仿真成功才可能在实际电路中实现。

并且由于实验室器件的有限,有些电路无法在实际中设计出来,所以我们必须要通过Proteus仿真电路。

Proteus软件是世界上唯一将电路仿真、PCB设计和虚拟模型仿真三合一的设计平台,在单片机电路设计中使用更为广泛。

[4]

3.2单片机最小系统设计

在利用单片机设计各种电路的过程中都离不开最小系统的外围支持,单片机最小系统是每个单片机电路设计必不可少的部分,单片机最小系统包含两个部分:

时钟频率电路和复位电路。

3.2.1时钟频率电路设计

单片机工作时需要时钟电路产生时钟信号,指令执行中各信号之间的相互关系就是时序所研究的内容。

为保证同步工作方式实现,电路应在唯一的时钟信号控制下按照时序进行工作。

时钟信号可以通过两种电路形式得到:

内部振荡方式和外部振荡方式。

外部振荡方式是把外部已有的时钟信号引入单片机内。

这种方式适宜用来使单片机的时钟与外部信号保持同步。

本系统采用内部振荡方式产生时钟信号。

STC89C52单片机内部带有时钟电路,因此,只需要将定时控制元件(晶体振荡器和电容)通过XTAL1和XTAL2引脚接入单片机芯片,即可形成一个稳定的自激振荡器。

如图3.1所示为内部振荡方式的外部电路:

图3.1时钟频率电路

电路中采用11.0592Mhz的石英晶体振荡器产生时钟信号,两个电容均为33pf,电容的作用是为了帮助振荡器起振以及对电路频率的微调。

3.2.2复位电路设计

在抢答器电路中,难免会出现操作失误,使得程序跑偏,或者出错,所以需要复位电路来使得在出错时使电路恢复正常工作。

复位电路是单片机的初始化操作,使单片机从0开始执行程序。

复位不仅能使单片机进入系统正常初始化,而且当程序运行出错或操作不当使系统死锁时,按下复位按钮重新启动,使单片机正常工作。

复位方式有以下四种:

上电自动复位、按键电平复位、外部脉冲复位、和自动复位。

即外部产生复位信号由单片机的9脚(RST)输入,从而使单片机完成复位操作。

复位信号是高电平有效,有效时间应持续两个机器周期以上。

本系统采用的是按键电平复位方式,如图3.2所示复位电路:

图3.2复位电路

图中所示复位电路由电源、电解电容C3、电阻R2和按键组成。

当复位按钮按下,产生高电平的复位信号送入9脚。

电解电容充电放电使得复位高电平信号持续2个机器周期以上。

当放起按键时,9脚缓慢达到低电平则退出复位。

程序从头开始执行。

3.3按键输入电路设计

在抢答器电路中每位选手会通过手中的抢答按键来获得优先答题权。

每位选手的按键就构成抢答器电路的键盘输入。

键盘输入电路是单片机外围电路中最常见的一种电路。

键盘有两种形式,编码键盘和非编码键盘。

当有键盘被按下时,通过一种专用的硬件编码器来识别按键闭合,并且确定出键盘编码号码,这种键盘称为编码键盘,如计算机键盘。

而通过软件编程方式来确定某个按键的闭合的键盘称为非编码键盘,在单片机组成的各种系统中,用的比较多的是非编码键盘。

非编码键盘又分为:

独立键盘和行列式键盘(或称矩阵键盘)。

对于每一个按键需要与单片机的I/O口相连,从而读出键盘的状态。

单片机可以通过软件编程读出哪个键按下,从而做出对应的操作。

3.3.1独立式键盘电路设计

独立式键盘是单片机电路中用的最多的键盘输入,独立键盘是由键盘的两端直接和单片机的I/O口与接地相连。

当键盘按下时,对应端口与地相连,则直接将对应的端口变成低电平,然后做出相应的操作。

每个独立键盘需要单独使用一根I/O线,所以当一个电路中键盘输入较多时采用独立键盘设计就会造成I/O口的大量浪费,从而造成I/O口不够用。

所以,只有按键数量不多时,采用独立键盘输入。

电路中的开始抢答按键和开始答题按键采用的就是独立式键盘输入。

独立键盘的好处就是:

每个按键单独使用一根I/O线,键盘扫描容易,且独立键盘每个按键互不影响。

本电路中用到的独立键盘有下面几处。

如图3.3所示电路:

图3.3控制电路

当按下开始抢答按键时候,P2.0口被硬件置为低电平,控制整个电路开始,开始抢答;当按下开始答题按键时候,P2.1被硬件置为低电平,显示答题时间。

3.3.2矩阵键盘电路设计

在矩阵键盘中,每4个键盘构成一行,一共四行四列。

每一行按键的一端连接起来,每一列按键的另一端连接起来,总共构成8路,所以,一个单片机的P3口就可以构成16个键盘电路的输入端口了。

在本次设计中,有16个选手或代表队参加比赛,每一个代表队需要一个抢答按键,就需要16个按钮。

在设计中发现,如果采用独立键盘连接电路,则需要一个端口连接一个按键,所以需要占用16个I/O口,就会造成资源的浪费,成本增高。

所以当有16位选手参加抢答比赛时,需要16个键盘,采用4X4矩阵键盘只需要8个I/O口,从而大大减少了I/O口资源的浪费。

当键盘个数超过8个,采用矩阵键盘是最为合适的。

相比独立键盘,矩阵键盘的特点是:

电路的I/O口需要相对较少,能有效节省I/O口资源浪费;但是硬件电路相对复杂,键盘扫描比独立键盘扫描繁琐,需要独立软件编程,完成键盘扫描,从而确定那个按键按下,做出相应操作,矩阵键盘更适合多按键电路。

以下是抢答器系统的矩阵键盘输入电路,P3口高四位(P3.4-P3.7)作为列线,P3口低四位(P3.0-P3.3)作为行线,电路如图3.4所示:

图3.4矩阵键盘电路

矩阵键盘接好以后,就要对应的键盘扫描工作,判断出那个按键按下,从而做出对应操作。

当没有按键按下的时候所有行线和列线是开路的。

当键盘上的一个按键被按下的时候,该按键的行线和列线就会被短路。

将所有的列线都置为高电平,行线逐个置为低电平。

例如当把第一行线置为低电平,第一行有按键按下时该按键的列线也会变成低电平,从而判断第一行的某个按钮被按下,以此类推,单片机根据电平的变化从而扫描出键盘操作。

键盘的扫描分为循环扫描工作方式和中断扫描工作方式。

循环扫描工作方式,是在单片机工作的过程中调用键盘扫描子程序来响应按键输入。

此种扫描方式缺点是,不管键盘有无按下,单片机都会扫描键盘,然而在工作的过程中不需要按键按下,此时系统处于空扫描状态。

为了提高单片机的工作效率,采用中断扫描,即只有按键按下时,才发送中断申请,进行键盘扫描。

[5]

本次设计采用了循环扫描的工作方式。

按键在按下的过程中有可能会产生抖动,此时逻辑电平是不稳定,所以在键盘扫描过程中,一定要在软件设计过程加入去抖部分。

在本次设计中,我们通过在软件编程过程中,对按键扫描进行延时的方法中来去除抖动。

在按下按键并处理完相应操作时,可以在软件编程中增加键盘释放的程序。

[6]

3.4显示电路设计

显示电路是最常用的输出设备。

为观察单片机的运行状态,往往需要显示器来直观的表现出来。

抢答器电路需要通过显示电路,来显示抢答选手的标号,和倒计时显示。

本系统采用四位一体共阴数码管显示,数码管前两位显示倒计时,后两位显示抢答选手的标号。

下图3.5是抢答器系统的显示电路:

图3.5显示电路

上图所示是抢答器系统的显示电路,显示电路用到了一个上拉电阻、两个透明锁存器和一个四位一体共阴数码管。

下面介绍显示电路的原理。

3.4.1透明锁存器74HC573原理

74HC573是八进制三态非反转透明锁存器,是高性能硅门CMOS器件。

74HC573和LS/AL573的管脚一样。

器件的输入是和标准CMOS输出兼容的:

加上拉电阻,它们能和LS/ALSTTL输出兼容。

74HC573具有锁存功能,当锁存使能为高时,此器件的锁存对于数据是透明的,即输出同步。

当锁存使能变低时,数据就会锁存,即当输入数据消失时,输出数据仍然保持。

数据锁存的功能在并行数据扩展中经常用到。

74HC573是三态锁存器,具有低电平、高电平和高阻态。

在高阻态下,可以多个芯片并联输出;但是,这些芯片中只能有一个处于非高阻态状态,否则会将芯片烧毁。

高阻态的概念在RS422和RS232通讯中还可以用到。

透明锁存器还可以起到数据缓冲的功能,能加强驱动功能力。

[7]

在显示系统中用74HC573透明锁存器作为驱动电路能避免直接接入数码管的数据传输不稳定。

如图3.6所示为74HC573管脚图:

图3.6透明锁存器74HC573管脚图

OE是输出使能端;LE数据锁存使能;Dn为第n路输入数据;On为第n路输出数据。

下表3.1为74HC573的功能表:

表3.1透明锁存器74HC573的功能表

OE

LE

D

Q

L

H

H

H

L

H

L

L

L

L

X

保持

H

X

X

Z

3.4.2四位一体数码管显示

在经过透明锁存器的数据缓冲电路后,就会将数据传输到显示器中。

比较常用的显示器有1602液晶显示器、数码管显示等。

由于抢答器电路中需要显示的数据比较简单,如若采用1602液晶显示就会有些浪费。

所以本系统的显示电路采用四位一体共阴数码管显示。

每一位数码管显示是由8个发光二极管组成的,根据不同的二极管发光,从而显示出不同的数据。

通常我们在显示采用的方法有两种:

动态显示和静态显示。

静态显示原理是:

每个数码管由8个小型的发光二极管组成,所以不同的二极管发光便显示出不同的字符,8个发光二极管必须接一个8位数据线来保持所需显示的字形,当送入一次字形码的编码后,即可一直显示所需字形,直到送入一个新的字形编码为止。

静态显示的优点是占用CPU较少的时间,数码显示便于控制。

缺点是:

每一个字形需要一个数码管,每个数码管需要8位I/O口控制,所需电路复杂且成本高。

[8]

动态显示原理是:

将所有位数码管的8位发光二极管的信号线并联在一起,由一个特殊的位选线控制那一位数码管显示。

显示特性没有静态显示好,利用二极管发光的和人眼视觉的暂留作用,让人感觉好像各位数码管在同时显示,称为动态显示。

数码显示分为共阴和共阳显示两种。

下图3.7是数码管显示的原理图:

图3.7共阴数码管原理图

CS0、CS1、CS2、CS3分别为四位一体数码管的位选端,当其中一个端口置于低电平时,则这一位数码管被选中;然后再设置段选端,段选端由8位数据线控制,当一个端口处于高电平是则对应的一段显示。

从而完成数码显示。

如图3.8为所用数码管:

图3.8数码管电路

图中A、B、C、D四个端口分别为数码管显示的位选,a、b、c、d、e、f、g、p为数码管的段选。

数码管的位选由P1.0-P1.3控制,段选信号由P0.0-P0.7控制。

当程序分别控制P0口和P1口的时候,然后完成显示功能。

3.5报警电路设计

在抢答器系统里,当抢答时间快要结束时或者答题时间快要结束时,需要一个报警电路来提示抢答选手,所以在本次设计中添加了报警电路部分。

当答题时间和抢答时间小于5秒后,则会启动报警电路。

如图3.9所示,为报警电路。

图3.9报警电路

如上图所示为报警电路,当P2.2口为低电平时,LED灯通路,则LED灯亮。

单片机的P2.3口负责发声电路,当P2.3为低电平时候,三极管导通,扬声器工作,从而完成发声电路。

当抢答时间和答题时间剩余5秒时,为了及时提示选手,设置LED灯和扬声器隔1秒工作一次,从而达到警示选手的作用。

报警电路中,扬声器部分采用PNP三极管驱动,当基极为低电平时,三极管导通,从而驱动扬声器电路工作。

3.6电源电路设计

在整个抢答系统中,一定会用到电源,而一般直流电源均为1.5V的倍数,单片机所需电源为5V。

所以电路中需要稳压电源来满足单片机电路的电压限制。

在本次设计中,采用7805达到稳压的效果。

7805所需外围电路简单,内部具有保护电路,用起来方便,并且价格便宜。

在电子设计中得到了广泛的运用。

如下图3.10所示为7805的外围电路:

图3.10稳压器7805外围电路

将12V直流电源接入左边,右边输出是5V电压。

将单片机电源以及74HC573电源接入5V电源,即可使本系统工作。

3.7下载器电路

当完成上述工作后,一个完整的系统基本完成,此时需要一个下载器电路将软件程序下载达到STC89C52单片机中才能实现抢答器功能。

下载器需要和单片机的P1.5、P1.6、P1.7、RST端口连接起来,只有这样才能将软件程序下载到STC89C52中。

下载电路连接方式如图3.11所示:

图3.11下载电路连接方式

将下载器一端与单片机按照上图连接起来,同时将下载器USB一端插入电脑,通过烧写软件将软件程序写入到STC89C52中。

烧写成功后,则可验证本系统的软件部分与硬件部分是否对应,以及测试本系统的是否能实设计要求中的各个功能模块。

3.8总体电路设计

本章详细叙述了抢答器各个模块的设计原理以及具体电路。

在以STC89C52为核心电路的基础上,结合显示电路、键盘输入电路、报警电路、复位电路和外

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

当前位置:首页 > 幼儿教育 > 育儿理论经验

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

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