《常用接口芯片及应用.pptx》由会员分享,可在线阅读,更多相关《常用接口芯片及应用.pptx(257页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、16 四月 202311 1第6章 常用接口芯片及应用 希望硬件接口电路最好具有一定的可变性,即希望存在这么一种芯片,当这个芯片与CPU相连后,尽管电路不能改变,但其功能可通过程序改变。(如设计某具有O/I功能的端口,可根据需要通过指令来选择输入接口或输出接口),大大提高计算机系统灵活性。第1页/共257页16 四月 20232第6章 常用接口芯片及应用 这种可被用户通过程序来改变功能的电路芯片,称为可编程芯片,而用程序改变芯片工作方式的过程称为芯片编程或芯片初始化。第2页/共257页16 四月 20233第6章 常用接口芯片及应用 如图是一个简单的具有输入功能和输出功能的可编程接口电路,它包
2、括一个输入接口,其组成主要是八位的三态门;一个输出接口,其组成主要是八位的锁存器;另外还有八位的多路转换开关及控制这个开关的寄存器FF。第3页/共257页16 四月 20234第6章 常用接口芯片及应用 FF=0,开关接位置“0”I/O线接锁存器,电路作为输出接口。FF=1,开关接位置“1”I/O线接三态门,电路作为输入接口。用户通过指令把寄存器FF写入0或1,就可选取所需接口工作状态。第4页/共257页16 四月 20235第6章 常用接口芯片及应用 上述方案就是可编程芯片设计的主要思想。用户对寄存器FF写入的内容称为命令字或方式控制字,而寄存器FF称为命令寄存器相应的端口称为命令端口或控制
3、端口,对可编程芯片初始化过程实际上就是对芯片的控制端口写入各种命令字的操作过程。第5页/共257页16 四月 202366 6第6章 常用接口芯片及应用 接口电路已由早期的逻辑电路板(由中、小规模集成电路芯片组成)发展到以大规模集成电路芯片为主的接口芯片,用于微机输入/输出的接口芯片种类极多,功能各异。按功能选择的灵活性来分,可分为可编程接口芯片(8259、8255、8253、8251等)和不可编程接口芯片(如 三态门、CMOS 锁存器、缓冲器电路等);按接口的通用性来分,可分为通用接口芯片(8255、8251等)和专用接口芯片(键盘接口,显示器接口等)。第6页/共257页16 四月 2023
4、77 7第6章 常用接口芯片及应用 本章将对一些常用的接口芯片8255A(并行I/O接口)、8253(计数/定时器)、8251A(串行I/O接口)、9259A(中断控制器)进行介绍。从接口芯片的外特性着手,介绍接口芯片的应用。第7页/共257页16 四月 202388 8第6章 常用接口芯片及应用2 2 可编程并行接口芯片可编程并行接口芯片8255A8255A(P289P289)8255A8255A是是一一种种通通用用的的可可编编程程并并行行I IO O接接口口芯芯片片,广广泛泛用用于于几几乎乎所所有有系系列列的的微微型型机机系系统统中中,具具有有3 3个个带带锁锁存存或或缓缓冲冲的的数数据据
5、端端口口,用用户户可可用用程程序序来来选选择择多多种种操操作作方方式式,各各端端口口内内具具有有中中断断控控制制逻逻辑辑,在在外外设设与与CPUCPU之之间间可可用用中中断断方方式式进进行行信信息息交交换换,使使用用条条件件传传输输方方式式时时可可用用“联联络络”线线进进行行控制。控制。第8页/共257页16 四月 202399 9第6章 常用接口芯片及应用 一、8255A的内部结构 8255A的内部结构如图6.1(P291,图6.5)所示。二、8255A的引脚功能 8255A芯片采用NMOS工艺制造,40个引脚的双列直插封装如图6.4所示。40条引脚可分为与CPU连接和与外设连接的引脚。第9
6、页/共257页16 四月 2023101010第6章 常用接口芯片及应用 三、8255A的工作方式及编程 1.8255A的工作方式 8255A各端口共有3种基本工作方式:方式0基本输入/输出方式;方式1选通输入/输出方式;方式2双向传送方式。第10页/共257页16 四月 2023111111第6章 常用接口芯片及应用 方式0主要工作在无条件的输入/输出方式下,不需要“联络”信号。A口、B口和C口均可工作在此方式下。在方式0下,C口的输出位可由用户直接独立设置为“0”或“1”。第11页/共257页16 四月 202312第6章 常用接口芯片及应用 方式1主要工作在异步或条件传输方式(必须先检查
7、状态,然后才能传输数据)下,此时,仅有A口和B口可工作于方式1。由于条件传输需要联络线,所以在方式1下C口的某些位分别为A口和B口提供3根联络线。第12页/共257页16 四月 202313第6章 常用接口芯片及应用 方式2的双向传送方式是指在同一端口内分时进行输入/输出的操作。8255A中只有A口可工作在这种方式下,此时需要5个控制信号进行“联络”,这5个信号由C口提供。故此时B口只能工作在方式0或方式1下,当B口工作在方式1时,又需要3根联络线。第13页/共257页16 四月 202314第6章 常用接口芯片及应用 所以当A口工作在方式2下,同时B口又工作在方式1下时,8255A的C口8根
8、线将全部作为联络线使用,C口也就因没有I/O功能而“消失”了。关于C口“联络”信号的定义后面讨论。第14页/共257页16 四月 202315第6章 常用接口芯片及应用 2.8255A编程 所谓8255A编程,就是用户在使用8255前,用户可用软件来定义端口的工作方式,选择所需要的功能。掌握8255A的编程时正确使用该芯片的前提。8255A复位时,A、B、C三端口工作在方式0的输入状态。第15页/共257页16 四月 2023161616第6章 常用接口芯片及应用 3.方式选择控制字 格式如图所示(P296,图6.12)。通过定义工作方式控制字可将3个端口定义为各种不同方式的组合 第16页/共
9、257页16 四月 2023171717【例例1 1】设端口设端口A A工作在方式工作在方式1 1输出,端口输出,端口C C上半上半部为输出,下半部为输入,端口部为输出,下半部为输入,端口B B工作在方式工作在方式0 0输入,则这时的方式选择控制字应为输入,则这时的方式选择控制字应为10100011B10100011B或或A3HA3H。第6章 常用接口芯片及应用如果把这个方式选择控制字通过输出指令写入如果把这个方式选择控制字通过输出指令写入到到8255A8255A的控制寄存器中,便完成了对的控制寄存器中,便完成了对8255A8255A的的初始化。显然,对初始化。显然,对8255A8255A初始
10、化后,初始化后,8255A8255A就会就会按照初始化时所设定的方式选择控制字指定的按照初始化时所设定的方式选择控制字指定的工作方式来完成工作。工作方式来完成工作。第17页/共257页16 四月 2023181818第6章 常用接口芯片及应用设设8255A8255A的控制端口地址为的控制端口地址为FFF6HFFF6H,那么对,那么对8255A8255A的初始化程序为的初始化程序为MOV DX,0FFF6H ;控制端口地址控制端口地址MOV AL,0A3H ;写入控制字写入控制字OUT DX,AL第18页/共257页16 四月 2023191919第6章 常用接口芯片及应用【例2】按下述要求对8
11、255A进行初始化:要求A口设为输入数据,工作于方式1;B口设为输出数据,工作于方式0;C口高四位输出,低四位输入数据。8255A的端口地址为04A0H04A6H。第19页/共257页16 四月 2023202020第6章 常用接口芯片及应用解:初始化程序段如下:MOV DX,04A6H;送控制口地址 MOV AL,10110001H;设置方式选择控制字 OUT DX,AL 第20页/共257页16 四月 2023212121第6章 常用接口芯片及应用 4.C口按位置位/复位控制字格式如图所示(P296)D7位为置位/复位控制字标志位,必须使D7=0;D3Dl位用于选择对端口C中某一位进行操作
12、;D0位指出对选中位是置1还是清0。D0=1时,使选中位置1;D0=0时,使选中位清0。第21页/共257页16 四月 2023222222若若D0=0D0=0,D3D2D1=101D3D2D1=101,则则C C端口的第端口的第5 5位位PC5PC5置置“0 0”;若;若D0=1D0=1,D3D2D1=001D3D2D1=001,则,则C C端口端口的第的第1 1位位PC1PC1置置“1 1”。第6章 常用接口芯片及应用第22页/共257页16 四月 2023232323第6章 常用接口芯片及应用【例例1 1】设一片设一片8255A8255A的端口地址为的端口地址为60H60H63H63H,
13、PCPC5 5平平时为低电平,要求从时为低电平,要求从PCPC5 5的引脚输出一个正脉冲。可的引脚输出一个正脉冲。可以用程序先将以用程序先将PCPC5 5置置1 1,输出一个高电平,再把,输出一个高电平,再把PCPC5 5清清0 0,输出一个低电平,结果,输出一个低电平,结果PCPC5 5引脚上便输出一个正引脚上便输出一个正脉冲。脉冲。实现这个功能的程序段如下:实现这个功能的程序段如下:MOV AL,000010l1B OUT 63H,AL ;置置PCPC5 5为高电平为高电平MOV AL,00001010B OUT 63H,AL ;置置PCPC5 5为低电平为低电平第23页/共257页16
14、四月 2023242424第6章 常用接口芯片及应用【例2】要使端口C的bit3置位的控制字为:00000111B;MOV AL,00000111B OUT 0FBH,AL 而使端口C的bit3复位的控制字为:00000110B;MOV AL,00000110B OUT 0FBH,AL第24页/共257页16 四月 2023252525第6章 常用接口芯片及应用【例3】试编程使8255A的C口PC3位产生一个方波信号。8255A的端口地址为04A0H04A6H。解:可利用C口置/复位控制字,交替使PC3位输出“1”和“0”。程序段如下:第25页/共257页16 四月 2023262626第6章
15、 常用接口芯片及应用 MOV DX,04A6H ;送控制口地址 LL:MOV AL,00000111B;对PC3位置1 OUT DX,AL CALL DELAY ;延时 MOV AL,00000110B;对PC3位置0 OUT DX,AL JMP LL ;循环,产生周期信号 第26页/共257页16 四月 2023272727第6章 常用接口芯片及应用【例例4 4】要把端口要把端口C C的的PC7PC7置成置成1 1。则控制字应为则控制字应为00001111B00001111B或或0FH0FH。把该控。把该控制字的内容写入制字的内容写入8255A8255A的控制寄存器中,就实现的控制寄存器中,
16、就实现了对端口了对端口C C的的PC7PC7位置位置1 1的操作。的操作。其程序如下:其程序如下:MOV DX,0FFF6H;8255A8255A控制端口地址控制端口地址MOV AL,0FH ;PC7PC7置置1 1的控制字的控制字OUT DX,AL ;写入控制端口写入控制端口若要使端口若要使端口C C的的PC3PC3置置0 0,则控制字应为,则控制字应为00000110B00000110B或或06H06H。第27页/共257页16 四月 2023282828其程序段如下:其程序段如下:MOV DX,0FFF6H ;控制端口地址控制端口地址MOV AL,06H ;PC3PC3置置0 0的控制字
17、的控制字OUT DX,AL ;写入控制端口写入控制端口端口端口C C置置1/1/置置0 0控制字虽然是对端口控制字虽然是对端口C C进行操作,但进行操作,但它是一种控制字,因此,必须写入控制端口而不能它是一种控制字,因此,必须写入控制端口而不能写入端口写入端口C C的地址中。的地址中。第6章 常用接口芯片及应用第28页/共257页16 四月 2023292929第6章 常用接口芯片及应用5 5 读入读入C C端口状态字端口状态字前面指出,当前面指出,当8255A8255A工作于方式工作于方式1 1和方式和方式2 2时,时,C C端口产生或接收与外设间的联络信号,这时,读端口产生或接收与外设间的
18、联络信号,这时,读取取C C端口的内容可使编程人员测试或检查外设的状端口的内容可使编程人员测试或检查外设的状态,用输入指令对态,用输入指令对C C端口进行读操作就可读取端口进行读操作就可读取C C端端口的状态。口的状态。C C端口的状态字有以下几种格式。端口的状态字有以下几种格式。第29页/共257页16 四月 2023303030第6章 常用接口芯片及应用方式方式1 1状态字状态字输入状态字的格式如下:各位含义见输入状态字的格式如下:各位含义见P297P297其中,其中,D7D7D3D3位为位为A A组状态字,组状态字,D2D2D0D0位为位为B B组状态字。组状态字。输出状态字的格式如下:
19、各位含义见输出状态字的格式如下:各位含义见P297P297其中,其中,D7D7D3D3位为位为A A组状态字,组状态字,D2D2D0D0位为位为B B组状态字。组状态字。第30页/共257页16 四月 2023313131第6章 常用接口芯片及应用方式方式2 2状态字状态字方式方式2 2状态字的格式如下:状态字的格式如下:其中,其中,D7D7D3D3位为位为A A组状态字,组状态字,D2D2D0D0位为位为B B组所用,组所用,当当B B口工作于方式口工作于方式1 1时,这几位作时,这几位作B B口的状态字,当口的状态字,当B B口口工作于方式工作于方式0 0时,这几位不是状态位,而是用做输入
20、时,这几位不是状态位,而是用做输入/输出。输出。第31页/共257页16 四月 2023323232第6章 常用接口芯片及应用四四.8255A8255A的工作方式的功能及应用的工作方式的功能及应用 8255A8255A共有三种工作方式可选择,每个端口共有三种工作方式可选择,每个端口可选择的工作方式都有所差别。可选择的工作方式都有所差别。8255A8255A端口端口A A可可以在方式以在方式0 0、方式、方式1 1和方式和方式2 2三种方式下工作,而三种方式下工作,而端口端口B B只能在方式只能在方式0 0和方式和方式1 1两种方式下工作。两种方式下工作。8255A8255A工作在什么方式下是由
21、控制寄存器的内容工作在什么方式下是由控制寄存器的内容决定的。决定的。8255A8255A的各个的各个I/OI/O端口在不同工作方式端口在不同工作方式下的功能如下的功能如表表6-36-3所示。下面介绍这三种工作方所示。下面介绍这三种工作方式的特点、功能、时序及使用场合等。式的特点、功能、时序及使用场合等。第32页/共257页16 四月 2023333333第6章 常用接口芯片及应用 、方式 0基本输入输出方式(P291)8255A的3个端口均可工作在这种方式下,特别是C口只能工作在方式0。在这种方式下,CPU与端口之间交换数据可以执行IN或OUT指令完成,不需检测状态线,8255A的3个端口可分
22、别定义为输入或输出端口,因此3个端口可有表2所示的16种输入/输出组合。第33页/共257页16 四月 2023343434第6章 常用接口芯片及应用 由控制字中D4D3D1D0 等4位的不同取值可定义方式0的16种工作方式的组合,如表2所示。第34页/共257页16 四月 2023353535第6章 常用接口芯片及应用 这意味着当8255A与CPU相连后,该接口部件可以提供用户16种不同功能的输入/输出端口。采用可编程芯片作为接口电路可以大大提高计算机硬件系统灵活性。方式0中,数据输出有锁存,输入无锁存。方式0的输入/输出时序如图6.6所示。第35页/共257页16 四月 202336363
23、6第6章 常用接口芯片及应用第36页/共257页16 四月 2023373737第6章 常用接口芯片及应用 例1:要求8255A的A口和B口均工作于方式0,A口和下C口作输入口,B口和上C口作输出口,设8255A各端口地址为40H43H,可用下列指令来设置这种工作方式:MOV AL,91H;方式控制字0010001BAL OUT 43H,AL;方式控制字送控制寄存器第37页/共257页16 四月 202338第6章 常用接口芯片及应用 例2.8255A的A口和B口工作在方式0,A口为输入端口,接有四个开关。B口为输出端,接有一个七段发光二极管,连接电路如图所示。试编一程序要求七段发光二班管显示
24、开关所拨通的数字。第38页/共257页16 四月 202339第6章 常用接口芯片及应用第39页/共257页16 四月 202340第6章 常用接口芯片及应用 例中,8255的端口地址由两部分组成,由CPUA15 A3通过74LS138产生CS,A2A1组合成4个端口地址,A0与译码器Y4通过逻辑组合,保证8255的4个端口地址为偶地址。8020H、8022H、8024H、8026H。七段发光二极管为共阳极LED器件。a段亮从PB0输出1,熄灭输出0。第40页/共257页16 四月 202341第6章 常用接口芯片及应用 8255A的口接有开关,4位开关的组合可为0HFH。为此,可将在LED上
25、显示0HFH各字符的断码列于图表中。方式控制字:10010000B(90H或99H)参考程序如下:第41页/共257页16 四月 202342第6章 常用接口芯片及应用A_PORT EQU 8020H B_PORT EQU 8022H;定义端口的符号地址C_PORT EQU 8024HCTRL_PORT EQU 8026HDATA SEGMENT TAB1 DB 3FH,06H,31HDATA ENDS第42页/共257页16 四月 202343第6章 常用接口芯片及应用 CODE SEGMENT ASSUME DS:DATA,CS:CODE MOV AX,DATA MOV DS,AX MOV
26、 AL,90H MOV DX,CTRL_PORT OUT DX,AL;设置8255方式字ADD1:MOV DX,A_PORT第43页/共257页16 四月 202344第6章 常用接口芯片及应用 IN AL,DX;取键盘信息 AND AL,0FH;屏蔽高4位 MOV BX,OFFSET TAB1 XLAT MOV DX,B_PORT OUT DX,AL;输出显示 MOV CX,0600HADD2:LOOP ADD2 JMP ADD1 CODE ENDS END第44页/共257页16 四月 202345第6章 常用接口芯片及应用 方式1选通输入/输出方式P292 在这种方式下,数据输入/输出操
27、作要在选通信号控制下完成,因此适合条件传送,A口和B口可工作在此方式下,这时C口的某些位就用来作“联络线”。A口和B口可以作为输入接口,也可作为输出接口,由于输入和输出接口所需的选通控制不同,相应“联络线”的定义功能也就不同。第45页/共257页16 四月 2023464646第6章 常用接口芯片及应用 当当8255A8255A的端口的端口A A和端口和端口B B都工作在方式都工作在方式1 1时,时,任何一个端口都可作为输入端口或输出端口,这任何一个端口都可作为输入端口或输出端口,这时端口时端口C C中有中有6 6位将被规定为配合方式位将被规定为配合方式1 1的联络信的联络信号,其中号,其中3
28、 3位作为端口位作为端口A A的联络信号,另外的联络信号,另外3 3位作位作为端口为端口B B的联络信号。端口的联络信号。端口C C剩下的剩下的2 2位可由程序位可由程序设定为输入或输出,也具有置位设定为输入或输出,也具有置位/复位功能。复位功能。第46页/共257页16 四月 2023474747 如果如果8255A8255A的端口的端口A A和端口和端口B B中只有一个工作中只有一个工作在方式在方式1 1,则此时端口,则此时端口C C中的中的3 3位被规定为配合工位被规定为配合工作在方式作在方式1 1的联络信号。另外一个端口的联络信号。另外一个端口(端口端口A A或或端口端口B)B)可以工
29、作在方式可以工作在方式0 0,端口,端口C C中的其他位也中的其他位也可以工作在方式可以工作在方式0 0,作为输入或输出。,作为输入或输出。第6章 常用接口芯片及应用第47页/共257页16 四月 2023484848第6章 常用接口芯片及应用 方式1输入情况下有关信号的规定 当A口作为方式1输入时,C口的PC3、PC4、PC5作为控制信号,PC6、PC7则可作为I/O口利用。当B口作为方式1输入时,C口的PC0、PC1、PC2作为控制信号。如图6.7所示(P293,图6.8)。第48页/共257页16 四月 2023494949第6章 常用接口芯片及应用 8255A中的端口A和端口B均工作于
30、方式1输入模式,其工作方式控制字格式如图6.8-1所示 方式1的输入时序如图6.9所示(P294,T6.9)。常见的8255A的输入接口(中断I/O)的连接图如图6-7所示第49页/共257页16 四月 202350第6章 常用接口芯片及应用 例:8255的A口和B口分别工作在方式1和方式0,A口为输入端口,接有8个开关。B口为输出端,接有8个发光二极管,连接电路如图所示。现要求用方式1把改变后的键信息输入到CPU并通过B口显示。第50页/共257页16 四月 202351第6章 常用接口芯片及应用 这个系统的工作过程如下:1、用户通过改变K0K7,产生新的键信息;2、按下开关K,产生选通信号
31、,数据进入A口的缓冲器,此步骤实际上告诉CPU,8255的A口来了一个新数据;第51页/共257页16 四月 202352第6章 常用接口芯片及应用3、IBFA有效使LED点亮。这里含有两个信息,一个是8255A 通知CPU其A口来了一个新数据,另一个是告诉用户CPU尚未取走这个这个数据,用户不得再送其他数据;4 4、CPUCPU取走这个数取走这个数据,据,LEDLED熄灭;熄灭;5 5、转步骤、转步骤1 1。第52页/共257页16 四月 202353第6章 常用接口芯片及应用 设8255的I/O地址分布为88H8EH,相应的程序段如下 mov al,10111001b;设置A口为方式1的输
32、入,loop1:in al,8ch;取C口的状态线 test al,00100000b;测试IBFA信息 jz loop1 ;等待用户设定新的键值 in al,80h;取数。LED灯灭(相对于步骤4)out 82h,al;更新B口的显示 jmp loop1;重复 第53页/共257页16 四月 2023545454第6章 常用接口芯片及应用 方式1输出有关信号的规定 当A口作为方式1输出时,C口的PC7、PC6、PC3作为控制信号,PC4、PC5则作为I/O口使用。当B口作为方式1输出时,C口的PC0、PC1、PC2作为控制信号,PC4、PC5则作为I/O口使用。如图6.10所示(P292,图
33、6.6)。第54页/共257页16 四月 2023555555第6章 常用接口芯片及应用 8255A中的端口A和端口B为工作方式1输出模式,那么工作方式控制字的具体格式如图6.11所示,方式1的输出时序如图6.12所示(P293,T6.7),输出接口(中断I/O),其一般连接如图6-10-1所示第55页/共257页16 四月 202356第6章 常用接口芯片及应用 例:8255A的A口工作在方式1的输出,接有8个发光二极管,现要求把内存中的10个数,通过A口发送给发光二极管以二进制的形式供用户抄录。第56页/共257页16 四月 202357第6章 常用接口芯片及应用 这个系统的工作过程如下:
34、lCPU把内存中的一个数据 写入A口;lLED灯亮,告诉用户LED显示的是新数据.l用户抄录数据;l用户按下开关K,发ACK信号,告诉CPU数据已取走;l转第一步。第57页/共257页16 四月 202358第6章 常用接口芯片及应用DATA SEGMENT XX DB X0,X1,X9DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODE MOV AX,DATA MOV DS,AX第58页/共257页16 四月 202359第6章 常用接口芯片及应用 mov cx,10;送10个数mov bx,offset xx;数组指针送bxloop1:mov al,bx
35、;取数out 88h,al;送数到A口loop2:in al,8ch;取C口状态线anl al,80h;测试IBOAjnz loop2 ;用户尚未抄录数据,检测;等待,;此时;LED灯亮(对应步骤2)call delay ;用户已抄录数据,LED灯灭(对;应步 骤4)inc bx;准备送下一个数 loop loop1;循环10次 ;返回系统第59页/共257页16 四月 2023606060第6章 常用接口芯片及应用 、方式2双向总线方式(仅适用于A口)P294 工作特点:该方式只适用于A口(因其有输入、输出两个锁存器)。在该方式下,可使外设利用A口的8位数据线与CPU之间分时进行双向数据传送
36、,即在单一的8位数据线PA7-PA0上,既可输出数据给外设,也可以从外设输入数据(当然不能同时进行)。输入或输出数据均锁存。第60页/共257页16 四月 2023616161第6章 常用接口芯片及应用 A口工作在方式2时,C口的PC7PC3被规定为控制信号,配合A口使用。如图6.13所示(P294,T6.10)。图中控制信号的含义与方式1中完全相同。第61页/共257页16 四月 2023626262第6章 常用接口芯片及应用 当A口工作在方式2时,B口可工作在方式0或方式1。在方式1情况下,可用PC2PC0作为控制信号。方式控制字格式如图6.14-1所示。系统连接图如图6-13-1所示。第
37、62页/共257页16 四月 2023636363通过以上对通过以上对8255A8255A的三种基本工作方式的分析可以得的三种基本工作方式的分析可以得出这样的结论:端口出这样的结论:端口A A可以工作在这三种工作方式中可以工作在这三种工作方式中的任何一种,端口的任何一种,端口B B只能工作在方式只能工作在方式0 0或方式或方式1 1,端口,端口C C则通常配合端口则通常配合端口A A和端口和端口B B工作,为端口工作,为端口A A和端口和端口B B提提供其输入供其输入/输出过程中所需的联络信号,方式输出过程中所需的联络信号,方式2 2只有只有端口端口A A使用。同一组的两个端口使用。同一组的两
38、个端口(A(A组或组或B B组组)可以分别可以分别工作在输出方式或输入方式,并不要求一定要同为工作在输出方式或输入方式,并不要求一定要同为输入方式或同为输出方式,各端口具体工作在什么输入方式或同为输出方式,各端口具体工作在什么工作方式下,作为输入端口还是输出端口,这些都工作方式下,作为输入端口还是输出端口,这些都是通过写入方式选择控制字来决定的。是通过写入方式选择控制字来决定的。第6章 常用接口芯片及应用第63页/共257页16 四月 2023646464第6章 常用接口芯片及应用 四、8255A与CPU的连接使用 8255A占外设的4个地址,即A口、B口、C口和控制寄存器各占一个外设接口地址
39、。对同一个地址分别进行读写工作。例如:读A口可将A口的数据读出;写A口可将CPU的数据写入A口并输出。利用8255A的片选信号、A0、A1,以及读写信号,既可方便的对8255A进行寻址。这些信号的功能如表所示。(P298,表6.1)第64页/共257页16 四月 2023656565第6章 常用接口芯片及应用第65页/共257页16 四月 2023666666第6章 常用接口芯片及应用 图6.17(P298)为8255A与8086总线连接,8255A右边的信号线与系统总线连接,左边的3个口分别与外设的数据输入输出线、状态信息连接。第66页/共257页16 四月 2023676767第6章 常用
40、接口芯片及应用 五、8255A初始化 8255A初始化编程可以分两步进行:首先把方式选择控制字写入控制口,确定所用端口的工作方式,如果端口选择为工作方式1或方式2,还要确定CPU和8255A之间是用查询方式还是用中断方式交换信息,并以此来组织C口置位/复位控制字,写入8255A控制口,使相应的中断允许标志(INTE)置0或置1,从而达到禁止或开放中断的目的。完成了初始化编程之后,CPU就可以用IN和OUT指令通过8255A与外设交换数据了。第67页/共257页16 四月 2023686868第6章 常用接口芯片及应用 3、8255A的应用 一、简单开关接口电路 例1:在工业控制等实际应用中,经
41、常需要检测某些开关量的状态。如图所示,在某系统中,采用8255A不断检测8个开关K7K0的通断状态,并随时在8个发光二极管LED7LED0上显示出来。要求开关闭合时,相应的LED亮;开关断开时,相应的LED灭。8255A的端口地址为60H63H。第68页/共257页16 四月 2023696969第6章 常用接口芯片及应用第69页/共257页16 四月 2023707070第6章 常用接口芯片及应用 解:由电路原理可知,A口为方式0输入,B口为方式0输出,则8255A的方式选择控制字为10010000B,即90H。且开关闭合,则A口输入低电平;当B口输出低电平时,相应的LED点亮。程序段如下:
42、第70页/共257页16 四月 2023717171第6章 常用接口芯片及应用 MOV DX,63H MOV AL,90H ;设置方式选择控制字 OUT DX,ALTES:MOV DX,60H ;读A口(开关状态)IN AL,DX MOV DX,61H ;送B口显示 OUT 61H,AL JMP TES ;循环检测 第71页/共257页16 四月 2023727272第6章 常用接口芯片及应用 二、8255A与LED数码管接口(P335)1七段数码显示器 一般7段LED显示器的内部结构和外部引脚如图6.46(a)所示。其内部各发光二极管之间的连接方法有共阴极和共阳极两种,如图6.46(b)和6
43、.46(c)所示。第72页/共257页16 四月 2023737373第6章 常用接口芯片及应用 LED数码管的主要部分是七段发光二极管,如图6.46(a)所示。这七段发光二极管分别称为a、b、c、d、e、f、g,有的产品还附带有一个小数点h,通过7个发光段的不同组合,可以显示09和AF共16个字母数字或其它异形字符。第73页/共257页16 四月 2023747474第6章 常用接口芯片及应用 LED数码管有共阳极、共阴极两种结构,如图6.46(b)和(c)所示。如为共阳极结构,则共用的阳极应接高电平,各段则输入低电平,方为有效。如为共阴极结构,共用的阴极必须接低电平,而各段处于高电平时便发
44、光。表6.2表示了共阴极与共阳极结构字符0F的编码表。编码的低位为a,高位为g。第74页/共257页16 四月 2023757575 由此可见,无论是共阴极还是共阳极,要使由此可见,无论是共阴极还是共阳极,要使LEDLED按照要求显示数字或字母,必须输入各段发按照要求显示数字或字母,必须输入各段发光的代码,该代码称为七段码。显示代码之间的光的代码,该代码称为七段码。显示代码之间的对应关系如表对应关系如表6.26.2所示。例如,要显示数字所示。例如,要显示数字5 5,只,只要将要将a a、f f、g g、c c、d d段接低电平,其余段接高电段接低电平,其余段接高电平即可。对于共阴极结构的平即可
45、。对于共阴极结构的LEDLED显示器,阴极连显示器,阴极连在一起后接地,各阳极段接到器件的引脚上,要在一起后接地,各阳极段接到器件的引脚上,要想点亮某一段,只要将相应引脚接高电平即可。想点亮某一段,只要将相应引脚接高电平即可。第6章 常用接口芯片及应用第75页/共257页16 四月 2023767676第6章 常用接口芯片及应用 由于发光二极管发光时,通过的平均电流为10mA20mA,而通常的输出锁存器不能提供这么大的电流,所以LED各段必须接驱动电路,如图所示。第76页/共257页16 四月 2023777777第6章 常用接口芯片及应用 例1:8255A作为开关K0K3及七段LED显示器接
46、口。要求开关设置的二进制信息,由PC0PC3输入,经程序转换为对应的七段LED显示器的字形代码后,由PA口输出显示。第77页/共257页16 四月 2023787878第6章 常用接口芯片及应用第78页/共257页16 四月 2023797979第6章 常用接口芯片及应用解:8255A各端口地址确定:各端口地址为各端口地址为:E8HEEH第79页/共257页16 四月 2023808080第6章 常用接口芯片及应用 LED显示器的字形代码表存放在TABLE单元开始的内存中.TABLE DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,98H,88H,
47、83H,0C6H,0A1H,86H,8EH第80页/共257页16 四月 2023818181第6章 常用接口芯片及应用实现操作的具体程序如下:MOV DX,0EEH ;设置8255A工作方式 MOV AL,81H OUT DX,ALMOV DX,0ECH ;指向端口C,读开关状态 IN AL,DX AND AL,0FHLEA BX,TABLE ;显示代码表首地址送BX XLAT ;查表,取出相应的字形码送ALMOV DX,0E8H;指向端口A OUT DX,AL;输出字形码显示 HLT第81页/共257页16 四月 2023828282第6章 常用接口芯片及应用 三、8255与并行打印机接口
48、(P332)例1:并行打印机接口电路P332 利用8255A的A口方式0与微型打印机相连,将内存缓冲区BUFF中的字符打印输出。试完成相应的软硬件设计。(CPU为8088)首先分析打印机。微型打印机和主机之间的接口采用并行接口。第82页/共257页16 四月 2023838383第6章 常用接口芯片及应用1打印机接口信号(如表)P332BUSY:输出,表示打印机是否可接受数据的信号。忙信号,有效时不能接受数据。:输出,向主机发出的传送数据的请求脉冲。响应信号,有效时接收数据。:输入,主机向打印机输入数据的选通脉冲。数据选通,有效时接收数据。第83页/共257页16 四月 2023848484第
49、6章 常用接口芯片及应用 2工作流程 工作流程是:数据传输时序如图所示 主机将要打印的数据送上数据线,然后发选通信号。打印机将数据读入,同时使BUSY线为高,通知主机停止送数。这时,打印机内部对读入的数据进行处理。处理完以后使ACK有效,同时使BUSY失效,通知主机可以发下一个数据 第84页/共257页16 四月 2023858585第6章 常用接口芯片及应用 3硬件连线 PC0充当打印机的选通信号,通过对PC0的置位/复位产生选通。PC7接收打印机发出的“BUSY”信号。8255A的控制字为:10001000 即88H A口方式0,输出;C口高位方式0输入,低位方式0输出 PC0置位:000
50、00001 即 01HPC0复位:00000000 即 00H8255A的4个口地址为:00H,01H,02H,03H。第85页/共257页16 四月 2023868686第6章 常用接口芯片及应用第86页/共257页16 四月 2023878787第6章 常用接口芯片及应用4编制程序 DADA SEGMENTBUFF DB This is a print program!,$DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA 第87页/共257页16 四月 2023888888第6章 常用接口芯片及应用START:MOV AX,DATA MOV DS,