基于AT89S52单片机的8路抢答器的设计

2014-07-08 20:35薛春玲蔡晓艳
光学仪器 2014年2期
关键词:抢答器设计

薛春玲++蔡晓艳

文章编号: 10055630(2014)02015605

收稿日期: 20131114

基金项目: 郑州市嵌入式系统应用技术重点实验室建设项目(121PYFZX177)

摘要: 目前市场上的智力竞赛抢答器已经相当成熟,但由很多电路组成,线路复杂,可靠性不高,功能也比较简单,特别是抢答器路数很多时,实现起来比较困难。因此设计以单片机为核心的新型智能抢答器,利用AT89S52单片机及外围接口实现抢答系统,结合单片机的定时器/计数器的功能,将软、硬件有机地结合起来,使得系统能够正确地进行计时,使数码管能够正确地显示时间。所设计的系统具有反应快、操作简单、实用性强的特点。

关键词: 抢答器; AT89S52单片机; 设计

中图分类号: TN 710文献标志码: Adoi: 10.3969/j.issn.10055630.2014.02.014

Design of eightway rushanswer system based on

AT89S52 singlechip microcomputer

XUE Chunling, CAI Xiaoyan

(Huanghe Science and Technology College, Zhengzhou 450063, China)

Abstract: The rushanswer system for quiz has been quite mature in the market at present, but it is composed of many complex circuits, the reliability is not stable and the function is simpler. It is more difficult to implement when the system involves multichannel. So we designed a new intelligent rushanswer system based on singlechip microcomputer, which uses AT89S52 singlechip microcomputer and peripheral interface. This system combined the software and hardware organically with singlechip microcomputer timer/counter, which enables the system to time accurately and the digital tube to display the time correctly, at the same time, it has many characteristics like quick reaction, simple operation, and strong practicability.

Key words: rushanswer system; AT89S52 singlechip microcomputer; design

引言抢答器是一种应用非常广泛的设备,在各种竞赛中,能迅速、客观、公正地给出最先抢答的选手。答题一般分为必答和抢答两种,必答有时间限制,到时要告警;抢答则要求参赛者做好充分准备,由主持人宣读完题目后,参赛者开始抢答,谁先按下按钮,就由谁答题。针对目前市场上抢答器电路复杂,功能简单等问题,设计了基于AT89S52单片机的8路抢答器,该抢答器电路简单,制作方便,操作简单,性能可靠,适用于多种智力竞赛活动[1]。该抢答器能供8人使用,它主要实现以下功能:(1)为8位参赛选手各提供一个抢答按钮,分别编号S1,S2,S3,S4,S5,S6,S7,S8;(2)电路具有清零和抢答开关;(3)电路具有锁存和显示功能;(4)电路具有定时抢答和报警功能。抢答器设计基本满足了实际比赛应用中的各种需要。图1抢答器系统设计框图

Fig.1Rushanswer system design diagram1抢答器系统总体设计采用AT89S52单片机为核心控制元件,发光二极管、数码管、蜂鸣器等构成8路抢答器,利用了单片机的延时电路、按键时钟电路、复位电路、报警电路、显示电路、控制电路和抢答电路。设计的抢答器具有实时显示抢答选手的号码和抢答时间,重新开始新一轮抢答竞赛的特点,同时利用C语言编程,使其实现一些基本的功能。抢答器系统设计框图如图1所示。光学仪器第36卷

第2期薛春玲,等:基于AT89S52单片机的8路抢答器的设计

2系统硬件设计系统采用单片机作为整个控制核心,其四个模块分别为:显示模块、控制模块、报警模块和抢答模块[2]。工作时,该系统通过矩阵键盘输入抢答信号,经单片机的处理,输出控制信号,利用一个4位数码管来完成显示功能并伴随蜂鸣器报警,用按键来让选手进行抢答,在数码管上显示哪一组先答题的,从而实现整个抢答过程。当主持人按下开始键时,向单片机P3.2引脚输入一个低电平信号,表示整个电路开始工作,此时数码管前两位显示选手编号(无人抢答显示00),后两位显示倒计时剩余时间。若在25 s内仍然无人抢答,蜂鸣器在最后5 s发出连续报警,提示抢答时间即将结束;若在30 s内有人抢答,并且抢答成功,则将选手编号显示在数码管前两位上,后两位显示抢答剩余时间,同时蜂鸣器发出一声报警,提示其他没有抢答的选手此题已被人抢答成功。若在抢答过程中遇到特殊情况,主持人则可以通过时间加,时间减按键来进行时间调节。若要开始新一轮抢答,主持人按下复位键再按开始键即可。

2.1控制器模块控制器主要用于各模块控制对显示、抢答等。采用ATMEL公司的AT89S52作为系统控制器的CPU方案。单片机算术运算功能强,软件编程灵活、自由度大,可以用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。

2.2显示模块显示模块如图2所示。它包括显示和驱动,显示采用4位7段共阴数码管,驱动用P0的低四位,违规

图2显示与显示驱动电路

Fig.2Display and display driver circuit

者编号、抢答30 s倒计时、正常抢答者编号和回答问题时间60 s倒计时,数码管采用动态显示。驱动电路P2口,查询显示程序利用P0口做段选码口输出P2低3位做位选码输出,当为低电平则能驱动数码管使其显示数字。在+5 V电压下接10 kΩ的电阻,保证正常压降。

图3报警电路

Fig.3Warning circuit

图4选手抢答电路

Fig.4Rushanswer in the competitor circuit

2.3报警模块 通过控制不同频率的矩形脉冲来控制蜂鸣器发声[3]。设计中只需要简单的提示声音和稍微显眼的灯控,有抢答违规,开始抢答,抢答时间结束和回答时间到的提示声和亮灯提醒。报警电路如图3所示。

2.4抢答电路AT89S52的P1口作为选手抢答的输入按键引脚,P1.0至P1.7轮流输出低电位,给每一个选手编号1至8,当选手按下按钮时,P1口端口的电平变化从P1口输入,经单片机处理后从P0输出由数码管显示抢答者编号。选手抢答电路如图4所示。

2.5抢答器硬件电路图基于用单片机AT89S52设计的抢答器思路简单明了,可操作性强,可靠性高,扩展功能强,能够完全实现普通抢答器的基本功能。抢答器原理图如5所示。3软件设计

3.1定时中断模块抢答器中需要显示倒计时来提示选手在规定时间内作答,需要有定时中断模块。当时间小于6 s时,抢答器需要提供警告,以及当抢答时间结束时,要关闭外部中断,表示抢答结束,此时再有键按下抢答器也不会做出反应。

3.2外部中断模块抢答器主要外部中断来自于选手的抢答,当选手抢答时,抢答器同时判断被按下的键号并显示在数码管之上,然后在数码管上显示剩余时间,同时关闭中断,表示抢答结束,此时再有键按下抢答器也不会做出反应。

3.3控制模块控制模块主要作用是对抢答器的开始和复位功能进行控制,主要由主持人来实现其功能[4]。当开始键被按下时,抢答器开始正常工作;当抢答器停止工作时,可以按下复位键使抢答器处于初始化状态。

3.4报警模块报警模块主要作用,一是当时间还剩5 s时,蜂鸣器发出报警,提示选手抢答时间将要结束;二是当有选手第一时间抢答成功时发出报警声,提示其他选手不必再抢答。

图5抢答器原理图

Fig.5Principle diagram of the rushanswer system

3.5主程序模块主程序主要完成硬件初始化,子程序调用和程序间的切换,由于本设计要求抢答器具有开始、复位、抢答三种方式切换功能[4],所以主程序除了要进行硬件部分的初始化以外还要进行各个程序之间的调用和切换。主程序流程图如图6所示。程序:void main()图6抢答器主程序流程图

Fig.6Flow chart of rushanswer

system main program{huang=0;red=0;EA=1;TMOD=0x11;T2CON=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-5000)/256;TL1=(65536-5000)%256;TH2=(65536-50000)/256;TL2=(65536-50000)%256;ET0=1;TR0=0;ET1=1;TR1=1;ET2=1;TR2=0;IT0=1;EX0=1;IT1=1;EX1=1;aa=0;bb=0;shijian=30;while(1){keyscan();}4系统的仿真采用Proteus软件进行仿真,仿真如图7所示:

图7抢答器的Proteus仿真图

Fig.7Proteus simulation diagram of rushanswer system

5结论该系统利用AT89S52单片机及外围接口实现的抢答系统,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。实际应用表明该系统稳定可靠,达到了设计要求。参考文献:

[1]王冬梅,张建秋.基于单片机的八路抢答器的设计与实现[J].佳木斯大学学报,2009,27(3):350352.

[2]段德功,丁莹亮.单片机原理及应用[M].北京:经济科学出版社,2010:168200.

[3]李素敏.抢答器的设计[J].职业,2011(23):123.

[4]邹显圣.基于单片机控制的智能抢答器研究[J].电子设计工程,2011,19(13):138140.

[5]康丽杰,康迪.基于单片机的8路抢答器简单设计[J].信息系统工程,2010(2):6061.

[6]宋春华,刘江涛,王贵恩,等.基于单片机控制的数字抢答器[J].河南机电高等专科学校学报,2005,13(5):2829.第36卷第2期2014年4月光学仪器OPTICAL INSTRUMENTSVol.36, No.2April, 2014

2.5抢答器硬件电路图基于用单片机AT89S52设计的抢答器思路简单明了,可操作性强,可靠性高,扩展功能强,能够完全实现普通抢答器的基本功能。抢答器原理图如5所示。3软件设计

3.1定时中断模块抢答器中需要显示倒计时来提示选手在规定时间内作答,需要有定时中断模块。当时间小于6 s时,抢答器需要提供警告,以及当抢答时间结束时,要关闭外部中断,表示抢答结束,此时再有键按下抢答器也不会做出反应。

3.2外部中断模块抢答器主要外部中断来自于选手的抢答,当选手抢答时,抢答器同时判断被按下的键号并显示在数码管之上,然后在数码管上显示剩余时间,同时关闭中断,表示抢答结束,此时再有键按下抢答器也不会做出反应。

3.3控制模块控制模块主要作用是对抢答器的开始和复位功能进行控制,主要由主持人来实现其功能[4]。当开始键被按下时,抢答器开始正常工作;当抢答器停止工作时,可以按下复位键使抢答器处于初始化状态。

3.4报警模块报警模块主要作用,一是当时间还剩5 s时,蜂鸣器发出报警,提示选手抢答时间将要结束;二是当有选手第一时间抢答成功时发出报警声,提示其他选手不必再抢答。

图5抢答器原理图

Fig.5Principle diagram of the rushanswer system

3.5主程序模块主程序主要完成硬件初始化,子程序调用和程序间的切换,由于本设计要求抢答器具有开始、复位、抢答三种方式切换功能[4],所以主程序除了要进行硬件部分的初始化以外还要进行各个程序之间的调用和切换。主程序流程图如图6所示。程序:void main()图6抢答器主程序流程图

Fig.6Flow chart of rushanswer

system main program{huang=0;red=0;EA=1;TMOD=0x11;T2CON=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-5000)/256;TL1=(65536-5000)%256;TH2=(65536-50000)/256;TL2=(65536-50000)%256;ET0=1;TR0=0;ET1=1;TR1=1;ET2=1;TR2=0;IT0=1;EX0=1;IT1=1;EX1=1;aa=0;bb=0;shijian=30;while(1){keyscan();}4系统的仿真采用Proteus软件进行仿真,仿真如图7所示:

图7抢答器的Proteus仿真图

Fig.7Proteus simulation diagram of rushanswer system

5结论该系统利用AT89S52单片机及外围接口实现的抢答系统,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。实际应用表明该系统稳定可靠,达到了设计要求。参考文献:

[1]王冬梅,张建秋.基于单片机的八路抢答器的设计与实现[J].佳木斯大学学报,2009,27(3):350352.

[2]段德功,丁莹亮.单片机原理及应用[M].北京:经济科学出版社,2010:168200.

[3]李素敏.抢答器的设计[J].职业,2011(23):123.

[4]邹显圣.基于单片机控制的智能抢答器研究[J].电子设计工程,2011,19(13):138140.

[5]康丽杰,康迪.基于单片机的8路抢答器简单设计[J].信息系统工程,2010(2):6061.

[6]宋春华,刘江涛,王贵恩,等.基于单片机控制的数字抢答器[J].河南机电高等专科学校学报,2005,13(5):2829.第36卷第2期2014年4月光学仪器OPTICAL INSTRUMENTSVol.36, No.2April, 2014

2.5抢答器硬件电路图基于用单片机AT89S52设计的抢答器思路简单明了,可操作性强,可靠性高,扩展功能强,能够完全实现普通抢答器的基本功能。抢答器原理图如5所示。3软件设计

3.1定时中断模块抢答器中需要显示倒计时来提示选手在规定时间内作答,需要有定时中断模块。当时间小于6 s时,抢答器需要提供警告,以及当抢答时间结束时,要关闭外部中断,表示抢答结束,此时再有键按下抢答器也不会做出反应。

3.2外部中断模块抢答器主要外部中断来自于选手的抢答,当选手抢答时,抢答器同时判断被按下的键号并显示在数码管之上,然后在数码管上显示剩余时间,同时关闭中断,表示抢答结束,此时再有键按下抢答器也不会做出反应。

3.3控制模块控制模块主要作用是对抢答器的开始和复位功能进行控制,主要由主持人来实现其功能[4]。当开始键被按下时,抢答器开始正常工作;当抢答器停止工作时,可以按下复位键使抢答器处于初始化状态。

3.4报警模块报警模块主要作用,一是当时间还剩5 s时,蜂鸣器发出报警,提示选手抢答时间将要结束;二是当有选手第一时间抢答成功时发出报警声,提示其他选手不必再抢答。

图5抢答器原理图

Fig.5Principle diagram of the rushanswer system

3.5主程序模块主程序主要完成硬件初始化,子程序调用和程序间的切换,由于本设计要求抢答器具有开始、复位、抢答三种方式切换功能[4],所以主程序除了要进行硬件部分的初始化以外还要进行各个程序之间的调用和切换。主程序流程图如图6所示。程序:void main()图6抢答器主程序流程图

Fig.6Flow chart of rushanswer

system main program{huang=0;red=0;EA=1;TMOD=0x11;T2CON=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-5000)/256;TL1=(65536-5000)%256;TH2=(65536-50000)/256;TL2=(65536-50000)%256;ET0=1;TR0=0;ET1=1;TR1=1;ET2=1;TR2=0;IT0=1;EX0=1;IT1=1;EX1=1;aa=0;bb=0;shijian=30;while(1){keyscan();}4系统的仿真采用Proteus软件进行仿真,仿真如图7所示:

图7抢答器的Proteus仿真图

Fig.7Proteus simulation diagram of rushanswer system

5结论该系统利用AT89S52单片机及外围接口实现的抢答系统,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。实际应用表明该系统稳定可靠,达到了设计要求。参考文献:

[1]王冬梅,张建秋.基于单片机的八路抢答器的设计与实现[J].佳木斯大学学报,2009,27(3):350352.

[2]段德功,丁莹亮.单片机原理及应用[M].北京:经济科学出版社,2010:168200.

[3]李素敏.抢答器的设计[J].职业,2011(23):123.

[4]邹显圣.基于单片机控制的智能抢答器研究[J].电子设计工程,2011,19(13):138140.

[5]康丽杰,康迪.基于单片机的8路抢答器简单设计[J].信息系统工程,2010(2):6061.

[6]宋春华,刘江涛,王贵恩,等.基于单片机控制的数字抢答器[J].河南机电高等专科学校学报,2005,13(5):2829.第36卷第2期2014年4月光学仪器OPTICAL INSTRUMENTSVol.36, No.2April, 2014

猜你喜欢
抢答器设计
声光报警多路抢答器电路的改造分析
何为设计的守护之道?
《丰收的喜悦展示设计》
瞒天过海——仿生设计萌到家
4路抢答器的设计与研发
设计秀
有种设计叫而专
基于STC12C5A60S2单片机的6路抢答器设计
多路竞赛抢答器电路的仿真设计
设计之味