抢答器功能如下所述: 1、 抢答。 2、 抢答限制。 3、 闭答功能。 4、 加分控制。 5、 减分控制。
抢答器的各种功能由主控台控制,下设六组抢答小组。主控台包括:数码显示屏、抢答控制键以及加减分控制键,各抢答小组有数码显示屏及抢答按键各一。显示屏由三片国产3线-8线译码器CC74HC/HCT138控制。抢答器的软件程序装在一片89C51芯片内,其结构图如下所示:
放大
电 路 : … … P0口 :: … … P1口 扭 按 … … 数 码 显 示 屏 : … … P2 口 … … : … … … … 138译码器 C P U … … 89C51 … … X1 晶 振 X2
… … … …
抢 答 器 电 气 原 理 框 图
熟悉并掌握抢答器的各部件的功能以及作用、原理对程序的编写、调试和抢答器的组装工作等是十分必要的。下面我们将逐一介绍。
一、放大电路的功能及作用:
放大电路由七个NPN三极管和十四个电阻构成。分为七组。其电路图如下:
VCCR?1kR?5.1kQ?3DG 放 大 电 路
放大电路中三极管起功率放大作用,其信号由CPU的P0口输出,由三极管的基级输
入,发射极输出给显示屏的某一段,七组放大电路分别控制数码显示屏的七段。5.1K及1K电阻有两个作用:一是起限流作用。二是分压。
二、抢答器的按扭功能:
按扭分为:允许抢答键、限制抢答键以及加减分控制键和选组键。下面将分别介绍各 个按键的功能,如下所述:
1、 允许抢答键:当允许抢答键按下以后各组方可抢答,如有提前抢答者,系统将发
出报警信号,提示并在显示屏上显示抢答该组号。
2、 限制抢答键:限制抢答键限制各组的抢答权,屏蔽各组发出的抢答信号,系统进
入闭答状态。
3、 加分控制键:当某组回答问题正确,可通过此按键给该组加相应的分数。 4、 减分控制键:(功能同加分控制键)。
5、 选组键:选组键的功能是当需要给某组加减分或闭答时指定某组回答时的一个
控制按键,以锁定该组,实现相应功能。
三、屏功能:
每个显示屏由四片七段数码显示块组成,数码显示器是由电子小组自行开发设计的其亮度高,清晰度好。主显示屏显示操作台工作情况,以及程序运行结果等。各组显示屏显示各组的得分情况。
四、抢答器程序及其流程图:
抢答器的程序是由电子小组成员编写并调试运行成功的,其流程图及程序如下所示: 开 始
显示 初 始 化 启动显一组为1 功 能 断 示声音一秒 Y N …N N Y … 加分吗 Y 调用程序 N … N 减分吗 Y 键放开 显示 … N Y 六组为1 调用加分程序
N 键放开 显示 调用减分程序 显示 Y 程序流程图 源程序:
ORG 0a50H
GNXZ BIT P1.0
ENTER BIT P1.1 ;开始答/结束答/确定 XZ BIT P1.2
JIA BIT P1.4 ;加分 JIAN BIT P1.3 ;减分 N1 BIT P1.5 N2 BIT P1.6 N3 BIT P1.7 N4 BIT P3.0 N5 BIT P3.1 N6 BIT P3.2
SY BIT P3.7 ;声音输出
选组吗 键放开 延时 延时 启动显示声音一秒 全部显示 START: clr sy
MOV SP ,#60H
MOV 3EH,#01H ;组号1
GN: MOV P1,#0FFH ;读键值,去抖动 MOV A,P1 MOV 20H,A
LCALL PINZHUANG LCALL XIANSHI
MOV P1,#0FFH ;读键值,去抖动 MOV A,P1
CJNE A,20H,GN
JB GNXZ,XZJFzz QD: MOV P1,#0ffh JNB N1,N1ZC JNB N2,N2ZC JNB N3,N3ZC SETB N4
JNB N4,N4ZC SETB N5
JNB N5,N5ZC SETB N6 JNB N6,n6zc
JB GNXZ,XZJFzz AJMP QD xzjfzz: ajmp xzjf
N1ZC: MOV 3Eh,#01H
LCALL PINZHUANG MOV 25h,#40h MOV 24h,#00h AJMP QD1
N2ZC: MOV 3Eh,#02H
LCALL PINZHUANG MOV 25h,#43h MOV 24h,#03h AJMP QD1 N3ZC: MOV 3Eh,#03H
LCALL PINZHUANG MOV 25h,#46h MOV 24h,#06h AJMP QD1
N4ZC: MOV 3Eh,#04H
LCALL PINZHUANG MOV 25h,#49h MOV 24h,#09h
AJMP QD1 N5ZC: MOV 3Eh,#05H
LCALL PINZHUANG MOV 25h,#4ch MOV 24h,#0ch AJMP QD1
N6ZC: MOV 3Eh,#06H
LCALL PINZHUANG MOV 25h,#4fh MOV 24h,#0fh
QD1: setb sy ;置一响铃
MOV R3,#04h QQQ: MOV 26H,#0f5h QQ: MOV R2,#2 mov r0,25h mov r1,24h LCALL XS1 djnz 26h,QQ CLR SY mov 26h,#0ffh Q: lcall delay djnz 26h,Q DJNZ R3,QQQ SETB 01h
xx: LCALL XIANSHI JnB GNXZ,xx ajmp gn
XZJF: MOV P1,#0FFH ;读键值,去抖动 MOV A,P1 MOV 20H,A
LCALL PINZHUANG LCALL XIANSHI
MOV P1,#0FFH ;读键值,去抖动 MOV A,P1 CJNE A,20H,zz
JNB JIAN,JIAN01 ;减分吗 JNB JIA, JIA01 ;加分吗
JB XZ,zz ;组号加1吗 LCALL ZHJYCX ;调用组号加1子程序 LCALL PINZHUANG ;调用拼装子程序 LCALL XIANSHI
zz: AJMP GN
ZHJYCX: LCALL XIANSHI ;组号加1子程序 JNB XZ,ZHJYCX ;等待键放开 INC 3EH MOV A,3EH
CJNE A,#07H,ZHRET
MOV 3EH,#01H ;送1号 ZHRET: NOP
RET JIA01: ;加分
LCALL JIAFEN ;调用加分程序
LCALL PINZHUANG ;调用拼装子程序
LCALL XIANSHI AJMP XZJF JIAN01: ;减分
LCALL JIANFEN ;调用减分程序 LCALL PINZHUANG ;调用拼装子程序 LCALL XIANSHI AJMP XZJF
JIAFEN: LCALL XIANSHI ;加分子程序 JNB JIA,JIAFEN MOV A,3EH MOV DPTR,#ZH MOVC A,@A+DPTR MOV R0,A CLR C
MOV A,@R0 ADD A,#05H
DA A ;个位不为零加运算 MOV @R0,A INC R0
MOV A,@R0 ADDC A,#00H MOV @R0,A RRET: RET
ZH: DB 00h, 30H ,32H,34H,36H,38H,3AH ;1号39H 2号37H 3号35H 数存储单元
JIANFEN: LCALL XIANSHI ;减分子程序 JNB JIAN,JIANFEN MOV A,3EH
4号33H 分 MOV DPTR,#ZH MOVC A,@A+DPTR MOV R0,A MOV A,@R0 ANL A,#0FH
CJNE A,#00H,JZGNZ ;减法正分个位 MOV A,#05H XCHD A,@R0 MOV A,@R0 ANL A,#0F0H
CJNE A,#00H,JZSNZ ;减法正分十位 INC R0
CJNE @R0,#00H,JZQNZ ;减法正分千位 AJMP RRET1 JZQNZ: DEC @R0 DEC R0
MOV @R0,#95H AJMP RRET1 JZSNZ: MOV A,@R0 CLR C
SUBB A,#10H MOV @R0,A AJMP RRET1 JZGNZ: MOV A,@R0 ANL A,#0F0H MOV @R0,A RRET1: RET
PINZHUANG:
MOV A,3Eh ;拼装子程序 mov DPTR,#zh
MOVC A,@A+DPTR MOV R0,A
MOV 3CH,@R0 INC R0
MOV 3DH,@R0 MOV A,3EH ANL A,#0FH mov DPTR,#tab
MOVC A,@A+DPTR MOV 55H,A MOV R0,#30H MOV R1,#40H
MOV R2,#07H
PZ1: MOV A,@R0 ANL A,#0FH
MOVC A,@A+DPTR MOV @R1,A INC R1 MOV A,@R0 ANL A,#0F0H SWAP A
MOVC A,@A+DPTR MOV @R1,A INC R0 INC R1 MOV A,@R0 ANL A,#0FH
MOVC A,@A+DPTR MOV @R1,A INC R0 INC R1
DJNZ R2,PZ1 RET
TAB: DB 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h
XIANSHI: MOV R0,#40H ;显示子程序 MOV R1,#00H MOV R2,#23 XS1: MOV A,@R0 MOV P0,A MOV P2,R1 LCALL DELAY MOV P0,#0FFH INC R0 INC R1
DJNZ R2,XS1 MOV R5,#52H MOV R4,#12H XS2: MOV A,@R0 MOV P0,A MOV P2,R1 LCALL DELAY MOV P0,#0FFH INC R5 INC R4
cjne R4,#16H,XS2
HH:nop
RET
DELAY: MOV R7,#06H ;延时程序 D1: MOV R6,#30H DJNZ R6,$ DJNZ R7,D1 RET
DELAY1: MOV R7,#06H ;延时程序 D2: MOV R6,#45H DJNZ R6,$ DJNZ R7,D2 RET END
因篇幅问题不能全部显示,请点此查看更多更全内容