8259A 在微机系统中的应用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8259A 在微机系统中的应用
1)分配合适的中断级。中断请求信号必须接到系统级 总线的某个IRQ端。分配IRQ端的原则是:首先,只能 利用没有被系统已有设备占用的IRQ端。如果系统基 本配置没有硬磁盘和RS232C串行接口板,IRQ2~ IRQ5都可分配给用户开发的专用接口使用。虽然有 RS232C串行接口板,但不准备让它们以中断方式操 作,IRQ3和IRQ4都可另行分配使用。其次,分配时参 照接口完成的任务的紧急程度。任务越紧急,应分配 优先级较高的IRQ端。
处理,其结构如图所示。
8259A 在微机系统中的应用
2. 8259A 在微机系统中的应用
1)
2) 中断屏蔽方式采用常规屏蔽方式,即使用OCW1向IMR写屏蔽码。 3)
4) 中断结束方式采用非自动结束方式的两种命令格式,即不指定EOI 方式和指定EOI方式。在中断服务程序完毕时和中断返回之前,用结束命 令代码20H或6XH(X为0~7
5) 级联方式采用两片主/从连接,并且,规定把从片的中断申请输出 引脚INT连到主片的中断请求输入引脚IR2上。两片级联处理15级中断。
6) 15级中断号的分配为:IRQ0~IRQ7的中断号为08H~0FH; IRQ8~IRQ15的中断号为70H~77H
7) 两片8259A的端口地址分配为:主片的端口为20H(偶地址A0=0), 21H(奇地址A0=1)。从片的端口为:0A0H(偶地址A0=0),0A1H (奇地址A0=1
8259A 在微机系统中的应用
【例6.4】
假定,初始化之后,8259A工作于完全嵌套方式,要求对 于IR3的中断级,能够允许任何级别的中断中断其他中断 服务程序,即8259A按特殊屏蔽方式工作。因而在响应IR
3而执行IR3的中断服务程序时,在A处写入OCW1以屏 蔽IR3,然后写入OCW3使ESMM=SMM=1,于是从A处 开始,8259A进入特殊屏蔽方式;此后继续执行IR 3的 中断服务程序;在中断服务结束之前,再向8259A写入 OCW3使ESMM=1,SMM=0,结束特殊屏蔽方式,返回 到完全嵌套方式;接着写入OCW1,撤消对IR3的屏蔽; 最后写入OCW2,向8259A发出EOI命令。此例说明,在 IR3的中断服务程序的A处至B处,允许任何级别的中断源 中断IR3的服务程序(除本身之外)。
8259A 在微机系统中的应用
【例6.2】中断服务程序的入口地址标号为VINTSUB,中断类 型号为10,则设置中断向量的指令序列为以下形式: .............. MOV DX,OFFSET VINTSUB PUSH DS MOV AX,SEG VINTSUB MOV DS,AX MOV AL,10 MOV AH,25H INT 21H POP DS ………….
8259A 在微机系统中的应用
IR3中断服务程序入口
…
STI
;STI
…
MOV AL,00001000B
OUT 21H,AL
;OCW1 ,写入OCW1,使IM3=1
MOV AL,01101000B ;写入OCW3,使ESMM=SMM=1
OUT 20H,AL
;OCW3 ,
…
MOV AL,01001000B ;写入OCW3,使ESMM=1,
8259A 在微机系统中的应用
2)设计或选择中断请求信号产生逻辑。在系统总线的 中断请求输入端IRQ2~IRQ7上,要加入什么形式的中 断请求信号,是8259A初始化时已确定的。在开发外设 接口时,如果要利用中断,就要有一部分逻辑电路产 生形式合适的中断请求信号。例如,一个数据输入设 备,中断请求信号应该在输入设备作好接收一个数据 时产生;如果是输出设备,中断请求信号应在输出设 备做好接受一个数据的准备时产生。许多专门用于I/O 接口设计的大规模集成电路芯片,例如后面要讲到的 串行接口芯片8250等,本身都具有形成或产生中断请 求信号的逻辑。
8259A 在微机系统中的应用
MOV AL,xxx01010B OUT 20H,AL IN AL,20H MOV [2000H],AL MOV AL,xxx01011B OUT 20H,AL IN AL,20H MOV [2001H],AL IN AL,21H MOV [2002H],AL MOV AL,xxx0110xB OUT 20H,AL IN AL,20H TEST AL,80H JZ DONE AND AL,07H
8259A 在微机系统中的应用
3)为中断服务子程序分配合理的存储空间并把服务程序的入口地址置入 中断向量表。为服务程序分配地址空间的原则是不被其他程序冲掉。如 果用户的应用程序全部是用汇编语言编制的,服务程序作为应用程序的 一部分,经过汇编和连接,自然就为服务分配了存储空间,程序装入和
如果主程序和中断服务程序都用汇编语言编程时,在主程序中,在有 关外设启动工作之前,把中断服务程序的入口地址,即中断向量置入中 断向量表。向中断向量表置入中断向量的最方便的方法是利用DOS的功
8259A 在微机系统中的应用
利用可屏蔽中断来控制实现输入输出传输数据是 中断系统的重要应用。本节主要讨论的并行接口和串 行接口传输数据,都可以借助中断系统来实现。中断 不一定都用作数据传输的控制。例如本节将给出的时 钟中断例子,其服务程序的基本任务是计时,形成时 间信息。无论用于数据传输的控制,还是用于其他操 作目的,在应用中断控制机构时都要完成以下几点工 作:
…… DONE:HLT
;发OCW 3,欲读取IRR ;读入并保存IRR ;发OCW 3,欲读取ISR的内容 ;读入并保存ISR ;读入并保存IMR ;发OCW3, ;读入相应状态,并判断最高位是否为1
;判断中断源的编码
微型计算机原理与接口技术
8259A 在微机系统中的应用
3.8259A 【例6.3】IBMPC机中,只有一片8259A,可接受外部8级中断。在I/O地 址中,分配8259A的端口地址为20H和21H,初始化为:边沿触发、缓冲 连接、中断结束采用EOI命令、中断优先级采用完全嵌套方式,8级中断 源的中断类型分别为08H和0FH MOV DX,20H MOV AL,00010011B OUT DX,AL ;写入ICW 1 MOV DX,21H MOV AL,08H OUT DX,AL ;写入ICW 2 MOV AL,00001101B OUT DX,AL ;写入ICW 4 XOR AL,AL OUT DX,AL ;写入OCW 1 …… STI ……
1) AH中预置入功能号25H 2) AL中预置入要设置的中断类型号n 3) DS:DX中预置入中断服务程序的入口地址(两个寄存器分别置入
如果按以上要求预置入口参数,指令INT 21H执行后,就可把中断服务 程序的入口地址置入中断向量表的适当地址中。
8259A 在微机系统中的应用
1. PC微机的可屏蔽中断体系是由两片8259A级联组成,可支持15级可屏蔽中断
SMM=0
OUT 20H,AL
;OCW3
MOV AL,00H
;写入OCW1,使IM 3=0
OUT 21H,AL
;OCW1
MOV AL,00100111B ;写入OCW2,普通的EOI
OUT 20H,AL
8259A 在微机系统中的应用
【例】读8259A 设8259A的端口地址为20H、21H,请读
入IRR、ISR、IMR寄存器的内容,并相继保 存在数据段2000H开始的内存单元中;若该 8259A为主片,请用查询方式查询哪个从片有 中断请求。