欢迎来到天天文库
浏览记录
ID:40447286
大小:3.49 MB
页数:53页
时间:2019-08-02
《微型计算机中断系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、7.3.48259A的编程方法可编程中断控制器8259A的工作状态和操作方式由CPU通过命令字进行控制的。8259A有两类命令字:初始化命令字ICW(4个)操作命令字OCW(3个)7个CPU控制寄存器分成两组:一组用做存ICW另一组存OCW7.3.48259A的编程方法两组7个寄存器占用2个I/O端口地址(在PC机中8259A的端口地址为20H和21H):A0命令字0(20H)ICW1、OCW2、OCW31(21H)ICW2、ICW3、ICW4、OCW17.3.48259A的编程方法D4D3命令字1×ICW100OCW201OCW3IC
2、W1、OCW2、OCW3由A0、D4和D3三位状态寻址:ICW2、ICW3、ICW4在ICW1后,按顺序写入。7.3.48259A的编程方法写ICW1A0=0,D4=1写ICW2A0=1SNGL=1IC4=1写ICW3A0=1写ICW4A0=1是否是否按顺序对A0=1端口写入命令字7.3.48259A的编程方法当计算机刚启动时,用初始化程序设定ICW,即由CPU按次序发送24个不同格式的ICW,用来建立起8259A操作的初始工作状态,此后的整个工作过程中该状态保持不变。操作命令字(OCW)用于动态控制中断处理,是在需要改变或控制825
3、9A操作时随时发送的。注意:当发出ICW或OCW时,CPU中断申请引脚INTR应关闭(使用CLI指令)。7.3.48259A的编程方法对8259A的编程分为两类:初始化编程操作过程编程8259A的软件编程必须按照先初始化编程,然后进行操作方式编程的顺序。7.3.48259A的编程方法初始化编程初始化编程的主要任务:(1)复位芯片。(2)设定中断请求信号有效的形式。(3)设定是单片,还是级联。(4)设定中断类型号。(5)设定优先排队规则。(6)设定中断处理结束时的结束规则。7.3.48259A的编程方法ICW1ICW1称为:芯片控制初始化
4、命令字,用于启动8259A中的初始化顺序。该字写入8位的芯片控制寄存器。写ICW1的标记为:A0=0,D4=1。7.3.48259A的编程方法7.3.48259A的编程方法ICW1D7~D5:在8086/8088系统中不用(000)。D4:设置为1,指示ICW1的标志位。D3(LTIM):设定中断请求信号触发的方式。1:电平触发方式;0:边沿触发方式。D2(ADI):在8086/8088系统中不起作用(0)。D1(SNGL):1:单片方式,0:级联方式。D0(IC4):1:设置ICW4,0:不设置ICW4。7.3.48259A的编程方
5、法ICW1ICW1可完成初始化任务的前三项:(1)复位芯片。(2)设定中断请求信号有效的形式。(3)设定是单片,还是级联。注意:在写入ICW1后,除完成ICW1规定的功能外,同时复位芯片,隐含有清IMR、默认中断优先级为IR0>IR1>……>IR7等的功能。7.3.48259A的编程方法举例:PC/XT机设置的ICW1=13H,端口地址为20H。MOVAL,13HOUT20H,AL;单片,上升沿有效,写ICW413H=000100117.3.48259A的编程方法ICW2ICW2:中断类型码命令字。该字写入8位的中断类型寄存器。写ICW
6、2的标记为:A0=1。D7~D3(T7~T3):中断向量类型码。中断类型码的低3位由中断请求的引脚IR0~IR7决定(000~111)。D2~D0:在8086/8088系统中不用(000)。7.3.48259A的编程方法7.3.48259A的编程方法IBMPC/XT机中由8259A管理的8级外部中断IR0~IR7的中断类型码为08H~0FH。举例:设置的ICW2=08H,端口地址为21H。MOVAL,08HOUT21H,ALIR3对应的中断类型码为0BH。7.3.48259A的编程方法ICW3ICW3:主片/从片的初始化命令字。它只用于
7、级联方式。该字写入8位的主/从标志寄存器。写ICW3的标记为:A0=1。(1)对于主8259A(输入端SP#=1)(2)对于从8259A(输入端SP#=0)7.3.48259A的编程方法ICW3(1)对于主8259A(输入端SP#=1)D7~D0(S7~S0):当某位为1时,表示该位对应的IRi端接一从片8259A。例如:当ICW3=F0H时,则表示在IR7、IR6、IR5、IR4引脚上接有8259A从片,而IR3、IR2、IR1、IR0引脚上未接从片。注意:清0的位,其对应的IRi上可直接连接外设来的中断请求信号端。7.3.4825
8、9A的编程方法7.3.48259A的编程方法ICW3(2)对于从8259A(输入端SP#=0)控制字格式如图所示7.3.48259A的编程方法在IBMPC/XT机中,仅用1片8259A,能提供8级中断请求。
此文档下载收益归作者所有