基于51单片机抢答器的课程设计 下载本文

内容发布更新时间 : 2024/12/26 10:59:51星期一 下面是文章的全部内容请认真阅读。

西安文理学院课程设计报告

3 方案总体设计

3.1 方案 3.1.1 控制芯片

我们采用51系列单片机AT89C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。单片机技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。

MCS-51单片机特点如下:a、可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。b、单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。c、控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。

3.1.2 显示方式

在实现基本功能时,我们采用了四位数码管显示,后两位显示倒计时时间,第一位显示抢答组号,第三位置空,在此基础上还在程序里加了更改抢答时间和倒计时时间的模块,也可通过数码管显示,成为一个比较完整的系统。

后来在实现拓展功能时,我们想加入语音显示的模块,发现proteus软件无法仿真,就改为用液晶显示屏1602显示。1602液晶显示屏也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,它可以通过简短的英文提示和数字使人明确看到比赛进行的整个过程。

3.1.3 程序语言的选择

一开始实现基本功能时,使用数码管作为显示,采用了汇编语言,比较高效,条理也清晰;后来做拓展功能时改用液晶显示屏显示,发现液晶显示屏使用c语言编程更便捷高效,就整体使用了c语言。

第2页

西安文理学院课程设计报告

3.2 原理框图

抢答按扭 优先编码器 锁存器 译码电路 译码显示 主持人按钮开关 秒脉冲产生电路

控制电路 报警电路 定时电路 译码电路 显示电路 图3.1 原理框图

4 硬件电路设计

4.1 抢答器的工作原理

用单片机的两个外部中断作为修改时间的选择按钮,选择修改抢答倒计时时间还是回答问题时间;用定时器1作为时间的控制。

4.2 单元电路设计 4.2.1 抢答器电路

该电路有八个按钮分别接于P1.0~P1.7可实现两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。如有再次抢答需由主持人将S开关重新置,“清除”然后再进行下一次抢答。如图4.1

图4.1 抢答器电路

第3页

西安文理学院课程设计报告

4.2.2 发声电路设计

用P3.6口和扬声器相连,主持人将控制开关拨到\开始\位置时,会发声,抢答电路和定时电路进人正常抢答工作状态;当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。如图4.2

4.2.3 开始、复位按键输入电路的设计

复位是计算机的一个重要工作状态。开始和复位键分别接于P3.0和P3.1口,在单片机工作时,接电之前,断电后也要复位。在抢答器中复位则为定时做铺垫,在抢答之前要复位,抢答完也要复位。按了复位键,显示屏的状态是“start??”。如图4.3

图4.2 发声电路 图4.3 开始、复位电路

4.2.4 时钟震荡电路

CPU的操作需要精确的定时,可用一个晶体振荡器产生稳定的时钟脉冲来控制AT89C51单片机上的XTAL1和XTAL2分别为振荡电路的输入和输出。如图4.4

4.2.5 设定时间、加减时间电路设计

该电路主要是对答题时间和抢答时间调整设计的,抢答时间接P3.2,答题时间接P3.3,加一秒接P3.4,减一秒接P3.5。如图4.5

第4页

西安文理学院课程设计报告

图4.4 时钟振荡电路 图4.5 加减时间电路

4.2.6 显示电路的设计

本系统通过液晶显示屏来显示各提示信息。如图4.6

图4.6 显示时间电路

第5页

西安文理学院课程设计报告

5 软件设计

5.1 抢答器工作流程

为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,因而在编开始抢答前的程序得先编写设定时间的程序,当时间设好了之后,主持人发布抢答命令按下P3.0按键,程序开始打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序。当在扫描到有人按下了答题键,马上关闭T0、调用显示程序、封锁键盘。

接通电源后,液晶显示屏显示“Ready??”,抢答器处于禁止状态,处于等待开始状态,此时有人抢答,会显示“error”,也可以调整抢答时间和回答问题时间,;主持人将开关置,“开始”状态,宣布“开始”抢答器工作,显示屏显示“go!”,扬声器给出声响提示,定时器倒计时;选手在定时时间内抢答时,抢答器完成,显示组号,并且倒计时,时间到扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作\开始、停止\状态开关。

5.2 流程框图

图5.1 流程框图

第6页