第8章常用可编程接口芯片_第1页
第8章常用可编程接口芯片_第2页
第8章常用可编程接口芯片_第3页
第8章常用可编程接口芯片_第4页
第8章常用可编程接口芯片_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

微机原理及应用北京科技大学理工类(非计算机专业)相关专业适用计算机与通信工程学院第8章常用可编程接口芯片微机系统中多采用接口芯片作为接口电路;实现微机与外设间的数据传送主要介绍

并行通信接口8255A

串行通信的基本概念定时/计数器8253/8254其他内容不做课程要求数据通信问题通过接口传送的数据一般都由若干二进制位组成(如“字符”,包括8位二进制代码)有两种传送方式接口

电路

芯片CPUI/O

外设并行通信:把一个字符的n个数位,用n条线同时传输特点:传输速度快、效率高但所需电缆数量多;适用于传输速率要求高,且传输距离短的场合串行通信:把一个字符的n个数位,用1条线逐位传输

特别提示:“并行”指的是接口与I/O设备一侧的数据线是并行的

“串行”指的是接口与I/O设备一侧的数据线是串行的接口与总线一侧的连接总是并行的8255A的基本性能可编程通用并行输入/输出接口电路通用性强,使用灵活,通过它CPU可直接与外设相连,可实现数据的无条件、查询、中断等I/O传送方式具有40个引脚具有三个相互独立的输入/输出数据端口A端口、B端口、C端口三个端口可单独使用,也可组合使用;可传送数据信号,也可传送状态信号和控制信号三个端口各有多种工作方式,可编程选择8255A的内部结构8255A有ABC三个8位数据端口;三个端口各有8条数据引线通常,A口和B口作为独立的输入端口或输出端口,与外设实现数据通信;C口被分成两个4位端口:

●分别作为数据的输入/输出端口

●或者作为A口和B口的控制口或状态口▲8255A可将三个端口分成AB两组进行管理和控制▲其中:

A组控制电路控制A口和C口的高4位PC7-PC4B组控制电路控制B口和C口的低4位PC3-PC0读/写控制逻辑电路中的引脚信号来自系统的地址信号A0、A1和CS以及控制信号RD、WR、RESET,并把这些信号进行逻辑组合,形成相应的控制操作命令,发送到A组、B组的控制电路,以控制数据和状态信息的正常传输片选信号,有效时8255A被选中,才能启动CPU和8255A之间的通信读选通信号,有效时,8255A通过数据线把数据或状态信息传给CPU写选通信号,有效时,CPU可以把数据或控制字写到8255A8255A复位信号,有效时,清除所有8255A内部寄存器,并把三个数据端口都设为输入方式端口片内地址信号;用于寻址8255A的三个数据端口和一个控制字寄存器(也称为控制口)8255A的信号组合与基本操作8255A的外部引脚8255A是40根引脚,双列直插式引脚可分成:(1)与外设连接的引脚

PA0~PA7:A口数据线

PB0~PB7:B口数据线

PC0~PC7:C口数据线(2)与CPU连接的引脚

D7~D0

、A0、A1

、CS、RD、WR、RESET如8255数据线与8086相连,必须与低8位数据线相连,CPU需使用偶地址访问

此时,则需要将8255的A0和A1分别与CPU的A1和A2相连,即使用连续的四个偶数地址寻址8255四个端口8255A与CPU地址线的连接问题8255A的编程与控制字8255A可通过控制字编程;控制字分为两类:均写入控制口(A0=1、A1=1)一类是各数据端口的工作方式选择控制字特征位D7=1;放在程序的开始部分一类是C口的位控(置位/复位)控制字

特征位D7=0;放在初始化程序以后的任何地方工作方式及其端口约定8255A有三种基本的工作方式,即:方式0

基本的输入/输出方式----A口、B口和C口方式1

选通的输入/输出方式----A口和B口方式2

双向传输方式--------------只能是A口在方式1或2时,C口通常配合A口或B口工作,为A口、B口的数据传输提供对外设的控制信号和外设的状态信号;而剩余的位仍可以在方式0下工作工作方式选择控制字▲方式选择控制字用于设置各数据端口的工作方式C口低4位I/O0=输出1=输入B口I/O0=输出1=输入B口方式选择0=方式01=方式1C口高4位I/O0=输出1=输入A口I/O0=输出1=输入=方式标志位D0D1D2D3D4D5D6D7=1A口方式选择00=方式001=方式11×=方式2工作方式选择控制字的使用例▲例,一个8088系统通过一个8255A接口芯片和外设交换信息。地址线A1和A0直接与8255A的A1和A0连接,该芯片经片选后的A端口地址(可称为芯片的端口基地址)为234H,即四个端口地址分别为:

A口——234H B口——235H C口——236H 控制字寄存器——237H▲如果设定8255A的端口处于如下工作方式:

A口 方式0,输入

B口 方式1,输出

PC7-PC4

输出,PC3-PC0

输入工作方式控制字应为:10010001B=95H10101001D0D1D2D3D4D5D6D7方式选择标志位A口工作在方式0A口用于输入PC7~PC4用于输出B口工作在方式1B口用于输出PC3~PC0用于输入工作方式选择控制字的使用例▲8255A的初始化过程就是使用输出指令,将初始化控制字写入控制字寄存器的过程具体到本例,采用如下几条典型指令实现:

MOV AL,95H MOV DX,237H

OUT DX,AL8255A初始化问题C口位置位/复位控制字▲C口作为数据口时,可以用输入、输出指令实现数据的传送▲但更多的情况下,C口通常用作A口和B口输入输出的控制信息位或状态信息位▲此时,需要对“位”进行置1或置0操作,以表示不同的状态信息或控制信号▲任何一位的置位或复位,并不影响其它位的状态

▲位控控制字同方式选择控制字一样,也将被送往控制字寄存器,区别在于标志位D7的不同C口位控控制字的格式C口位控控制字的例例;如要使C口的PC5置位,那么控制字应为多少?

00001011B=0BH▲

假设8255A的控制端口地址为0F3H,要对PC5进行置位,需要进行如下操作:

MOVAL,0BH;00001011B=0BH OUT 0F3H,AL▲

同样,若要对PC2进行复位,需要进行如下操作: MOV AL,04H;00000100B=04H OUT 0F3H,AL▲

复位PC2时,并不影响前面已经置位的PC5和其他各位 C口位控控制字的例8255A的工作方式△8255A共有三种工作方式;每种工作方式都有其自身的功能和工作特点△重点介绍方式0和方式1△

可通过编程,确定8255A的工作方式▲方式0-----基本输入输出方式▲特点:参加数据传输的有A和B两个8位端口和C的两个4位端口;均可独立地由方式选择控制字规定为输入口或输出口▲均不需要固定的联络信号,传输的数据只需要通过选定的端口,直接地写入或读取即可工作方式0方式0的典型举例A口接8个发光二极管,PC7连接一个开关开关接通高电平时,8管全亮(点亮时为1)开关接通低电平时,8管循环点亮假设端口地址为60H—63H问题分析二极管和开关属简单外设,永远就绪,无需关心其状态如何A口可选择工作方式0,设置为输出口C口的上半部为输入口(用于输入开关的高或低电平数据)B口和C口的下半部不用(方式字位均可取0)方式字为:10001000=88H方式0的典型应用举例程序代码INAL,62H方式0的典型示例设8255A端口地址端口A218H端口B219H端口C21AH控制端口21BHMOVDX,21BHMOVAL,10000010BOUTDX,ALMOVDX,219HINAL,DXMOVDX,21AHOUTDX,AL端口B接8个开关端口C接8位LED8255A方式0(例8-8)示例某8088微机采用8255A芯片检测8个开关的状态,并根据开关状态控制8个发光二极管IO8255BASEEQU200HIO8255AEQUIO8255BASEIO8255CEQUIO8255BASE+2IO8255KEQUIO8255BASE+3CODESEGMENTASSUMECS:CODESTARTMOVDX,IO8255K

MOVAL,8BHOUTDX,ALL1:MOVDX,IO8255C;PC输入

INAL,DXMOVDX,IO8255A;PA输出

OUTDX,AL

MOVAH,01HINT16HJZL1MOVAH,4CHINT21HCODEENDSENDSTARTA口的地址称为芯片的基地址方式0典型示例要求:开关闭合(=0)时,

灯亮(=0)×8×8A口为输入,方式0

B口为输出,方式0C口不用

方式控制字为:10010000基本操作:从A口读入开关闭合数据,通过B口输出到灯点亮;由于反向驱动器,无需再取反A口地址为:0388H

B口地址为:0389H控制口地址为:038BH程序段:MOVAL,10010000B

MOVDX,038BH

OUTDX,AL

MOVDX,0388H

INAL,DX

MOVDX,0389H

OUTDX,AL方式0的应用特点方式0的典型特点是:不提供也不需要提供专门的状态信息和控制信息的端口数据线,各端口均可独立使用方式0的典型应用是:无条件传送方式下的数据传送;直接执行IN指令或OUT指令也适用于查询传送方式下的数据传送首先查询外设是否“就绪”可选择C口的某些位,作为外设的状态信息位和对外设的选通控制位(但不确定专用位,可任意选择)当检测“就绪”后,再执行IN指令或OUT指令首先从C口读取状态信息字,测试PC7或PC6“就绪”后,用PC1或PC0选通外设从A口输出;从B口输入10××××××10001010工作方式字为:状态信息字端口A端口BPC1PC7PC6PC08255A输出设备输入设备方式0用于查询方式传送的图示方式0用于查询方式传送的例图为一个并行打印机的接口电路示意;要求采用查询方式,通过8255A接口把数据缓冲区中的ASCII码字符打印出来按照打印机接口标准定义,其最基本的信号线包括:

8根数据线

1根控制线STB

1根状态线ACK/BUSY

1根公共地线PA口作为数据口,输出8位打印数据,工作方式设置为方式0;PC6作为控制信号,产生负脉冲作为打印机的数据选通信号STB;PC1作为状态信号,用来接收打印机的“忙”信号按照题意,传送数据的过程如下:(1)CPU首先查询ACK/BUSY信号,如果ACK/BUSY=0,表示不“忙”,启动数据传送(2)待打印的数据传输到8255A后,发送STB=0信号,打印机开始读取数据到自己的数据锁存器中(3)打印机接收到数据后并打印中,回送“忙”信号(ACK/BUSY=1)(4)打印机处理完数据后,发送ACK/BUSY=0信号,再次表示不“忙”,同时完成一个字符的打印操作A-PORTEQU8030H;定义端口地址B-PORTEQU8032HC-PORTEQU8034HCTRL-PORTEQU8036HMOVDX,CTRL-PORT;8255A控制端口MOVAL,10000001B;方式控制字OUTDX,AL

MOVAL,00001101B;PC6置高(STB=1)OUTDX,ALMOVSI,OFFSETBUF;数据缓冲区首地址MOVCX,NUMBER;待打印的字符个数工作方式1▲

方式1也称为选通输入/输出方式

▲A口和B口可以工作在方式1

▲A口和B口都可以分别作为数据端口传送数据

▲A口和B口都可以作为输入口或输出口

▲方式1工作的端口可以是两个,也可以只设一个;其余的输入输出端口,还可以工作在其它方式下工作方式1

方式1的典型特点是:

固定了接口与外设的联络信号线;A、B两端口分别被固定了C口的3位联络线

AB两端口接口组态是固定的,用户不能更改方式1的典型应用是:中断方式的数据传送,也适用于查询方式下的数据传送工作在方式1时输入A端口的信号剩余的PC6和PC7可做它用;输出或输入;由D3位的0/1确定STB是外设数据输入选通信号,低电平有效;由外设送给8255A;STB与PC4相连;有效时,外设“通知”端口并开始送入数据到数据缓冲器IBF是端口数据输入缓冲器“满”的状态信号,高电平有效。A口的IBF信号由PC5输出。有效时,表示端口“就绪”INTRA是8255A送往CPU的中断请求信号,高电平有效。当端口数据就绪后,如果中断允许,8255A将把INTRA送出请求CPU的中断服务;A口的中断请求从PC3送出IBFAINTEA是对中断请求屏蔽或允许的内部控制信号;只能通过对PC4的置位/复位实现控制★PC4置1,A口处于中断允许状态,又当IBF=1时,INTR便有效,向CPU申请中断★

PC4复位为0,则A口被置于中断屏蔽状态外设数据进入端口方式1的输入工作过程及时序①STB=0,外设数据开始进入A端口;待“满”后,输出IBF=1,数据就绪;STB=1撤消②通过PC4置位,使INTE=1,产生INTR信号,送CPU请求中断③CPU如响应,则RD为低电平,并将INTR复位④取走数据后,RD=1,同时将IBF复位,表示数据缓冲区已空,可进行下一次的数据传送①④③②初始时,STB=1(未开始传),IBF=0(已空),RD=1(未选通读),INTR=0(无请求)初始工作在方式1时输入B端口的信号注意与A口的异同

基本信号交换和工作原理相似

C口各联络位不同

B口的STB信号与PC2相连

B口的IBF信号由PC1输出

B口的中断请求由PC0送出

对PC2的置位/复位指令,实现对中断屏蔽或允许的控制工作在方式1时输出端口的信号▲OBF输出缓冲器“满”信号,低电平有效。CPU数据到达端口后有效,通知外设可通过A或B口取走数据▲对于A口,OBF信号通过PC7送出;对于B口,OBF信号通过PC1送出▲ACK为外设对OBF的应答信号,低电平有效;表明数据已经取到外设,缓冲区已空▲

A口通过PC6接收;B口通过PC2接收信号▲INTR为中断请求信号,高电平有效。当外设取走数据后,端口已“空”,发出中断请求信号,请求CPU继续下一次送来数据▲

A口通过PC3发中断请求信号,B口通过PC0发中断请求信号▲INTEA和INTEB的意义与方式1的输入情况时相似,决定是否屏蔽中断请求

▲分别(只能)通过PC6和PC2的置位/复位实现WRWR方式1的输出工作过程及时序WRINTROBFACK数据到端口数据输出到外设方式1下的控制字设置例要求:将A口设置为方式1输入;PC7和PC6作为输出;B口设置为方式1输出;A口不允许中断,B口允许MOVDX,0263H;控制字寄存器端口号为0263HMOVAL,0B4H

;方式控制字OUTDX,ALMOVAL,08H

;设置A口不允许中断OUTDX,ALMOVAL,05H

;设置B口允许中断OUTDX,AL方式1下数据的中断传送方式方式1的最典型应用是用于中断传送方式通过A口的PC4、PC6和B口的PC2的置位/复位控制字使相应的INTE=1,即允许内部中断通常由PC3和PC0送出的INTR信号接到8259A的某个IRi引脚8255APC38259AIRi一个实验问题的例实验问题。设置8255A的端口A工作在方式0并作为输出口;端口B工作于方式1并作为输入口,则端口C的PC2作为选通信号输入端STB,PC0作为中断请求信号输出端INTR;STB=0,可使外设数据进入端口B;数据就绪后,IBF=1,发送INTR中断请求;CPU响应并执行中断服务程序:读取端口B数据,并送端口A输出显示假设8255A的端口地址为60H----63H;8259A的端口地址为20----21HSTACK SEGMENT STACK DW 64DUP(?)STACK ENDSCODE SEGMENTASSUMECS:CODE,SS:STACKSTART:CLIMOV AL,086HOUT 63H,ALMOV AL,05H;PC2置位,允许中断

OUT 63H,ALPUSH DSMOV AX,0000HMOV DS,AXMOV AX,OFFSETIRQ7MOV SI,47H*4;中断向量指针

MOV [SI],AXMOV AX,SEGIRQ7MOV [SI]2,AXPOP DSIRQ7:IN AL,61HOUT 60H,ALMOVAL,20H;发送OCW2OUT20H,ALIRETA1: STIHLTJMP A1

MOVAL,13H;单片,边沿

OUT20H,ALMOVAL,40H;中断类型码基数

OUT21H,ALMIVAL,01H;8086,非自动结束,普通嵌套

OUT21H,ALMOV AL,7FH;开放IR7

写OCW1OUT 21H,AL实验操作过程

(将STB引脚接一个开关)

初始时,STB=1;IBF=0

使STB=0,开关闭合的状态数据将进入端口(使IBF=1)

再使STB=1,恢复初始状态

IBF=1后,8255A将向8259A发送中断请求INTR

●8259A判优后,将送CPU;CPU响应后读取并输

出数据;之后IBF=0,恢复初始状态

CPU无操作时,处于暂停状态(HLT)方式1下数据的查询传送方式方式1,也可以用于查询传送方式8255A提供一个供CPU查询的方式1状态字CPU通过C口读取该状态字,检测判断相应的状态标志位确认就绪后,启动数据传送输入时,首先查询IBF,1为就绪(端口数据区满)输出时,首先查询OBF,1为端口数据区“空”,空闲PC7PC6PC5PC4PC3PC2PC1PC0I/OI/OIBFAINTEAINTRAINTEBIBFBINTRBOBFAINTEAI/OI/OINTRAINTEBOBFBINTRB例8-5、例8-68255A的基地址为200HPA端口用于方式1的输入,采用查询方式读取PA端口数据

PB端口用于方式1的输出,采用查询方式从PB端口输出数据MOVDX,202HL1:INAL,DX;读取PC端口内容

TESTAL,00100000B;判断PC5是否为1JZL1MOVDX,200H

INAL,DXMOVDX,202HL1:INAL,DX;读取PC端口内容

TESTAL,00000010B;判断PC1是否为1JZL1MOVAL,BUFMOVDX,201H

OUTDX,AL工作方式2简介▲方式2也称双向传输方式,该方式只适用于A口▲双向方式下,外设可以利用A口的8位数据线和CPU进行双向传送,既能发送数据,又能接收数据▲与方式1相似,端口C也自动地为方式2提供相应的控制信号;即C口的5个数据位将自动配合A口作与外设之间的控制信号和状态信号▲方式2相当于方式1下A口输入和输出的组合方式2的控制信号及状态控制字11xPC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号方式2与其它方式的组合说明◆当A口工作在方式2时,B口可以工作在方式0或方式1,可以作为输入端口也可以作为输出端口◆

C口由于其PC7-PC3为方式2服务,作为A口的联络控制信号,余下的只有PC2~PC0可另作它用◆如B口工作于方式0下,PC2~PC0也工作于方式0,作为输入位或输出位◆如B口工作在方式1下,PC2~PC0恰好作为B口的联络信号,具体的规定与方式1相似例8-7

MOVDX,203HMOVAL,11000110BOUTDX,AL8255A芯片的基地址为200H,PA端口用于方式2,PB端口用于方式1输入工作方式初始化综合示例设8255A的4个端口地址为60H~63H,试编写下列各种情况的初始化程序(1)A、B口均设置成方式0,A口、B口为输入,C口为输出

MOV AL,10010010BOUT63H,AL(2)将A口、B口设置为方式1,均为输入;PC6、PC7为输出;允许A口中断,禁止B口中断

MOVAL,10110110BOUT63H,ALMOVAL,00001001BOUT63H,ALMOVAL,00000100BOUT63H,AL(3)将A口设置成方式2;B口为方式0,输出;PC0~PC2为输入;允许A口中断

MOVAL,11000001BOUTAL,63HMOVAL,00001001BOUT63H,ALMOVAL,00001101BOUT63H,AL综合练习题8255A与打印机的连接如图示假设当A15-A2的取值为00100100110001时,选中该8255A综合练习题问题:A口的工作方式为:C口的工作方式为:输入输出传送的控制方式为:8255A中控制口的地址为:简述数据输出的工作过程画出数据输出操作过程的程序流程框图并写出基本代码段综合练习题MOVDX,24C5HLOOPINAL,DXTESTAL,01JNZLOOPMOVAL,0FHMOVDX,24C7HOUTDX,ALMOVDX,24C4H

温馨提示

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

评论

0/150

提交评论