基于单片机的抢答器设计详解

摘要

在信息化高速发展的时代,抢答在智力竞赛中是一种常见的答题方式。在抢答时,对于谁先谁后抢答,何时抢答,如何计算答题时间等问题,仅仅凭借人的主观判断,容易出现误判,所以需要一种智能抢答器来解决这些问题。本设计为六路抢答器,它可以准确公正的判断出首位抢答者,通过数码管显示手段指示出首位抢答者。本设计能够实现优先抢答,具有数字集成电路的锁存性。

一. 功能要求

1.设计一款6路或以上的抢答器,由答题者控制,每一路都具有独立的开关控制。

2.设计一个抢答控制开关,由主持人控制,当主持人按下开关后,才允许答题者进行抢答,若主持人没有按下控制开关,则不允许答题者抢答。

3.设定抢答时间,在抢答倒计时为0之前,答题者可进行抢答,当倒计时为0后,则不允许答题者抢答,如果答题者抢答则视为违规抢答。

4.设定答题时间,在倒计时为0之前,答题者进行答题,倒计时为0后,答题者不可以答题。答题者答完题后,由主持人按下控制键,结束答题。

5.主持人按下控制开关允许答题者抢答后,数字LED显示抢答倒计时,答题者抢答成功后,数字LED显示当前答题者号数,及剩余答题时间,并进行倒计时。

6.当答题者未在抢答倒计时内规定抢答时,则视为答题者违规抢答,数字LED显示答题者号数,时间显示数码管显示值为00.

二、系统硬件设计

2.1  系统功能结构图

图1 系统工作原理图

2.2按键模块

2.2.1按键模块电路图

图2按键模块电路图

2.2.2按键模块功能

开始按键的功能是主持人按下开始后,进行抢答倒计时30s.按键1-6的功能是答题者在抢答时间按下按键后,视为成功抢答,若不在抢答时间内,视为犯规抢答。成功抢答后,进行答题倒计时。完成答题后,由主持人按下清零键清零。

2.3 显示器模块

2.3.1显示器模块电路图

图3显示器模块电路图

2.3.2显示器模块功能

显示器采用四个显示数码管,它们的数据线有八根,片选线有四根。当进行抢答倒计时的时候,右边的两个显示倒计时,左边的不显示,当进行答题倒计时的时候,最左边的一个显示答题者的号码,右边的两个显示答题倒计时。当答题者犯规抢答的时候,最左边的显示答题者的号码,右边的两个显示数字0。当清零后,最左边的和右边的两个,显示的都是0.从左往右数的第二个数码管不显示任何东西。

2.4 单片机模块

2.4.1单片机模块电路图

 

图4单片机模块电路图

2.4.2单片机模块功能

在硬件上该单片机的P3口的P3.2、P3.3作为主持人的控制开关,P1口的P1.0-P1.5作为答题者的抢答开关,P2与P0口共同作为显示数码管的地址线输出口,P0口作为显示数码管的数据线输出口。且在Proteus中可以直接编辑该单片机的属性,从而直接为其选择12M的晶振周期,因此没有外接的晶振模块。

在软件上,该单片机的作为程序的存储器及运行器,源程序的输入从P3、P1口输入,源程序的输出从P2、P0口输出。

三、  系统软件设计

3.1  C语言源程序数据结构设计

3.1.1 段码数组

unsigned char code

table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x76};//数字0~9

该数组的作用是,显示数字时从这个数组中查找对应的段码送到数码管中。

3.2  C语言源程序函数描述

3.2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值