《片机详细资料》PPT课件.ppt

上传人:牧羊曲112 文档编号:5586126 上传时间:2023-07-31 格式:PPT 页数:55 大小:776KB
返回 下载 相关 举报
《片机详细资料》PPT课件.ppt_第1页
第1页 / 共55页
《片机详细资料》PPT课件.ppt_第2页
第2页 / 共55页
《片机详细资料》PPT课件.ppt_第3页
第3页 / 共55页
《片机详细资料》PPT课件.ppt_第4页
第4页 / 共55页
《片机详细资料》PPT课件.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《《片机详细资料》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《片机详细资料》PPT课件.ppt(55页珍藏版)》请在三一办公上搜索。

1、第七章 可编程并行接口8255A,7.1并行接口的概述7.2 可编程并行接口8255A7.3 8255A的0方式及其应用7.4 8255A的1方式及其应用7.5 8255A的2方式及其应用,2,CPU与外设之间的信息传送都是通过接口电路来进行的。计算机与外部设备、计算机与计算机之间交换信息称之为计算机通信,计算机通信可分为两大类:并行通信:8位或16位或32位数据同时传输,速度快,信息 率高,成本高串行通信:一位一位数据传送(在一条线上顺序传送),成本低 实现并行通信的接口就是并行接口。,7.1并行接口的概述,一、串行与并行通信,3,并行接口最基本的特点是在多根据数据线上以数据字节(字)为单位

2、与I/O设备或被控对象传送信息。如:打印机接口,A/D、D/A转换器接口,IEEE-488接口,开关量接口,控制设备接口等。在并行接口中,除了少数据场合之外,一般都要求在接口与外设之间设置并行数据线的同时,至少还要设置两根握手(联线)信号线,以便进行互锁异步握手方式(即查询方式)的通信。在并行接口中,8位或16位是一起行动的,因此,当采用并行接口与外设交换数据时,即使是只用到其中的一位,也是一次输入/输出8位或16位。并行传送信息,不要求固定的格式,这与串行传送的数据格式的要求不同。,二、并行接口的特点,对于各种型号的CPU都有与其配套的并行接口芯片。如Intel公司8255A(PPI),Zi

3、log公司Z-80PIO,MC6820(PIO)等,它们的功能虽有差异,但工作原理基本相同。,7.2 可编程并行接口8255A,一、8255A的外部特性和内部结构,1.8255A的基本特性具有两个8位(A口和B口)和两个4位(C口高/低4位)并行I/O端口的接口芯片。能适应CPU与I/O接口之间的多种数据传送方式的要求。,PC口的使用比较特殊,除作数据口外,当工作在1方式和2方式时,它的大部分引脚被分配作专用联络信号;PC口可以进行按位控制;在CPU读取8255A状态时,PC口又作1,2方式的状态口用,等等。可执行功能很强,内容丰富的命令(方式字和控制字)为用户如何根据外界条件(I/O设备需要

4、哪些信号线以及它能提供哪些状态线)来使用8255A构成多种接口电路,组成微机应用系统提供了灵活方便的编程环境。8255芯片内部主要由控制寄存器、状态寄存器和数据寄器组成。,2.8255A的外部引线与内部结构 8255A是一个单+5V电源供电,40个引脚的双列直插式组件,其外部引线如图所示。(1)外部引脚与系统总线的连接信号面向数据总线的有:D0D7:双向数据线,用于CPU向8255A发送命令、数据和8255A向CPU回送状态、数据和8255A向CPU回送状态、数据。面向地址总线的有:,8255A引脚,RD:读信号,低电平有效。WR:写信号,低电平有效。RESET:复位信号,高电平有效。它清除控

5、制寄存器并将8255A的A、B、C三个端口均置为输入方式;输入寄存器和状态寄存器被复位,并且屏蔽中断请求;24条面向外设信号线呈现高阻悬浮状态。,与外部设备的连接信号 PA0PA7:端口A的输入/输出线。PB0PB7:端口B的输入/输出线。PC0PC7:端口C的输入/输出线。这24根信号线均可用来连接I/O设备和传送信息。其中,A口和B口只作输入/输出的数据口用,尽管有时也利用它们从I/O设备读取一些状态信号,如打印机的“忙”(Busy)状态信号、A/D转换器的“转换结束”(EOC)状态信号,但对A口和B口来说,都是作8255A的数据口读入,而不是作8255A的状态口读入的。,C口的作用与82

6、55A的工作方式有关,它除了作数据口以外,还有其他用途,故C口的使用比较特殊,单独介绍如下:a.作数据口。b.作状态口。c.作专用(固定)联络(握手)信号线。d.作按位控制用。(2)内部结构8255A的内部结构如图所示。它由以下4个部分组成。,数据总线缓冲器。这是一个三态双向8位缓冲器,它是8255A与CPU系统数据总线的接口。读/写控制逻辑。读/写控制逻辑由读信号RD、写信号WR、选片信号CS以及端口选择信号A1A0等组成。输入/输出端口A、B、C。8255A包括3个8位输入输出端口(port)。每个端口都有一个数据输入寄存器和一个数据输出寄存器。A组和B组控制电路。控制A、B和C三个端口的

7、工作方式。,表7.1 8255A基本操作与端口地址,二、8255A的编程命令1.方式命令作用:指定8255A的工作方式及其方式下3个并行端口(PA、PB、PC)的功能,是作输入还是作输出。格式:8位,其中最高位是特征位,一定要写1,其余各位定义如下,应根据用户的设计要求填写1或0。,例1:要把A口指定为1方式,输入,C口上半部为输出;B组指定为0方式,输出,C口下半部定为输入,则工作方式命令代码是:10110001B或B1H。若将此命令代码写到8255A的命令寄存器,即实现了对8255A工作方式及端口功能的指定,或者说完成了对8255A的初始化。初始化的程序段为:MOV DX,203H;825

8、5A命令口地址 MOV AL,0B1H;初始化命令 OUT DX,AL;送到命令口,2.按位置位/复位命令作用:指定PC口的某一位(某一个引脚)输出高平或低电平。格式:8位,其中最高位是特征位,一定要写0,其余各位的定义如下,应根据用户的设计要求填写1或0.,例2:若要把C口的PC2引脚置成高电平输出,则命令字应该为00000101B或05H。将该命令的代码写入8255A的命令寄存器,就会使得从PC口的PC2引脚输出高电平,其程序段为:MOV DX,203H;8255A命令口地址 MOV AL,05H;使PC2=1的命令字 OUT DX,AL;送到命令口 如果要使引脚PC2输出低电位,则程序段

9、为:MOV DX,203H;8255A命令口地址 MOV AL,04H;使PC2=0的命令字 OUT DX,AL;送到命令口,利用C口的按位控制特性还可以产生、负脉冲或方波输出,对外设进行控制。例3:利用8255A的PC7产生负脉冲,作打印机接口电路的数据选通信号,其程序段为:MOV DX,203H;8255A命令口 MOV AL,00001110B;置PC7=0 OUT DX,AL NOP;维持低电平 NOP MOV AL,00001111B;置PC7=1 OUT DX,AL,3.关于两个命令的讨论 方式命令是对8255A的3个端口的工作方式及功能进行指定,即进行初始化,初始工作要在使用82

10、55A之前做。按位置位/复位命令只是对PC口的输出进行控制,使用它产不破坏已经建立的3种工作方式,而是对它们实现动态控制的一种支持。它可放在初始化程序以后的任何地方。两个命令的最高位(D7)都分配作了特征位,之所以要设置特征位,是为了识别两个不同的命令。按位置位/复位的命令代码只能写入命令口。,4.A口和B口另一个使用方法 A口、B口也可以按位输出高低电平,但是,它与前面的按位置位/复位命令有本质的差别,并且实现的方法也不同,。C口按位输出是以送数据到A口、B口来实现的。其具体作法是:若要使某一位置高电平,则先对端口进行读操作,将读入的原输出值,“或”上一个字节,字节中使该位为1,其他位为0,

11、然后再送到同一端口,即可使该位为0,然后再送到同一端口,即可使该位置位。,例4:若要使PA7位输出高/低电平,则用下列程序段:使PA7输出高电平.MOV DX,200H;PA数据口地址 IN AL,DX;读入A口原输出内容 MOV AH,AL;保存原输出内容 OR AL,80H;使PA7=1 OUT DX,AL;输出PA7 MOV AL,AH;恢复原输出内容 OUT DX,AL,使PA7输出低电平MOV DX,200H;A口地址IN AL,DX;读入端口原输出值MOV AH,AL;保存原输出值AND AL,7FH;使PA7=0OUT DX,AL;输出PA7 MOV AL,AH;恢复原输出内容O

12、UT DX,AL,三、8255A的工作方式 8255A的工作方式与端口有关,PA口有三种方式(0方式、1方式、2方式),PB口和PC口只有两种方式(0方式、1方式)。,23,7.3 8255A的0方式及其应用,一、特点0方式是一种基本输入/输出工作方式。通常不用联络信号,或不使用固定的联络信号。基本I/O方式是指查询方式传送,也包括无条件传送。在0方式下,彼此独立的两个8位和两个4位并行口,都能被指定作为输入或者输出用,共有16种不同的使用状态。,在0方式下不设置专用联络信号线,需要联络时,可由用户任意指定C口中的哪 根线完成某种联络功能,这与后面要讨论的在1方式、2方式下设置固定的专用联络信

13、号线不同。是单向I/O,一次初始化只能指定端口(PA、PB和PC)作输入或输出,不能指定端口同时既作输入又作输出。二、并行打印机接口设计1.要求 为某应用系统配置一个并行打印机接口,并且通过接口CPU采用查询方式把存放在BUF缓冲区的256个字(ASCII码)送去打印。,2.分析 由于打印接口直接面向的对象是打印机接口标准,而不是打印机本身,因此打印机接口要按照接口标准的要求进行设计。有关打印机接口标准的信号线定义和工作时序如下。,过程:采用查询方式时,打印机与CPU之间传送数据的过程是:首先查询BUSY。若BUSY=1,打印机忙,则等待;若BUSY=0,打印机不忙,则送数据。通过并行接口把数

14、据送给标准插座DATA BIT1DATA BIT8 数据线上,此时数据并未送入打印机。再送出一个数据选通信号DATA STROBE-(负脉冲)给 标准插座的1号引脚,把数据线上的数据打入到打印机的内部缓冲器。打印机在收到数据后,通过插座的11号引肢发出“忙”(BUSY=1)信号,表明打印机正在处理输入的数据。最后在10号引脚上送出一个回答信号ACK-给主机,表示上一个字符已经处理完毕。,3.设计接口电路的设计包括硬件接口电路和软件驱动程序两部分。打印机接口电路。打印机接口电路原理框图如图所示。该电路的设计思路是:按照并行打印接口标准对打印机接口信号线的定义,最基本的信号线需要8根数据线(DAT

15、ABIT18),1根控制线(STB),1根状态线(BUSY)和1根地线。选用8255A的PA口作数据口输出8位打印数据,工作方式为0方式。接口驱动程序。其程序流程图如右图所示。驱动程序的程序段如下:,CODE SEGMENTASSUME CS:CODE,DS:CODEORG100HSTART:MOV AX,CODE MOV CS,AX MOV DS,AX MOV DX,203H;8255A命令口 MOV AL,10000001B;工作方式字 OUT DX,AL;(A口0方式,输出,C4C7 输出,C0C3输入),MOV AL,00001111B;PC7位置高,使STB-=1OUT DX,ALM

16、OV SI,OFFSET BUF;打印字符内存首地址MOV CX,OFFH;打印字符个数MOV DX,202H;PC口地址IN AL,DX;查BUSY=0?(PC2=0)AND AL,04H;00000100B JNZ L;忙,则等待;不忙,则向A口送数MOV DX,200H;PA口地址MOV AL,SI;从内存取数OUT DX,AL;送数据到A口MOV AL,203H;8255A命令口MOV AL,00001110B;置STB-信号为低(PC7=0),L:,OUT DX,ALNOP;负脉冲宽度(延时)NOPMOV AL,00001111B;置STB-为高(PC7=1)OUT DX,ALINC

17、 SI;内存地址加1DEC CX;字符数减1JNZ L;未完,继续MOV AX,4C00H;已完,退出INT 21H BUF DB 256个ASCII字符代码CODE ENDSEND START,7.4 8255A的1方式及其应用一、特点 1方式是一种选通输入/输出方式或叫应答方式,因此,需设置专用的联络信号线或应答信号线,以便对I/O设备和CPU两侧 进行联络。这种方式通常用于查询(条件)传送或中断传送。数据的输入输出都有锁存功能。PA和PB为数据口,而PC口的大部分引脚分配作专用(固定)的联络信号的C口引脚,用户不能再指定作其他作用。各联络信号线之间有固定的时序关系,传送数据时,要严格按照

18、时序进行。,输入/输出操作过程中,产生固定的状态字,这些状态信息可作为查询或中断请求之用。状态字从PC口读取。单向传送。一次初始化只能设置在一个方向上传送,不能同时作两个方向的传送。二、1方式下联络信号线的定义及其时序1方式下输入的联络信号线定义及时序(1)联络信号的定义 因为输入是从I/O设备向8255A送数据进来,所以I/O设备应先把数据准备好,并送到8255A,然后CPU再从8255A读取数据。这个传递过程中需要使用一些联络信号线。所以当A口和B口为输入时,各指定了C口的3根线作为8255A与外设及CPU之间应答信号,如图所示。STB:外设给8255A的“输入选通”信号,低电平有效。,1

19、方式输入时联络信号线定义,IBF:8255A给外设的回答信号“输入缓冲器满”,高电平有效。INTR:8255A给CPU的“中断请求”信号,高电平有效。,(2)1方式输入的工作时序 1方式的工作时序如图和表7.3所示。其信号交接过程如下:,数据输入时,外设处于主动地位,当外设准备好数据并放到数据线上后,首先发STB信号,由它把数据输入到8255A。在STB的下降沿约300ns,数据已锁存到8255A的缓冲器后,引起IBF变高,表示8255A的“输入缓冲器满”,禁止输入新数据。,表7.3 1方式输入工作时序表,在STB的上升沿约300ns后,在中断允许(INTE=1)的情况下IBF的高电平产生中断

20、请求,使INTR上升变高,通右CPU,接口中已有数据,请求CPU读取。CPU得知INTR信号有效之后,执行读操作时,RD信号的下降沿使INTR复位,撤消中断请求,为下一次中断请求作好准备。从上述分析,可知在1方式下,数据从I/O设备发出,通过8255A,送到CPU的整个过程有如下4步:,CPU,8255A,I/O设备,STB,INTR,IBF,RD,2.1方式下输出的联络信号线定义及时序(1)联络信号的定义,(2)1方式输出的工作时序1 方式输出的工作时序,如图所示。,1方式输出时工作时序,其信号交接的过程如下:数据输出时,CPU应先准备如数据,并把数据写到8255A输出数据寄存器。当CPU向

21、8255A写完一个数据后,WR的上升沿使OBF有效,表示8255A的输出缓冲器已满,通知外设读取数据。并且WR使中断请求INTR变低,封锁中断请求。外设得到OBF有效的通知后,开始读数。当外设读取数据后,用ACK回答8255A,表示数据已收到。ACK的下降沿将OBF置高,使OBF无效,表示输出缓冲器变空,为下一次输出作准备,在中断允许(INTE=1)的情况下ACK上升沿使INTR变高,产生中断请求。CPU响应中断后,在中断服务程序中,执行OUT指令,向8255A写下一个数据。,从上述分析,在1方式下,数据从CPU,通过8255A送到I/O设备有4步:,三、1方式的状态字状态字的作用 在1方式下

22、8255A有固定的状态字。状态字为查询方式提供了状态标志位,如IBF和OBF,同时,由于8255A不能直接中断矢量,因此当8255A采用中断方式时,CPU也要通过读状态字来确定中断源,实现查询中断。,2.状态字的格式状态字的格式如图所示。,状态字有8位,分A和B两组,A组状态位占高5位,B组状位占低3位,并且输入和输出时的状态字不相同。3.使用状态字时要注意的几个问题状态字是在8255A输入/输出操作过程中由内部产生,从C口读取的,因此从C口读出的状态字是独立于C口的外部引脚的,或者说与C口的外部引脚 无关。状态字中供CPU查询的状态位有:输入时-IBF位和INTR位;输出-OBF位和INTR

23、位。状态字中的INTE位,是控制标志位,是控制标志位,控制8255A能否提出中断请求,因此它不是I/O操作过程中自动产生的状态,而是由程序通过按位置位/复位命令来设置或清除的。,例:若允许PA口输入时,产生中断请求,则必须设置INTEA=1,即置PC4=1;若禁止它产生中断请求,则置INTEA=0,即置PC4=0,其程序段为:MOV DX,203H;8255A命令口 MOV AL,00001001B;置PC4=1,允许中断请求 OUT DX,AL MOV AL,00001000B;置PC4=0,禁止中断请求 OUT DX,AL五、两种方式并行传送接口设计1.要求 在甲乙两台微机之间并行传送1K

24、字节数据。甲机发送,乙机接收。甲机一侧的8255A采用1方式工作,乙机一侧的8255A采用0方式工作。两机的CPU与接口之间都采用查询方式交换数据。,2.分析 双机均采用可编程并行接口芯片8255A构成接口电路,只是8255A的工作方式不同。此时,双方的8255A把对方视为I/O设备。3.设计(1)硬件连接 根据上述要求,接口电路的连接如图所示。(2)软件编程 接口驱动程序包含发送与接收两个程序。,甲机发送程序段:MOV DX,203H;8255A命令口MOV AL,10100000B;初始化工作方式字OUT DX,AL MOV AL,00001101B;置发送中断允许INTEA=1OUT D

25、X,AL;PC6=1MOV SI,OFFSET BUFS;设置发送数据区的指针MOV CX,3FFH;发送字节数MOV DX,200H;向A口写第一个数,产生第一;个 OBF-信号MOV AL,SI;送给乙方,以便获取乙方的ACK-信号OUT DX,AL,INC SI;内存地址加1 DEC CX;传送字节数减1L:MOV DX,202H;8255A状态口 IN AL,DX;查发送断请求INTRA=1?AND AL,08H;PC3=1?JZ L;若无中断请求,则等待;若有中断请求,则向A口写数 MOV DX,200H;8255APA口地址 MOV AL,SI;从内存取数 OUT DX,AL;通过

26、A口向乙机发送第二个数据 INC SI;内存地址加1,DEC CX;字节数减1 JNZ L;字节未完,继续 MOV AH,4CH;已完,退出 INT 21H;返回 BUFS DB 1024个数据乙机接收程序段:(略),50,7.5 8255A的2方式及其应用,一、特点PA口为双向选通输入/输出或叫双向应答式输入/输出。一次初始化可指定PA口既作输入口又作输出口。设置专用的联络信号线和中断请求号信线,因此,2方式下可采用中断方式和查询方式与CPU交换数据。各联络线的定义及其时序关系和壮态基本上是在1方式下输入和输出两种操作的组合。,二、2方式下联络信号线的定义及其时序1.联络信号线的定义,2方式

27、是一种双向选通输入输出方式,它把A口作为双向输入/输出口,把C口的5根线(PC3PC7)作为专用应答线,所以,8255A只有A口才有2方式。其引脚定义如图所示。,2.工作时序 2方式的时序关系如图所示。,三、2方式的状态字 2方式的状态字的含义是在1方式下输入和输出状态位的组合,不再述。四、中断方式的双向并行接口设计1.要求 主从两个微机进行并行传送,共传送256个字节。主机一侧的8255A采用2方式并且用中断方式传送数据。从机一侧8255A工作在0方式,采用查询方式传送数据。3.设计(1)硬件设计 由图可知主机一侧的8255A的PA口作双向传送,既输出又输入,它的中断请示线接到8259A的IR2上。从机一侧的8255A的PA和PB口是单向传送,分别作输出和输入。(2)软件设计,55,本 章 结 束,谢谢您的合作!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号