●ICW2~ICW4写入8259奇地址中(A0=1)。 ①ICW1的格式及含义 D7~D5位无效
D4=1,特征位,表示初始化命令ICW1。 D3:LTIM 中断信号IR0~IR7的触发方式 0:边沿 1:高电平 D1:SGNL 是否单片方式 0:多片级联 1:单片 D0:IC4 是否有 ICW4
0:无 1:有 ②ICW2的格式及含义 在写ICW1之后,对A0=1
的端口第一次写入的数据是ICW2 。
中断类型码=(T7~T3)+ 中断源引入管脚编号 如:写入20H,中断类型码为20H~27H; 00100000 写入40H,中断类型码为40H~47H; 01000000 写入45H,中断类型码仍为40H~47H. 01000101 ③ICW3的格式及含义
系统中有级联(ICW1.SNGL=0),在ICW2之后写ICW3。 对于主片:置1的位表示对应的引脚IR有从片级联。
对于从片:用D2~D0表示和主片的对应引脚级联。
④ICW4的格式及含义(ICW1.IC4=1)
例:设某8086系统中使用一片8259A,其端口地址为210H、211H,若系统要求中断请求为电平触发,其8个中断源的类型码为
60H~67H,不用缓冲方式,采用中断自动结束方式,试编写初始化程序段。 解:按要求确定初始化命令字
ICW1: 0 0 0 1 1 0 1 1 B=1BH ICW2: 0 1 1 0 0 0 0 0 B=60H ICW4: 0 0 0 0 1 0 1 0 B=0AH 初始化程序段:
MOV DX,210H ;DX指向偶地址端口 MOV AL,1AH ;
OUT DX,AL ;写入ICW1
MOV DX,211H ;DX指向奇地址端口 MOV AL,60H ;
OUT DX,AL ;写入ICW2 MOV AL, 0AH
OUT DX,AL ;写入ICW4 2、8259的操作命令字OCW1~OCW3
21
8259A有三个操作命令字OCW1~OCW3,程序员可以使用这三个命令字在应用程序里随时改变8259A的工作方式,而且设置时,次序可以随意。但是对端口地址有严格要求,即OCW1必须写入奇端口地址,OCW2和OCW3必须写入偶端口地址。 ①OCW1的格式及含义—中断屏蔽字(IMR) 某一位为“1”时,对应这一位的中断请求受到屏蔽。为“0”时开放该位中断。
如OCW1=08H,则IR3管脚上的中断请求被屏蔽. ② OCW2的格式及含义—设置优先级循环方式和中断结束方式
③OCW3-特殊屏蔽方式和查询方式操作字 功能:●设定特殊屏蔽方式; ●设置中断查询方式;
●设置对8259寄存器的读出。 8259A初始化 MOV AL, 13H ;写ICW1,单片,边沿触发,要ICW4 OUT 20H,AL
MOV AL,8 ;写ICW2,中断类型号从8开始 OUT 21H,AL
MOV AL,0DH ;写ICW4,缓冲工作方式,8088/8086配置 OUT 21H,AL
MOV AL,0 ;写OCW1,允许IR0~IR7全部8级中断请求 OUT 21H,AL 五、8255 1.功能
1)8255A是可编程的——通过执行程序写命令字实现规定的功能。 2)825A芯片是构造1~3个8位并行传输通道的电路。 3)8255A芯片只有1个命令字(单元),并有3个端口缓冲单元,其地址由A1、A0确定。 2. 8255A的外部引脚定义 8255A和总线连接的引脚:
1.D7?D0:8255A数据线,与系统数据总线相连。 2.CS:片选信号,低电平有效。只有CS有效,读信号RD和写信号WR才对8255A有效。
3.RESET:复位信号,低电平有效,当其有效时,所有内部寄存器都被清除,同时3个数据端口被自动设为输入端口。
4. RD:读出信号,低电平有效,当RD有效时,CPU可以从8255A中读取输入
5. WR:写入信号,低电平有效,当WR有效时,CPU可以往8255A中写入控制字或数据。 6. A1 ? A0:端口选择信号。8255A内部有3个数据端口和1个控制端口,四种组合选中其中端口之一。
8255A和外设连接的信号:
22
1. PA7 ? PA0,PB7 ? PB0,PC7 ? PC0。 说明:有A、B、C三组8位的数据信号。 2.Vcc和GND:电源和地线: 3. 8255A的内部结构 4. 8255A的寻址方式
由于在8086系统中存在奇偶地址的问题,一般将8255A的数据线系统的低8位数据总线相连,8255的A1A0与系统地址总线的A2A1连接,而用系统地址总线的A0=0作为该8255A的片选条件之一。
5. 8255A的工作方式
(1)方式0:基本的输入输出工作方式
方式0有以下特点:
①任何一个端口都可用作输入或输出。
②由A口、B口、C口高4位与C口低4位4组组合成不同的输入/输出组态。
方式0只能用无条件传送或按查询方式传送。
(2)方式1:带选通的输入/输出
A口、B口可以分别作为数据口
工作在方式1。需要使用C口中特定的引脚作为选通和应答使用。C口中其余的引脚仍可工作在方式0,定义为输入或输出使用。
①A口、B口均为输入;②A口、B口均为输出;③A、B口输入输出组合。 适合用于中断式传送和程序查询方式I/O传送。单向查询中断。
A口、B口均为选通输入端口 A口、B口均为选通输出端口 (3)方式2:选通双向传输,该方式仅适合于A口。
在这种方式下,CPU与外设交换数据时,可在单一的8位端口数据线PA0~PA7上进行,既可以通过A口把数据传送到外设,又可以从A口接收外设送过来的数据,且输入和输出均能所
23
存,但输入输出不能同时进行。 双向查询中断。 例:利用8255作为LED/开关接口,从A口读入开关的状态,从B口输出,开关“打开” 发光二极管“点亮”,开关“闭合 ” 发光二极管“熄灭 ” 。要求8255四个端口地址分别为80H,82H,84H,86H。
小结:
1.8255A支持哪几种传送方式?
答:支持无条件的程序传送方式、程序查询传送方式、中断传送方式3种传送方式。 2.支持多少条单元、地址、地址线? 答:4条单元,2条地址,2条地址线。 3.4个单元地址值如何确定? 答:通过2条地址A0、A1确定。
4.假设A、B、C都工作在方式0,8255接一个外设,能否实现查询传递,原因是什么,怎么实现?
答:方式0:基本的输入输出工作方式 方式0有以下特点:
①任何一个端口都可用作输入或输出。
②由A口、B口、C口高4位与C口低4位4组组合成不同的输入/输出组态。 方式0只能用无条件传送或按查询方式传送。
所以,能实现,将A口与B口作为数据端口,将C口的4位规定为控制信号输出口,另外4位规定为状态输入口,用C口配合A口与B口工作。
24