您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第七章--8255接口电路
本章学习的知识点:1)掌握并行接口8255的基本功能2)掌握并行接口8255的三种工作方式的特点和用法3)掌握并行接口8255的硬软件设计方法本章学习的难点:1)掌握8255的3种工作方式的特点和用法2)掌握8255的硬软件设计方法第七章可编程并行接口电路82558255是Intel公司为其8086/8088系列微处理器生产的8位(数据线)通用可编程并行输入输出接口芯片。它具有很强的功能,在使用中可利用软件编程来指定它将要完成的功能。因此,8255获得了广泛的应用。7.1可编程并行接口8255引脚功能和结构1)外部引线8255的外部引线如图所示D0~D7:双向数据信号线RD:读信号线WR:写信号线CS:片选信号线A0、A1:口地址选择信号线RESET:复位输入信号PA0-PA7:A口输入输出信号线PB0-PB7:B口输入输出信号线PC0-PC7:B口输入输出信号线1520PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PB0PB110154021PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7302535PC5PC4PC0PC1PC2PC3PB2PB3PB4PB5PB6PB7VCC1、8255的外部引线及内部结构图7-18255的外部引线图(1)与外设接口部分有三个8位的输入输出端口:端口A、端口B、端口C,其编号:PA7~PA0、PB7~PB0、PC7~PC0。端口都是8位,都可以作为输入或输出,但功能上各有特色:2)内部结构8255的内部结构框图如图7.2所示,由三部分组成。口A:对应一个8位数据输出锁存和缓冲器;一个8位数据输入锁存器。口B和口C:对应一个8位数据输出锁存和缓冲器;一个8位数据输入缓冲器。注意:口B和口C都没有输入锁存,用于输入方式时不能对数据锁存,即如第一次进来的数据没被取走时,第二次进来的数据把第一次进来的数据淹没。图7.28255的内部结构框图数据总线缓冲器读/写控制逻辑A组端口A(8)A组端口C上半部(4)B组端口C下半部(4)B组端口B(8)A组控制B组控制8位内部数据总线内部逻辑外设接口DBRDWRA0A1RESETCSI/OPA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB0CPU接口(2)与微处理器接口部分这部分主要完成数据传送及逻辑控制。有:RD、WR、CS、RESET、D0-D7,8255的各端口地址线A0、A1。(3)内部控制部分由A、B两组控制电路组成。主要作用是根据CPU送来的控制字用以决定两组端口(A组为A口和C口的高4位,B组为B口和C口的低4位)的工作方式,也可根据控制字的要求对C口按位进行置位或复位。8255四个端口:8255有三个8位的数据输入输出口外,还有一个控制口,其功能是用于对8255的工作方式进行设置。重点掌握和理解的内容:哪个口工作由A0、A1的组合实现选择:A1A0选中的口地址号00选中A口01选中B口10选中C口11选中控制口A1A0RDWRCS完成的操作000010000111000端口A→数据总线端口B→数据总线端口C→数据总线00110101111100000000数据总线→端口A数据总线→端口B数据总线→端口C数据总线→控制口X1XX1XX0XX11100D7~D0数据总线呈高阻状态非法状态D7~D0数据总线呈高阻状态8255四个端口寻址逻辑关系与微处理器接口部分的硬件电路图实例图7-3口C上半部口C下半部口A口BRDWRRESETA1A0A1A0825574LS138G1G2AG2BCBAA5M/IOA6A4A3A2D0~D7CSY0地址译码逻辑关系:G2AG1G2BCBA0A7A6A5A4A3A2A1A0110000XXY0=0Y1=0C0H~C3HC0H→A口C1H→B口C2H→C口C3H→控制口C0HC2HC1H&A78255有三种工作方式,三种工作方式都可由CPU向8255的控制口写入控制字来决定8255的工作方式。控制字有两种:①方式选择控制字②C口的按位置位/复位控制字7.28255方式控制字及状态字(重点内容)1、8255的工作方式1)方式选择控制字方式选择控制字用来决定8255A三个数据端口各自的工作方式,它由一个8位的寄存器组成,它的格式如下所示。D7D6D5D4D3D2D1D0特征位A组方式00=方式001=方式11X=方式2A口0=输出1=输入C口C7~C40=输出1=输入B组方式0=方式01=方式1B口0=输出1=输入C口C3~C00=输出1=输入A组控制B组控制D7位为“1”时,为方式选择控制字的标识位。D6、D5位决定A端口的工作方式。D4位决定A端口工作在输入还是输出方式。D3位决定C端口高4位PC7~PC4是作为输入端口,还是作为输出端口。D2位用来选择B端口的工作方式。D1位决定B端口作为输入还是输出端口。D0位决定C端口低4位PC3~PC0作为输入,还是输出。D7D6D5D4D3D2D1D0特征位A组方式00=方式001=方式11X=方式2A口0=输出1=输入C口C7~C40=输出1=输入B组方式0=方式01=方式1B口0=输出1=输入C口C3~C00=输出1=输入A组控制B组控制例:要求A口为输入,B口为输出,C口为输出,A口方式0,B口方式1。根据要求设置方式控制字:94HMOVAL,94HOUT(PORTC),AL;PORTC为控制口地址号注意:8255在工作过程中如果改变工作方式,则控制口设置的内容全部复位(CPU自动完成),接着要设置新的方式控制字后才能进入新的工作方式。3种工作方式可用软件编程对控制口设置来指定。三种基本的工作方式为:方式0-基本的输入输出方式方式1-选通输入输出方式方式2-双向传送方式。7.38255的工作方式1)工作方式0(基本输入输出方式)功能:方式0不使用联络信号,也不使用中断,A口和B口可定义为输入或输出口,C口分成两个部分(高四位和低四位),C口的两个部分也可分别定义为输入或输出。在方式0,所有口输出均有锁存,输入只有缓冲,无锁存,C口还具有按位将其各位清0或置1的功能。常用于与外设无条件的数据传送或接收外设的数据。2)工作方式1(选通输入输出方式)A口借用C口的一些信号线用作控制和状态信号,组成A组,B口借用C口的一些信号线用作控制和状态信号,组成B组。在方式1下,C口的某些位被占用。A口方式1输出PA7~0PC7PC6PC3&INTEAPC4,5WR2INTRAI/OACKAOBFAB口方式1输出PB7~0PC1PC2PC0&INTEBWRINTRBACKBOBFB当A口工作于方式1且用作输出口时,C口的PC7线用作输出缓冲器满OBF信号,PC6用作外设收到数据后的响应信号ACK,PC3用作中断请求输出信号线INTR。A口方式1输出PA7~0PC7PC6PC3&INTEAPC4,5WR2INTRAI/OACKAOBFAB口方式1输出PB7~0PC1PC2PC0&INTEBWRINTRBACKBOBFB方式1的输出:当B口工作于方式l且用作输出口时,C口的PC1线用作输出缓冲器满OBF信号,PC2用作外设收到数据后的响应信号ACK,PC0用作中断请求输出信号线INTR。方式1下A口、B口为输出图7.4方式1下,A、B口均为输出的信号定义A口方式1输出PA7~0PC7PC6PC3&INTEAPC4,5WR2INTRAI/OACKAOBFAB口方式1输出PB7~0PC1PC2PC0&INTEBWRINTRBACKBOBFB控制字的设置D7D6D5D4D3D2D1D00A组方式01=方式1A口0=输出C口I/OB组方式1=方式1B口0=输出C口I/O①OBF为输出缓冲器满信号,低电平有效。8255输出信号,当其有效时,CPU已将数据送到指定的口,用于通知外设可将数据取走。A口方式1输出PA7~0PC7PC6PC3&INTEAPC4,5WR2INTRAI/OACKAOBFAB口方式1输出PB7~0PC1PC2PC0&INTEBWRINTRBACKBOBFB各个控制位的作用(重点掌握和理解的内容)②ACK为外设响应信号,低电平有效。由外设送来,有效时表明8255的数据已被外设取走。③INTR为中断请求信号,高电平有效。它是当外设将数据取走并给出应答ACK信号之后,8255向CPU提出中断请求,让CPU输出一个新的数据。A口方式1输出PA7~0PC7PC6PC3&INTEAPC4,5WR2INTRAI/OACKAOBFAB口方式1输出PB7~0PC1PC2PC0&INTEBWRINTRBACKBOBFB④INTE中断允许信号,高电平有效。为低时则屏蔽中断请求,即不发出中断请求信号INTR。INTE的状态由通过对C口PC6或PC2置1后A口和B口才允许中断。INTE=1,允许A口或B口向CPU申请中断,INTE=0,禁止A口或B口向CPU申请中断。8255的中断设置方法:中端允许信号INTE是由软件通过对C口的按位置位/复位的控制字来置1或清0的设置的,PC6置1时,A口允许中断,PC2置1时,B口允许中断。注意:在方式1输出方式时,PC4和PC5的工作状态由控制字决定其为输出还是输入。设置后不影响其它位的作用。方式1下A口、B口为输入(重点掌握和理解的内容)方式1(A口)PA7~0PC4PC5PC3&INTEAPC6,7RDINTRAI/OIBFASTBA方式1(B口)PB7~0PC2PC1PC0&INTEBRDINTRBIBFBSTBB21)A口工作于方式1且用作输入口时,C口的PC4线用作选通输入信号线STB,PC5用作输入缓冲器满输出信号线IBF,PC3用作中断请求输出信号线INTR。2)B口工作于方式1且用作输入口时,C口的PC2线用作选通输入信号线STB,PC1用作输入缓冲器满输出信号线IBF,PC0用作中断请求输出信号线INTR。方式1下A口、B口均为输入图7.5方式1下A、B口均为输入时的信号定义方式1(A口)PA7~0PC4PC5PC3&INTEAPC6,7RDINTRAI/OIBFASTBA方式1(B口)PB7~0PC2PC1PC0&INTEBRDINTRBIBFBSTBB2D7D6D5D4D3D2D1D00A组方式01=方式1A口1=输入C口I/OB组方式1=方式1B口1=输入C口I/O控制字的设置①STB:选通控制,输入信号。当外部设备来的8位数据送入到8255的输入缓冲器中时该位有效。在时间上,外部设备先把数据送到8255的数据口A或B,然后再送出STB信号,用于把数据锁存到8255的输入数据寄存器,等待CPU取数据。方式1(A口)PA7~0PC4PC5PC3&INTEAPC6,7RDINTRAI/OIBFASTBA方式1(B口)PB7~0PC2PC1PC0&INTEBRDINTRBIBFBSTBB2②IBF:输入缓冲器满信号,输出信号,高电平有效。当8255的输入缓冲器有新数据后,该位有效,为8255给外设的联络信号,告知外设输入的数据已被接收到,但还没被CPU取走,不能再送新的数据。该信号在STB变为低后,300NS时间内变为高电平(自动完成)。方式1(A口)PA7~0PC4PC5PC3&INTEAPC6,7RDINTRAI/OIBFASTBA方式1(B口)PB7~0PC2PC1PC0&INTEBRDINTRBIBFBSTBB2在CPU读取了数据后,RD信号撤消后的300NS时间内IBF信号才撤消,变为低电平,告知外设可输入新的数据。③INTR:为中断请求信号,高电平有效。中端请求的条件:STB变高后300ns内,并IBF信号也为高。(要等数据全部进入到输入缓冲器后才发出中断请求)方式1(A口)PA7~0PC4PC5PC3&INTEAPC6,7RDINTRAI/OIBFASTBA方式1(B口)PB7~0PC2PC1PC0&INTEBRDINTRBIBFBSTBB2④INTE:中断允许信号,高电平有效。为低时则屏蔽中断请求。INTE的状态由通过对C口PC4或PC2置1后A口和B口才允许
本文标题:第七章--8255接口电路
链接地址:https://www.777doc.com/doc-4612134 .html