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