8253、8255a、8259a初始化程序

上传人:n**** 文档编号:91122772 上传时间:2019-06-23 格式:DOCX 页数:12 大小:458.60KB
返回 下载 相关 举报
8253、8255a、8259a初始化程序_第1页
第1页 / 共12页
8253、8255a、8259a初始化程序_第2页
第2页 / 共12页
8253、8255a、8259a初始化程序_第3页
第3页 / 共12页
8253、8255a、8259a初始化程序_第4页
第4页 / 共12页
8253、8255a、8259a初始化程序_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《8253、8255a、8259a初始化程序》由会员分享,可在线阅读,更多相关《8253、8255a、8259a初始化程序(12页珍藏版)》请在金锄头文库上搜索。

1、8253的初始化程序1.确定端口地址:0310H、0312H、0314H、0316H2.确定工作方式(假设工作方式为): 通道0,方式3通道1,方式1通道2,方式53.确定计数值: 通道0:N0=1MHz/2KHz=500通道1:N1480us/(1/1mhz)=480通道2:N2=264确定控制字:通道0:00110111B通道1:01110011B通道2:10011011B对3个通道的初始化程序如下:;通道0初始化程序MOV DX, 316HMOV AL,00110111BOUT DX,ALMOV DX,310HMOV AL,00HOUT DX, ALMOV AL,05HOUT DX,AL

2、;通道1的初始化程序MOV DX, 316HMOV AL, 001110011BOUT DX, ALMOV DX, 312HMOV AL, 80HOUT DX, ALMOV AL, 04HOUT DX, AL;通道2初始化程序MOV DX, 316HMOV AL, 10011011BOUT DX, ALMOV DX, 314HMOV AL,26HOUT DX,AL; MOV AL,00H; OUT DX,AL8255A初始化程序对8255A进行初始化,要求端口A工作于方式1,输入;端口B工作于方式0,输出;端口C的高4位配合端口A工作,低4位为输入。1. 确定控制字端口地址:006CH。2.

3、确定工作方式:端口A,工作方式1,输入端口B,工作方式0,输出端口C,C0为输入,C4为配合工作3. 确定方式选择控制字:1 011 1 00 1H(B9H)对3个端口的初始化程序如下MOV AL,B9HMOV DX,006CHOUT DX,AL另一个8255A初始化程序已知某8255A在系统中占用888BH号端口地址,现欲安排其PA,PB,PC口全部为输出,PA,PB口均工作于方式0模式,并将PC6置位,使PC3复位,试编写出相应的初始化程序:1. 确定端口地址控制字以及PC口置位复位端口,8BH2. 确定工作方式3. 确定方式选择控制字MOV AL, 80H OUT 8BH,ALMOV A

4、L,ODH OUT 8BH,ALMOV AL,06HOUT 8BH,AL在8259A内部有两组寄存器:一组为命令寄存器,用于存放CPU写入的初始化命令字ICW1ICW4(initialization command words);另一组为操作命令寄存器,用于存放CPU写入的操作命令字OCW1OCW3(operation command words)。1初始化命令字ICW的格式当地址线A0为1时,8259A提供了4个(ICW1ICW4)初始化命令字,并规定了严格的初始化步骤。8259A是中断系统的核心器件,对它的初始化编程要涉及中断系统的软、硬件的许多问题,而且一旦完成初始化,所有硬件中断源和中

5、断处理程序都必须受其制约。(1)ICW1的格式ICW1的格式如图6.12所示。图6.12ICW1的格式IC4 (ICW4 needed /no ICW4 needed):指示在初始化时是否需要写入命令字ICW4。在80x86 CPU系统中需要定义ICW4,设IC41。SNGL(single/cascade mode):指示8259A在系统中使用单片还是多片级联。SNGL1为单片,SNGL0为多片级联。ADI(call address interval):设置调用时间间隔,在80486 CPU中无效。LTIM(level/edge triggered mode):定义IRi的中断请求触发方式。L

6、TIM1为电平触发,LTIM0为边沿触发。D4:ICW1的标志位,恒为1。D5D7:未用,通常设置为0。(2)ICW2的格式ICW2用于设置中断类型号,格式如图6.13所示。图6.13ICW2的格式ICW2中的低3位ID2ID0由中断请求输入端IRi(i07)的编码自动引入,高5位T7T3由用户编程写入。若ICW2写入40H时,则IR0IR7对应的中断类型号为40H47H。(3)ICW3的格式ICW3是级联命令字,在级联方式下才需要写入。主片和从片所对应的ICW3的格式不同,主片ICW3的格式如图6.14所示,从片ICW3的格式如图6.15所示。图6.14主片ICW3的格式图6.15从片ICW

7、3的格式 S7S0与IR7IR0相对应,若主片IRi(i07)引脚上连接从片,则Si1,否则Si0。ID2ID0是从片接到主片IRi上的标识码。例如,当从片的中断请求信号INT与主片的IR2连接时,ID2ID0应设置为010,D7D3未用,通常设置为0。在中断响应时,主片通过级联信号线CAS2CAS0送出被允许中断的从片的标识码,各从片用自己的ICW3和CAS2CAS0进行比较,二者一致的从片被确定为当前中断源,可以发送该从片的中断类型码。(4)ICW4的格式ICW4用于设定8259A的工作方式,其格式如图6.16所示.图6.16ICW4的格式mP(microprocessor):设置CPU模

8、式。mP1为80x86模式,mP0为8080/8085模式。AEOI(auto end of interrupt):设置8259A的中断结束方式。AEOI1为自动结束方式,AEOI0为非自动结束方式。(master/slave):选择缓冲级联方式下的主片与从片。1为主片,0为从片。BUF(buffer):设置缓冲方式。BUF1为缓冲方式,BUF0为非缓冲方式。SFNM(special fully nested mode):设置特殊完全嵌套方式。SFNM1为特殊完全嵌套方式,SFNM0为非特殊完全嵌套方式D7D5:未定义,通常设置为0。需要注意:当多片8259A级联时,若在8259A的数据线与系

9、统总线之间加入总线驱动器,引脚作为总线驱动器的控制信号,D3位BUF应设置为1,此时主片和从片的区分不能依靠引脚,而是由来选择,当0时为从片;当1时为主片。如果BUF0,则定义无意义。2操作命令字OCW的格式操作命令字有OCW1, OCW2和OCW3。(1)OCW1的格式OWC1为中断屏蔽字,写入中断屏蔽寄存器(IMR)中,对外部中断请求信号IRi实行屏蔽,格式如图6.17所示。图6.17OCW1的格式当某位Mi(interrupt mask)为1时,则对应的IRi请求被禁止;当Mi为0时,则对应的IRi请求被允许。在工作期间可根据需要随时写入或读出。(2)OCW2的格式 OWC2用于设置中断

10、优先级方式和中断结束方式,其格式如图6.18所示。图6.18OCW2的格式L2L0(IR level to be acted upon):8个中断请求输入端IR7IR0的标志位,用来指定中断级别。L2L0指定的中断级别是否有效,由SL(specific level)位控制。当SL1时,L2L0定义有效;当SL0时,L2L0定义无效。EOI(end of interrupt):中断结束命令。若EOI1时,在中断服务子程序结束时向8259A回送中断结束命令EOI,以便使中断服务寄存器(ISR)中当 前最高优先权位复位(普通EOI方式),或由L2L0表示的优先权位复位(特殊EOI方式)。R(rota

11、tion):设置优先权循环方式位。R1为优先权自动循环方式;R0为优先权固定方式。D4, D3为OCW2标志位。(3)OCW3的格式OCW3用于设置或清除特殊屏蔽方式和读取寄存器的状态,格式如图6.19所示。RR(read register command):读ISR和IRR命令位,RIS(read interrupt register select)读寄存器选择位。当RR1,RIS0时,读取IRR命令;当RR1,RIS1时,读取ISR命令。在进行读ISR或IRR操作时, 先写入读命令OCW3,然后紧接着执行读ISR或IRR的指令。图6.19OCW3的格式例如,设8259A的两个端口地址为20

12、H和21H,OCW3, ISR和IRR共用一个地址20H。读取ISR内容的程序段为MOVAL, 00001011BOUT20H, AL ; 读ISR命令写入OCW3INAL, 20H ; 读ISR内容至AL中读取IRR内容的程序段为MOVAL, 00001010BOUT20H, AL ; 读IRR命令写入OCW3IN AL, 20H ; 读IRR内容至AL中 P(poll command):为中断状态查询位。当P1时,可通过读入状态寄存器的内容,查询是否有中断请求正在被处理,如有则给出当前处理中断的最高优先级。中断状态寄存器如图6.20所示。图6.20中断状态寄存器 在读取中断状态字时,先写入

13、中断查询命令,然后读取中断状态字,程序如下:MOVAL, 00001111BOUT20H, AL ; 读中断状态字命令写入OCW3IN AL, 20H ; 读中断状态字ESMM(enable special mask mode)与SMM(special mask mode)组合可用来设置或取消特殊屏蔽方式。当ESMM1,SMM1时,设置特殊屏蔽;当ESMM1,SMM0时,取消特殊屏蔽。38259A的初始化编程8259A的初始化编程需要写入初始化命令字ICW1ICW4,对它的连接方式、中断触发方 式和中断结束方式进行设置。但由于ICW1ICW4使用两个端口地址,即ICW1用A00的端口,ICW2

14、ICW4使用A01的端口,因此初始化 程序应严格按照系统规定的顺序写入,即先写入ICW1,接着写ICW2, ICW3, ICW4。8259A的初始化流程如图6.21所示。操作命令字OCW1OCW3的写入比较灵活,没有固定的格式,可以在主程序中写入,也可以在中断服务子程序中写入,视需要而定。下面通过例子来说明如何编写8259A的初始化程序。图6.218259A初始化流程图【例6.1】 某微机系统使用主、从两片8259A管理中断,从片中断请求INT与主片的IR2连接。设主片工作于特殊完全嵌套、非缓冲和非自动结束方式,中断类型号为 40H,端口地址为20H和21H。从片工作于完全嵌套、非缓冲和非自动结束方式,中断类型号为70H,端口地址为80H和81H。试编写主片和从片的初 始化程序。根据题意,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号