《接口技术大作业》
4 路抢答器
姓
专
班
学
名:
业: 计算机科学与技术
级: 计 1708
号:
课程名称: 接口技术
上课学期: 2019 秋季学期
任课教师: 夏利
1.设计思路
利用并行接口和开关设计一个抢答器。逻辑开关代表抢答按钮,抢答开始前,
LED 小灯泡流水,当某个逻辑开关闭合时,相当于抢答按钮按下,此时对应的 LED
灯泡常亮,同时蜂鸣器响起。
用逻辑开关作为中断源,每按一次脉冲发生器的按键即产生一次中断。 在
中断服务程序中,通过 74LS273 输出一个数据,以点亮与中断源相对应位置的
LED。
2.功能
本作业为四路抢答器。逻辑开关代表抢答按钮,抢答开始前,LED 小灯泡流
水。当某个逻辑开关闭合时,相当于抢答按钮按下,此时对应的 LED 灯泡常亮,
同时蜂鸣器发出鸣叫声,代表抢答成功。使开关复位,即逻辑开关由 1 变回 0
时,亮起的 LED 灯熄灭,小灯泡恢复流水状态。
3.设备
微机原理实验箱:8259A 中断控制器*1、上升沿锁存器 74LS273*1、逻辑开
关*4、LED*4、蜂鸣器*1
4.硬件电路设计
I、芯片原理
(1)8259A 中断控制器
引脚:
D0~D7:双向数据线,CPU 与 8259
间利用这个数据总路线传送数据及
命令。
WR :写控制输入信号,同控制总
路线上的 IOW 信号相连。
RD :读控制输入信号,同控制总
路线上的 IOR 信号相连。
A0:地址选择信号,用来对 8259A
内部的两个可编程寄存器进行选择。
CS :片选输入信号,低电平有效。
有效时可通过数据总路线设置命令并对内部寄存器进行读出。当进入中断响应
时序时,该引脚状态与进行的处理无关。
INT: 由 8259A 向 CPU 发出的中断请求信号。
INTA :输入信号,接收 CPU 送来的中断响应信号 INTA。
IR0~IR7:8 个中断请求输入信号,高电平或上升沿有效。用于接收外设接口来
的中断请求。
(2)74LS273
引脚:
MR:输出复位,低电平有效。
CP:锁存控制,保存输入状态且立即输
出,上升沿触发且 MR 为高电平。
D0~D7:数据输入端
Q0~Q7:数据输出端
II、实验连线
逻辑开关的输出端 K1~K4 分别与
8259A 的 IR0~IR3 对应连接。74LS273 的
输出端 Q0~Q3 分别与发光二极管的输入
端 L1~L4 对应连接。Q4 与蜂鸣器的插孔
相连。8259A 的 CS 端接 FF80H 孔,74LS273 的 CS 端接 FF90H 孔。8259A 的 INT
连 INTR,8259A 的 INTA 连 INTA。
5.程序流程图
6.程序代码
CODE SEGMENT
ASSUME CS:CODE
INTPORT1 EQU 0FF80H
INTPORT2 EQU 0FF81H
INTQ0
EQU INTREEUP0
INTQ1
EQU INTREEUP1
INTQ2
EQU INTREEUP2
INTQ3
EQU INTREEUP3
ORG 12D0H
START:
JMP START0
INTCNT
DB ?
DATA1:
DB
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H
DB 86H,8EH,0FFH,0CH,89H,0DEH,0C7H,8CH,0F3H,0BFH,8FH
START:
CLD
CALL
CALL
CALL
CALL
MOV
MOV
OUT
MOV
MOV
OUT
MOV
OUT
MOV
OUT
MOV
STI
WRINTVER0
WRINTVER1
WRINTVER2
WRINTVER3
AL,1BH
DX,INTPORT1
DX,AL
AL,08H
DX,INTPORT2
DX,AL
AL,09H
DX,AL
;四路抢答器对应四个
;中断子程序
;ICW4
AL,0F0H
;OCW1
DX,AL
intcnt,01H
;TIME=1
MOV
BL,0FEH
WAITING:
MOV
AL,BL
;流水灯
ROR
BL,1
MOV
OUT
MOV
DX,0FF90H
;273 口地址
DX,AL
CX,0
LOOP
$
JMP
WAITING
WRINTVER0:
MOV
AX,0H
;四个中断向量表
ES,AX
DI,0020H
AX,INTQ0
MOV
MOV
LEA
STOSW
MOV
AX,0000h
STOSW
RET
WRINTVER1:
MOV
AX,0H
ES,AX
DI,0024H
AX,INTQ1
MOV
MOV
LEA
STOSW
MOV
AX,0000h
STOSW
RET
WRINTVER2:
MOV
AX,0H
ES,AX
DI,0028H
AX,INTQ2
MOV
MOV
LEA
STOSW
MOV
AX,0000h
STOSW
RET
WRINTVER3:
MOV
AX,0H
ES,AX
DI,002CH
AX,INTQ3
MOV
MOV
LEA
STOSW
MOV
AX,0000h
STOSW
RET
INTREEUP0:
PUSH
AX
PUSH
PUSH
BX
DX
L1:
CLI
MOV
MOV
MOV
OUT
MOV
BH,0AH
AL,0EEH
;一号小灯和蜂鸣器,Oi 控制字
DX,0FF90H
;一号小灯延时闪烁
DX,AL
CX,0
LOOP
$
DX,AL
CX,0
$
BH
L1
AL,20H
DX,0FF80H
DX,AL
DX
BX
AX
OUT
MOV
LOOP
DEC
JNZ
MOV
MOV
OUT
STI
POP
POP
POP
IRET
INTREEUP1:
PUSH
AX
BX
DX
PUSH
PUSH
CLI
MOV
MOV
MOV
OUT
MOV
BH,0AH
AL,0EDH
DX,0FF90H
DX,AL
CX,0
LOOP
$
L2:
DX,AL
CX,0
$
BH
L2
AL,20H
DX,0FF80H
DX,AL
DX
BX
AX
OUT
MOV
LOOP
DEC
JNZ
MOV
MOV
OUT
STI
POP
POP
POP
IRET
INTREEUP2:
PUSH
AX
L3:
PUSH
PUSH
CLI
MOV
MOV
MOV
OUT
MOV
BX
DX
BH,0AH
AL,0EBH
DX,0FF90H
DX,AL
CX,0
LOOP
$
OUT
MOV
LOOP
DEC
JNZ
MOV
MOV
OUT
STI
POP
POP
POP
DX,AL
CX,0
$
BH
L3
AL,20H
DX,0FF80H
DX,AL
DX
BX
AX
IRET
INTREEUP3:
PUSH
AX
L4:
BX
DX
PUSH
PUSH
CLI
MOV
MOV
MOV
OUT
MOV
BH,0AH
AL,0E7H
DX,0FF90H
DX,AL
CX,0
LOOP
$
DX,AL
CX,0
$
BH
L4
AL,20H
DX,0FF80H
DX,AL
DX
BX
AX
OUT
MOV
LOOP
DEC
JNZ
MOV
MOV
OUT
STI
POP
POP
POP
IRET
CODE ENDS
END
START
7.实验心得
通过本次大作业的实验,使我在原有实验的基础上对 8259A 中断控制器
和 74LS273 的功能和使用方法有了更深刻的了解。在这个实验过程,我向其
他同学学习、交流,提高了动手能力和实践能力,希望学校能多多提供这种
机会,让我们可以将所学知识得以应用。