赞
踩
8253/8254内部有三个计数器:计数器0、计数器1、计数器2,他们的结构完全相同。每个计数器内部有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL
执行部件实际上是一个16位的减法计数器
8253/8254有4个端口地址,A1A0=00时,对应计数器0;A1A0=01时,对应计数器1;A1A0=10时,对应计数器2;A1A0=11时,对应控制端口和状态端口。
8253/8254内部三个计数器共用一个控制寄存器,通过对控制寄存器写入控制字,就可以使三个计数器工作在不同的模式,控制端口是只写的。
8253/8254有6种工作模式:
1.模式0——计数结束产生中断
2.模式1——可编程的单稳态触发器
3.模式2——分频器
4.模式3——方波发生器
5.模式4——软件触发的选通信号发生器
6.模式5——硬件触发的选通信号发生器
模式0/1/4/5是计数器,模式2/3是定时器
8259A有两个端口地址:一个奇地址,一个偶地址
一片8259A可通过IR7~IR0连接8个I/O设备,多片最多可处理64个可屏蔽请求
SP/EN引脚:主片和从片的选择和驱动信号。此引脚是双向的,当作输入时,用来决定本片8259A是主片还是从片,如SP/EN为1,则为主片;如为0,则为从片。当作输出时,由此引脚输出的信号启动数据总线驱动器。
1.设置优先级方式
1)全嵌套方式:在全嵌套方式中,中断请求按优先级0~7进行处理,0级最高。高级中断打断低级中断,禁止低级或同级中断
2)特殊全嵌套方式:如有同级的中断请求,也会响应
3)优先级自动循环方式:多个中断源优先席相等的场合。一个设备受到中断服务后,它的优先级自动降为最低。
2.屏蔽中动员的方式。
1)普通屏蔽方式。通过设置操作命令字OCW1使屏蔽寄存器中任一位或几位置一。当某一位为1时,对应的中断就受到屏蔽。
2)特殊的屏蔽方式。使当前中断服务寄存器中的对应为自动清0。
3.结束中断处理的方式。
按照对中断处理的结束方法来分,8259A有两类工作方式:自动结束方式和非自动结束方式。而非工作结束方式又分为两种,一种叫一班的中断结束方式,另一种叫特殊的中断结束方式。
1)特殊的中断结束方式。要发一条特殊中断接收慕名这个命令中指出了,要清楚当天中断服务寄存器中的哪个IS位。
L2,L1,L0指出到底要对哪一个IS位进行复位。
在级联方式下,一般不用中断自动结束方式而用非自动结束方式,这时不管是用一般的中断结束方式还是用特殊的中断结束方式。一个中断处理程序结束时。都必须发两次中断结束命令一次是对主片发的,另一次是对从片发的。
4.引入中断请求的方式。
1)边沿触发方式。
2)电平触发方式。
3)中断查询方式。
初始化命令字必须按顺序填写。并且要求把ICW1写到偶地址端口,而其余的初始化命令字写到奇地址端口。
1.ICW1的格式和含义:需写到偶地址端口(即让8259A的A0端口为0)
D4=1,作为ICW1的标志
D3(LTIM)设定中断请求信号的形式。如LTIM为0则中断请求为边沿触发方式,如LTIM为1,则中断请求为电平触发方式
D0(IC4)如初始化程序中使用ICW4则IC4必须为1 ,8086cpu有16位,所以为1
2.ICW2的格式和含义:只有ICW2的高5位影响中断类型号,中断类型号的高5位。就是ICW2的高5位,而中断类型号的低3位是由引入中断请求的引脚IR0~IR7决定的。
3.ICW3的格式和含义:是主片/从片初始化命令字,必须写在奇地址端口中。只有当SNGL=0才设置ICW3
分别初始化:如某一个引脚上连有从片,则对应为为1,如未连从片,则对应位为0
总结:ICW1必须写入偶地址端口,ICW2~4必须写入奇地址端口。
对于每一片8259A,ICW1和ICW2都是必须设置的,但ICW3并非每片8259A都设置。只有在级联方式下,才需要设置。
8259A有3个操作命令字即OCW1~3,OCW1必须写奇地址端口,OCW2和OCW3必须写入偶地址端口
1.ICW1的格式和含义:中断屏蔽操作命令字,当OCW1中某位为1时,对应于此位的中断请求收到屏蔽;如某位为0,则表示对应的中断请求得到允许
2.ICW1的格式和含义:用来设置优先级循环方式和中断结束方式的操作命令字,要求写入偶地址
D7(R)决定了系统的中断优先级是否按循环方式设置,如为1,则采用优先级循环方式;如为0,则为非循环方式。
EOI为中断结束命令位。当EOI为1时,使当前中断服务寄存器中的对应位ISn复位
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。