接口技术课程设计-竞赛抢答器
题目:竞赛抢答器的设计与设计
㈠设计任务与要求:
1.1设计任务:
①了解微机控制的竞赛抢答器的基木原理。
②进一步熟练8255的使用。
③设计一个7路的智力竞赛抢答器。
1.2要求:
①在主持人侧,设置抢答指示电路和启动/复位开关。选手侧各设置1个抢答按钮。
②使用开关K8代表启动/复位开关,K8向上拨时,表示启动一次抢答,绿色发光二极管亮作允许抢答指示。此时选手侧可以按动各自的抢答按钮。
③使用实验仪的逻辑电平开关K1-K7来代表7个抢答按钮。当开关向上拨时表示按下按钮。
④收到第1个抢答信号后,主持人侧红色发光二极管亮(绿色发光二极管灭)作抢答指示,并且在单个LED数码管显示抢先一组的组别。
⑤主持人向下拨K8,代表复位操作,指示灯和数码管熄灭。
⑥主持人可以再次向上拨动K8,启动下一次抢答。
⑦通过8255完成设计。
㈡设计方案:
2.1设计思路:利用可编程的并行接口8255进行设计。首先,初始化8255。,然后,判断是启动还是复位操作,若是复位操作,则控制8255输出的数据使绿色和红色指示灯、LED数码管全灭;否则启动下一次抢答,使绿色发光二极管亮,当绿灯亮时表示可以抢答,当8255的输入口A有不为0的数据时,则使红色发光二极管点亮、并判断先拨动开关的组号,在LED上显示出其组号,当燃,如果要使绿灯在抢答时亮,在每次复位时检测k8看其值是不是为零,即是不是在抢答完复位,如果没有复位,则不断的检测,相反则重新下一轮的抢答。
2.2设计硬件:①木次试验用到了并行接口8255该芯片的主要的功能是提供了四个外设编制地址,即A 口,B 口,C 口和控制器各占一个外设接口地址,并且多同一个地址分别可以进行读,写操作。② 而且还可以适应CPU 与I\O接口多种输出方式,如无条件传输方式, 查询传输方式和中断传输方式等。③B 口和C 口的引脚具有达林顿复合晶体管驱动功能,在1.5V时输出1mA电流,适于作输出端口。④ C 口除作数据口外,当8255工作在方式1和方式2时,C 口的部分引脚作为固定的联络信号线。⑤木实验中8255作为外设接口,A 口输入,B、C输出,B 口用于控制红,绿灯,C 口用于控制LDE发光二极管。
㈢硕件线路设计:
3.1线路图:
KDO O ---------- KD1 O ---------- JO2 CJ --------- KH3 a ----------- KD-1 C3 -------- 05 O ------------- 06 C ) -----------
3.2连线说明: > 8255模块的WR 、RD 分别连到ISA 总线接口的IOWR 、IORD 。 > 8255模块的数据
(ADO ?7)、地址线(A0?7)分别连到ISA 总线接口的 数据(LADO ?7)、地址线(LAO ?7)。
> 8255模块选通线CE 连到ISA 总线接口模块的IOYO 。
8255的PAO ?7连到键盘显示模块的KDO ?7: 8255的PBO ?3连到键盘显示模 块的KL1?4。
8255的端口 C (PC0-PC7)通过驱动连接到LED 的d ?h 各段。 8255的端口 A (PA0-PA7)和开关K1-K8相连。
8255的端口 B (如PB2、PB1)分别和发光二极管L2 (绿)、L1
(红)连 接。
反向龟动电皺
㈣软件设计4.1流程图:
㈤源程序
MY_DATA SEGMENT
P8255_A P8255_B P8255_C P8255_MODE
SGTB DB 0F9H,0A4H,0B0H,099H,92H,82H,0F8H
;共阳极数码
MY_DATA ENDS MY_CODE SEGMENT MY_PROC PROC FAR
ASSUME CS:MY_CODE ,DS:MY_DATA
START:
MOV AX,MY_DATA MOV DS,AX
MOV DX,P8255_MODE MOV AL,90H
;初始化8255控制字A 口输入,
B 、
C 输出
OUT DX,AL
AGAIN:
MOV BX,0 MOV DX,P8255_A IN AL,DX
DW Oc8OOH DW 0c801H DW Oc8O2H DW Oc8O3H
TEST AL,80H JNZ QD ;启动
MOV DX,P8255_B MOV AL,11111111B OUT DX,AL
MOV DX,P8255_C MOV AL,11111111B OUT DX,AL
JMP AGAIN ;绿灯红灯全灭;数码管灭
抢答
MOV DX,P8255_B ;启动,绿灯亮可以开始
有人按下
MOV AL,11111011B
OUT DX,AL
A: MOV DX,P8255_A
INAL,DX
TEST AL, 7FH
JZ A
则转B
;若无人抢答跳转继续检测B: MOV BX,0040H
MOV CX,7
TEST AL,BL
JNZC
;从K7判断是否抢答
;若抢答跳转
MOV BX.CX MOV DX,P8255_C 送C 口 LED 显示 MOV AL,SGTB[BX] OUT DX.AL
MOV DX,P8255_B ;红灯亮
MOV ALJ1111101B OUT DX,AL MOV DX,P8255_A
;检测开关是否复位,如果
SHR BL J ;逻辑右移,依次检测首次抢答
LOOPD JZ B
;若第一次没检测到抢答者返
回继续检测
C:
MOV DX,P8255_B ;红灯亮
MOV AL,11111101B OUT DX,AL MOV DX,P8255_B ;位选线 PB7 MOV AL.10000000B OUT DX,AL DEC CX
;记录第一个抢答者的组 ;将第一个抢答者的组别