第1章 单片机8路抢答器
1.1 功能要求
抢答器是为智力竞赛参赛者大体是进行抢答而设计的一种优先判决器电路,广泛应用于各种知识竞赛、文娱活动等场合。实现抢答器功能的方式有很多种,本项目要求利用51系列单片机作为核心部件设计一个供8名选手参加,能进行逻辑控制及显示的8路抢答器。
每名选手有一个抢答按扭,按扭的编号与选手的编号相对应,抢答器具有信号的鉴别和数据的锁存、显示的功能。抢答开始后,若有选手抢答按扭,在数码管上显示相应的编号,蜂鸣器发出音响提示。同时,电路应具备自锁功能,禁止其他选手再抢答,优先抢答选手的编号一直保持到主持人按开始答题开始。抢答器具有定时抢答的功能。在主持人发出抢答指令后,定时器立即进行减计时,并在显示器上显示,同时蜂鸣器发出短暂的声响,声响持续0.5s左右。选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器显示选手编号及最后倒计时剩下的时间。主持人按开始答题开始,答题时间开始倒计时。当按复位键后,完成一次抢答流程。
系统完成的主要功能:
(1)设置一个由主持人控制的系统清除和抢答控制开关,主持人提问后按动启动开关。参加竞赛者要在最短的时间内对问题做出判断,并按下抢答按键回答问题。
(2)抢答器具有锁存与显示功能。当第一个人按下按键后,在显示器上显示此竞赛者的编号,扬声器发出短暂声响提示。同时对其它抢答案件封锁,使其不起作用。竞赛者的编号保持到主持人将系统清除为止。
(3)系统具有定时抢答功能,定时时间由主持人设定。当主持人启动“开始”键后,倒计时显示定时时间。
(4)竞赛者在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示竞赛者的编号和抢答剩余的时间,并保持到主持人将系统清除为止。
(5)如在规定的抢答定时时间内无人抢答,则本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。 1.2主要器件介绍 LED数码管显示器
LED显示器是由发光二极管按一定结构组合起来显示字段的显示器件,也称数码管。在单片机应用系统中通常使用的是8段式LED数码显示器,其外形结构和引脚如图1.1(a)所示。它由8个发光二极管构成,通过不同的组合可显示0~9、A~F及小数点“.”等字
符。其中7段发光二极管构成7笔的“8”字形,1段组成小数点。
数码管有共阴极和共阳极两种结构。图1.1(b)所示为共阴极结构,8段发光二极管的阴极端连接在一起作为公共端,阳极端分开控制。使用时公共端接地,此时当某个发光二极管的阳极为高电平,则此发光二极管点亮。图1.1(c)所示为共阳极结构,8段发光二极管的阳极端连接在一起作为公共端,阴极端分开控制。使用时公共端接电源,此时当某个发光二极管的阴极为低电平(通常接地),则此发光二极管点亮。
显然,要显示某种字形就应使此字形的相应字段点亮,即从图1.1(a)中a~g引脚输入不同的8位二进制编码,可显示不同的数值或字符。通常称控制发光二极管的8位数据为“字段码”。不同数字或字符的字段码不一样,而对于同一个数字或字符,共阴极连接和共阳极连接的字段码也不一样,共阴极和共阳极的字段码互为反码,表1.1所示为0~9数字的共阴极和共阳极的字段码。
图1.1 LED数码管
表1.1 数字的共阴极和共阳极的字段码
显示数字 共阴顺序小数点暗 Dp g f e d c b a 0 1 2 3 4 5 6 7 8 9 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 十六进制 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 共阴逆序小数点暗 A b c d e f g Dp 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 十六进制 FCH 60H DAH F2H 66H B6H BEH E0H FEH F6H 共阳顺序 小数点亮 40H 69H 24H 30H 19H 12H 02H 78H 00H 10H 共阳顺序 小数点暗 C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H 数码管按其外形尺寸有多种形式,使用较多的是0.5\和0.8\,显示的颜色也有多种形式,主要有红色和绿色,亮度强弱可分为超亮、高亮和普亮。数码管的正向压降一般为1.5~2V,额定电流为10mA,最大电流为40mA。由显示数字或字符转换到相应的字段码的方式称为译码方式。数码管是单片机的输出显示器件,单片机要输出显示的数字或字符 图1.2 硬件译码电路 通常有两种译码方式:硬件译码方式和软件译码方式。
硬件译码方式是指用专门的显示译码芯片来实现字符到字段码的转换。硬件译码电路如图1.2所示。硬件译码时,要显示的一个数字,单片机只须送出这个数字的4位二进制编码,经I/O接口电路并锁存,然后通过显示译码器,就可以驱动LED显示器中的相应字段发光。硬件译码由于使用的硬件较多(显示器的段数和位数越多,电路越复杂),缺乏灵活性,且只能显示十六进制数,硬件电路较为复杂。
软件译码方式就是通过编写软件译码程序(通常为查表程序)来得到要显示字符的字段码。由于软件译码不需外接显示译码芯片,使硬件电路简单,并且能显示更多的字符,因此在实际应用系统中经常采用。
1.3 硬件电路设计
根据系统要求的功能,硬件电路可分为抢答电路、显示电路、主持人控制电路、定时电路、报警电路、声音提示电路、键盘控制电路、设置电路及单片机控制电路等。整个硬件电路如图1.3所示。
在图1.3中,通过复位键RST使电路进入就绪状态,等待抢答。首先由主持人发布抢答命令,按下S3(启动)键,进入倒计时状态和抢答状态。在电路中“S7—S14”为8路抢答器的8个按键,如果有人按下按键,程序就会判断是谁先按下的,然后从P0口输出抢答者号码的七段码值,送到码管显示,并封锁键盘,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。如果在设定的时间中没有一个人按下按键,一到时间则产生报警信号已超时,不可以抢答。当主持人按S4(限时开始)键,答题开始,答题时间开始倒计时。如没有按复位键,时间倒计直到0,并报警。当要进行下一次抢答时,由主持人先按一下复位按键S2,电路复位,进入下一次抢答的就绪状态。主持人可以在抢答开始前按“S5”、”S6”分别设置抢答时间,和答题时间。
LS11J1CON2J29排阻A14LEDafegbcddp12abcdefgpd1174211012 +5VS1SW SPSTAT1+5VP11P22P33P44P55P66P77P8891011121314151617181920P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5STC40P1.7P0.6RSTP0.7P3.0/RXDEX_LVDP3.1/TXDALEP3.2 INT0NAP3.3/INT1P2.7P3.4/T0P2.6P3.5/T1P2.5P3.6/WPP2.4P3.7/RDP2.3XTAL2P2.2XTAL1P2.1GNDP2.0+5V12345678953SPEAKER3 Q1112S2R1210K11P3.7C110uF PNP 2+5VS3R31KR210KP3.0P3.0P3.2P3.3P3.4S4S5P3.7P3.21P3.31P3.422C3212MHZC2222403938373635343332313029282726252423222132S6S7P1P221S8P3S9P4S10P5S11P6S12P7S13P8S14 图1.3 8路抢答器硬件电路图 1.3.1 LED数码管显示电路
在图1.3中,4个数码管选用共阴极数码管。左边的2个数码管作为倒计时显示用,最右边的1个数码管用于显示抢答者的编号,它们中间的那个数码管显示“-”,用于两种信息的分隔。
P0口外接上拉电阻,输出软件译码后的字段码,P2.0~ P2.3输出4个数码管的位线,用于控制数码管的动态扫描显示。 1.3.2
按键电路
在图1.3中,共有13个按键,分别为:复位键S2、功能键S3~S6、抢答键S7~S14。复位键S2控制单片机的复位引脚RST,4个功能键S3~S6分别接单片机的P3.0、P3.2、P3.3、P3.4。它们的功能为:S3键为主持人的抢答开始启动键;S4键是限时答题启动键;S5键是抢答时间调整键;S6键是限时时间调整键。8个抢答按键S7~S14分别为1号至8号抢答者的按键,接单片机的P0口。
当主持人按“S2开始”键时,抢答电路和定时电路进入正常抢答状态。当参赛选手按动抢答键时,蜂鸣器声响,抢答电路和定时电路停止工作。主持人按“答题开始”键时,定时电路进入答题时间倒计时状态。
986P4P3P2P11.3.3 声音提示电路
声音提示电路由一个10K的电阻,一个三级管和一个蜂鸣器组成,如图1.4所示。 1. 蜂鸣器电路
蜂鸣器根据结构不同可分为压电式蜂鸣器和电磁式蜂鸣器,而两种蜂鸣器又分为有源蜂鸣器和无源蜂鸣器。这里的源特指振荡源。有源蜂鸣器直接加电就可以响起,无源蜂鸣器需要提供振荡源,理想的振荡源为一定频率(1.5~2.5KHZ)的方波。工作电源为1.5~15V。
在图1.4中采用的是无源蜂鸣器,三极管用于驱动,接在三极管基极的10K电阻为限流电阻,利用晶体管的高电流增益,以达到电路快速饱和的目的。由于系统采用了无源蜂鸣器,所以需要通过编程来控制P3.7口的翻转来产生一定频率的方波。
2LS11SPEAKER3Q131122R1210K11P3.7PNP
2. 声音提示电路功能
+5V 图1.4 声音提示电路 声音提示电路在主持人发出可以抢答信号时、在有人按下抢答按键时、在倒计时时间到时等3种情况下发出蜂鸣声。
抢答器具有定时抢答功能,并且一次抢答的时间由主持人设定(如30秒)。当主持人启动总控制的启动键后,定时器进行抢答倒计时,并在显示器上显示。参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,并在LED数码管上显示选手的编号,同时扬声器发出报警声响,提示主持人。同时其他人在按就无效,并一直保持到主持人将系统清除为止。当在设定的时间内没有人抢答,倒计时完毕后蜂鸣器也会发出短时间的叫声,提示本次抢答无效,系统报警并禁止抢答,定时显示器上显示0,并发出一段时间的报警声。
1.3.4 单片机电路
单片机电路根据键盘输入控制数码管显示或声音提示。通过读取P1.0~P1.7的状态读取按键的情况;通过读取P3.0的状态读取抢答是否开始的信息;通过读取P3.2的状态读取答