可编程并行接口芯片和串行接口芯.ppt

上传人:小飞机 文档编号:6555603 上传时间:2023-11-12 格式:PPT 页数:38 大小:867.50KB
返回 下载 相关 举报
可编程并行接口芯片和串行接口芯.ppt_第1页
第1页 / 共38页
可编程并行接口芯片和串行接口芯.ppt_第2页
第2页 / 共38页
可编程并行接口芯片和串行接口芯.ppt_第3页
第3页 / 共38页
可编程并行接口芯片和串行接口芯.ppt_第4页
第4页 / 共38页
可编程并行接口芯片和串行接口芯.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《可编程并行接口芯片和串行接口芯.ppt》由会员分享,可在线阅读,更多相关《可编程并行接口芯片和串行接口芯.ppt(38页珍藏版)》请在三一办公上搜索。

1、6.1 并行接口和串行接口 6.2 可编程并行接口芯片8255A6.3 可编程串行接口芯片8251,第6章 可编程并行接口芯片和串行接口芯片,教学内容(6学时)可编程接口芯片概述8255A芯片的原理8255A芯片的应用实例教学目标 理解常用可编程通信接口芯片的作用 了解8255A芯片的原理 掌握8255A初始化方法 掌握8255A作为LED显示器、开关、打印机等接口时的硬件连接方法 和控制程序设计教学重点及难点常用可编程通信接口芯片的作用8255A方式1的工作原理及时序(难点)8255A作为接口时控制程序设计方法(重点),6.1 并行接口和串行接口6.1.1 可编程接口芯片概述接口电路中的单元

2、(1)输入输出数据锁存器和缓冲器,用以解决CPU与外设之间速度不匹配的矛盾,以及起隔离和缓冲的作用;(2)控制命令和状态寄存器,以存放CPU对外设的控制命令,以及外设的状态信息;(3)地址译码器,用来选择接口电路中的不同端口(寄存器);(4)读写控制逻辑;(5)中断控制逻辑。,接口中的一些公用引脚作用及其连接方法 1.片选概念 CS 或CE 2.读/写概念 DB线,M/IO线,RD线,WR线,CE/CS线 3.可编程接口的概念 目前所用的接口芯片大部分是多通道、多功能的:所谓多通道就是指一个接口芯片一面与CPU连接,另一面可接几个外设;所谓多功能是指一个接口芯片能实现多种接口功能,实现不同的电

3、路工作状态。,4.“联络”的概念(了解)STB:选通信号;RDY:就绪信号(Ready)1)以输入接口为例:RDY=“H”表示接口芯片中输入 寄存器已 空,可接受外设信息以实现外设与接口的输入操作。STB=“L”表示接口选通,是外设向接口发出的。,过程:1)外设把数据送上接口芯片端口后,用STB信号有效打人接口芯片输入寄存器;2)在STB的后沿,把RDY信号拉 为“L”,表明输入寄存器已有数据。RDY=“L”正是接口与外设的通信标志,外设 接收RDY=”L”后,暂不送数据;3)CPU发出读数指令,读人该数据,并使RDY置“H”。然后,又开始新一轮的输入操作在输入接口中,RDY信号有时用IBF(

4、输入缓冲器满)表示。,输出过程:RDY=“H”,表示接口寄存器已有数据,通知外设来取数;STB=“L”,表示端口数据已为外设接收,且已处理,CPU可送新数据到接口 寄存器,STB的后沿使RDY变为“L”。在输出接口中,RDY信号有时用OBF(输出 缓冲器满)表示,STB信号有时用ACK(响应)表示。,接口芯片的引脚,6.1.2 并行接口、串行接口和模拟接口,数据信息分:数字量、模拟量和开关量;数字接口(数字量和开关量);模拟接口(模拟量);数字接口分并行接口和串行接口;接口芯片与CPU之间传送的总是并行数字量;串行接口内必须含并-串/串-并转换部件;模拟接口内必须含A/D或D/A转换器,6.2

5、 可编程并行接口芯片8255A,6.2.1 8255A的结构和引脚功能,1数据总线缓冲器这是一个三态双向8位缓冲器,它是8255A与系统数据总线的接口。2三个8位端口PA、PB和PC PA、PB和PC端口都可由程序设定为各种不同的工作方式。端口A(PA口)有一个8位数据输入锁存器和一个8位数据输出锁存缓冲器;端口B(PB口)有一个8位数据输入缓冲器和一个8位数据输入输出、锁存缓冲器;端口C(PC口)有一个8位数据输入缓冲器和一个8位数据输出锁存缓冲器。通常PA口与PB口用作输入输出的数据端口,PC口用作控制或状态信息的端口。,一、8255A的内部结构,3A组和B组的控制电路(了解)这两组控制电

6、路根据CPU发出的方式选择控制字来控制8255A的工作方式,每个控制组都接收来自读写控制逻辑的“命令”,接收来自内部数据总线的“控制字”,并向与其相连的端口发出适当的控制信号。A组控制部件用来控制PA口和PC口的高4位(PC7PC4);B组控制部件用来控制PB口和PC口的低4位(PC3PCo)。4读写控制逻辑 用来管理数据信息、控制字和状态字的传送,它接收来自CPU地址总线的 A1、A0和控制总线的有关信号(RD、WR、RESET等),向8255A的A、B两组控制部件发送命令。,二、8255A的引脚功能,。CS 选片信号,低电平有效,由它启动CPU与8255A之间的通信(Communicati

7、on)。RD 读信号,低电平有效。它控制8255A送出数据或状态信息至CPU。WR 写信号,低电平有效。它控制把CPU输出的数据或命令信号写到8255A。RESET复位信号,高电平有效,它清除控制寄存器并置所有端口(A、B、C)为输入方式。A1,A0:片内寄存器选择信号(输入)A1A0=00:选中PA口;A1A0=01:选中PB口;A1A0=10:选中PC口;A1A0=11:选中控制端口;D7D0:与CPU侧连接的数据线(双向)PA7PA0:A口外设数据线(双向)PB7PB0:B口外设数据线(双向)PC7PC0:C口外设数据线(双向),表 81 8255A端口功能选择,6.2.2 8255A的

8、工作方式,一、方式0基本输入输出 方式0下,每一个口都作为基本的输入输出口 8255A在方式0工作时 1.CPU可以采用无条件读写方式与8255A交换数据;2.把C口的两个部分用作控制和状态口,与外设的控制和状态端相 连,CPU可以通过对C口的读写,实现A口与B口的查询方式工作;3.方式0中,不允许采用中断方式工作。,二、方式1选通输入输出(应答式输入输出)(了解)方式1下将三个端口分成A、B两组,A、B两个口仍作为数据输入输出口,而C口分成两部分,分别作为A口和B口的联络信号。方式1的输入,(1)STB:输入的选通信号 低电平有效。由外设提供,为低电平时,就把输 入的数据信号(PA7-PA0

9、或PB7-PB0)送入A端口(或B端口)的数据锁存器。(2)IBF:输入缓冲器满信号,高电平有效。由8255A输出,有效时,用以通 知外部设备输入的数据已写入缓冲器。(3)INTR:中断请求信号 高电平有效。当外部设备要向CPU传送数据或请求服务时,8255A就用INTR端的高电平向CPU提出中断请求。当STB、IBF和 INTE都为高电平时,表明数据锁存器内已写入了数据使INTR成为高电平输 出。(4)INTE:中断允许信号 A端口用PC4位的置位复位控制,B端口用PC2位的置位复位控制。只有当PC4或PC2置1时,才允许对应的端口送出中断请求。,方式1的输入过程如下(A口):1)当外设准备

10、好数据,在送出数据的同时,送出一个选通信号STB。8255A的A口数据锁存器在STB下降沿控制下将数据锁存。2)8255A向外设送出高电平的IBF,表示锁存数据已完成,暂时不要再送数据。如果PC41(INTE1),这时就会使INTR变成高电平输出,向CPU发出中断请求。3)CPU响应中断,执行IN指令时,RD信号的下降沿清除中断请求,而RD结束时的上升沿则使IBF复位到零。外设在检测到IBF为零后,可以开始输入下一个字节。2方式1的输出 联络信号信号的作用如下:(1)OBF:输出缓冲器满信号;低电平有效。由8255A输出,当其有效时,表示CPU已经将数据输出到指定的端口,通知外设可以将数据取走

11、。(2)ACK:响应信号,低电平有效。由外设送来,有效时表示8255A数据已经为外设所接收。,(3)INTR:中断请求信号高电平有效。当外设接收了由CPU送给8255A的数据后,8255A就用INTR端向CPU发出中断请求,请求CPU再输出后面的数据。INTR是当ACK,OBF和INTE都为高电平时,才能被置成高电平。(4)INTE:中断允许信号。A口的INTE由PC6置复位,B口的INTE由PC2置复位。PC4、PC5位可以由控制字的D3,设置为输入或输出数据用。方式1的输出过程如下(A口):1)微处理器发WR信号,将数据送入端口的输出缓冲器,WR上升沿一方面清除INTR信号,另一方面使OB

12、F有效,通知外设可以取数;2)外设取数后,发ACK信号,一方面使OBF无效(表示数已取走),另一方面使INTR有效,开始另一个新的输出过程。三、方式2双向选通输入输出(了解)通过8位数据线与外设进行双向通信的方式,既能发送,又能接收数据。工作时可以用中断方式,也可以用查询方式与CPU联系。,6.2.3 8255A 的初始化,一、方式控制字,二、C口按位置/复位(了解),例:用程序将pc口的第七位置1,第3位置0。设控制口地址为:0EBH,MOV AL,00001111B;0FH OUT 0EBH,AL,MOV AL,00000110B;06H OUT 0EBH,AL,6.2.4 8255A的应

13、用举例,例1:在一系统中,要求8255A工作在方式0。现要求将从A口读取的数据 1)求反后从B口输出;2)将其绝对值从C口输出,Mov al,90h Out 63h,al;送控制字到控制字寄存器。Call delay1 In al,60h;从A口输入数据1)Call delay2 NOT AL Out 61h,al;从B口输出数据2)Call delay3 CMP AL,0 JGE PLD NEG AL PLD:Out 62h,al;从C口输出数据,60h63h,1 0 0 1 0 0 0 0,例2:假定在一个系统中,要求8255工作在方式1,端口A为输出,端口B为输入,PC4PC5 为输出,

14、禁止端口B中断.要求:1)对8255A初始化;2)在PC4引脚上输出负脉冲信号。(了解),1)Mov al,10100111bMov dx,43h;控制寄存器地址 Out dx,al;8255A初始化Mov al,0dh;A口的INTE(PC6)置1Out dx,al;A口开放中断Mov al,04h;B口的INTE(PC2)置0Out dx,al;B口禁止中断,40H43H,MOV AL,00001001B OUT 43H,AL CALL DELAY MOV AL,00001000B OUT 43H,AL CALL DELAY MOV AL,00001001B OUT 43H,AL,例6-2

15、 开关接口,编程:每隔5分钟从PA口读入8个开关的状态存入2000H:3000H开始的数据区,工作10小时结束。设8255A的端口地址为60H63H,IN AL,60H,MOV AX,2000HMOV DS,AXMOV BX,3000H,MOV CX,120,MOV AL,10010000B(90H)OUT 63H,AL,MOV BX,ALINC BX,CALL DELAY 5M,DEC CXJNZ LOP,MOV AH,4CHINT 21H,LOP:,七段LED显示接口,七段(或八段)LED数码管简介,abcDefgDP,abcdefgDP,阴极,阳极,图6-20 七段(或八段)LED数码管

16、,例6-3 LED接口,编程:开始点亮LED7,每隔5妙钟发光灯向上移动一个,循环点亮8个灯,工作10小时结束。设8255A的端口地址为60H63H,MOV AL,7FHOUT 60H,AL,MOV CX,7200,MOV AL,10000000B(80H)OUT 63H,AL,ROR AL,01H,CALL DELAY 5S,LOOP LOP,MOV AH,4CHINT 21H,LOP:,例6-8 LED/开关接口(p214),图623 8086CPU、8255A同开关7段LED的接口,LED,8255A,1,1,1,+5v,+5v,PA0,PA1,PA7,PB3,PB2,PB1,PB0,a

17、,b,DP,8255A初始化PA口输出、PB口输入工作于方式0,从PB口读入信息,屏蔽高4位,取开关状态,查7段显示码表,从PA口输出7段显示码,延时,程序流程(工作原理),A1,A2,A0,A1,要求:用7段显示器现实开关的状态设:8255A端口地址0FFF8H、0FFFAH、0FFFCH、0FFFEH,解题分析,(1)8255A的负载能力较小,所以输出口PA经驱动器同7段LED显示器连接;(2)8255A设置为方式0工作,PA口输出,PB口输入;(3)由于8255A的A0A1与CPU的A1A2相连接,A0可以为“1”或“0”,因此,每个端口有两个地址,如:PA口地址为0FF8H或0FF9H

18、;(4)按题意可写出控制程序如下:,ORG2000HMOVAL,82H;(1000 0010B)8255A方式字MOVDX,0FFFEH;8255A控制字端口地址OUTDX,AL;送方式字RDPORTB:MOVDL,0FAH;送端口B地址INAL,DX;读端口B数据ANDAL,0FH;屏蔽高4位MOVBX,OFFSET SSEGCODE;求段码首地址XLAT;查表BX+ALALMOVDL,0F8H;设A口地址OUTDX,AL;段码输出到A口显示MOVAX,56CH;延时DELAY:DECAXJNZDELAY JMPRDPORTB;返回再次读B口内容HLT;暂停,读开关状态,处理,显示,ORG2

19、500HSSEGCODEDB 0C0H,0F9H,0A4H,0B0H,99H,DB 92H,82H,0F8H,80H,98H,88HDB 83H,0C6H,0A1H,86H,8EH;段码定义(共阴)例如:0C0H=1100 0000B;显示“0”PA0=a段=“0”点亮 PA1=b段=“0”点亮 PA2=c段=“0”点亮 PA3=d段=“0”点亮 PA4=e段=“0”点亮 PA5=f段=“0”点亮 PA6=g段=“1”灭 PA7=DP段=“1”灭,a,b,c,d,e,f,g,DP,(1)如果驱动改为反向器,则段码应修改为:SSEGCODEDB 3FH,06H,5BH,4FH,66H,DB 6D

20、H,7DH,07H,7FH,67H,77HDB 7CH,39H,5EH,79H,71H例如:3FH=0C0H=0011 1111B;显示“1”PA0=a段=“1”点亮 PA1=b段=“1”点亮 PA2=c段=“1”点亮 PA3=d段=“1”点亮 PA4=e段=“1”点亮 PA5=f段=“1”点亮 PA6=g段=“0”灭 PA7=DP段=“0”灭(2)如果要求7段LED循环显示0-F十六个数,每个显示5秒,显示20遍,则程序为:,ORG2000HMOVAL,80H(1000 0000B);8255A方式字MOVDX,0FFFEH;8255A控制字端口地址OUTDX,AL;送方式字 MOVBX,2

21、0;循环次数20次DISFLOP:LEADI,SSEGCODE;求段码首地址MOVCX,16;显示字符个数LOP:MOVAL,DI;取显示字符送A口MOVDL,0F8H;设A口地址OUTDX,AL;段码输出到A口显示INCDI;修改显示指针CALLDELAY5S;延时5秒子程序LOOP LOP;循环16次DECBX;修改循环20次的计数值 JNZDISPLOP;返回再次读B口内容,A口显示一个字符,A口显示0F共16个字符,A口重复显示(0F)16个字符共20遍,8255A初始化,HLT;暂停ORG2100H DELAY5S:ORG2500HSSEGCODEDB 0C0H,0F9H,0A4H,

22、0B0H,99H,DB 92H,82H,0F8H,80H,98H,88HDB 83H,0C6H,0A1H,86H,8EH;段码定义(共阴)例如:0C0H=1100 0000B;显示“0”PA0=a段=“0”点亮 PA1=b段=“0”点亮 PA2=c段=“0”点亮 PA3=d段=“0”点亮 PA4=e段=“0”点亮 PA5=f段=“0”点亮 PA6=g段=“1”灭 PA7=DP段=“1”灭,例:8255A组成交通灯的控制。编写程序实现下列功能:K0、K1、K2全部闭合时,红灯亮;K0、K1、K2全部打开时,绿灯亮;其他情况黄灯亮。,分析:K0、K1、K2全部闭合,PA2PA1PA0:000(00

23、H),红灯亮:PB2PB1PB0:100(04H);K0、K1、K2全部打开,PA2PA1PA0:111(07H),绿灯亮:PB2PB1PB0:010(02H);其他情况 黄灯亮:PB2PB1PB0:001(01H);。,根据电路图可知:8255工作于方式0,A口作输入口,B口作输出口。方式控制字为:10010000.端口A的地址为:340H,端口B的地址为341H,控制字寄存器地址为343H。程序如下:,MOV DX,343H;控制字端口地址 MOV AL,90H;方式控制字OUT DX,AL;初始化8255 AGAIN:MOV DX,340H;送端口A地址IN AL,DX;读端口AAND

24、AL,00000111B;取A口的低3位CMP AL,00000111B(07H);判断是否全部打开JE GREENCMP AL,00000000B(00H);判断是否全部闭合JE REDMOV AL,1;黄灯亮JMP OUTPUT RED:MOV AL,4;红灯亮JMP OUTPUT GREEN:MOV AL,2;绿灯亮 OUTPUT:MOV DX,341H;B口端口地址OUT DX,ALJMP AGAINHLT,622用一片8255A控制一组红、绿、黄灯,如习图8-8所示,反复检测s1、s2,要求由s1、s2的“闭合”和“断开”控制红、绿、黄3灯的点亮。当s1合,S2合时,黄灯亮;当s1合

25、,s2断时,红灯亮;当s1断,s2合时,绿灯亮;当s1断,s2断时,黄灯亮。试根据上述条件编制初始化程序以及控制程序(已知8255A的端口地址为60H63H。,当s1合,S2合时,黄灯亮;当s1合,s2断时,红灯亮;当s1断,s2合时,绿灯亮;当s1断,s2断时,黄灯亮。,S2 S1(PA1 PA0)00 A口(00H)PC2=1 C口(04H)1 0 A口(02H)PC0=1 C口(01H)01 A口(01H)PC1=1 C口(02H)11 A口(03H)PC2=1 C口(04H),解:A口是输入,C口是输出,控制字为10010000B(90H)8255口的地址为60H63H,LOP:IN

26、AL,60H CMP AL,01H JZ GREEN CMP AL,02H JZ RED MOV AL,04H JMP SHOWGREEN:MOV AL,02H JMP SHOW RED:MOV AL,01H SHOW:OUT 62H,AL;灯亮 JMP LOP,当S2合(0),s1合(0)(PA=00H),黄灯亮(pc2=1)04H;当s2断(1),s1合(0)(PA=02H),红灯亮(pc0=1)01H;当s2合(0),s1断(1)(PA=01H),绿灯亮(pc1=1)02H;当s2断(1),s1断(1)(PA=03H),黄灯亮(pc2=1)04H。,MOV AL,90H OUT 63H,AL;8255A初始化,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号