接口技术课程设计-竞赛抢答器

接口技术课程设计-竞赛抢答器
接口技术课程设计-竞赛抢答器

题目:竞赛抢答器的设计与设计

㈠设计任务与要求:

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

;记录第一个抢答者的组 ;将第一个抢答者的组别

相关主题
相关文档
最新文档