基于单片机的抢答器

  • 格式:doc
  • 大小:1.49 MB
  • 文档页数:28

XINYU UNIVERSITY 课程设计报告题目二级学院专业班级学号学生姓名指导教师目录摘要........................................... 错误!未定义书签。

一方案的概述 (2)1.1 设计内容 (2)1.2 设计要求 (3)1.3 抢答器的总体框图............................. 错误!未定义书签。

二硬件电路设计 (4)2.1Proteus软件介绍 (4)2.2总电路原理 (4)2.3时钟频率电路设计 (5)2.4复位电路设计 (6)2.5人工复位设计 (6)2.6显示电路设计 (7)2.7按键输入电路设计 (8)2.7.1独立式键盘电路设计 (8)2.7.2矩阵键盘电路设计 (9)2..8报警电路设计 (11)三软件设计 (12)3.1Keil C51软件简介 (12)3.2主程序系统结构 (12)3.3程序流程图 (12)3.4程序设计 (14)设计总结 (23)参考文献 (23)附录一 (25)摘要随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也越来越重要。

本文设计出以AT89S51单片机为核心的八路抢答器,采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,充分利用了单片机系统结构简单、功能强大、可靠性好、实用性强的特点。

第1章方案的概述1.1 设计内容利用单片机实现8路智能抢答器功能。

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

硬件设计内容主要包括:复位电路,晶振电路,矩阵键盘输入,LED显示模块,报警电路部分。

软件设计内容主要包括:键盘扫描,编码显示,抢答选手扫描,中断程序控制,定时器的使用。

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

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

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

1.2 设计要求(1)抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S0~S5表示。

(2)设置一个系统清除和抢答控制开关s,该开关由主持人控制。

(3)抢答器具有锁存与显示功能。

即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出警报声响提示。

选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清零为止。

(4)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。

当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续时间0.5秒左右(5)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。

(6)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00.1.3抢答器的总体框图第2章硬件电路设计2.1 Proteus软件介绍P roteus软件是英国公司出版的一款EDA软件。

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

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

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

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

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

[4]2.2总电路原理为使硬件电路设计尽可能合理,应注意以下几方面:(1) 尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片,随着生产工艺的提高,新型芯片的的价格不断下降,并不一定比若干普通芯片价格的总和高。

(2) 留有设计余地。

在设计硬件电路时,要考虑到将来修改扩展的方便。

因为很少有一锤定音的电路设计,如果现在不留余地,将来可能要为一点小小的修改或扩展而被迫进行全面返工。

(3) 程序空间,选用片内程序空间足够大的单片机,本设计采用AT89C51单片机。

(4) RAM空间,AT89S51内部RAM不多,当要增强软件数据处理功能时,往往觉得不足。

如果系统配置了外部RAM,则建议多留一些空间。

如选用8155作I/O接口,就可以增强256字节RAM.如果有大批数据需要处理,则应配置足够的RAM,如6264,62256等。

(5) I/O端口:在样机研制出来后进行现场试用时,往往会发现一些被忽视的问题,而这些问题不是靠单纯的软件措施来解决的。

如有些新的信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。

如果在硬件电路设计就预留出一些I/O端口,虽然当时空着没用,那么用的时候就派上用场了。

P2.4为开始抢答[9],P2.5为加分,P2.6为减分,P1.0-P1.7为六八抢答输入,数码管段选P0口,位选P2口低3位,蜂鸣器输出为P2.7口。

、2.3时钟频率电路设计时钟电路是计算机的心脏,它控制着计算机的工作节奏。

MCS-51单片机允许的时钟频率是因型号而异的。

晶振的选择:6MHz的晶振,其机器周期是2us。

12MHz的晶振,其机器周期是1us, 也就是说在执行同一条指令时用6MHz 的晶振所用的时间是12MHz晶振的两倍。

为了提高整个系统的性能我选择了12MHz的晶振。

振荡方式的选择:内部振荡方式,MCS-51内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。

这样就构成了内部振荡方式外部振荡方式是把已有的时钟信号引入单片机内。

这种方式适合用来使单片机的时钟与外部信号一致。

单片机必须在时钟的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。

一般选用石英晶体振荡器。

此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。

电路中两个电容 C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。

C1,C2的典型值为30PF。

单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。

其大小是时钟信号频率的倒数,常用fosc 表示。

如时钟频率为12MHz,即f=12MHz,则时钟周期为1/12µs。

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

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

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

复位方式有以下四种:上电自动复位、按键电平复位、外部脉冲复位、和自动复位。

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

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

2.5人工复位设计除上电自动复位以外,常常需要人工复位,将一个按钮开关并联于上电自动复位电路,按一下开关就RST端出现一段时间的高电平,即使器件复位。

如图所示2.6 显示电路设计显示电路是最常用的输出设备。

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

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

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

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

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

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

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

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

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

非编码键盘又分为:独立键盘和行列式键盘(或称矩阵键盘)。

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

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

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

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

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

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

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

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

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

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

2.7.2 矩阵键盘电路设计在矩阵键盘中,每4个键盘构成一行,一共四行四列。

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

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

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

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

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

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

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

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

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