使用8259A单级中断控制实验.docx
- 文档编号:4424685
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:26
- 大小:211.79KB
使用8259A单级中断控制实验.docx
《使用8259A单级中断控制实验.docx》由会员分享,可在线阅读,更多相关《使用8259A单级中断控制实验.docx(26页珍藏版)》请在冰豆网上搜索。
使用8259A单级中断控制实验
实验五使用8259A的单级中断控制实验
一、实验目的
1、掌握中断控制器8259A与微机接口的原理和方法。
2、掌握中断控制器8259A的应用编程。
二、预备知识
1、8259A的内部结构
8259A是专为控制优先级中断而设计的芯片。
它将中断源按优先级排队、辨认中断源、提供中断向量的电路集成于一体,只要用软件对它进行编程,就可以管理8级中断。
b5E2RGbCAP
如图5-19所示,它由中断请求寄存器(IRR>、优先级分析器、中断服务寄存器(ISR>、中断屏蔽寄存器(IMR>、数据总线缓冲器、读写控制电路和级联缓冲器、比较器组成。
p1EanqFDPw
图5-19
中断请求寄存器:
寄存所有要求服务的请求IR0~IR7。
中断服务寄存器:
寄存正在被服务的中断请求。
中断屏蔽寄存器:
存放被屏蔽的中断请求,该寄存器的每一位表示一个中断号,该位为1,屏蔽该号中断,否则开放该号中断。
DXDiTa9E3d
数据总线缓冲器:
是双向三态的,用以连接系统总线和8259A内部总线,通过它可以由CPU对8259A写入状态字和控制字。
RTCrpUDGiT
读写控制电路:
用来接受I/O命令,对初始化命令和操作命令字寄存器进行写入,以确定8259A的工作方式和控制方式。
5PCzVD7HxA
级联缓冲器/比较器:
用于多片8259A的连接,能构成多达64级的矢量中断系统。
2、8259A编程及初始化
(1>写初始化命令字
*写初始化命令字ICW1(A0=0>,以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。
jLBHrnAILg
*写初始化命令字ICW2,以定义中断向量的高五位类型码。
*写初始化命令字ICW3,以定义主片8259A中断请求线上IR0~IR7有无级联的8259A从片。
xHAQX74J0X
第i位=0,表明IRi引脚上无从片
第i位=1,表明IRi引脚上有从片
*写初始化命令ICW4,用来定义8259A工作时用8085模式,还是8088模式,以及中断服务寄存器复位方式等。
LDAYtRyKfE
(2>写控制命令字
*写操作命令字0CW1,用来设置或清除对中断源的屏蔽。
第i位=0,对应的中断请求IRi开放
第i位=1,对应的中断请求IRi屏蔽
注:
OCW1如不写,则在初始化命令写入后,OCW1为全开放状态。
*操作命令字OCW2,设置优先级是否进行循环、循环方式及中断结束方式。
注:
8259A复位时自动设置IR0优先权最高,IR7优先权最低。
*操作命令字OCW3,设置查询方式、特殊屏蔽方式以及读取8259中断寄存器的当前状态。
(3>8259A查询字
通过OCW3命令字的设置,可使CPU处于查询方式,随时查询8259A有否中断请求,有则转入相应的中断服务程序。
Zzz6ZB2Ltk
三、实验内容
本系统中已设计有一片8259A中断控制芯片,工作于主片方式,8个中断请求输入端IR0~IR7对应的中断型号为8~F,其和中断矢量关于如下表5-3所示。
dvzfvkwMI1
表5-3
根据实验原理图5-20<见下页),8259A和8088系统总线直接相连,8259A上连有一系统地址线A0,故8259A有2个端口地址,本系统中为20H、21H。
20H用来写ICW1,21H用来写ICW2、ICW3、ICW4,初始化命令字写好后,再写操作命令字。
OCW2、OCW3用口地址20H,OCW1用口地址21H。
图5-14中,使用了3号中断源,IR3插孔和SP插孔相连,中断方式为边沿触发方式,每按一次AN按钮产生一次中断信号,向8259A发出中断请求信号。
如果中断源电平信号不符规定要求则自动转到7号中断,显示“Err”。
CPU响应中断后,在中断服务中,对中断次数进行计数并显示,计满5次结束,显示器显示“8259Good”。
rqyn14ZNXI
四、实验线路连接
8259A的IR3插孔和SP插孔相连。
SP插孔初始电平为低电平。
图5-20
五、实验软件框图
六、实验软件清单
CODESEGMENT
ASSUMECS:
CODE
INTPORT1EQU0020H
INTPORT2EQU0021H
INTQ3EQUINTREEUP3
INTQ7EQUINTREEUP7
CONTPORTEQU00DFH
DATAPORTEQU00DEH
DATA0EQU0580H
DATA1EQU0500H
DATA2EQU0508H
DATA3EQU0518H
DATA4EQU0520H
ORG1800H
START:
JMPTint1
Tint1:
CALLFORMAT
CLD
MOVDI,DATA0
MOVCX,08H
XORAX,AX
REPSTOSW
MOVSI,DATA3
CALLLEDDISP。
DISP8259-1
MOVAX,0H
MOVDS,AX
CALLWRINTVER。
WRITEINTRRUPT
MOVAL,13H
MOVDX,INTPORT1
OUTDX,AL
MOVAL,08H
MOVDX,INTPORT2
OUTDX,AL
MOVAL,09H
OUTDX,AL
MOVAL,0F7H
OUTDX,AL
MOVBYTEPTRDS:
[0601H],01H。
TIME=1
STI
WATING:
JMPWATING
WRINTVER:
MOVAX,0H
MOVES,AX
MOVDI,002CH
LEAAX,INTQ3
STOSW
MOVAX,CS
STOSW
MOVDI,003CH
LEAAX,INTQ7
STOSW
MOVAX,CS
STOSW
RET
INTREEUP3:
CLI
MOVAL,DS:
[0601H]
CALLCONVERS
MOVSI,DATA0
CALLLEDDISPD
MOVAL,20H
MOVDX,INTPORT1
OUTDX,AL
ADDBYTEPTRDS:
[0601H],01H
CMPBYTEPTRDS:
[0601H],06H
JNAINTRE1
MOVSI,DATA4
CALLLEDDISP
INTRE3:
JMPINTRE3
CONVERS:
MOVBH,0H
ANDAL,0FH
MOVBL,AL
MOVAL,CS:
[BX+DATA2]
MOVBX,DATA0
MOVDS:
[BX],AL
RET
INTRE1:
MOVAL,20H
MOVDX,INTPORT1
OUTDX,AL
STI
IRET
INTREEUP7:
CLI
MOVSI,DATA1
CALLLEDDISP
MOVAL,20H
MOVDX,INTPORT1
OUTDX,AL
IRET
LEDDISP:
MOVAL,90H
MOVDX,CONTPORT
OUTDX,AL
MOVBYTEPTRDS:
[0600H],00
LED1:
CMPBYTEPTRDS:
[0600H],07H
JALED2
MOVBL,DS:
[0600H]
MOVBH,0H
MOVAL,CS:
[BX+SI]
MOVDX,DATAPORT
OUTDX,AL
ADDBYTEPTRDS:
[0600H],01H
JNZLED1
LED2:
RET
LEDDISPD:
MOVAL,90H
MOVDX,CONTPORT
OUTDX,AL
MOVBYTEPTRDS:
[0600H],00
LEDD1:
CMPBYTEPTRDS:
[0600H],07H
JALEDD2
MOVBL,DS:
[0600H]
MOVBH,0H
MOVAL,DS:
[BX+SI]
MOVDX,DATAPORT
OUTDX,AL
ADDBYTEPTRDS:
[0600H],01H
JNZLEDD1
LEDD2:
RET
FORMAT:
MOVBX,0
MOVWORDPTRDS:
[BX+0500H],5050H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],0079H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],0000H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],0000H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],063FH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],4F5BH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],6D66H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],077DH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],6F7FH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],7C77H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],5E39H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],7179H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],4006H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],4040H
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],6D6FH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],7F5BH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],3F5EH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],5C3FH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],6D6FH
ADDBX,2
MOVWORDPTRDS:
[BX+0500H],7F5BH
RET
CODEENDS
ENDSTART
七、实验步骤
1、按图5-20连好实验线路
2、运行实验程序
在系统显示“DVCC-86H”状态下,按任意键,系统显示命令提示符“-”。
按GO键,显示“1000XX”
输入F000:
B2E0
按EXEC键,在DVCC-8086H上显示“8259-1”。
3、按AN按键,每按二次产生一次中断,在显示器左边一位显示中断次数,满5次中断,显示器显示“8259good”。
EmxvxOtOco
实验六8255A可编程并行口实验(一>
一、实验目的
1、掌握并行接口芯片8255A和微机接口的连接方法。
2、掌握并行接口芯片8255A的工作方式及其编程方法。
二、预备知识
1、8255A结构
8255A是可编程并行接口芯片,双列直插式封装,用+5V单电源供电,如图5-6是8255A的逻辑框图,内部有3个8位I/O端口:
A口、B口、C口;也可以分为各有12位的两组:
A和B组,A组包含A口8位和C口的高四位,B组包含B口8位和C口的低4位;A组控制和B组控制用于实现方式选择操作;读写控制逻辑用于控制芯片内寄存器的数据和控制字经数据总线缓冲器送入各组接口寄存器中。
由于8255A数据总线缓冲器是双向三态8位驱动器,因此可以直接和8088系统数据总线相连。
SixE2yXPq5
2、8255A端口地址见表5-1
表5-1
图5-12
3、8255A工作方式
8255A芯片有三种工作方式:
方式0、方式1、方式2。
它通过对控制寄存器写入不同的控制字来决定其三种不同的工作方式。
6ewMyirQFL
方式0:
基本输入/输出
图5-7(a>方式0引脚功能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 8259 中断 控制 实验