第6章可编程并行接口芯片和串行接口芯片2课件_第1页
第6章可编程并行接口芯片和串行接口芯片2课件_第2页
第6章可编程并行接口芯片和串行接口芯片2课件_第3页
第6章可编程并行接口芯片和串行接口芯片2课件_第4页
第6章可编程并行接口芯片和串行接口芯片2课件_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

第6章可编程并行接口芯片和串行接口芯片22022/11/5第6章可编程并行接口芯片和串行接口芯片2第6章可编程并行接口芯片和串行接口芯片22022/11/2第1教学内容(6学时)可编程接口芯片概述8255A芯片的原理8255A芯片的应用实例教学目标理解常用可编程通信接口芯片的作用了解8255A芯片的原理掌握8255A初始化方法掌握8255A作为LED显示器、开关、打印机等接口时的硬件连接方法和控制程序设计教学重点及难点常用可编程通信接口芯片的作用8255A方式1的工作原理及时序(难点)8255A作为接口时控制程序设计方法(重点)第6章可编程并行接口芯片和串行接口芯片2教学内容(6学时)第6章可编程并行接口芯片和串行接口芯片226.1并行接口和串行接口6.1.1可编程接口芯片概述接口电路中的单元(1)输入/输出数据锁存器和缓冲器,用以解决CPU与外设之间速度不匹配的矛盾,以及起隔离和缓冲的作用;(2)控制命令和状态寄存器,以存放CPU对外设的控制命令,以及外设的状态信息;(3)地址译码器,用来选择接口电路中的不同端口(寄存器);(4)读写控制逻辑;(5)中断控制逻辑。第6章可编程并行接口芯片和串行接口芯片26.1并行接口和串行接口第6章可编程并行接口芯片和串行接3接口中的一些公用引脚作用及其连接方法

√1.片选概念CS或CE2.读/写概念DB线,M/IO线,RD线,WR线,CE/CS线

√3.可编程接口的概念

目前所用的接口芯片大部分是多通道、多功能的:所谓多通道就是指一个接口芯片一面与CPU连接,另一面可接几个外设;所谓多功能是指一个接口芯片能实现多种接口功能,实现不同的电路工作状态。第6章可编程并行接口芯片和串行接口芯片2接口中的一些公用引脚作用及其连接方法第6章可编程并行接口芯片4

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(输入缓冲器满)表示。第6章可编程并行接口芯片和串行接口芯片2√4.“联络”的概念(了解)过程:1)外设把数据送上接5输出过程:RDY=“H”,表示接口寄存器已有数据,通知外设来取数;STB=“L”,表示端口数据已为外设接收,且已处理,CPU可送新数据到接口寄存器,STB的后沿使RDY变为“L”。在输出接口中,RDY信号有时用OBF(输出缓冲器满)表示,STB信号有时用ACK(响应)表示。接口芯片的引脚⑴⑵⑶⑷第6章可编程并行接口芯片和串行接口芯片2输出过程:接口芯片的引脚⑴⑵⑶⑷第6章可编程并行接口芯片和串66.1.2并行接口、串行接口和模拟接口数据信息分:数字量、模拟量和开关量;数字接口(数字量和开关量);模拟接口(模拟量);数字接口分并行接口和串行接口;接口芯片与CPU之间传送的总是并行数字量;串行接口内必须含并-串/串-并转换部件;模拟接口内必须含A/D或D/A转换器第6章可编程并行接口芯片和串行接口芯片26.1.2并行接口、串行接口和模拟接口数据信息分:数字量、76.2可编程并行接口芯片8255A6.2.18255A的结构和引脚功能第6章可编程并行接口芯片和串行接口芯片26.2可编程并行接口芯片8255A6.2.18255A81.数据总线缓冲器 这是一个三态双向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的内部结构第6章可编程并行接口芯片和串行接口芯片21.数据总线缓冲器一、8255A的内部结构第6章可编程并行接9

3.A组和B组的控制电路(了解)这两组控制电路根据CPU发出的方式选择控制字来控制8255A的工作方式,每个控制组都接收来自读/写控制逻辑的“命令”,接收来自内部数据总线的“控制字”,并向与其相连的端口发出适当的控制信号。

A组控制部件用来控制PA口和PC口的高4位(PC7~PC4);B组控制部件用来控制PB口和PC口的低4位(PC3~PCo)。。4.读/写控制逻辑用来管理数据信息、控制字和状态字的传送,它接收来自CPU地址总线的A1、A0和控制总线的有关信号(RD、WR、RESET等),向8255A的A、B两组控制部件发送命令。第6章可编程并行接口芯片和串行接口芯片23.A组和B组的控制电路(了解)第6章可编程并行接口芯片和10二、8255A的引脚功能。CS—选片信号,低电平有效,由它启动CPU与8255A之间的通信(Communication)。RD—读信号,低电平有效。它控制8255A送出数据或状态信息至CPU。WR—写信号,低电平有效。它控制把CPU输出的数据或命令信号写到8255A。RESET——复位信号,高电平有效,它清除控制寄存器并置所有端口(A、B、C)为输入方式。A1,A0:片内寄存器选择信号(输入)A1A0=00:选中PA口;A1A0=01:选中PB口;A1A0=10:选中PC口;A1A0=11:选中控制端口;D7—D0:与CPU侧连接的数据线(双向)

PA7—PA0:A口外设数据线(双向)PB7—PB0:B口外设数据线(双向)PC7—PC0:C口外设数据线(双向)第6章可编程并行接口芯片和串行接口芯片2二、8255A的引脚功能。CS—选片信号,低电平有效,由它11A1A0RDWRCS输入操作(读)001010000111000端口A数据总线端口B数据总线端口C数据总线输出操作(写)00110101111100000000数据总线端口A数据总线端口B数据总线端口C数据总线控制寄存器断开功能(禁止)X1XX11X01X11100数据总线为三态(高阻)非法状态数据总线为三态(高阻)表8-18255A端口功能选择第6章可编程并行接口芯片和串行接口芯片2A1A0RDWRCS输入操作(读)00010端口A数据总线126.2.28255A的工作方式√一、方式0——基本输入输出方式0下,每一个口都作为基本的输入输出口8255A在方式0工作时

1.CPU可以采用无条件读写方式与8255A交换数据;2.把C口的两个部分用作控制和状态口,与外设的控制和状态端相连,CPU可以通过对C口的读写,实现A口与B口的查询方式工作;3.方式0中,不允许采用中断方式工作。第6章可编程并行接口芯片和串行接口芯片26.2.28255A的工作方式√一、方式0——基本13二、方式1——选通输入输出(应答式输入输出)(了解)方式1下将三个端口分成A、B两组,A、B两个口仍作为数据输入输出口,而C口分成两部分,分别作为A口和B口的联络信号。方式1的输入第6章可编程并行接口芯片和串行接口芯片2二、方式1——选通输入输出(应答式输入输出)(了解)第6章可14(1)STB:输入的选通信号低电平有效。由外设提供,为低电平时,就把输入的数据信号(PA7-PA0或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"时,才允许对应的端口送出中断请求。第6章可编程并行接口芯片和串行接口芯片2(1)STB:输入的选通信号第6章可编程并行接口芯片和串行接15方式1的输入过程如下(A口):1)当外设准备好数据,在送出数据的同时,送出一个选通信号STB。8255A的A口数据锁存器在STB下降沿控制下将数据锁存。2)8255A向外设送出高电平的IBF,表示锁存数据已完成,暂时不要再送数据。如果PC4=1(INTE=1),这时就会使INTR变成高电平输出,向CPU发出中断请求。3)CPU响应中断,执行IN指令时,RD信号的下降沿清除中断请求,而RD结束时的上升沿则使IBF复位到零。外设在检测到IBF为零后,可以开始输入下一个字节。2.方式1的输出联络信号信号的作用如下:(1)OBF:输出缓冲器满信号;低电平有效。由8255A输出,当其有效时,表示CPU已经将数据输出到指定的端口,通知外设可以将数据取走。(2)ACK:响应信号,低电平有效。由外设送来,有效时表示8255A数据已经为外设所接收。

第6章可编程并行接口芯片和串行接口芯片2方式1的输入过程如下(A口):第6章可编程并行接口芯片和串行16(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信号,另一方面使OBF有效,通知外设可以取数;2)外设取数后,发ACK信号,一方面使OBF无效(表示数已取走),另一方面使INTR有效,开始另一个新的输出过程。三、方式2——双向选通输入输出(了解)

通过8位数据线与外设进行双向通信的方式,既能发送,又能接收数据。工作时可以用中断方式,也可以用查询方式与CPU联系。第6章可编程并行接口芯片和串行接口芯片2(3)INTR:中断请求信号第6章可编程并行接口芯片和串17第6章可编程并行接口芯片和串行接口芯片2第6章可编程并行接口芯片和串行接口芯片2186.2.38255A的初始化一、方式控制字第6章可编程并行接口芯片和串行接口芯片26.2.38255A的初始化一、方式控制字第6章可编程19二、C口按位置/复位(了解)第6章可编程并行接口芯片和串行接口芯片2二、C口按位置/复位(了解)第6章可编程并行接口芯片和串行接20例:用程序将pc口的第七位置1,第3位置0。设控制口地址为:0EBH

MOVAL,00001111B;0FHOUT0EBH,AL

MOVAL,00000110B;06HOUT0EBH,AL第6章可编程并行接口芯片和串行接口芯片2例:用程序将pc口的第七位置1,第3位置0。216.2.48255A的应用举例√例1:在一系统中,要求8255A工作在方式0。现要求将从A口读取的数据1)求反后从B口输出;2)将其绝对值从C口输出0

Moval,90hOut63h,al

;送控制字到控制字寄存器。Calldelay1Inal,60h;从A口输入数据1)Calldelay2NOTALOut61h,al;从B口输出数据2)Calldelay3CMPAL,0JGEPLDNEGALPLD:Out62h,al

;从C口输出数据60h~63h10010000第6章可编程并行接口芯片和串行接口芯片26.2.48255A的应用举例√例1:在一系统中,要求22√例2:假定在一个系统中,要求8255工作在方式1,端口A为输出,端口B为输入,PC4~PC5

为输出,禁止端口B中断.要求:1)对8255A初始化;2)在PC4引脚上输出负脉冲信号。(了解)1)Moval,10100111bMovdx,43h;控制寄存器地址

Outdx,al;8255A初始化Moval,0dh;A口的INTE(PC6)置1Outdx,al;A口开放中断Moval,04h;B口的INTE(PC2)置0Outdx,al;B口禁止中断40H~43HMOVAL,00001001BOUT43H,ALCALLDELAYMOVAL,00001000BOUT43H,ALCALLDELAYMOVAL,00001001BOUT43H,AL第6章可编程并行接口芯片和串行接口芯片2√例2:假定在一个系统中,要求8255工作在方式1,端口A为23例6-2开关接口D0-D7PA0A0PA1A1PA2PA3CSPA4PA5PA6RDPA7WR8255AS0S1S2S3S4S5S6S7+5v编程:每隔5分钟从PA口读入8个开关的状态存入2000H:3000H开始的数据区,工作10小时结束。设8255A的端口地址为60H~63HINAL,60HMOVAX,2000HMOVDS,AXMOVBX,3000H内存初始化MOVCX,120循环次数初始化10×60/5=120MOVAL,10010000B(90H)OUT63H,AL8255A初始化MOV[BX],ALINCBXCALLDELAY5MDECCXJNZLOPMOVAH,4CHINT21HLOP:PA口读开关状态将开关状态送人内存并修改地址指针延时5分工作10小时吗工作结束,返回DOS系统第6章可编程并行接口芯片和串行接口芯片2例6-2开关接口D0-D7PA0S0+5v编程:每24七段LED显示接口七段(或八段)LED数码管简介abcdefgDPabcDefgDPabcdefgDP阴极阳极图6-20七段(或八段)LED数码管第6章可编程并行接口芯片和串行接口芯片2七段LED显示接口七段(或八段)LED数码管简介abcdef25例6-3LED接口编程:开始点亮LED7,每隔5妙钟发光灯向上移动一个,循环点亮8个灯,工作10小时结束。设8255A的端口地址为60H~63HD0-D7PA0A0PA1A1PA2PA3CSPA4PA5PA6RDPA7WR8255A+5vLED0LED1LED2LED3LED4LED5LED6LED7MOVAL,7FHOUT60H,ALMOVCX,7200循环次数初始化10×60×60/5=7200MOVAL,10000000B(80H)OUT63H,AL8255A初始化RORAL,01HCALLDELAY5SLOOPLOPMOVAH,4CHINT21HPA口送灯控制字1—灭0-亮改变灯控制字延时5妙工作10小时吗工作结束,返回DOS系统LOP:第6章可编程并行接口芯片和串行接口芯片2例6-3LED接口编程:开始点亮LED7,每隔5妙钟发26例6-8LED/开关接口(p214)锁存器译码器AD0-AD7

ALEAD8-AD15BHE8086RDWRRESETY0D0-D7PA0A0PA1A1PA2PA3CSPA48255APA5PA6RDPA7WRPB3RESETPB2PB1PB0图6-238086CPU、8255A同开关7段LED的接口LED第6章可编程并行接口芯片和串行接口芯片2例6-8LED/开关接口(p214)锁译AD0-A278255A111+5v+5vPA0PA1PA7PB3PB2PB1PB0abDP8255A初始化PA口输出、PB口输入工作于方式0从PB口读入信息屏蔽高4位,取开关状态查7段显示码表从PA口输出7段显示码延时程序流程(工作原理)A1A2A0A1要求:用7段显示器现实开关的状态设:8255A端口地址0FFF8H、0FFFAH、0FFFCH、0FFFEH第6章可编程并行接口芯片和串行接口芯片28255A111+5v+5vPA0PA1PA7PB3PB2P28解题分析(1)8255A的负载能力较小,所以输出口PA经驱动器同7段LED显示器连接;(2)8255A设置为方式0工作,PA口输出,PB口输入;(3)由于8255A的A0A1与CPU的A1A2相连接,A0可以为“1”或“0”,因此,每个端口有两个地址,如:PA口地址为0FF8H或0FF9H;(4)按题意可写出控制程序如下:第6章可编程并行接口芯片和串行接口芯片2解题分析(1)8255A的负载能力较小,所以输出口PA经驱动29

ORG 2000H MOV AL,82H;(10000010B)8255A方式字 MOV DX,0FFFEH;8255A控制字端口地址 OUT DX,AL;送方式字RDPORTB: MOV DL,0FAH;送端口B地址 IN AL,DX;读端口B数据 AND AL,0FH;屏蔽高4位

MOV BX,OFFSETSSEGCODE;求段码首地址 XLAT;查表[BX+AL]→AL MOV DL,0F8H;设A口地址 OUT DX,AL;段码输出到A口显示

MOV AX,56CH;延时DELAY: DEC AX JNZ DELAYJMP RDPORTB;返回再次读B口内容 HLT;暂停读开关状态处理显示第6章可编程并行接口芯片和串行接口芯片2 ORG 2000H读开关状态处理显示第6章可编程并行接30

ORG 2500HSSEGCODE DB0C0H,0F9H,0A4H,0B0H,99H, DB92H,82H,0F8H,80H,98H,88H DB83H,0C6H,0A1H,86H,8EH

;段码定义(共阴)例如:0C0H=11000000B;显示“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”灭abcdefgDP第6章可编程并行接口芯片和串行接口芯片2 abcdefgDP第6章可编程并行接口芯片和串行接口芯31(1)如果驱动改为反向器,则段码应修改为:SSEGCODE DB3FH,06H,5BH,4FH,66H, DB6DH,7DH,07H,7FH,67H,77H DB7CH,39H,5EH,79H,71H例如:3FH=0C0H=00111111B;显示“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遍,则程序为:第6章可编程并行接口芯片和串行接口芯片2(1)如果驱动改为反向器,则段码应修改为:第6章可编程并行接32 ORG 2000H MOV AL,80H(10000000B);8255A方式字 MOV DX,0FFFEH;8255A控制字端口地址 OUT DX,AL;送方式字

MOV BX,20;循环次数20次DISFLOP: LEA DI,SSEGCODE;求段码首地址 MOV CX,16;显示字符个数LOP: MOV AL,[DI];取显示字符送A口 MOV DL,0F8H;设A口地址 OUT DX,AL

;段码输出到A口显示

INC DI

;修改显示指针 CALL DELAY5S;延时5秒子程序

LOOPLOP;循环16次

DEC BX;修改循环20次的计数值JNZ DISPLOP;返回再次读B口内容A口显示一个字符A口显示0~F共16个字符A口重复显示(0~F)16个字符共20遍8255A初始化第6章可编程并行接口芯片和串行接口芯片2 ORG 2000HA口显示A口显示0~F共16个字符A33

HLT;暂停 ORG 2100H DELAY5S: : : ORG 2500HSSEGCODE DB0C0H,0F9H,0A4H,0B0H,99H, DB92H,82H,0F8H,80H,98H,88H DB83H,0C6H,0A1H,86H,8EH

;段码定义(共阴)例如:0C0H=11000000B;显示“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”灭第6章可编程并行接口芯片和串行接口芯片2 第6章可编程并行接口芯片和串行接口芯片234例:8255A组成交通灯的控制。√编写程序实现下列功能:K0、K1、K2全部闭合时,红灯亮;K0、K1、K2全部打开时,绿灯亮;其他情况黄灯亮。

分析:K0、K1、K2全部闭合,PA2PA1PA0:000(00H),红灯亮:PB2PB1PB0:100(04H);K0、K1、K2全部打开,PA2PA1PA0:111(07H),绿灯亮:PB2PB1PB0:010(02H);其他情况黄灯亮:PB2PB1PB0:001(01H);。第6章可编程并行接口芯片和串行接口芯片2例:8255A组成交通灯的控制。√分析:第6章可编程并行接口35根据电路图可知:8255工作于方式0,A口作输入口,B口作输出口。方式控制字为:10010000.端口A的地址为:340H,端口B的地址为341H,控制字寄存器地址为343H。

程序如下:

MOVDX,343H ;控制字端口地址 MOVAL,90H ;方式控制字

OUTDX,AL ;初始化8255

AGAIN: MOVDX,340H ;送端口A地址

INAL,DX ;读端口A

ANDAL,00000111B;取A口的低3位

CMPAL,00000111B(07H);判断是否全部打开

JEGREEN

CMPAL,00000000B(00H);判断是否全部闭合

JERED

MOVAL,1 ;黄灯亮

JMPOUTPUT

RED: MOVAL,4

;红灯亮

JMPOUTPUT

GREEN: MOVAL,2 ;绿灯亮

OUTPUT:MOVDX,341H ;B口端口地址

OUTDX,AL

JMPAGAIN

HLT

第6章可编程并行接口芯片和串行接口芯片2根据电路图可知:8255工作于方式0,A口作输入口,B口作输36√6.22用一片8255A控制一组红、绿、黄灯,如习图8-8所示,反复检测s1、s2,要求由s1、s2的“闭合”和“断开”控制红、绿、黄3灯的点亮。

当s1合,S2合时,黄灯亮;

当s1合,s2断时,红灯亮;

当s1断,s2合时,绿灯亮;

当s1断,s2断时,黄灯亮。

试根据上述条件编制初始化程序以及控制程序(已知8255A的端口地址为60H~63H。

当s1合,S2合时,黄灯亮;当s1合,s2断时,红灯亮;

当s1断,s2合时,绿灯亮;当s1断,s2断时,黄灯亮。S2S1(PA1PA0)0 0A口(00H)

PC2=1C口(04H)

10A口(02H)

PC0=1C口(01H)

0 1A口(01H)

PC1=1C口(02H)

1 1A口(03H)

PC2=1C口(04H)

第6章可编程并行接口芯片和串行接口芯片2√6.22用一片8255A控制一组红、绿、黄灯,如习图8-837演讲完毕,谢谢听讲!再见,seeyouagain3rew2022/11/5第6章可编程并行接口芯片和串行接口芯片2演讲完毕,谢谢听讲!再见,seeyouagain3rew38第6章可编程并行接口芯片和串行接口芯片22022/11/5第6章可编程并行接口芯片和串行接口芯片2第6章可编程并行接口芯片和串行接口芯片22022/11/2第39教学内容(6学时)可编程接口芯片概述8255A芯片的原理8255A芯片的应用实例教学目标理解常用可编程通信接口芯片的作用了解8255A芯片的原理掌握8255A初始化方法掌握8255A作为LED显示器、开关、打印机等接口时的硬件连接方法和控制程序设计教学重点及难点常用可编程通信接口芯片的作用8255A方式1的工作原理及时序(难点)8255A作为接口时控制程序设计方法(重点)第6章可编程并行接口芯片和串行接口芯片2教学内容(6学时)第6章可编程并行接口芯片和串行接口芯片2406.1并行接口和串行接口6.1.1可编程接口芯片概述接口电路中的单元(1)输入/输出数据锁存器和缓冲器,用以解决CPU与外设之间速度不匹配的矛盾,以及起隔离和缓冲的作用;(2)控制命令和状态寄存器,以存放CPU对外设的控制命令,以及外设的状态信息;(3)地址译码器,用来选择接口电路中的不同端口(寄存器);(4)读写控制逻辑;(5)中断控制逻辑。第6章可编程并行接口芯片和串行接口芯片26.1并行接口和串行接口第6章可编程并行接口芯片和串行接41接口中的一些公用引脚作用及其连接方法

√1.片选概念CS或CE2.读/写概念DB线,M/IO线,RD线,WR线,CE/CS线

√3.可编程接口的概念

目前所用的接口芯片大部分是多通道、多功能的:所谓多通道就是指一个接口芯片一面与CPU连接,另一面可接几个外设;所谓多功能是指一个接口芯片能实现多种接口功能,实现不同的电路工作状态。第6章可编程并行接口芯片和串行接口芯片2接口中的一些公用引脚作用及其连接方法第6章可编程并行接口芯片42

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(输入缓冲器满)表示。第6章可编程并行接口芯片和串行接口芯片2√4.“联络”的概念(了解)过程:1)外设把数据送上接43输出过程:RDY=“H”,表示接口寄存器已有数据,通知外设来取数;STB=“L”,表示端口数据已为外设接收,且已处理,CPU可送新数据到接口寄存器,STB的后沿使RDY变为“L”。在输出接口中,RDY信号有时用OBF(输出缓冲器满)表示,STB信号有时用ACK(响应)表示。接口芯片的引脚⑴⑵⑶⑷第6章可编程并行接口芯片和串行接口芯片2输出过程:接口芯片的引脚⑴⑵⑶⑷第6章可编程并行接口芯片和串446.1.2并行接口、串行接口和模拟接口数据信息分:数字量、模拟量和开关量;数字接口(数字量和开关量);模拟接口(模拟量);数字接口分并行接口和串行接口;接口芯片与CPU之间传送的总是并行数字量;串行接口内必须含并-串/串-并转换部件;模拟接口内必须含A/D或D/A转换器第6章可编程并行接口芯片和串行接口芯片26.1.2并行接口、串行接口和模拟接口数据信息分:数字量、456.2可编程并行接口芯片8255A6.2.18255A的结构和引脚功能第6章可编程并行接口芯片和串行接口芯片26.2可编程并行接口芯片8255A6.2.18255A461.数据总线缓冲器 这是一个三态双向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的内部结构第6章可编程并行接口芯片和串行接口芯片21.数据总线缓冲器一、8255A的内部结构第6章可编程并行接47

3.A组和B组的控制电路(了解)这两组控制电路根据CPU发出的方式选择控制字来控制8255A的工作方式,每个控制组都接收来自读/写控制逻辑的“命令”,接收来自内部数据总线的“控制字”,并向与其相连的端口发出适当的控制信号。

A组控制部件用来控制PA口和PC口的高4位(PC7~PC4);B组控制部件用来控制PB口和PC口的低4位(PC3~PCo)。。4.读/写控制逻辑用来管理数据信息、控制字和状态字的传送,它接收来自CPU地址总线的A1、A0和控制总线的有关信号(RD、WR、RESET等),向8255A的A、B两组控制部件发送命令。第6章可编程并行接口芯片和串行接口芯片23.A组和B组的控制电路(了解)第6章可编程并行接口芯片和48二、8255A的引脚功能。CS—选片信号,低电平有效,由它启动CPU与8255A之间的通信(Communication)。RD—读信号,低电平有效。它控制8255A送出数据或状态信息至CPU。WR—写信号,低电平有效。它控制把CPU输出的数据或命令信号写到8255A。RESET——复位信号,高电平有效,它清除控制寄存器并置所有端口(A、B、C)为输入方式。A1,A0:片内寄存器选择信号(输入)A1A0=00:选中PA口;A1A0=01:选中PB口;A1A0=10:选中PC口;A1A0=11:选中控制端口;D7—D0:与CPU侧连接的数据线(双向)

PA7—PA0:A口外设数据线(双向)PB7—PB0:B口外设数据线(双向)PC7—PC0:C口外设数据线(双向)第6章可编程并行接口芯片和串行接口芯片2二、8255A的引脚功能。CS—选片信号,低电平有效,由它49A1A0RDWRCS输入操作(读)001010000111000端口A数据总线端口B数据总线端口C数据总线输出操作(写)00110101111100000000数据总线端口A数据总线端口B数据总线端口C数据总线控制寄存器断开功能(禁止)X1XX11X01X11100数据总线为三态(高阻)非法状态数据总线为三态(高阻)表8-18255A端口功能选择第6章可编程并行接口芯片和串行接口芯片2A1A0RDWRCS输入操作(读)00010端口A数据总线506.2.28255A的工作方式√一、方式0——基本输入输出方式0下,每一个口都作为基本的输入输出口8255A在方式0工作时

1.CPU可以采用无条件读写方式与8255A交换数据;2.把C口的两个部分用作控制和状态口,与外设的控制和状态端相连,CPU可以通过对C口的读写,实现A口与B口的查询方式工作;3.方式0中,不允许采用中断方式工作。第6章可编程并行接口芯片和串行接口芯片26.2.28255A的工作方式√一、方式0——基本51二、方式1——选通输入输出(应答式输入输出)(了解)方式1下将三个端口分成A、B两组,A、B两个口仍作为数据输入输出口,而C口分成两部分,分别作为A口和B口的联络信号。方式1的输入第6章可编程并行接口芯片和串行接口芯片2二、方式1——选通输入输出(应答式输入输出)(了解)第6章可52(1)STB:输入的选通信号低电平有效。由外设提供,为低电平时,就把输入的数据信号(PA7-PA0或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"时,才允许对应的端口送出中断请求。第6章可编程并行接口芯片和串行接口芯片2(1)STB:输入的选通信号第6章可编程并行接口芯片和串行接53方式1的输入过程如下(A口):1)当外设准备好数据,在送出数据的同时,送出一个选通信号STB。8255A的A口数据锁存器在STB下降沿控制下将数据锁存。2)8255A向外设送出高电平的IBF,表示锁存数据已完成,暂时不要再送数据。如果PC4=1(INTE=1),这时就会使INTR变成高电平输出,向CPU发出中断请求。3)CPU响应中断,执行IN指令时,RD信号的下降沿清除中断请求,而RD结束时的上升沿则使IBF复位到零。外设在检测到IBF为零后,可以开始输入下一个字节。2.方式1的输出联络信号信号的作用如下:(1)OBF:输出缓冲器满信号;低电平有效。由8255A输出,当其有效时,表示CPU已经将数据输出到指定的端口,通知外设可以将数据取走。(2)ACK:响应信号,低电平有效。由外设送来,有效时表示8255A数据已经为外设所接收。

第6章可编程并行接口芯片和串行接口芯片2方式1的输入过程如下(A口):第6章可编程并行接口芯片和串行54(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信号,另一方面使OBF有效,通知外设可以取数;2)外设取数后,发ACK信号,一方面使OBF无效(表示数已取走),另一方面使INTR有效,开始另一个新的输出过程。三、方式2——双向选通输入输出(了解)

通过8位数据线与外设进行双向通信的方式,既能发送,又能接收数据。工作时可以用中断方式,也可以用查询方式与CPU联系。第6章可编程并行接口芯片和串行接口芯片2(3)INTR:中断请求信号第6章可编程并行接口芯片和串55第6章可编程并行接口芯片和串行接口芯片2第6章可编程并行接口芯片和串行接口芯片2566.2.38255A的初始化一、方式控制字第6章可编程并行接口芯片和串行接口芯片26.2.38255A的初始化一、方式控制字第6章可编程57二、C口按位置/复位(了解)第6章可编程并行接口芯片和串行接口芯片2二、C口按位置/复位(了解)第6章可编程并行接口芯片和串行接58例:用程序将pc口的第七位置1,第3位置0。设控制口地址为:0EBH

MOVAL,00001111B;0FHOUT0EBH,AL

MOVAL,00000110B;06HOUT0EBH,AL第6章可编程并行接口芯片和串行接口芯片2例:用程序将pc口的第七位置1,第3位置0。596.2.48255A的应用举例√例1:在一系统中,要求8255A工作在方式0。现要求将从A口读取的数据1)求反后从B口输出;2)将其绝对值从C口输出0

Moval,90hOut63h,al

;送控制字到控制字寄存器。Calldelay1Inal,60h;从A口输入数据1)Calldelay2NOTALOut61h,al;从B口输出数据2)Calldelay3CMPAL,0JGEPLDNEGALPLD:Out62h,al

;从C口输出数据60h~63h10010000第6章可编程并行接口芯片和串行接口芯片26.2.48255A的应用举例√例1:在一系统中,要求60√例2:假定在一个系统中,要求8255工作在方式1,端口A为输出,端口B为输入,PC4~PC5

为输出,禁止端口B中断.要求:1)对8255A初始化;2)在PC4引脚上输出负脉冲信号。(了解)1)Moval,10100111bMovdx,43h;控制寄存器地址

Outdx,al;8255A初始化Moval,0dh;A口的INTE(PC6)置1Outdx,al;A口开放中断Moval,04h;B口的INTE(PC2)置0Outdx,al;B口禁止中断40H~43HMOVAL,00001001BOUT43H,ALCALLDELAYMOVAL,00001000BOUT43H,ALCALLDELAYMOVAL,00001001BOUT43H,AL第6章可编程并行接口芯片和串行接口芯片2√例2:假定在一个系统中,要求8255工作在方式1,端口A为61例6-2开关接口D0-D7PA0A0PA1A1PA2PA3CSPA4PA5PA6RDPA7WR8255AS0S1S2S3S4S5S6S7+5v编程:每隔5分钟从PA口读入8个开关的状态存入2000H:3000H开始的数据区,工作10小时结束。设8255A的端口地址为60H~63HINAL,60HMOVAX,2000HMOVDS,AXMOVBX,3000H内存初始化MOVCX,120循环次数初始化10×60/5=120MOVAL,10010000B(90H)OUT63H,AL8255A初始化MOV[BX],ALINCBXCALLDELAY5MDECCXJNZLOPMOVAH,4CHINT21HLOP:PA口读开关状态将开关状态送人内存并修改地址指针延时5分工作10小时吗工作结束,返回DOS系统第6章可编程并行接口芯片和串行接口芯片2例6-2开关接口D0-D7PA0S0+5v编程:每62七段LED显示接口七段(或八段)LED数码管简介abcdefgDPabcDefgDPabcdefgDP阴极阳极图6-20七段(或八段)LED数码管第6章可编程并行接口芯片和串行接口芯片2七段LED显示接口七段(或八段)LED数码管简介abcdef63例6-3LED接口编程:开始点亮LED7,每隔5妙钟发光灯向上移动一个,循环点亮8个灯,工作10小时结束。设8255A的端口地址为60H~63HD0-D7PA0A0PA1A1PA2PA3CSPA4PA5PA6RDPA7WR8255A+5vLED0LED1LED2LED3LED4LED5LED6LED7MOVAL,7FHOUT60H,ALMOVCX,7200循环次数初始化10×60×60/5=7200MOVAL,10000000B(80H)OUT63H,AL8255A初始化RORAL,01HCALLDELAY5SLOOPLOPMOVAH,4CHINT21HPA口送灯控制字1—灭0-亮改变灯控制字延时5妙工作10小时吗工作结束,返回DOS系统LOP:第6章可编程并行接口芯片和串行接口芯片2例6-3LED接口编程:开始点亮LED7,每隔5妙钟发64例6-8LED/开关接口(p214)锁存器译码器AD0-AD7

ALEAD8-AD15BHE8086RDWRRESETY0D0-D7PA0A0PA1A1PA2PA3CSPA48255APA5PA6RDPA7WRPB3RESETPB2PB1PB0图6-238086CPU、8255A同开关7段LED的接口LED第6章可编程并行接口芯片和串行接口芯片2例6-8LED/开关接口(p214)锁译AD0-A658255A111+5v+5vPA0PA1PA7PB3PB2PB1PB0abDP8255A初始化PA口输出、PB口输入工作于方式0从PB口读入信息屏蔽高4位,取开关状态查7段显示码表从PA口输出7段显示码延时程序流程(工作原理)A1A2A0A1要求:用7段显示器现实开关的状态设:8255A端口地址0FFF8H、0FFFAH、0FFFCH、0FFFEH第6章可编程并行接口芯片和串行接口芯片28255A111+5v+5vPA0PA1PA7PB3PB2P66解题分析(1)8255A的负载能力较小,所以输出口PA经驱动器同7段LED显示器连接;(2)8255A设置为方式0工作,PA口输出,PB口输入;(3)由于8255A的A0A1与CPU的A1A2相连接,A0可以为“1”或“0”,因此,每个端口有两个地址,如:PA口地址为0FF8H或0FF9H;(4)按题意可写出控制程序如下:第6章可编程并行接口芯片和串行接口芯片2解题分析(1)8255A的负载能力较小,所以输出口PA经驱动67

ORG 2000H MOV AL,82H;(10000010B)8255A方式字 MOV DX,0FFFEH;8255A控制字端口地址 OUT DX,AL;送方式字RDPORTB: MOV DL,0FAH;送端口B地址 IN AL,DX;读端口B数据 AND AL,0FH;屏蔽高4位

MOV BX,OFFSETSSEGCODE;求段码首地址 XLAT;查表[BX+AL]→AL MOV DL,0F8H;设A口地址 OUT DX,AL;段码输出到A口显示

MOV AX,56CH;延时DELAY: DEC AX JNZ DELAYJMP RDPORTB;返回再次读B口内容 HLT;暂停读开关状态处理显示第6章可编程并行接口芯片和串行接口芯片2 ORG 2000H读开关状态处理显示第6章可编程并行接68

ORG 2500HSSEGCODE DB0C0H,0F9H,0A4H,0B0H,99H, DB92H,82H,0F8H,80H,98H,88H DB83H,0C6H,0A1H,86H,8EH

;段码定义(共阴)例如:0C0H=11000000B;显示“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”灭abcdefgDP第6章可编程并行接口芯片和串行接口芯片2 abcdefgDP第6章可编程并行接口芯片和串行接口芯69(1)如果驱动改为反向器,则段码应修改为:SSEGCODE DB3FH,06H,5BH,4FH,66H, DB6DH,7DH,07H,7FH,67H,77H DB7CH,39H,5EH,79H,71H例如:3FH=0C0H=00111111B;显示“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遍,则程序为:第6章可编程并行接口芯片和串行接口芯片2(1)如果驱动改为反向器,则段码应修改为:第6章可编程并行接70 ORG 2000H MOV AL,80H(10000000B);8255A方式字 MOV DX,0FFFEH;8255A控制字端口地址 OUT DX,AL;送方式字

MOV BX,20;循环次数20次DISFLOP: LEA DI

温馨提示

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

评论

0/150

提交评论