第7章常用数字接口电路_第1页
第7章常用数字接口电路_第2页
第7章常用数字接口电路_第3页
第7章常用数字接口电路_第4页
第7章常用数字接口电路_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

并行通信与串行通信的主要特点可编程计数器/定时器8253-5

可编程并行接口芯片8255A可编程中断控制器8259A第7章常用数字接口电路一、并行通信与串行通信1.

并行通信(1)两个设备之间有多个数据位同时传输以字节或字校验┇接收方发送方并行通信(2)并行方式主要用于近距离通信。如计算机内的总线结构特点:传输速度快,处理简单;适合近距离传送;所传送信息无固定格式要求。2.串行通信(1)数据的各位按时间顺序依次通过同一通信线传输。先由发送设备将几位并行数据经并--串转换硬件转换成串行方式,再逐位传输到接收设备,并在接收端将数据从串行方式重新转换成并行方式。┇接收方发送方7651021765430┇串行通信(2)——几个概念数据传送方式双工,半双工,单工通信方式同步通信通信时,发送方和接收方的时钟频率和相位保持一致。每两个字符间的时间间隔固定。异步通信每两个字符间的时间间隔不固定。数据校验异步通信方式简单,成本低,但效率较同步方式低二、常用可编程接口芯片

8253-5计数器/定时器8255A并行I/O接口8259A中断控制器

8250串行I/O接口3个独立的16位计数器通道每个计数器有6种工作方式按二进制或十进制(BCD码)计数8253定时计数器24脚封装的双列直插式芯片。3路定时/计数口8位数据线2位片内地址线3条控制线2条电源线8253引脚与功能结构(一)D0~D7:数据线。A0~A1:地址线,用于选择3个计数器中的一个及选择控制字寄存器。RD:读控制信号,低有效。WR:写控制信号,低有效。CS:片选端,低有效。CLK0~2:计数器0#、1#、2#的时钟输入端。GATE0~2:计数器0#、1#、2#的门控制脉冲输入端,由外部设备送入门控脉冲。OUT0~2:计数器0#、1#、2#的输出端,由它接至外部设备,以控制其启停。8253-5引脚的定义如下:8253引脚与功能结构(二)3个独立结构完全相同的16位计数器。每个计数器均以减法计数,可按二进制或十进制计数,有6种工作方式,可通过编程选择。8253内部结构(一)每个计数器内部包括:计数初值寄存器计数执行部件计数输出寄存器8253内部结构(二)控制寄存器(写操作)

初始值寄存器(读写操作)

CPU对8253写入控制字,编程改变8253的功能CPU对8253写入计数初值,使8253获得定时量CPU从初值寄存器中读取初值。计数初值的选择和定时长短以及时钟频率有关。注:上述二个寄存器可编程写控制字时初值寄存器清08253内部结构(三)为16位计数器,完成减1操作根据计数状态产生输出波形注:解决16位计数器与8位数据线的矛盾注:上述二个寄存器不可编程计数器

计数输出寄存器

8253内部结构(四)3个计数器和1个控制字寄存器,可通过地址线A0、A1,读写控制线RD、WR与选片CS进行寻址,并实现相应的操作。8253寻址方式8253工作方式(一)计数器读写格式工作方式数制D7D6D5D4D3D2D1D000计数器001计数器110计数器211非法00计数器锁存命令01只读写低字节10只读写高字节11先读写低字节后读写高字节000方式0001方式1010方式2011方式3100方式4101方式50二进制计数值范围:0000H~FFFFH0000H是最大值655361十进制(BCD码)计数值范围:0000~99990000代表最大值10000写入方式控制字控制字写入I/O地址(A1A0=11)0001000010HMOVAL,10HOUT43H,AL;写计数器0的控制字MOVAL,04HOUT40H,AL;写计数器0的初值

控制字编程例1:8253工作为计数器0,方式0,初值为4,二进制计数,设寄存器地址为40H~43H计数器0写低字节方式0二进制计数8253工作方式(二)

77H

控制字编程例2:8253工作为计数器1,方式3,初值为4020H,十进制计数,设寄存器地址为40H~43H0111011

1MOVAL,77HOUT43H,AL;写计数器1的控制字MOVAL,20HOUT41H,AL;写计数器1的低8位初值

MOVAL,40HOUT41H,AL;写计数器1的高8位初值计数器1先写低字节后写高字节方式3十进制计数8253工作方式(三)

A7H

控制字编程例3:8253工作为计数器2,方式3,初值为4000H,十进制计数,设寄存器地址为40H~43H1010011

1MOVAL,0A7HOUT43H,AL;写计数器2的控制字MOVAL,40HOUT42H,AL;仅写计数器2的高8位初值计数器2写高字节方式3十进制计数8253工作方式(四)

方式0—计数结束产生中断输出(软件控制)方式1—重复触发的单稳输出(硬件控制)方式2—分频器(软件控制)方式3—方波发生器(软件控制)方式4—选通信号发生器(软件触发)方式5—选通信号发生器(硬件触发)8253工作方式功能

计数触发特点(CLK)门控特点(GATE)波形输出特点(OUT)不同工作方式有不同的计数脉冲的触发特点不同工作方式门控电平方式有所不同不同工作方式会产生不同的输出波形8253工作方式特点每种工作方式的过程类似:⑴设定工作方式⑵设定计数初值〔⑶硬件启动〕⑷计数初值进入减1计数器⑸每输入一个时钟计数器减1的计数过程⑹计数过程结束a、门控信号GATE必须为1,计数器才能计数;b、计数时通道输出端OUT一直为0;c、通道计数器计数到0后,OUT由0到1,同时计数器停止工作。

方式0

计数结束,产生中断控制门输出端初始低电平8253工作方式0

方式1

可编程单稳触发器a、门控信号GATE是触发信号,上升沿有效。即开始计数是由GATE的上升沿触发的;

b、触发后,通道计数器开始计数,输出端OUT由高变低。

c、计数器计数到0,OUT再由低变高。控制门输出端初始高电平8253工作方式1a、GATE门为1,计数器才能工作,对CLK端上的脉冲进行计数;b、当计数器“减”计数到1时,OUT由高变低,再经过一个CLK周期,即计数器计数到0时,OUT又跳变为高。方式2输出周期性负脉冲信号,其宽度固定为一个CLK周期;c、当计数器的值减为0时,自动重新装入计数初值,实现循环计数。

方式2

分频器(也称分频脉冲产生器)控制门输出端初始高电平8253工作方式2

方式3

方波频率发生器方式2虽然可以作分频电路,但其输出是窄脉冲,如果是方波,就只有选方式3方波宽度=n/2高电平宽度=(n+1)/2低电平宽度=(n-1)/2控制门输出端8253工作方式3初始高电平

方式4

软件触发选通脉冲a、门控信号GATE为高电平,计数器开始减1计数,OUT维持高电平;b、当计数器减到0,输出端OUT变低,再经过一个CLK输入时钟周期,OUT输出又变高。初始高电平控制门输出端8253工作方式4

方式5

硬件触发选通脉冲同方式4很相似,当控制字写入控制寄存器后,OUT变高。同方式4不同的一点是当计数值写入通道计数器后,通道并未被触发,也就是计数器并不立即开始计数。只有当GATE信号的上升沿触发通道后,通道计数器才开始计数。控制门输出端初始高电平8253工作方式58253的工作方式小结方式2、4、5的输出波形是相同的,都是宽度为一个CLK周期的负脉冲方式2连续工作方式4由软件触发启动方式5由硬件触发启动。方式5与方式1工作过程相同,但输出波形不同方式1输出的是宽度为N个CLK脉冲的低电平有效的脉冲(计数过程中输出为低)方式5输出的为宽度为一个CLK脉冲的负脉冲(计数过程中输出为高)输出端OUT的初始状态方式0在写入方式字后输出为低其余方式,写入控制字后,输出均变高。任一种方式,均是在写入计数初值之后,才能开始计数方式0、2、3、4都是在写入计数初值之后,开始计数而方式1和方式5需要外部触发启动,才开始计数。6种工作方式中,只有方式2和方式3是连续计数,其它方式都是一次计数,要继续工作需要重新启动,方式0、4由软件启动,方式1、5由硬件启动。计数器初值的计算(请结合后面的例子来理解)方式2或者方式3,计数常数就是分频系数,分频系数=ƒi/ƒo(ƒi:输入CLK频率;ƒo:OUT端输出频率)。作为定时器工作时,CLK通常来自系统内部的时钟,计数常数就是定时系数,定时系数=T/tCLK=T׃CLK(T为定时时间,tCLK为输入的CLK时钟周期,ƒCLK为输入的CLK频率)。作为外部计数使用时,计数脉冲通常来自系统外部,计数常数就是要记录的外部事件的脉冲个数。8253应用举例(一)例:

产生各种定时波形8253的基地址为310H,使用的时钟频率为1MHz。通道0:输出频率为2KHz的方波;通道1:产生宽度为480μs的单脉冲;通道2:用硬件方式触发,输出单脉冲,时间常数26。通道0:方式3,tC=1μs,方波周期500μs,设置值500控制字00100111B通道1:方式1,tC=1μs,设置值480控制字01110011B通道2:方式5,设置值26控制字10011011B8253应用举例(二)CLK0CLK1CLK21MHz方波GATE0OUT0+5V2KHz方波GATE1OUT1480μs宽度单脉冲GATE2OUT2负单脉冲CSA0A1RDWRD7~D08253Y4G1G2AG2BCBA74LS138A9A8A7A6A5A4A3A0M/IOA1A2RDWRD7~D08086CPU8253的接口电路通道0:310H通道1:312H通道2:314H控制字:316H MOVAL,00100111B ;计数器0,写高字节,工作方式3,十进制计数MOVDX,316H

OUTDX,AL ;控制端口地址316HMOVAL,05H ;计数值500MOVDX,310H OUTDX,AL ;计数器0,地址为310H MOVAL,01110011B

;计数器1,先写低、后写高,工作方式1,十进制计数MOVDX,316H

OUTDX,AL ;控制端口地址316HMOVAX,0480H ;计数值480MOVDX,312H

;计数器1,地址为312HOUTDX,AL ;先写低字节

MOVAL,AHOUTDX,AL ;再写高字节MOVAL,10011011B ;计数器2,写低字节,工作方式5,十进制计数MOVDX,316H

OUTDX,AL ;控制端口地址316H

MOVAL,26H ;计数值26MOVDX,314H OUTDX,AL ;计数器0,地址为314H

程序如下:8253应用举例(三)具有多种功能的可编程并行接口电路芯片最基本的接口电路:三态缓冲器和锁存器与CPU间、与外设间的接口电路:状态寄存器和控制寄存器还有端口的译码和控制电路、中断控制电路分3个端口(每个端口8条线),共24个外设引脚(也可分为2组工作,每组12条线)共三种输入输出工作方式(可编程设置)并行接口电路8255A40DIP封装8

位A、B、C口8

位数据线2

位片内地址线4

条控制线2

条电源线8255A引脚定义与功能(一)8255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB38255A引脚图D0~D7:数据线,三态双向8位缓冲器。A0~A1:地址线,用于选择端口。RD:读控制线,低有效。WR:写控制线,低有效。CS:片选端,低有效。RESET:复位信号,高有效。A口:8位数据输入锁存器和8位数据输出锁存器/缓冲器。B口:8位数据输入缓冲器和8位数据输出锁存器/缓冲器。C口:8位数据输入缓冲器和8位数据输出锁存器/缓冲器。8255A引脚定义与功能(二)8255A内部结构框图(一)3个8位数据端口A、B、C各有不同特点,可分别作为输入端口或输出端口。 A口与B口常作为独立的输入端口或输出端口,C口则配合A口和B口工作。C口通过控制命令分成为2个4位端口,每个4位端口包含1个4位的输入缓冲器和1个4位的输出锁存器/缓冲器,分别用来为A口和B口输出控制信号和输入状态信号。1.数据端口A、B、C8255A内部结构框图(二)两个功能:接收来自芯片内部数据总线上的控制字;接收来自读写控制逻辑电路的读/写命令,以此来决定两组端口的工作方式和读/写操作。2.A组控制和B组控制部件8255A内部结构框图(三)3.读/写控制逻辑电路管理数据传输过程:接收CS及来自地址总线的信号A1、A0和控制总线的信号RESET、WR、RD。将它们组合后,得到对A组控制部件和B组控制部件的控制命令,并送给这两个部件,再由它们完成对数据、状态信息和控制信息的传输。8255A内部结构框图(四)4.数据总线缓冲器双向三态8位数据缓冲器,8255A通过它与系统数据总线相连。输入数据、输出数据、CPU发给8255A的控制字都是通过该部件传递的。8255A内部结构框图(五)8255A内部有3个I/O端口和一个控制字端口,通过地址线A0、A1,读写控制线RD、WR与片选端CS进行寻址并实现相应的操作。::8255A寻址方式

方式0—基本输入/输出方式;方式1—选通输入/输出方式;方式2—双向传送方式。通过写入控制寄存器实现方式控制,但8255A有两个控制字需写入(方式选择字

和C口的置1/置0控制字)。当8255A接收到写入控制口的控制字时,对D7位标志位进行测试。8255A工作方式(一)端口A:PA0~PA7A组,支持工作方式0、1、2端口B:PB0~PB7B组,支持工作方式0、1端口C:PC0~PC7仅支持工作方式0

若D7=1,方式选择字。8255A工作方式(二)

若D7=0,C口的置1/置0控制字。0XXXB2B1B01/0特征位D7D6D5D4D3D2D1D01=置10=置0C口PC0~PC7位的位编码8255A工作方式(三)C端口的位选择编码D3D2D1

编码D0=0D0=1000PC0LH001PC1LH010PC2LH011PC3LH100PC4LH101PC5LH110PC6LH111PC7LH8255A工作方式(四)

任何一个端口都可用作输入或输出。

方式0:基本的输入/输出方式

由A口、B口、C口高4位与C口低4位4组组合成16种不同的输入/输出组态。100A口C口高4位0B口C口低4位特征位D7D6D5D4D3D2D1D0方式0A组B组定义B口为方式0

使用场合:

无条件传送,查询式传送。8255A工作方式0

方式1:选通输入/输出方式,适合中断式传送利用端口C提供的选通信号和应答信号,来控制输入/输出操作。8255A工作方式1(一)工作在方式1的端口,为单向传送端口。在方式1下,C口作为A口、B口联络信号的引脚,其动作关系在芯片设计和制造时已固定,

不由用户自己安排,也不能编程改变。方式1输入引脚:A端口数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中断允许触发器INTE没有外部引出端,通过编程设置。方式1输入引脚:B端口PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据中断允许触发器方式1需借用端口C用做联络信号同时还具有中断请求和屏蔽功能方式1输入联络信号STB*——选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF——输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR——中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据方式1输入时序外设送来数据PB7~PB0PA7~PA0STBIBFINTRRD②③当INTE=1时

①①当外设准备好数据,将数据送至端口线PA7~PA0或PB7~PB0②

外设发出选通信号STB*:(1)将数据锁存在输入端口内。(2)使IBF变高,表示输入端口满,可用于阻止外设输入新数据。(3)如果INTE=1,IBF的高电平和STB*的上升沿使INTR变高,发出中断请求。③转中断处理程序,执行IN指令,CPU读取数据,发出RD信号:(1)RD*的下降沿清除INTR(2)RD*的上升沿清除IBF(3)端口内的数据进入CPU端口A和端口B均为输入方式10111/011X特征位D7D6D5D4D3D2D1D0方式1A口输入B口输入B口方式1PC6、PC71=输入,0=输出端口A和端口B均为输出方式10101/010X特征位D7D6D5D4D3D2D1D0方式1A口输出B口输出B口方式1PC4、PC51=输入,0=输出8255A工作方式1(二)端口A输入、端口B输出10111/010X特征位D7D6D5D4D3D2D1D0方式1A口输入B口输出B口方式1PC6、PC71=输入,0=输出8255A工作方式1(三)端口A输出、端口B输入10101/011X特征位D7D6D5D4D3D2D1D0方式1A口输出B口输入B口方式1PC4、PC51=输入,0=输出8255A工作方式1(四)

方式2:选通双向传输仅适用于端口A。11XXX1/01/01/0特征位D7D6D5D4D3D2D1D0方式2B口工作方式0=方式01=方式1PB0~PB70=输出1=输入PC0~PC20=输出1=输入8255A工作方式2方式2双向引脚PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号例1:某应用系统以8255A作为接口,采集一组开关S7~S0

的状态,然后通过一组发光二极管LED7~LED0显示开关状态,(Si闭合,则对应LEDi亮,Si断开,则对应的LEDi灭)电路连接如下图,已知8255A、B两组均工作在方式0。写出8255四个端口的地址。写出8255工作方式控制字。写出实现给定功能的汇编语言程序。LED7LED0S7S0PB7PB0PA7PA08255AD7~D0D7~D0WR#RD#IOW#IOR#Y0*G1G2A*G2B*CBA74LS138CS*A9AEN&A8A7A6A5A4A3A2A1A0A1A0答:A口、B口、C口和控制口的地址分别是

320H、321H、322H和323H。A口工作在方式0输出,B口工作在方式0输入,C口空闲,所以其控制字是10000010b=82H程序如下:

MOV AL,82H ;置方式字

MOV DX,323H ;置控制端口地址

OUT DX,ALL1: MOV DX,321H ;置B口地址

IN AL,DX ;读开关状态(1断,0通)

NOT AL ;状态取反

MOV DX,320H ;置A口地址

OUT DX,AL ;输出(1亮,0灭)

JMP L1例2:8255A作为连接打印机接口,工作在方式0,输出。工作过程:需要打印时,查询打印机是否忙?不忙时通过8255A发送一个字符给打印机。为使打印机接收数据,要生成一个选通脉冲(初始值是1,置0,再置1)。8255A应用实例(一)A口:方式0、输出数据C口上:方式0、PC6输入状态信号C口下:方式0、PC2输出选通信号方式控制字为:10001000

B

(88H)80868255A打印机D7~D0PAPC2PC6STBBUSY100A口C口高4位0B口C口低4位特征位D7D6D5D4D3D2D1D0方式0A组B组定义B口为方式08255A应用实例(二)

Setup:

MOV AL,88H ;设置工作方式

OUT 0D3H,AL MOV AL,05H ;置PC2为1

OUT 0D3H,AL

Ready:

INAL,0D2H TEST AL,40H ;测试PC6状态

JNZ Ready MOV AL,BL ;打印的字符送AL中

OUT 0D0H,AL MOV AL,04H ;置PC2为0

OUT 0D3H,AL MOV AL,05H ;置PC2为1

OUT 0D3H,AL≥0.5ms设端口地址是:0D0H~0D3H,要打印的字符放在BL中。8255A应用实例(三)8253-5内部结构

8255A3个端口的特点与差异性

8255A3种工作方式本章小结(一)

重点掌握:第七章结束,谢谢!芯片特点使用形式注:中断源数量与芯片数量间的关系

可编写程序控制芯片的多项功能可提供多中断源的中断类型码中断源有多种触发方式可屏蔽/允许输入端的中断源采用NMOS工艺制造,只需要一组5V电源

单片方式—可提供8个中断源级联方式—最多可提供64个中断源(9片)8259A芯片特点28DIP封装8个中断源输入8位数据线1

位片内地址线3

条控制线4

条级联线2

条中断请求响应线2条电源线8259A引脚与功能结构(一)

与中断源有关(14个)IR0~IR7—外部中断源输入引脚

INT—中断请求输出引脚

接8086CPU的INTRINTA—中断响应输入引脚

接8086CPU的INTACAS0~CAS2—级连选择线

SP/EN—级连控制线8259A引脚与功能结构(二)

与CPU有关(12个)D0~D7

—8位数据传送线

CPU将控制字经数据线传给8259控制字寄存器外部中断源IR0~IR7状态经数据线传给CPU8259内部寄存器与CPU的数据传送

RD、WR—读/写控制线

CS—片选控制线

CS=L时,8259片选有效

CS由译码电路产生

A0—片内地址线

一线两址,选定8259内部寄存器

A0、CS构成8259内部寄存器地址8259A引脚与功能结构(三)8259A中断控制器包括8个主要功能部件。

8259A内部结构(一)1.

数据总线缓冲器三态双向,通过引脚D0~D7与CPU的数据总线连接。用于传送CPU发至8259的各种命令控制字、8259发至CPU的各种状态信息,以及中断响应期间8259向CPU提供的中断类型号。2.

读/写逻辑用于接收来自CPU的读/写控制信号、片选控制信号及内部端口选择信息。8259A内部结构(二)3.

级联缓冲器/比较器为8259A提供级联控制信号CAS0~CAS2与双向功能信号SP/EN,以满足8259A在缓冲工作与主从工作方式下的功能需要。4.

控制逻辑根据CPU对8259编程设定的工作方式产生内部控制信号,并在适当的时候向CPU发出中断请求信号INT,以及将来自CPU的中断响应信号转换为内部所需的各种控制信号。8259A内部结构(三)5.8位中断请求寄存器IRR用于接收并保存来自IR0~IR7上的外设中断请求。6.8位中断服务寄存器ISR用于记录当前CPU正在处理的中断请求位。如有中断嵌套,则该寄存器可能有多个位被同时置位。8259A内部结构(四)7.8位中断屏蔽寄存器IMR用于屏蔽已被锁存在IRR中的任何一个中断请求级。对所有要屏蔽的中断请求线,将相应的位置“1”即可。8.

优先级判别器PR用于确定IRR中所有未被屏蔽的中断请求位的优先级。在CPU发出第一个负脉冲时,将具有最高优先级的申请位存入服务状态寄存器ISR中相应的位置。若出现多级中断,PR还负责将IRR中的最高优先级和ISR中正在服务的中断的优先级作比较,以确定是否向CPU发出中断请求。8259A内部结构(五)(1)初始化工作方式

8259初始化是由CPU发送2~4个初始化命令字ICW来实现的。(2)接收外设中断请求初始化后8259进入正常工作状态。当外部中断源通过IRn引脚向8259发出有效的中断请求时,8259会自动将其内部中断请求寄存器IRR的相应位置1以记录并保持外设的中断请求。(3)中断屏蔽判断中断请求寄存器IRR中的被置位与中断屏蔽寄存器IMR的相应位比较,如果没有被屏蔽,信号被送入优先级分析器。8259A中断工作过程(一)(4)中断判优中断请求进入优先权分析器PR后,PR将其中的最高优先权与服务状态寄存器ISR中正在处理的中断优先权比较以确定是否通过INT脚向CPU送出中断请求信号。(5)中断响应

CPU在接收到8259的中断请求信号后,如果CPU内的中断允许标志IF=1,则在当前指令执行完后进入中断响应周期。8259A中断工作过程(二)CPU在中断响应周期中向8259回送两个负脉冲。8259的控制逻辑在接收到第一个负脉冲后完成下列任务:①禁止IRR不再受IR7~IR0信号的再次变化的影响(直到第二个结束);②将优先权处理器PR确定的最高优先级的中断请求信号存入服务状态寄存器ISR;③将中断请求寄存器IRR的相应位复位。8259的控制逻辑在接收到第二个负脉冲后,将寄存器ICW2的当前内容通过数据总线D0~D7送至CPU。8259A中断工作过程(三)(6)中断结束如果8259初始化为中断自动结束方式,即ICW4的AEOI=1,在第二个负脉冲结束时,ISR中的被第一个负脉冲置位的位即被复位。如果8259初始化为非自动结束中断方式,即ICW4的AEOI=0,则等到中断结束命令送到OCW2后,才清除ISR中的相应位,表明中断服务程序结束。8259A中断工作过程(四)8259A强大中断处理功能和各种灵活工作方式,是通过编程来设置的,即对8259A内部有关寄存器写入控制命令字来实现控制的。初始化命令字ICW(InitializationCommandWord):ICW1~ICW4,必须在初始化时分别写入4个相应的寄存器。一旦写入,一般在系统运行过程中就不再改变。操作命令字OCW(OperationCommandWord):也称工作方式命令字OCW1~OCW3,必须在设置初始化命令后方能分别写入3个相应的寄存器。用来对中断处理过程进行动态的操作与控制。在一个系统运行过程中,操作命令字可以被多次设置。8259A控制字格式(一)若要使用8259若要改变8259的功能注:一般由系统程序完成注:一般由应用程序完成必须按规定向其写入初始化命令字ICW1~ICW4使8259进入工作状态可随时向其写入操作命令字OCW1~OCW3使8259按要求工作8259A控制字格式(二)8259实际端口地址一线二址,址1:A0=0;址2:A0=18259应操作的端口

4个初始化命令字的写操作

3个操作命令字的写操作

3个寄存器IRR、ISR、IMR的读操作

1个中断类型号的读操作注:2个地址怎样完成11个读写操作8259A端口地址(一)A0RDWRCS对应的读/写操作0010读IRR、ISR、中断状态查询码1010读IMR0100写OCW2、OCW3、ICW11100写OCW1、ICW2、ICW3、ICW4X110无操作,数据线呈高阻态XXX1无操作,数据线呈高阻态8259A端口地址(二)A0=0读操作—IRR、ISR、中断类型号→CPU

注:解决1址3读问题,用位控制定义读入方法

A0=1读操作—仅IMR→CPUA0=0写操作—CPU→ICW1、OCW2、OCW3

注:解决1址3写问题,用位识别写入法

A0=1写操作—CPU→ICW2、ICW3、ICW4、OCW1

注:解决1址4写问题,用同址顺序写入法8259A端口地址(三)ICW1、ICW2

为必写初始化命令字

ICW3、ICW4

为选写初始化命令字

ICW2、ICW3、ICW4

采用同址顺序写入法注:ICW1的地址不同8259A初始化命令字(一)ICW1—芯片控制初始化命令字D7D6D5D4D3D2D1D0XXX1LTIMXSNGLIC4A00同址识别位1=电平触发0=变沿触发1=单片0=级联1=需要设置ICW40=不需要设置ICW48259A初始化命令字(二)ICW2—中断类型号初始化命令字D7D6D5D4D3D2D1D0A15A14A13A12A11A10A9A8A01

D2~D0—IR0~IR7的编码

注:中断类型号的低3位

D7~D3—中断类型号的高5位

注:中断类型号的高5位由用户编程定义,

中断类型号的低3位自动产生,保证IR0~IR7连续

8259A初始化命令字(三)ICW3—主/从8259A初始化命令字A01D7D6D5D4D3D2D1D0S7S6S5S4S3S2S1S0

若D0~D7为1,则IR0~IR7对应端接有从8259芯片若D0~D7为0,则IR0~IR7对应端未接从8259芯片

主8259中ICW3的位定义8259A初始化命令字(四)A01D7D6D5D4D3D2D1D000000ID2ID1ID0

从8259中ICW3的位定义D2~D0从8259的INT端接主8259的IRn端的编码,D7~D3未用例如:010表示从8259A连到主8259A的IRQ2。8259A初始化命令字(五)ICW4—方式控制初始化命令字A01D7D6D5D4D3D2D1D0000SFNMBUFM/SAEOIPM识别码1=特殊的全嵌套方式0=非特殊的全嵌套方式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论