第七章 常用数字接口电路

  • 格式:pps
  • 大小:728.00 KB
  • 文档页数:57

第七章常用数字接口电路1.并行接口芯片8255的结构2.8255的控制字和工作方式3.8255的应用4.定时计数芯片8253的结构5.8253的控制字和工作方式6.8253的应用本章知识点7.1 接口电路概述(1)CPU 与外设的接口CPU外设接口数据总线控制总线地址总线数据信息控制信息状态信息●数据信息可以有数字量、模拟量和开关量三种类型。

●根据接口芯片与外设之间较好的数据信息的类型,I/O 接口可分为数字接口、模拟接口和开关接口。

●按接口芯片与外设之间传送的是并行数据还是串行数据,数字接口又分为并行接口和串行接口。

不论哪种接口芯片,接口芯片同CPU 之间传送的总是并行数据量。

(2)并行、串行数据传输以计算机的字长(通常是8位、16位、32位或64位)为传输单位,一次传送一个字长的数据,是微机系统中最基本的信息交换方法。

例如,系统板上各部件之间,接口电路板上各部件之间。

*适合于外部设备与微机之间进行近距离、大量和快速的信息交换。

D 0D 1D 2D 31101*不适合于远距离传送,且对硬件要求较高,成本高。

将数据分解成二进制位用一条信号线,一位一位顺序传送的方式。

串行传送数据:发送端接收端10110100B1s2s3s 4s 5s 6s 7s 8s t*适合于外部设备与微机之间进行远距离的信息交换。

*相对传送数据的速度慢,但结构简单。

全双工半双工单工TR TR T R TR TR数据比特率:每秒传输的二进制位数,单位为bps(bit per second)。

00001111数字信号按数字信号的(a)调幅值改变载波信号的幅度按数字信号的(b)调频值改变载波信号的频率按数字信号的值改变载波信(c)调相号的相位7.2 可编程并行接口8255AIntel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。

可由程序来改变其功能,通用性强、使用灵活。

通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O 接口芯片。

可编程:能通过指令指定接口的功能和运行控制参数等。

WR D 0D 1D 2D 3D 4D 5D 6D7V CC PB 7RD CSGND A 1A 0PA 4PA 5PA 6PA 7PB 5PB 6PB 4PB 3RESE PB 1PB 2PB 0PC 3PC 2PC 1PC 0PC 4PC 5PC 6PC 7PA 3PA 2PA 1PA 05110153540302521(1)8255A 的引脚和功能分配D0~D7:数据线,双向,连CPU 数据总线;RESET :复位输入,接系统总线的RESET ;片选控制输入,低电平时8255被选中,处于工作状态;CS :A0,A1:片内端口选择地址线,用来选择8255A 内部的4个端口。

读命令输入,接CPU 的RD 或IOR ;写命令输入,接CPU 的WR 或IOW ;RD :WR :PA0~PA7:8位并行端口A ,即可用作输入也可输出。

PB0~PB7:8位并行端口B ,即可用作输入也可输出。

PC0~PC7:8位并行端口C ,即可用作输入也可输出。

VCC:+5V 电源输入。

GND:接地端。

A1、A0端口选择情况,见右表A1 A0端口0 00 11 01 1AB C 控制口引脚的不同组合,实现各种不同的功能。

见下表CS RD WRA1,A0CS A1 A0 RD WR 功能0 0 0 01对端口A 读0 0 1 01对端口B 读01001对端口C 读01非法,不能对控制口读输入0对端口A 写0对端口B 写0对端口C 写0对控制口写输出1×××××××11数据缓冲器为三态断开0111111000001010011(2)8255A 的内部结构A 组控制数据总线缓冲器读/写控制逻辑B 组控制A 组A 口(8位)A 组C 口高位(4位)B 组C 口低位(4位)B 组B 口(8位)D 0~D 7A 1A 0RESETCSPA 0~PA 7PC 4~PC 7PC 0~PC 3PB 0~PB 7RDWR 1、数据总线缓冲器:三态8位双向缓冲器,传送数据、控制字、状态字的通道。

与CPU 数据总线连接;2、读/写控制逻辑:用来管理数据信息、控制字和状态字的传送,它接收来自CPU地址总线的A1、A0和控制总线的有关信号,向8255A 的A、B两组控制部件发送命令。

3、3个8位数据端口(PA、PB、PC):通常PA口与PB口用作输入输出的数据端口,PC口用作数据传输或提供联络线的端口。

4、A组、B组控制电路:这两组控制电路根据CPU发出的方式选择控制字来控制8255A的工作方式。

每个控制组都接收来自读写控制逻辑的“命令”,接收来自内部数据总线的“控制字”,并向与其相连的端口发出适当的控制信号。

A组控制电路控制PA口和PC口高4位,B组控制电路控制PB口和PC口低4位。

8255A 与系统的连接示意图D0~D7WR RD A1A0CSDBIOW IOR A1A0译码器8255A 口B 口C 口D0~D7外设1A15~A2系统总线外设2外设3(3)8255A的工作方式<1>方式0(基本输入/输出方式)工作特点:◆8255A相当于三个独立的8位数据口。

◆各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出。

◆C端口即可以是一个8位的简单接口,也可以分为两个独立的4位端口。

设置为输出口时有锁存能力,设置为输入口时无锁存能力。

适用场合:无条件输入输出方式。

查询输入输出方式:可以把A、B口作为8位数据的输入或输出口,利用C口的高/低4位作为控制位和状态位。

<2>方式1(选通工作方式)◆A 、B 口作输入或输出口,C 口分为两部分,其部分位(6位)固定用作A 口、B 口的选通控制信号。

◆C 口的剩余位仍可作数据位使用。

◆A 口、B 口在作为输入和输出时的选通信号不同。

工作特点:适用场合:主要用于中断控制方式下的输入输出。

输入时各个引脚的定义:PA7~PA0PC4PC5PC3INTE AIBF AINTR A D 7~D 0输入设备(到CPU)RDASTB &STB :(STROBE ),选通信号,低电平有效,其下降沿将输入设备的数据锁存至8255。

IBF :(Input Buffer Full ),应答信号,高电平有效。

以A 口为例IBF 通知外部设备,数据已经满。

INTR :中断请求信号,用来向CPU 提出中断申请,将端口数据取走。

由STB 的上升沿产生。

方式1输入时序:PB7~PB0PA7~PA0STBIBFINTR②RD③当INTE=1时外设送来数据①输出时各个引脚的定义:PA7~PA0PC7PC6PC3INTEAINTR A D7~D0输出到外部设备(到CPU)A OBF AACK &WROBF:Output Buffer FUll低电平有效,表明8255的数据端口已经有数据。

ACK :Acknowledge低电平有效,外部设备对8255的应答信号。

INTR :中断请求信号,用来向CPU 提出中断申请,要求将数据向端口传送。

由OBF 的上升沿产生。

①D 7~D 0送往外设数据数据写入端口OBFWR ②INTRACK③当INTE=1时方式1输出时序<3> 方式2(双向选通传送方式)工作特点:●双向方式——既是输入口,又是输出口。

●利用C口的5条线提供传输联络信号。

●类似于A口方式1下输入和输出的组合。

工作时输入、输出都能锁存。

●只有A口可工作在方式2下。

●当A组工作在方式2时,B组可工作在方式0或方式1下。

适用场合:⏹可用于中断控制输入输出方式。

⏹也可用查询方式与CPU联系。

⏹当A口工作于方式2时,B口可工作于方式1(此时C口的剩余位刚好用作B口选通控制线);B口也可工作于方式0(此时C口的剩余位只能用作方式0下的输入输出线)。

(4)8255A的控制字8255A的各种工作方式由CPU对8255A写入控制命令字来设定,这个过程称为“初始化”。

8255A有2种控制命,其是一个控制命令的组合,也称控制字:方式选择控制字——确定3个端口的工作方式;C口置位/复位控制字——确定C口某一位的初始状态,或用于设置INTE位(方式1,2)。

a)方式选择控制字D7 D6 D5 D4 D3 D2 D1 D0C口低4位选择,1:输入0:输出B口选择,1:输入,0:输出B口方式选择,0:方式01:方式1C口高4位选择,1入0出A口I/O选择,1入0出A口方式选择00=方式001=方式11X=方式2D7=1,方式控制字标志b) C 口置位/复位控制字D7 D6 D5 D4 D3 D2 D1 D0置位/复位选择1:置位,0:复位D7=0为置位/复位控制字标志D3 D2 D1 位选择0 0 0 PC00 0 1 PC10 1 0 PC20 1 1 PC31 0 0 PC41 0 1 PC51 1 0 PC61 1 1 PC7无效已知8255A在系统的端口地址范围为:60H~63H,要求做如下设置:A 口0方式输出,B口0方式输入,C口输入。

试写出控制字,并完成初始化。

控制字:10001011B根据已知条件8255的端口地址为:60H-63H,所以可知具体端口地址如下:A口:60H,B口:61H,C口:62H,控制端口:63H。

初始化程序:MOV AL,8BHOUT 63H,AL已知8255A 在系统的端口地址范围为:380H~383H ,要求做如下设置:A 口1方式输出,B 口0方式输入,C 口低4位输出。

试写出控制字,并完成初始化。

根据已知条件8255的端口地址为:380H-383H ,所以可知具体端口地址如下:A 口:380H ,B 口:381H ,C 口:382H ,控制端口:383H 。

控制字:10100010B初始化程序:MOV AL ,A2HOUT DX ,AL0MOV DX,383H 当A,B 口工作于方式1时,C 口部分引脚自动被用作联络信号,此时控制字中一般将其设置为0.已知8255A在系统的端口地址范围为:F84H--F87H,要求在C口的PC3上输出一个长度为1ms的负脉冲。

试写出控制字,并完成初始化。

采用对C口的置位/复位控制字:00000110B 00000111B初始化程序:MOV AL,07HMOV DX,0F87HOUT DX,AL CALL Delay MOV AL,06H OUT DX,AL 1ms方法1方法2采用工作方式控制字:10000000B初始化程序:MOV AL,80HMOV DX,0F87HOUT DX,ALMOV AL,XXXX1XXX BMOV DX,0F86HOUT DX,ALCALL DelayMOV AL,XXXX0XXXBOUT DX,AL结论:1、对8255A的初始化包含两个内容:编写控制字和写控制字。