微机原理笔记(1)------8259A芯片

引脚

28根引脚,双列直插式封装
引脚图

引脚功能

D7~D0:数据总线,与cpu数据总线连接,实现与cpu的数据交换。
IR7~IR0:八级中断请求信号输入引脚。
INT:中断请求信号输出引脚,接CPU的INTR引脚。
~INTA:中断应答信号输入引脚,接CPU的INTA引脚。
~WD ~RD:读/写控制信号输入引脚。
~CS:片选信号输入引脚,用以确定8259A端口地址。
A0:内部寄存器的选择信号输入引脚。
CAS2~CAS0:级联信号引脚,主片时输出,从片时输入。
~SP ~EN:从设备编程/缓冲器允许引脚。
非缓冲方式:~SP有效,输入引脚。单片接高电平;级联主片接高电平,从片接低电平。
缓冲方式:~EN有效,输出引脚。控制总线缓冲器的接收和发送。
VCC、GND:电源和接地引脚。

相关寄存器

中断请求寄存器IRR

8位锁存器,保存中断请求信号IR0~IR7。
收到请求信号时,将IRR对应位置“1”。
中断请求产生方式:边沿触发和电平触发。
边沿触发方式:中断请求输入端IRi出现正跳变。
电平触发方式:中断请求输入端IRi的高电平信号。
响应中断后,高电平信号应及时撤销。

中断服务寄存器ISR

8位寄存器,保存当前正在被服务的中断请求。
第一个INTA周期,将ISR对应位置“l”,同时将对应的
IRR位复位。
ISR的复位由8259A中断结束方式决定。
自动结束方式(硬件):由CPU在第二个INTA周期后沿将其复位。
非自动结束方式(软件):由CPU发送的中断结束命令将其复位。

中断屏蔽寄存器IMR

8位寄存器,保存要屏蔽的中断请求。
“1”表示屏蔽中断请求;“0”表示开放。

编程

初始化控制字

芯片控制初始化命令字ICW1

芯片控制初始化命令字ICW1

中断类型初始化命令字ICW2

中断类型初始化命令字ICW2

主/从片初始化命令字ICW3

主/从片初始化命令字ICW3

方式控制初始化控制字ICW4

方式控制初始化控制字ICW4

操作命令字

屏蔽操作命令字OCW1

屏蔽操作命令字OCW1

中断方式操作命令字OCW2

中断方式操作命令字OCW2

中断方式操作命令字OCW2

状态操作命令字OCW3

状态操作命令字OCW3
在读IMR时直接向奇地址中取值,因为其直接由OCW1写入且为奇地址

8259A端口分配及操作功能

8259A端口分配及操作功能

初始化顺序

初始化顺序

同一端口如何区分ICW和OCW

A0奇偶地址位区分

ICW1必须写入偶地址端口(A0=0)
ICW2必须写入奇地址端口(A0=1)
ICW3只有在ICW1中的SNGL=0即级联时写入
ICW4只有在ICW1中IC4=1时才写入
OCW1写入偶地址端口,2、3写入奇地址端口
ICW写完后继续进入OCW1、2、3(根据奇偶地址来区分)

标志位区分

ICW4的D7到D5为0为其标志位
D4、D3位为00时为OCW2,为01时为OCW3(注意标志位)

原文地址:https://www.cnblogs.com/yanzs/p/13788297.html