微机原理与接口技术第六章课件_第1页
微机原理与接口技术第六章课件_第2页
微机原理与接口技术第六章课件_第3页
微机原理与接口技术第六章课件_第4页
微机原理与接口技术第六章课件_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理与接口技术黄景涛Tel:mail: hjt.haustLab: 10-825河南科技大学电子信息工程学院1第6章 串并行通信和接口技术本章重点串并行通信接口通信规程和通信标准8251A和8255A的特点及应用8251A和8255A的编程 26.1 接口的功能及在系统中的连接 6.1.1接口的功能寻址能力:对送来的片选信号进行识别。输入/输出功能:根据读/写信号决定当前进行的是输入操作还是输出操作。数据转换功能:并行数据向串行数据的转换或串行数据向并行数据的转换。联络功能:就绪信号,忙信号等。中断管理:发出中断请求信号、接收中断响应信号、发送中断类型码的功能。并

2、具有优先级管理功能。复位:接收复位信号,从而使接口本身以及所连的外设进行重新启动。可编程:用软件来决定其工作方式,用软件来设置有关的控制信号。错误检测:一类是传输错误。另一类是覆盖错误。3典型的I/O接口和外部电路连接图 46.1.2 接口与系统的连接接口电路位于CPU与外设之间从结构上可以把一个接口分为两个部分: 面向CPU一侧的信号:用于与CPU连接主要是数据、地址和控制信号 面向外设一侧的信号:用于与外设连接提供的信号五花八门功能定义、时序及有效电平等差异较大56.2 串行接口和串行通信6.2.1 串行接口串行通信:用一根信号线将数据逐位顺序传送;在传输过程中,每一位数据占一个固定的时间

3、长度。串行通信的优势:通信线路少,在远距离通信时可以极大地降低成本;适合于远距离数据传送;也常用于速度要求不高的近距离数据传送6可编程串行接口的典型结构控制寄存器用来容纳CPU送给此接口的各种控制信息,决定接口的工作方式 状态寄存器的各位叫状态位每一个状态位都可以用来指示传输过程中的某一种错误或者当前传输状态数据输入寄存器总是和串行输入并行输出移位寄存器配对使用的。在输入过程中,数据一位一位从外部设备进入接口的移位寄存器,当接收完1个字符以后,数据就从移位寄存器送到数据输入寄存器,再等待CPU来取走 串行并行7可编程串行接口的典型结构一般有4个主要寄存器控制寄存器状态寄存器数据输入寄存器数据输

4、出寄存器CPU可以访问串行接口中的4个主要寄存器;控制寄存器和数据输出寄存器是只写的;状态寄存器和数据输入寄存器是只读的;可以用读信号和写信号来区分这两组寄存器,再用1位地址来区分2个只读寄存器或2个只写寄存器。 (图示)86.2.2 串行通信涉及的几个问题全双工站A站B站A站B站A站B半双工单 工1. 全双工方式和半双工方式2. 同步方式和异步方式串行异步通信按字符传送;不传送时钟信号串行同步通信按帧(多个字符)传送;传送时钟信号无论同步方式还是异步方式,都是串行传送图示9同步通信通信双方使用同一时钟以数据块(帧, 多个字符组成)为传输单位双方使用同一时钟(主控方提供时钟,被控方接收时钟)外

5、同步:时钟信号另外安排一根传输线自同步:发送时将时钟信号与数据混合编码,接收时译码出时钟信号数据格式:每个数据块前加12个同步字符(同步头)进行帧同步。同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂串行同步通信主要应用在网络当中,最常使用的同步通信协议有高级数据链路控制协议(HDLC)同步字符数据数据数据校验同步字符10同步通信的数据格式同步字符数据块同步字符1同步字符2CRC 1数据块CRC 2CRC 1CRC 2单同步格式双同步格式同步传输不允许有间隙11异步通信通信双方使用各自的时钟串行通信时的数据、控制和状态信息都使用同一根信号线传送收发双方必须遵守共同的通信协议(通信规程)

6、串行异步通信以字符为单位进行传输,每个字符的前后都要有分隔位。与同步方式不同,两个字符之间的传输间隔是任意的。数据格式:起止式异步通信协议12起止式异步通信协议起始位每个字符开始传送的标志,起始位采用逻辑0电平起始位附加位停止位空闲位数据位低位高位字符0/10/10/10/110111数据位数据位紧跟着起始位传送。由58个二进制位组成,低位先传送附加位该位可用于校验或数据标识:可选择奇检验、偶校验或无校验位停止位表示该字符传送结束。停止位为逻辑1电平,可选择1、1.5、2位。空闲位传送字符之间的逻辑1电平,表示没有进行传送13波特率和波特率因子发送时钟: 在用异步方式进行通信时,发送端需要用时

7、钟来决定每一位对应的时间长度接收时钟: 在用异步方式进行通信时,接收端也需要用一个时钟来测定每一位的时间长度发送时钟和接收时钟的频率可以是位传输率的16倍、32倍或者64倍,这个倍数称为波特率因子,而位传输率称为波特率。数据传输速率也称比特率(Bit Rate)每秒传输的二进制位数bps字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数当进行二进制数码传输,且每位时间长度相等时,比特率等于波特率过去,串行通信(异步)的数据传输速率限制在50 bps到9600 bps之间。现在,串行通信可以达到115200 bps或更高14接收时对起始位的检测(波特率因子为16)起始检测确定已检测到起

8、始位采样数据起 始 位时钟(RCLK)数据线(RxD)T16 T16 T8 T数据接收时钟频率是数据传输频率的16倍,正确识别起始位,防止因干扰引起的误识别15接收错误的处理奇偶错误PE(Parity Error)若接收到的字符的“1”的个数不符合奇偶校验要求帧错误FE(Frame Error)若接收到的字符格式不符合规定(如缺少停止位)覆盖错误OE(Overwrite Error)若接收移位寄存器接收到一个数据,并送至输入缓冲器时,CPU还未取走前一个数据,就会出现数据覆盖若接收缓冲器的级数多,则覆盖错误发生的几率就小16通用异步收发器UART 通用异步收发器UART具备如下功能:将并行数据

9、变为串行数据;按格式把数据发送出去;能够接收串行格式的数据,再把它变成并行数据;能够检测奇偶错误、覆盖错误和信息帧格式错误;176.3 可编程串行通信接口8251A6.3.1 8251A的基本性能两种工作方式(通过编程设置):同步方式同步方式,波特率为064K,58位数据,自动检测同步字符异步方式。异步方式,波特率为019.2K,58位数据,1位奇偶校验,自动添加一个启动位及1、1.5或2个停止位全双工的工作方式其内部提供具有双缓冲器的发送器和接收器。提供出错检测具有奇偶、覆盖和帧错误三种校验电路。(UART)188251A的基本性能同步方式下的格式每个字符可以用5、6、7或8位来表示;并且内

10、部能自动检测同步字符,从而实现同步。除此之外,8251A也允许同步方式下增加奇/偶校验位进行校验。异步方式下的格式每个字符也可以用5、6、7或8位来表示;时钟频率为传输波特率的1、16或64倍;用1位作为奇/偶校验。1个启动位。并能根据编程为每个数据增加1个、15个或2个停止位。可以检查假启动位,自动检测和处理终止字符。返回196.3.2 8251A的基本工作原理8251A的编程结构 数据输入缓冲寄存器和数据输出缓冲寄存器使用同一个端口地址,实际上为两个端口,一个为输入端口,一个为输出端口,所以,不会混淆起来 接收移位寄存器将到达RxD端的串行数据接收之后进行移位,变为8位并行数据,传送到数据

11、输入缓冲寄存器,然后通过数据总线传送到CPU 输出数据过程中,CPU通过数据总线将数据送到8251A数据输出缓冲寄存器,再传输到发送移位寄存器。移位寄存器用移位的办法将并行数据变为串行数据,然后,从TxD端送出 控制寄存器用来控制8251A的工作,它的内容是由程序设置的 状态寄存器则在8251A的工作过程中为执行程序提供一定的状态信息 模式寄存器的内容决定了8251A到底工作在同步模式还是工作在异步模式,还决定了所接收和发送的字符的格式 208251A的功能结构218251A的发送和接收(异步)并行数据检测接收错误删除起始位、校验位、停止位串行数据CPU接收缓冲寄存器接收移位寄存器接收控制电路

12、8251RxD0/10/10/10/1双缓冲寄存器结构,保证数据的连续接收串行数据的异步接收22接收时对起始位的检测起始检测确定已检测到起始位采样数据起 始 位时钟(RCLK)数据线(RxD)T16 T16 T8 T数据接收时钟频率是数据传输频率的16倍,正确识别起始位,防止因干扰引起的误识别23CPU发送缓冲寄存器发送移位寄存器发送控制电路8251TxD0/10/10/10/1串行数据的异步发送并行数据加入起始位、校验位、停止位串行数据双缓冲寄存器结构,保证数据的连续发送 当程序置允许发送位TxEN为1,并且由外设发来的对CPU请求发送信号的响应信号-CTS (clear to send)有

13、效后,便开始发送过程 24异步方式下的数据传输格式25同步接收方式和同步发送方式 266.3.3 8251A的对外信号8251A和CPU之间的连接信号27连接信号片选信号 CS低电平有效它由CPU的地址信号通过译码后得到。数据信号D0-D7三态,双向数据线与系统的数据总线相连。传输CPU对8251A的编程命令字和8251A送往CPU的状态信息及数据。28连接信号读/写控制信号RD:读信号,低电平时有效CPU当前正在从8251A读取数据或者状态信息。WR:写信号,低电平时有效CPU当前正在往8251A写入数据或者控制信息。 C/D :控制/数据信号用来区分当前读/写的是数据还是控制信息或状态信息

14、。该信号也可看作是8251A数据口/控制口的选择信号。29连接信号收发联络信号 TxRDY:发送器准备好信号,用来通知CPU,8251A已准备好发送一个字符。TxE:发送器空信号,TxE为高电平时有效,用来表示此时8251A发送器中并行到串行转换器空,说明一个发送动作已完成。30连接信号RxRDY:接收器准备好信号用来表示当前8251A已经从外部设备接收到一个字符,等待CPU来取走。在中断方式时,RXRDY可用来作为中断请求信号;在查询方式时,RXRDY可用来作为查询信号。SYNDET:同步检测信号只用于同步方式3128251A与外部设备之间的连接信号分为两类:收发联络信号 DTR :数据终端

15、准备好信号通知外部设备,CPU当前已经准备就绪。 DSR:数据设备准备好信号表示当前外设已经准备好。 3228251A与外部设备之间的连接信号RTS:请求发送信号表示CPU已经准备好发送。CTS :允许发送信号是对RTS的响应信号由外设送往8251A。3328251A与外部设备之间的连接信号数据信号 TxD:发送器数据输出信号。当CPU送往8251A的并行数据被转变为串行数据后,通过TxD送往外设。 RxD:接收器数据输入信号。用来接收外设送来的串行数据,数据进入8251A后被转变为并行方式343. 时钟、电源和地 CLK:时钟输入用来产生8251A器件的内部时序。同步方式下,大于接收数据或发

16、送数据的波特率的30倍异步方式下,则要大于数据波特率的4.5倍。353. 时钟、电源和地TxC:发送器时钟输入;用来控制发送字符的速度。同步方式下,TxC的频率等于字符传输的波特率;异步方式下,TxC的频率可以为字符传输波特率的1倍、16倍或者64倍。363. 时钟、电源和地 RxC:接收器时钟输入;用来控制接收字符的速度,和TxC一样。实际使用时,RxC和TxC往往连在一起,由同一个外部时钟来提供。 VCC:电源输入 GND:地376.3.3 8251A的编程关于8位接口芯片和16位数据总线的连接问题8086CPU有一个必须遵守的约定,即低8位数据线总是与偶地址存储单元或端口关联,而高8位数

17、据线总是与奇地址存储单元或端口关联;为满足这一要求,连接时在硬件上将总线的A1与8251A的A0引脚相连接;在软件设计时用连续的偶地址代替端口的奇偶地址;解决8位接口芯片与16位数据总线的连接3828251A的初始化三个约定(偶地址端口是数据端口):芯片复位以后,第一次用奇地址端口写入的值作为模式字进入模式寄存器。(2) 如果模式字中规定了8251A工作在同步模式,CPU接着往奇地址端口输出的1个或2个字节就是同步字符,同步字符被写入同步字符寄存器。如果有2个同步字符,则会按先后分别写入第1个同步字符寄存器和第2个同步字符寄存器。(3) 之后,由CPU用奇地址端口写入的值将作为控制字送到控制寄

18、存器,而用偶地址端口写入的值将作为数据送到数据输出缓冲寄存器。39初始化流程图 OUT PORTo, ALOUT PORTo, ALOUT PORTo, ALOUT PORTo, ALOUT PORTe, AL403模式寄存器的格式也同时规定了TxC和RxC的频率频率=波特率*波特率因子414控制寄存器的格式425状态寄存器的格式该状态位与TxRDY引脚不同,TxRDY引脚为1的条件是:数据缓冲器空CTSTxEN=1436.3.5 8251A应用举例 1异步模式下的初始化程序举例 设8251A工作在异步模式,波特率系数(因子)为16,7个数据位/字符,偶校验,2个停止位,发送、接收允许,设端口

19、地址为0042H。完成初始化程序。 分析:根据题目要求,可以确定模式字为:11111010B,即FAH而控制字为:00110111B 即37H对于CPU来说是偶地址,对于接口是奇地址44波特率因子为16,7个数据位/字符, 偶校验,2个停止位,发送、接收允许模式字45发送、接收允许控制字461异步模式下的初始化程序举例初始化程序如下:MOV AL, 0FAH ;送模式字OUT 42H, AL ;异步方式,7位/字符,偶校验,2个停止位 MOV AL, 37H;设置控制字,使发送、接收允许,清出错标志,使 和 有效OUT 42H, AL;472同步模式下初始化程序举例 设端口地址为42H,采用内

20、同步方式,2个同步字符(设同步字符为16H),偶校验,7位数据位/字符 根据要求:确定模式字为:00111000B 即38H控制字为:10010111B 即97H;使8251A对同步字符进行检索;同时使状态寄存器中的3个出错标志复位;使8251A的发送器启动,接收器也启动;还通知8251A,CPU当前已经准备好进行数据传输。48采用内同步方式,2个同步字符(同步字符为16H),偶校验,7位数据位/字符模式字49 对同步字符进行检索;使3个出错标志复位;使8251A的发送器启动,接收器也启动;数据终端准备好。控制字502同步模式下初始化程序举例具体程序段如下: MOV AL,38H ;设置模式字

21、,同步模式,用2个同步字符OUT 42H,AL ; 7个数据位,偶校验MOV AL,16H OUT 42H,AL ;送同步字符16HOUT 42H,AL MOV AL, 97H ;设置控制字,使发送器和接收器启动OUT 42H,AL513利用状态字进行编程的举例 先对8251A进行初始化,然后对状态字进行测试,以便输入字符。本程序段用来输入80个字符。分析:8251A的控制和状态端口地址为42H数据输入和输出端口地址为40H字符输入后,放在BUFFER标号所指的内存缓冲区中。具体的程序段如下:52参考程序 MOV AL,0FAH OUT 42H,AL MOV AL,35H OUT 42H,AL

22、 MOV DI,0 MOV CX,80B:IN AL,42H TEST AL,02H JZ B IN AL,40H MOV DX,OFFSET BUFFER MOV DX+DI,AL INC DI IN AL,42H TEST AL,38H JNZ E LOOP B JMP EXITE: CALL ERR-OUT EXIT:536.4 并行通信和并行接口并行传输以计算机的字长为传输单位(通常是8位、16位或32位),一次可传送1个字长的数据并行传输是微机系统中最基本的信息交换方法例如:系统板上各部件之间,接口电路板上各部件之间适合于外部设备与微机之间进行近距离、大量和快速的信息交换例如:微机与

23、并行接口打印机、磁盘驱动器54典型的并行接口和外设连接的示意图 *输入准备好*55 6.5 可编程并行通信接口8255A8255A是一个通用的可编程的并行接口芯片;它有三个并行I/O口;可通过编程设置多种工作方式;价格低廉,使用方便,可以直接与Intel系列的芯片连接使用;在中小系统中有着广泛的应用566.5.1 8255A的内部结构数据总线缓冲器内部控制线内部数据线D0D7A组控制A组端口C上部B组控制B组端口BB组端口C下部读写控制逻辑PC0PC3CL口PB0PB7B口PC4PC7CH口PA0PA7A口-RD-WRA0A1-CSRESETA组端口A A组控制电路用来控制A口及C口的高4位

24、B组控制电路用来控制B口及C口的低4位 读/写控制逻辑电路负责管理8255A的数据传输过程。8位的双向三态缓冲器三个数据端口A,B,C这三个端口均可看作是I/O口,但它们的结构和功能也稍有不同。A口:是一个独立的8位I/O口,它的内部有对数据输入/输出的锁存功能。B口:也是一个独立的8位I/O口,仅对输出数据有锁存功能。C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口。也是仅对输出数据进行锁存。576.5.1 8255A的内部结构三个数据端口A,B,C 这三个端口均可看作是I/O口,但它们的结构和功能也稍有不同。A口:是一个独立的8位I/O口,它的内部有对数据输入/输

25、出的锁存功能。B口:也是一个独立的8位I/O口,仅对输出数据的锁存功能。C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口。也是仅对输出数据进行锁存。586.5.1 8255A的内部结构A组和B组的控制电路 A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。读/写控制逻辑读/写控制逻辑电路负责管理8255A的数据传输过程。 数据总线缓冲器8位的双向的三态缓冲器596.5.2 8255A芯片引脚信号A组数据信号:PA0-PA7,8位端口,支持工作方式0、1、2B组数据信号:PB0-PB7,8位端口,支持工作方式0、1C组数据信号:PC0-PC

26、7,拆分为两个4位端口,仅支持工作方式01. 连接外设的数据端口602. 与CPU连接的信号D0-D7:8位,双向,三态数据线RESET:复位信号,用来清除8255的内部寄存器,并置A口,B口,C口均为输入方式;-CS: 片选;-RD:读信号;-WR: 写信号A1,A0:内部口地址的选择,这两个引脚上的信号组合决定对8255A内部的哪一个口或寄存器进行操作。61与CPU一边连接的信号-CS A1 A0读操作-RD写操作-WR0 0 00 0 10 1 00 1 1读端口A读端口B读端口C非法写端口A写端口B写端口C写方式字和位控字其余无效626.5.3 8255A的控制字控制字分为两类:方式控

27、制字C口的置位/复位控制字对8255A的编程涉及到两个内容:写控制字设置工作方式等信息,使C口的指定位置位/复位的功能。注:均写入控制端口63方式选择控制字64方式选择控制字可编程并行接口8255A有三种基本的工作方式)方式0基本输入输出方式;三个端口的每一个都可由程序选定作为输入或输出)方式1选通输入/输出方式;端口A或端口B仍作为数据的输入/输出口;同时规定端口C的某些位作为控制或状态信息。 3)方式2双向传送方式方式2只用于端口A;既能发送数据也能接收数据(双向总线I/O)。工作时可用程序查询方式,也可以工作在中断方式65方式选择控制字举例 设一个微型机系统中有2个8255A芯片J1和J

28、22个8255A的A1、A0端分别和系统地址总线的A2、A1端相连,RESET、-RD、-WR以及数据端也都分别连在一起,然后与系统的有关信号端相连系统仅靠-CS端来区分当前是对J1还是J2进行访问。66方式选择控制字例地址分配分析 例如:J1控制口地址: A5 A4 A3 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 67方式选择控制字例地址分配分析J1A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 0 0 0 0 0 E0 A口 1 1 1 0 0 0 1 0 E2 B口 1 1 1 0 0 1 0 0 E4 C口 1 1 1 0 0 1 1 0 E6

29、 控制68方式选择控制字例地址分配分析J2A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 0 1 0 0 0 E8 A口 1 1 1 0 1 0 1 0 EA B口 1 1 1 0 1 1 0 0 EC C口 1 1 1 0 1 1 1 0 EE 控制69方式选择控制字例J1的各个端口处于如下工作方式:端口A方式0,输出;端口B方式0,输入;端口C的高4位 输出;端口C的低4位 输入。 70方式选择控制字例J2的各个端口处于如下工作方式:端口A方式0,输入;端口B方式1,输出;端口C的高4位 输出;端口C的低4位配合端口B工作(已由方式1决定),可任意为1或0,此处设为0。71方式

30、选择控制字例MOV AL,83HMOV DX,00E6HOUT DX,ALMOV AL,94HMOV DX,00EEHOUT DX,AL722 C口的置位/复位功能置位/复位的控制字格式 73端口C置1置0控制字几点说明C端口置1置0控制字尽管是对端口C进行操作,但此控制字必须写入控制口,而不是写入C端口。置1置0控制字的D0位决定了是置1操作还是置0操作。如为1,则对端口C中某一位置1,如为0,则置0置1置0控制字的D3、D2、D1位决定了对C端口中的哪一位进行操作。置1置0控制字的D4、D5、D6位可为1,也可为0,它们不影响置1置0操作。D7位必须为0,它是对C端口置1置0控制字的标识符

31、74 6.5.4 8255A的工作方式方式0基本输入输出方式特点输出是锁存的,输入是不锁存的;任何一个端口可作为输入口,也可以作为输出口各个端口的输入、输出可以有16种不同的组合 适用场合同步方式无条件输入输出方式; 查询方式把A、B口作为8位数据的输入或输出口,C口的高/低4位分别定义为A、B口的控制位和状态位。75方式0的输入时序76方式0的输出时序77方式1选通输入/输出方式方式1的工作特点端口A和端口B可分别作为两个数据口工作在方式1,并且,任何一个端口可作为输入口或者输出口。如果8255A的端口A和端口B中只有一个端口工作于方式1,那么,端口C中就有3位被规定为配合方式1工作的信号,

32、此时,另一个端口可以工作在方式0,端口C中的其他数位也可以工作在方式0,即作为输入或者输出。如果8255A的端口A和端口B都工作在方式1,那么,端口C中就有6位被规定为配合方式1工作的信号,剩下的2位仍可作为输入或输出。方式1的应用: 主要用于中断控制方式下的输入输出。78方式1输入信号的规定和输入时序PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器输入缓冲器满信号表示A口已经接收数据数据选通信号表示外设已经准备好数据中断请求信号请求CPU接收数据外设数据征用C口3引脚和1个控制位端口A工作在方式1输入引脚INTE没有外部引出端,它是由软件通过对C端口的PC4置

33、1或置0来实现对中断的控制的。PC4置1,A端口处于中断允许状态;置0,A端口处于中断屏蔽状态。 79端口B工作在方式1输入引脚PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB中断允许触发器输入缓冲器满信号表示B口已经接收数据数据选通信号表示外设已经准备好数据中断请求信号请求CPU接收数据外设数据征用C口3引脚和1个控制位INTE没有外部引出端,它是由软件通过对C端口的PC2置1或置0来实现对中断的控制的。PC2置1,B端口处于中断允许状态;置0,B端口处于中断屏蔽状态。80方式1 输入联络信号STB选通信号,低电平有效由外设提供的输入信号,当其有效时,将输入设备送来的数据锁

34、存至8255A的输入锁存器IBF输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器一般供CPU查询用IBF由STB信号置位,由RD信号后沿(上升沿)使其复位INTR中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据;INTR置位的条件是STB为高且IBF为高且INTE为高。在CPU响应中断读取数据时,由RD信号的下降沿将其复位(降为低电平)INTE中断允许。对A口来讲,是由PC4置位来实现,对B口来讲,则是由PC2置位来实现。事先将其置位。81方式1输入时序 tST500ns82方式1中断控制8255A的中

35、断由中断允许触发器INTE控制置位允许中断,复位禁止中断对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号的哪一位,只要对那一位置位/复位就可以控制INTE触发器选通输入方式下端口A的INTEA对应PC4端口B的INTEB对应PC283方式1输出信号的规定和输出时序PC6PC7PC3PA7PA0INTEA-OBFAINTRA-ACKA输出缓冲器满信号表示CPU已经输出了数据外设响应信号表示外设已经接收到数据中断请求信号请求CPU再次输出数据征用C口3引脚和1个控制位中断允许触发器通过位控PC6 设置INTEA输出数据端口A方式1输出引脚84端口B

36、方式1输出引脚PC2PC1PC0PB7PB0INTEB-OBFBINTRB-ACKB输出缓冲器满信号表示CPU已经输出了数据外设响应信号表示外设已经接收到数据中断请求信号请求CPU再次输出数据征用C口3引脚和1个控制位中断允许触发器通过位控PC2设置INTEB输出数据85方式1输出联络信号OBF输出缓冲器满信号,低电平有效8255A输出给外设的一个控制信号,当其有效时,表示CPU已将输出数据锁存在8255A指定的端口,外设可以来取由写信号的上升沿置为有效电平,由ACK信号使其恢复为无效电平ACK响应信号,低电平有效外设提供的响应信号,通知8255A其端口数据已被外设接收INTR中断请求信号,高

37、有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据ACK变为高电平,且OBF也为高电平时INTR有效,当写信号下降沿来到时将其复位INTE中断允许。对A口来讲,由PC6的置位来实现,对B口仍是由PC2的置位来实现。 86方式1 输出时序87方式2 双向选通方式方式2将方式1的选通输入与选通输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在-OBF有效时向外设输

38、出数据,而是在外设提供响应信号-ACK有效时才送出数据88方式2 双向选通引脚PC6PC7PC3PA7PA0INTE1-OBFAINTRA-ACKAPC4PC5IBFA-STBAINTE2数据输入中断和输出中断通过或门输出INTRA信号征用C口5引脚和2个控制位中断允许触发器(控制中断输出)通过位控PC6设置INTE1中断允许触发器(控制中断输出)通过位控PC4设置INTE2输入联络输出联络89方式2 双向选通时序90方式2双向选通方式方式2和其他方式的组合方式2和方式0输入的组合: 控制字: 11XXX01T方式2和方式0输出的组合:控制字: 11XXX00T方式2和方式1输入的组合:控制字

39、: 11XXX11X方式2和方式1输出的组合: 控制字: 11XXX10X其中X表示与其取值无关,而T表示视情况可取1或0。916.5.5 8255的应用举例622130字符8255A工作于方式0 的例子928255的应用举例8255A的4个口地址分别为:00D0H,00D2H,00D4H,00D6HA、B、C三个端口工作于方式0A端口为输出,PC7PC4为输出,PC3PC0为输入938255的应用举例DADA SEGMENT BUFF DB This is a print program!,$DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART

40、:MOV AX, DATA MOV DS, AX MOV SI,OFFSET BUFF MOV AL, 81H OUT 0D6H, AL MOV AL, 0DH OUT 0D6H,AL 948255的应用举例WAIT: IN AL, 0D4H TEST AL, 04H JNZ WAIT MOV AL,SI CMP AL,$ JZ DONE OUT 0D0H,AL MOV AL,0CH OUT 0D6H, AL INC AL OUT 0D6H,AL INC SI JMP WAITDONE:MOV AL,0DH OUT 0D0H,AL MOV AL, 0CH OUT 0D6H,AL INC AL

41、OUT 0D6H,ALWAIT1: IN AL, 0D4H TEST AL, 04H JNZ WAIT1 958255的应用举例 MOV AL,0AH OUT 0D0H,AL MOV AL, 0CH OUT 0D6H,AL INC AL OUT 0D6H,AL MOV AH,4CH INT 21H CODE ENDSEND START96习题与思考:1接口电路的主要作用是什么?它的基本结构如何?2说明接口电路中控制寄存器与状态寄存器的功能,通常 它们可共用一个端口地址码, 为什么?3CPU寻址外设端口的方式有哪两种?说明它们的优缺点。4在CPU与外部设备接口电路的连接中,通过数据总线可传输哪几种信息?在这里地址译码器起什么作用?5串行通信和并行通信有什么异同?各自的优缺点是什么?97习题与思考:6试分析8255A方式0、方式1和方式2的主要区别,并分别说明它们 适合于什么应用场合。7当8255A的A口工作

温馨提示

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

评论

0/150

提交评论