第9章可编程并行接口芯片与串行通信技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第9章可编程并行接口芯片与串行通信技术教学内容9.1可编程并行接口芯片8255A9.1.18255的结构9.1.2方式选择9.1.3各方式的功能9.1.4端口C的状态字9.1.58255应用举例9.2串行通信9.2.1串行通信的数据传送方向9.2.2串行通信的异步与同步通信方式9.2.3波特率及收发端的同步9.2.4常用串行接口介绍教学目标1掌握接口芯片8255A功能特点,理解其使用方法。2理解串行通信的工作原理和特点。重点内容18255A的结构。28255A的方式选择字。38255A各方式的功能。4串行通信的工作原理和特点。难点内容18255A各方式的功能。2串行通信的工作原理和特点。学时数6学时9.1可编程并行接口芯片8255A并行接口的一般特点:1)通过多根信号线同时传送多位数据。2)并行接口多用于传送距离短,数据量大,速度高的实时传输场合。3)传送时一般不需要特定的数据传送格式。9.1.18255A的结构1.数据端口在8255A内部包含了三个8位输入/输出数据端口:端口A、端口B、端口C。三个端口在功能上有不同的特点:端口A:一个8位的数据输入锁存器,一个8位的数据输出锁存器/缓冲器,即端口A输入/输出时都可以锁存数据。端口B:一个8位的数据输入缓冲器,一个8位的数据输出锁存器/缓冲器,即端口B输入不能锁存,而输出可以锁存。端口C:比较特殊,一个8位的数据输入缓冲器,但没有锁存器,一个8位的数据输出锁存/缓冲器。2.端口控制逻辑端口控制逻辑分为A组和B组,各组管理的端口如下:A组:管理端口A及端口C的上半部(PC7~PC4)B组:管理端口B及端口C的下半部(PC3~PC0)3.数据总线缓冲器一个双向三态的8位缓冲器。4.读/写控制逻辑读/写控制逻辑包括:1)读信号:低电平有效。2)写信号:低电平有效。3)片选信号:低电平有效。4)复位信号RESET:高电平有效。将所有端口置为输入方式。5)端口选择信号A1、A0:通过A1、A0的组合来选择端口。RDWRCS9.1.2方式选择在8255A的初始化工作中,CPU输出的编程命令有两类:一类称为方式选择控制字,用于定义各端口的工作方式;另一类称为置位/复位控制字,用于对端口C任意一位的置位或复位操作。两类控制字用同一个端口地址,在初始化编程时这两类命令写入同一端口,为了能区分这两类命令,采用了标志位的方法,用控制字的D7来区分。1.方式选择控制字8255A有三种基本的工作方式:方式0:基本输入/输出方式方式1:选通输入/输出方式方式2:双向总线I/O方式A口可使用全部三种工作方式,B口可使用方式0和方式1,C口一般被分作两个4位口,还可以作为A口和B口的联络线。例如:现指定端口A以方式0输出;指定端口B以方式1输入;端口C高4位为输入,低4位为输出。根据方式控制字的定义格式可写出相应的方式选择控制字为:10001110B或8EH,8255A初始化程序段如下:(若控制口的分配地址为303H)MOVDX,303HMOVAL,10001110B(或MOVAL,08EH)OUTDX,AL2.置位/复位控制字通过向往8255A写入置位/复位控制字,可以置位或复位端口C中的任意一位,即使其为高电平或低电平。例如,设8255A端口地址为60H~63H,现要求先置PC4为低电平,再复位PC4,则相应的程序段如下:MOVAL,00001001BOUT63H,ALMOVAL,00001000BOUT63H,AL9.1.3各方式的功能1.方式0的功能主要功能如下:(1)两个独立的8位端口(端口A和B)和两个4位端口(端口C)。在实际应用时,根据需要也可以将C口的上下两端口合起来使用,构成一个8位的端口。(2)规定了输出信号可以被锁存,而输入信号不能锁存。(3)各个端口既可以作为输入使用,也可以作为输出使用,两个8位端口和两个4位端口可以组成16种情况。2.方式1的功能(1)主要功能1)端口A和端口B都可作为数据输入/输出端口,但必须通过端口C相应位的控制来实现。2)当端口A和端口B中的一个端口被确定为工作方式1时,与此对应的端口C中就有3位被固定了,端口C中的这3位专门用来控制端口A或端口B。3)若端口A和端口B都工作于方式1,则端口C中有6位固定,剩余2位可工作于其它方式,用作其它用途。(2)方式1的输入1)输入组态(2)联络信号1)(Strobe):选通信号,低电平有效。外设通知8255A有数据输入。对于A口,使用PC4的引脚;对于B口,使用PC2的引脚。2)IBF(InputBufferFull):输入缓冲器满信号,高电平有效。8255通知外设不能再输入数据,对于A口,使用PC5的引脚;对于B口,使用PC1的引脚。3)INTE(InterruptEnable):中断允许信号,高电平有效。对于A口,使用PC4的锁存位;对于B口,使用PC2的锁存位。可用置位/复位控制字操作。4)INTR(InterruptRequest):中断请求信号,高电平有效。可用于向CPU请求中断。对于A口,使用PC3的引脚;对于B口,使用PC0的引脚。STB工作过程分析:1)当外设将数据送到A口或B口的数据线上后,向8255发出负脉冲,使选通信号为低,8255将输入数据送到输入缓冲器并锁存。2)选通信号有效后,经过tSIB时间,IBF信号有效,此信号送到外设,禁止外设再向8255发送数据。3)选通信号结束后,经过tSIT时间,若此时和INTE都为高时,INTR有效,向CPU发出中断请求。CPU响应中断后,信号有效,CPU读入数据。4)信号有效后,经过tRIT时间,清除INTR中断请求信号。5)当信号结束后,数据已CPU,再经过tRIB时间,IBF变低,结束一次数据输入。以上是使用中断输入的操作时序,如果设置INTE为“0”,则不使用中断,这时可使用查询方式,操作见后。STBSTBRDRDRD(3)方式1的输出1)输出组态①(OutputBufferFull):输出缓冲器满信号,低电平有效。8255通知外设在端口上已有数据。对于A口,使用PC7的引脚;对于B口,使用PC1的引脚。②(Acknowledge):外设响应信号,低电平有效。外设通知8255,端口上的数据已取走。对于A口,使用PC6的引脚;对于B口,使用PC2的引脚。③INTE(InterruptEnable):中断允许信号,高电平有效。对于A口,使用PC6的锁存位;对于B口,使用PC2的锁存位。可用置位/复位控制字操作。④INTR(InterruptRequest):中断请求信号,高电平有效。可用于向CPU请求中断。对于A口,使用PC5的引脚;对于B口,使用PC1的引脚。OBFACK工作过程分析:1)当8255输出缓冲器空,向CPU发出中断请求,CPU响应中断,向8255输出数据,产生信号。2)信号经过tWIT时间后清除中断请求信号INTR。3)的上升沿使有效,通知外设可以接收数据。4)外设接收数据后,发出信号,再经过tAOB时间,使无效,表明输出缓冲器已空。5)无效后,经过tAIT时间,INTR有效,向CPU发出中断请求,CPU响应中断再送新的数据。以上是使用中断输出的操作时序,如果设置INTE为“0”,则不使用中断,这时可使用查询方式,操作见后。WRWRWROBFACKOBFACK3.方式2的功能方式2是一种双向总线方式,在这种方式下,8位数据线上既可以发送数据,也可以接收数据。只有端口A可以工作在方式2,在这种方式下,需要C口的5位信号作为联络线。在方式2下,数据的输入和输出都具有锁存功能。(1)方式2的组态(2)联络信号1):输出缓冲器满信号,低电平有效。8255通知外设在端口上已有数据,使用PC7的引脚。2):外设响应信号,低电平有效。外设通知8255,端口上的数据已取走,使用PC6的引脚。3):选通信号,低电平有效。外设通知8255A有数据输入。使用PC4的引脚。4)IBF:输入缓冲器满信号,高电平有效。8255通知外设不能再输入数据,使用PC5的引脚。5)INTR:中断请求信号,高电平有效。可用于向CPU请求中断。使用PC3的引脚。6)INTE1、INTE2:INTE1为输出中断允许信号,使用PC6的锁存位;INTE2输入中断允许信号,使用PC4的锁存位。高电平有效,可用置位/复位控制字操作。OBFACKSTB工作过程分析:方式2可以看成方式1的输入和输出的组合。方式2的输入时序与方式1的输入时序完全相同。方式2的输出时序与方式1的输出时序的不同之处:在方式1下,CPU把数据写入到8255后,8255立即将数据送上A口。而在方式2下,须待信号有效后,8255才将数据送上A口。这样处理是为了避免发生外总线冲突,此时端口A与外设的连线因输入/输出均使用,已成为数据总线。ACK9.1.4端口C的状态字8255工作在方式1和方式2时,C口各位作为联络线使用,CPU除了可以使用中断方式对8255进行服务,还可以通过读取C口的状态字来了解外设的状态。即使用查询方式进行数据传送。端口C的状态字有以下几种格式:1、方式1状态字输入状态字:D7D6D5D4D3D2D1D0I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB输出状态字:D7D6D5D4D3D2D1D0INTEAI/OI/OINTRAINTEBINTRBAOBFAOBF这些状态字中,有的是提供当前端口状态,有的是设置端口工作模式。例如:允许端口A中断请求,禁止端口B中断请求(输入方式),则其程序段为:(设C口地址为303H)MOVDX,303HMOVAL,00010000BOUTDX,AL2、方式2状态字D7D6D5D4D3D2D1D0INTE1IBFAINTE2INTRAXXXAOBF9.1.58255A应用举例1.基本输入/输出应用举例图9-14是8086微机系统扩展一片8255A作为并行口的电路图,同时还配以74LS138译码器等芯片,如图9-14所示。端口A为方式1输入,以中断方式与CPU交换数据,中断类型号为0FH;端口B工作于方式0输出,端口C的普通I/O作为输入。根据图中的接线,所使用的译码输出地址为0B0H~0BFH。8255使用数据线D0~D7,使用地址为0B0H、0B2H、0B4H和0B6H。设端口A的中断服务子程序名为SERA。具体8255A的初始化程序如下:MOVAL,10111001B;方式控制字MOVDX,0B6HOUTDX,ALMOVAL,00001001B;开放A口输入中断请求OUTDX,ALMOVAX,0MOVES,AXMOVDI,0FH*4MOVAX,OFFSETSERACLDSTOSWMOVAX,SEGSERASTOSW9.2串行通信基本的数据通信方式有两种:并行通信和串行通信。并行通信是在多条并行的通信线上同时传送各位数据。并行通信的优点是传输速度快,但线路开销大,一般用于短距离传送。串行通信是将多位数据按时间先后顺序逐位传送。串行传送的优点是线路占用少,一般用于远距离数据传送。9.2.1串行通信的数据传送方向串行通信的数据传送方向可分为以下三种:(1)单工传送数据传送只有一个方向,通信的一方只能发送,另一方只能接收,如图9-10a。(2)半双工传送通信双方都可以发送和接收,但同一时刻只能有一个方向的数据传送,如图9-10b。(3)全双工传送通信的双方都可以任意发送和接收,即具有两条数据通信线。9.2.2串行通信的两种基本工作方式1.异步通信(AsynchronousCommunication)异步通信是计算机中最常用的一种数据传送方式,它是按帧(Fvame)传送的,每一帧的格式如图11-2所示。异步通信可分为带空闭位和无空闭位两种。异步通信的一帧数据由四中部分构成:起始位、数据位、奇偶校验位和停止位。(1)起始位每帧数据的最前面一位,“0”。必须有。(2)数据位传送的主体,可以设定为5~8位,低位在前高位在后。(3)奇偶校验位在数据位后,占用一位,与各数据位一起使用以满足奇个“1”(奇校验)或偶个“1”(偶校验),可以没有。(4

1 / 46
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功