第八章8255A并行接口
8255可编程并行接口知识点总结

8255可编程并⾏接⼝知识点总结可编程并⾏接⼝8255知识点总结8255A 是INTEL系列的并⾏接⼝芯⽚,由于它是⼀种可编程的外部接⼝部件,通常作为微机系统总线与外部设备的接⼝控制部件,可通过软件来设置芯⽚的⼯作⽅式,⽤8255A 连接外部设备时,通常不需要附加外部电路,给使⽤带来很⼤的⽅便。
1、内部结构2、引脚说明8255作为主机与外设的连接芯⽚,必须提供与主机相连的3个总线接⼝,即数据线、地址线、控制线接⼝。
同时必须具有与外设连接的接⼝A、B、C⼝。
由于8255可编程,所以必须具有逻辑控制部分,因⽽8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。
(1)与CPU连接部分根据定义,8255能并⾏传送8位数据,所以其数据线为8根D0~D7。
由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C⼝及控制寄存器,故地址线为两根A0、A1。
此外CPU要对8255进⾏读、写与⽚选操作,所以控制线为⽚选、复位、读、写信号。
各信号的引脚编号如下:总线分类:(2)与外设接⼝部分8255有3个通道A、B、C与外设连接,每个通道⼜有8根线与外设连接,所以8255可以⽤24根线与外设连接,若进⾏开关量控制,则8255可同时控制24路开关。
①数据端⼝A、B、C端⼝A(PA0-PA7):对应了1个8位的数据输⼊锁存器和1个数据输出锁存/缓冲器。
所以A 作为输⼊或输出时,数据均受到锁存。
端⼝B(PB0-PB7):对应了1个8位的数据输⼊缓冲器和1个数据输出锁存器/缓冲器。
所以B 输⼊锁存,输出不受到锁存。
端⼝C(PC0-PB7):对应1个8位数据缓冲器和1个数据输出锁存/缓冲器,所以C输⼊不锁村,输出锁存。
当8255⼯作于应答I/O⽅式时,C⼝⽤于应答信号的通信。
A、B组的逻辑控制功能A组:组成:端⼝A(PA0-PA7)和端⼝C的⾼4位(PC4-PC7)这⼏个端⼝由A组统⼀进⾏逻辑控制。
实验三、8255A并行接口实验

实验结论
通过本次实验,我们验证了8255A并行接口芯片的基本功能和工作原理。
实验结果证明了8255A芯片可以实现并行数据传输,并且可以通过设置不 同的端口模式来实现不同的输入输出功能。
在实际应用中,8255A芯片可以作为并行数据传输的重要接口之一,广泛 应用于各种数字电路和微机控制系统中。
05
实验总结与展望
等。
学习如何设置8255a并行接口芯 片的控制字,掌握其工作模式和
特点。
理解8255a并行接口芯片在计算 机中的重要性和作用,以及与其
他接口芯片的区别和联系。
掌握8255a并行接口芯片的工作原理
了解8255a并行接口芯片的基本 结构和工作原理,包括输入/输 出端口、控制寄存器和数据总线
等。
学习如何设置8255a并行接口芯 片的控制字,掌握其工作模式和
缺乏实验指导
实验过程中,我们遇到了一些难 以解决的问题,如果能有更多的 实验指导资料或教师指导,将有 助于我们更好地有限,我们未能充 分探索8255a并行接口的更多功 能和应用场景,建议增加实验时 间,以便我们有更多的机会深入 了解该芯片。
实验不足与改进建议
实验难度不够
学习如何使用8255a并行接口芯片进行硬件控制
学习如何使用8255a并行接口 芯片进行输入/输出操作,包括 读取和写入数据。
掌握如何通过8255a并行接口 芯片控制外部硬件设备,如 LED灯、继电器等。
了解如何将8255a并行接口芯 片与其他芯片连接,实现硬件 的扩展和控制。
了解并行接口在计算机中的作用和重要性
实验三
将端口B和端口C设置为输入,端口A设置为输出。 当在端口B和端口C上施加不同的电平时,端口A 的输出与端口C的输入相同。
第八章8255A并行接口

端口B
对应 PC2 对应 PC1 对应 PC0 PC2置位
8255A工作在方式1下的输入时序
(3)端口A方式1作输出:
D7~D0 PA7~PA0
输出缓冲器满信号 表示CPU已经输出了数据
INTEA PC6
PC7 PC6
与门
WR
PC3
OBFA ACKA
INTRA
外设响应信号 表示外设已经接收到数据
3. A组、B组控制电路:这两组控制电路根据CPU发出的方式选择控制字 来控制8255A的工作方式,每个控制组都接收来自读写控制逻辑的 “命令”,接收来自内部数据总线的“控制字”,并向与其相连的端 口发出适当的控制信号。A组控制电路控制PA口和PC口高4位,B组控 制电路控制PB口和PC口低4位。
4. 读/写控制逻辑:用来管理数据、控制字和状态字的传送,接收系统 总线发来的有关信号,并向A、B两组控制部件发送命令。
? 8255A输出给外设的一个控制信号,当其有效时, 表示CPU已把数据输出给指定的端口,外设可以取走
? ACK*——响应信号,低有效
? 外设的响应信号,指示 8255A的端口数据已由外设 接受
? INTR——中断请求信号,高有效
? 当输出设备已接受数据后 , 8255A 输出此信号向 CPU提出中断请求,要求CPU继续提供数据
8255A的内部结构
A组控制
A组 A口 (8位)
D0~D7
RD WR A1 A0 CS RESET
数据总线 缓冲器
读/写 控制逻辑
A组 C口高位 (4位)
B组 C口低位 (4位)
B组控制
B组 B口 (8位)
PA 0~PA 7 PC4~PC 7 PC0~PC3 PB0 ~PB 7
D8.1并行接口芯片8255A

5. A口外设数据线PA7~PA0(双向) B口外设数据线PB7~PB0(双向) C口外设数据线PC7~PC0(双向)
8.1.3 8255A的工作方式
1. 方式0——基本输入输出方式 特点:适用于PA口、PB口和PC口作输入/输出端口, 2. 方式1——选通输入/输出方式(应答式输入/输出) 特点:适用于PA口和PB口作输入/输出端口,PC口 主要作为联络线;
( 其他)
××××× 芯片禁止,数据线高阻
(说明:由于A4A3A2未用,8255A共有32个地 址,即060H~07FH,其中060H~063H为基本 地址,其余为影像地址)
2. 读写控制信号RD,WR 3. 复位信号RESET——当RESET=1(有效)时, 8255A复位,内部寄存器被清除,三个端口自动置 为输入方式; 4. 数据线D7~D0——双向、三态,用于8255A与 CPU之间的数据传送;
PC7
8.1.5 8255A应用举例 例1. 用8255A作为打印机的接口,工作于方式0, CPU用查询方式将BUFF缓冲区中的100个字符送打 印机打印。
D7~D0 判断是否忙 AB CPU
DB
译 码
PA7~PA0 8255A 驱动 CS初始化 PC6 PC2 A1 A0
打印机 STB BUSY
D7 ~ D0
DB
用于 输出 用于 输入
A口
输出设备 OBFA ACKA 输入设备 IBFA STBA
AB CPU
译 码
8255A CS PC7 PC6 A1 PC5 A0 PC4 PC3 INTRA
8.l.4 8255A的控制字(必须记住!) 1. 方式选择控制字—用于决定8255A三个端口的工作方式
PC6/PC2——响应信号ACKA/ACKB,低电平 有效;外设在OBF=0(缓冲器满)的条件下,用 ACK=0表示将数据取走,同时由8255内部逻辑 使OBF=1(示空),在中断允许(INTE=1) 时,使INTR=1产生中断请求。 PC3/PC0——中断请求信号输出INTRA/INTRB
实验七 8255A 并行口实验

实验七8255A 并行口实验(二)一、实验目的掌握通过8255A 并行口传输数据的方法,以控制发光二极管的亮与灭。
二、实验内容用8255 做输出口,控制十二个发光管亮灭,模拟交通灯管理。
三、实验程序CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0FF2BH;8255控制口IOAPT EQU 0FF28H;PA口IOBPT EQU 0FF29H;PB口IOCPT EQU 0FF2AH;PC口ORG 11E0HSTART: MOV AL,82H;PB输入,PA,PC输出MOV DX,IOCONPTOUT DX,AL;写命令字MOV DX,IOBPT;读PB口IN AL,DXMOV BYTE PTR DS:[0601H],AL;保存PBMOV DX,IOCONPT;8255控制口MOV AL,80HOUT DX,AL;写命令字,PA,PB,PC输出MOV DX,IOBPTMOV AL,DS:[0601H]OR AL,0F0HOUT DX,AL;将读入的PB状态重新置到PB上MOV DX,IOCPTMOV AL,0F0HOUT DX,AL;四路口红灯全亮CALL DELAY1;延时IOLED0:MOV AL,10100101BMOV DX,IOCPTOUT DX,AL;南北绿灯亮,东西红灯亮;-----------------------------------------------CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时;------------------------此处为南北绿灯亮的时间-------------OR AL,0F0HOUT DX,AL;南北绿灯灭,东西红灯亮MOV CX,8IOLED1:MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,10101111BOUT DX,AL;南北黄灯亮,东西黄灯亮CALL DELAY2;延时 --------------南北黄灯闪烁时间OR AL,01010000BOUT DX,AL;南北黄灯灭,东西黄灯灭CALL DELAY2;延时LOOP IOLED1;南北黄灯闪烁8次MOV DX,IOCPTMOV AL,0F0HOUT DX,AL;四路口红灯全亮;----------------------------------------------------------CALL DELAY2;延时;----------------------此处为四路口红灯全亮时间---------------- MOV AL,01011010BOUT DX,AL;东西绿灯亮,南北红灯亮;---------------------------------------------------------CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY1;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时CALL DELAY2;延时;----------------------此处为东西绿灯亮的时间-----------------------------------OR AL,0F0HOUT DX,AL;东西绿灯灭MOV CX,8IOLED2:MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,01011111BOUT DX,AL;东西黄灯亮,CALL DELAY2;延时 --------------东西黄灯闪烁时间OR AL,10100000BOUT DX,AL;东西黄灯灭,CALL DELAY2;延时LOOP IOLED2;东西黄灯闪烁8次,南北黄灯亦然MOV DX,IOCPTMOV AL,0F0HOUT DX,AL;四路口红灯全亮;---------------------------------------------------------- CALL DELAY2;延时;----------------------此处为四路口红灯全亮时间------------ JMP IOLED0;循环继续DELAY1:PUSH AXPUSH CXMOV CX,0030HDELY2:CALL DELAY2;延时,DELAY1延时是DELAY2的48倍LOOP DELY2POP CXPOP AXRETDELAY2:PUSH CXMOV CX,8000HDELA1:LOOP DELA1POP CXRETCODE ENDSEND START四、实验结果本实验实现了双路口的,交通灯循环。
8255a并行接口芯片的基本结构及工作原理 -回复

8255a并行接口芯片的基本结构及工作原理-回复[8255a并行接口芯片的基本结构及工作原理]是指针对特定应用设计的一种集成电路芯片,用于实现计算机系统与外部设备之间的并行通信。
本文将逐步介绍8255a并行接口芯片的基本结构和工作原理。
一、引言随着电子技术的发展,计算机系统逐渐与外部设备进行连接,实现数据的输入和输出。
为了满足不同应用场景的需求,芯片设计者提出了各种接口芯片,其中并行接口芯片是其中之一。
并行接口芯片的作用是实现计算机系统和外部设备之间的高速数据传输,其基本结构和工作原理对于提高系统的数据传输效率具有重要作用。
二、基本结构8255a并行接口芯片是一种功能强大的集成电路芯片,基本结构包括以下组成部分:1. 端口组(Port Group):8255a芯片内部包含三个8位的端口组,分别为A、B、C端口组。
每个端口组都可由外部设备进行数据的输入和输出。
同时,每个端口组都包含了相关的控制寄存器,用来设置和控制端口的工作状态。
2. 控制寄存器(Control Register):8255a芯片中的每个端口组都有一个对应的控制寄存器,用于设置和控制端口的工作模式。
其中,控制寄存器的位数和功能根据不同的芯片型号而变化。
3. 数据寄存器(Data Register):8255a芯片中的每个端口组都有一个对应的数据寄存器,用于存放从外部设备中读取的数据或要写入到外部设备中的数据。
数据寄存器的位数根据芯片型号和端口组而定。
4. 模式控制寄存器(Mode Control Register):8255a芯片内部还包含一个模式控制寄存器,用于设置和控制端口组的工作模式。
该寄存器中的位数和功能根据不同的芯片型号而变化。
三、工作原理8255a并行接口芯片的工作原理主要包括以下几个方面:1. 初始化:在开始使用8255a芯片之前,需要对芯片进行初始化设置。
通过设置控制寄存器和模式控制寄存器,可以设置端口组的输入和输出模式,以及中断使能等参数。
可编程并行接口芯片8255A

(1)输入输出端口
可编程并行接口芯片8255A
3个8位的并行端口A,B,C,其中,端口A和端口B均有一个8位数据输出锁存/缓冲器和一个8位数据输入 锁存器,端口C有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器。端口C被分成高4位和低4位,可作 为基本输入输出端口、状态或控制信息传送端口,分别与端口A和端口B配合工作。
⑤ 整个写周期结束后地址信号消失。
2 方式1
可编程并行接口芯片8255A
方式1是一种选通式输入输出工作方式,其特点是与外设传送数据时,需要设置联络信号。在这种方 式下,端口C的部分位用作选通控制信号,控制端口A和B的数据输入输出。
(a)
(b)
8255A在方式1时的输入信号
(a)端口A在方式1时的输入信号 (b)端口B在方式1时的输入信号
可编程并行接口芯片8255A
1.3 8255A的工作方式
1 方式0
方式0是8255A的基本输入输出方式,其特点是 无需设置联络信号,8255A就可以直接与外设进行简 单的无条件数据传送。方式0适用于无条件数据传送 或查询式数据传送。
在这种方式下,3个端口都可以设置为输入输出 端口,但不能同时既作为输入又作为输出。其中,端 口A和B为8位端口,输入、输出均有锁存能力;端口 C可分为两个4位端口(高4位和低4位),仅对输出有 锁存能力。
微机原理与接口技术
可编程并行接口芯片8255A
1.1 8255A的引脚及功能
8255A是40引脚的双列直插式芯片。
读信号,输入,用于控制数据流的读出, 低电平有效。该信号有效时,表示允许 CPU 从 8255A 端 口 中 读 取 数 据 或 状 态 信 息。
片选信号,由CPU输入,低电平有效。 该 信 号 有 效 时 , 表 示 8255A 被 选 中 , 允 许与CPU交换信息。
8-5并行接口芯片8255A

并行接口芯片8255A8255A的基本特性⏹具有三个8位的双向数据端口(A口、B口、C口) ;⏹具有3种工作方式,可通过编程选择☐A口—方式0、1、2;B口—方式0、1;C口—方式0⏹支持无条件、程序查询、中断等数据传送方式;⏹数据端口C口的使用较为特殊:☐既可作为一个8位端口,也可作为两个4位端口来使用;☐即可作为数据端口,也可用作联络信号配合A、B口工作;☐既可传送并行数据,也可单独按位控制,有专门的控制字8255A PA7~PA 0 PB7~PB0 PC7~PC0D7~D0A1A0RDWRCSRESETV CCGND8255A的引脚8255A的引脚⏹面向CPU的引脚☐RESET、CS、RD、WR、A1、A0、D7~D0 ;◆按下RESET后的复位状态为:片内所有寄存器清零,三个数据端口设为为输入状态;⏹面向外设的引脚☐PA0~PA7、PB0~PB7、PC0~PC7;8255APA7~PA0PB7~PB0PC7~PC0 D7~D0A1A0RDWRCSRESETV CCGND8255A 的内部结构A 组控制数据总线缓冲器读/写控制逻辑B 组控制D 0~D 7CS WR A 1A 0RESETRD A 组A 口(8位)A 组C 口高位(4位)B 组C 口低位(4位)B 组B 口(8位)PA 0~PA 7PC 4~PC 7PC 0~PC 3PB 0~PB 78255A的内部结构8255芯片内部主要由控制寄存器、状态寄存器和数据寄存器组成。
☐数据总线缓冲器:这是一个三态双向8位缓冲器,它是8255A与CPU系统数据总线的接口。
☐读/写控制逻辑:读/写控制逻辑由读信号RD、写信号WR、片选信号CS以及端口选择信号A1A0等组成。
数据总线缓冲器读/写控制逻辑D0~D7CSWRA1A0RESETRD8255A的内部结构CS RD WR A1A0执行的操作类型1X X XX无操作00100读A端口01000写A端口00101读B端口01001写B端口00110读C端口01010写C端口00111无效01011写命令字8255A的内部结构⏹A组控制电路和B组控制电路☐A组——A口和C口的高4位(PC4~PC7)☐B组——B口和C口的低4位(PC0~PC3)⏹控制电路的作用:☐A、B组控制电路接收来自读/写部件的命令和CPU写入命令端口的控制字,用于控制对应端口的工作方式和读/写操作方式。
8255A可编程并行接口实验

实验八8255A可编程并行接口实验一、实验项目用8255A可编程并行接口芯片,重复实验四的内容。
PA口作为显示输出口,PB口作为开关量输入口。
二、实验目的1.了解8255A芯片的结构及编程方法2.掌握通过8255A并行接口读取开关数据的方法三、实验原理设置好8255A各端口的工作模式:三个端口都工作于方式0,PA口作为显示输出口,PB口作为开关量输入口。
四、实验连线8255A的PA0PA7接发光二极管L1L8,PB0PB7接开关K1K8,片选信号CS8255接CS0。
五、实验电路六、程序框图七、参考程序CSEG AT 0000HLJMP START开始置控制字从B通道读入开关状态从A通道输出到发光二极管延时一段时间.23.CSEG AT 4100HPA EQU 0CFA0HPB EQU HPCTL EQU HSTART: MOV DPTR, #PCTL ;置8255A控制字,A、B、C口均工作MOV A, # H ;方式0,A、C口为输出,B口为输入MOVX @DPTR, ALOOP: MOV DPTR, #PB ;从B口读入开关状态值MOVX A,MOV DPTR, #PA ;从A口将状态值输出显示MOVX , AMOV R7, #10H ;延时DEL0: MOV R6, #0FFHDEL1: DJNZ R6,DJNZ R7,LJMP LOOPEND八、问题思考试分析改置8255A控制字,A、B、C口工作方式1,B、C口为输出,A口为输入,可不可以。
.24.。
8255A并行接口应用

沈阳大学沈阳大学课程设计说明书NO.3图3 方式1选通输入方式沈阳大学课程设计说明书 NO.6图8 方式0选通输入时序图图10 8255A芯片内部结构图11 8255A内部引脚图12 8255A三端口排列示意图图16 程序设计流程图沈阳大学参考文献要列出3篇以上,格式如下:[1]谢宋和,甘勇.微机原理与接口技术[M].北京:北京大学出版社, 1999.5:23-25[1]单片机模糊控制系统设计与应用实例[M].北京:电子工业出版社, 1999.5:20-25(参考书或专著格式为:著者.书名[M].版本(第1版不注).出版地:出版者,出版年月:引文所在页码)[2]潘新民,王燕芳.微型计算机控制技术[M],第2版.北京:电子工业出版社, 2003.4:305-350(1本书只能作为1篇参考文献,不能将1本书列为多个参考文献)[3]范立南,谢子殿.单片机原理及应用教程[M].北京:北京大学出版社, 2006.1:123-130[4] Newman W M, Sbroull R F. Principles of Interactive Computer Graphics[M]. New York: McGraw Hill, 1979.10:10-25(参考期刊杂志格式为:作者.论文题目[J].期刊名,出版年,卷号(期号):页码)(期刊名前不写出版地)[6]Mastri A R. Neuropathy of diabetic neurogenic bladder[J]. Ann Intern Med, 1980, 92(2):316-318[7]范立南,韩晓微,王忠石等.基于多结构元的噪声污染灰度图像边缘检测研究[J].武汉大学学报(工学版), 2003,49(3):45-49[8] index.asp(一般情况下不要用网址作为参考文献,如果用,最多1个)注:[M]表示参考的是书籍;[J]表示参考的是学术期刊的论文;如果参考会议论文集中的论文用[C]。
8255a并行接口芯片的基本结构及工作原理 -回复

8255a并行接口芯片的基本结构及工作原理-回复8255A并行接口芯片的基本结构及工作原理引言随着计算机技术的不断发展,人们对于外设与计算机之间的数据传输速度和效率提出了更高的要求。
并行接口芯片作为计算机与外设之间传输数据的重要媒介,起到了至关重要的作用。
本文将详细介绍8255A并行接口芯片的基本结构及工作原理。
一、基本结构8255A是一款通用的并行接口芯片,其基本结构包括三部分:控制字寄存器、端口A/B/C以及控制逻辑。
1. 控制字寄存器控制字寄存器是8255A并行接口芯片的核心部件,用于控制输入输出的方向、模式以及数据格式等。
该寄存器由三个字节组成,分别是A口控制字寄存器(PC0-PC7)、B口控制字寄存器(PC8-PC15)和C口控制字寄存器。
其中,A口用于配置端口A的输入输出方式,B口用于配置端口B的输入输出方式,而C口则配置8255A芯片的工作模式和特殊功能。
2. 端口A/B/C端口A和端口B是8255A芯片的两个并行输入输出端口,每个端口由8个I/O线组成。
端口C包括PC0-PC3和PC4-PC7两部分,分别用于控制8255A的工作模式和特殊功能。
3. 控制逻辑控制逻辑是8255A芯片的控制单元,根据控制字寄存器中的设置,控制端口A/B的输入输出方式,以及控制芯片的特殊功能。
控制逻辑还负责监测和处理外部信号,将其与控制字寄存器中的设置进行匹配,确定8255A 芯片的工作模式和特殊功能。
二、工作原理8255A芯片的工作原理相对简单,通过控制字寄存器、端口A/B/C以及控制逻辑之间的相互配合,实现数据的传输与处理。
1. 配置工作模式首先,需要通过向控制字寄存器中写入相应的值来配置8255A芯片的工作模式。
控制字寄存器的配置主要包括端口A/B的输入输出方式、数据的格式以及芯片的特殊功能。
通过配置控制字寄存器,可以将端口A/B设置为输入或输出模式,并设置数据格式为8位、4位或2位。
此外,如果需要使用8255A芯片的特殊功能,也可以进行相应的配置。
第8章 8255A并行接口

方式1的 输出过程
1)CPU通过输出指令将数据送至并口的输出缓冲器; 2)8255A收到数据后在OBF#上输出低电平,通知外设接收数据; 3)外设在收到OBF#的低电平后,接收并行接口的数据 4)外设向并口送ACK#低电平,通知8255A收到数据并禁止8255送
出下一个数据; 5 ) 8255A 在 收 到 ACK# 的 低 电 平 后 , 将 OBF# 置 为 高 电 平 ; 若
微机原理与接口技术
第 8 章 并/串行通信接口
8.1 并行通信接口
8.1.1 8255的内部结构 8.1.2 8255的工作方式 8.1.3 8255的编程设置 8.1.4 8255的应用例
8255A芯片知识点:
可编程并行接口芯片8255A的结构与功能 8255A的三种工作方式与初始化编程 8255A的应用
并行通信(I/O)接口
D7 ~D0
并
Dn-1 ~D0
计
计 算
行 n根数据线 I/O
算 机
机
接
或
口
外
控制/联络线 设
可编程并行口的一般构成
一个重要概念----联络
联络:CPU通过接口向外设输出一个控制 信 号 ; 外 设 通 过 接 口 向 CPU 输 入 一 个 “ 状 态”信号,这“一入一出”的一对信号用 来 协 调 CPU 与 外 设 处 理 信 息 的 同 步 问 题 。 这一对信号就是“联络”信号。
方式1的 输入过程
1)外设送数据至外设与接口相连的数据线上; 2)外设送选通信号STB#给8255A; 3)8255A利用STB#的低电平锁存数据至并口的输入缓冲器; 4)IBF引脚输出高电平通知外设收到数据,禁止外设发送下一
个数据; 5)8255A在IBF=1且INTE=1时使INTR输出高电平,向CPU提
微机原理实验二 8255A并行接口应用

实验二8255A并行接口应用一、实验目的1.掌握8255A的功能及方式0、1的实现2.熟悉8255A与CPU的接口,以及传输数据的工作原理及编程方法。
3.了解七段数码管显示数字的原理。
4.掌握同时显示多位数字的技术。
二、8255应用小结1.8255的工作方式一片8255内部有3个端口,A口可以工作在方式0、方式1或方式2,B口可以工作在方式0、方式1,C口可以工作在方式0。
方式0是基本型输入/输出。
这种方式和外设交换数据时,8255端口与外设之间不使用联络线。
方式1为选通型输入/输出。
用这种方式和外界交换数据时,端口和外设之间要有联络信号。
方式2是双向数据传送,仅A口有这项功能。
当A口工作在方式2时,B口仍可以工作在方式0或方式1,但此时B口方式1只能用查询方式与CPU交换信息。
2. 工作方式选择字8255工作方式选择字共8位(如图),存放在8255控制寄存器中。
最高位D7为标志位,D7=1表示控制寄存器中存放的是工作方式选择字,D7=0表示控制寄存器中存放的是C口置位/复位控制字。
3.C口置/复位控制字8255的C口可进行位操作,即:可对8255C口的每一位进行置位或清零操作,该操作是通过设置C口置/复位字实现的(图8-10)。
C口置/复位字共8位,各位含义如下:3.8255A的控制信号与传输动作的对应关系4.命令字与初始化编程8255有两个命令字,即方式选择控制字和C口置0/置1控制字,初始化编程的步骤是:①向8255控制寄存器写入“方式选择控制字”,从而预置端口的工作方式。
②当端口预置为方式1或方式2时,再向控制寄存器写入“C口置0/置1控制字”。
这一操作的主要目的是使相应端口的中断允许触发器置0,从而禁止中断,或者使相应端口的中断允许触发器置1,从而允许端口提出中断请求。
注意:“C口置0/置1控制字”虽然是对C口进行操作,但是该控制字是命令字,所以要写入控制寄存器,而不是写入C口控制寄存器。
第8章 并行接口8255A第二节

当A1A0=11时
选择控制端口
表8.1 8255A的读写操作控制
§8.2 并行接口8255A
8.2.3 8255A的控制字及来自工作方式8255A共有两个控制字:即工作方式控 制字和对C口置位/复位控制字。
1. 控制字
(1)工作方式控制字: 控制字和各位的含义如图所示。
D7
D6 D5
D4 D3
D2 D1 D 0
过8255A把数据送给打印机接口的数据引脚
DATA 0 ~ DATA 7 ,同时送出一个数据选通信号 STROBE 给打印机。打印机收到该信号后,把 数据锁存到内部缓冲区,同时在BUSY信号线上 发出忙信号。待打印机处理好输入数据时,打
印机撤消忙信号,同时向主机送出一个响应信
号 ACK 。主机根据 BUSY 信号或信号 ACK 决定
通道 A
D7 A0 A1
CS RD WR
27
PA7 PB0
RESE T
9 8 6 5 35 36
8255 APPI
. . .
通道 B
电 源 线
VCC GND
CPU接口
25 14 15 16 17 13 12 11 10
PB7 PC0
. . .
通道 C
PC7 外设接口
8255A引脚定义
§8.2 并行接口8255A
§8.2 并行接口8255A
② 方式1选通输出
当端口 A 或端口 B 为方式 1 输出时,各
指定PC的3条线作为8255A与外设及CPU之 间应答信号。下图为方式1选通输出操作的 内部结构图。
方式1输出控制字格式
方式1输出端口A
PA7~0
方式1输出端口B
第8章 8255A并行接口(修改)

CP
8.3 可编程并行接口芯片8255A
8255A的功能 8255A是一种通用的可编程并行I/O接 口芯片,广泛用于几乎所有系列的微型机系统 中 , 如8086 、 MCS51、 Z80 CPU系 统 等 。 8255A具有3个带锁存或缓冲的数据端口,可 与外设并行进行数据交换。用户可用程序来选 择多种操作方式,通用性强。使用灵活,可为 CPU与外设之间提供并行输入/输出通道。
可编程并行口8255A工作方式 方式1(选通输入/输出方式)特点:
当8255A的端口A或端口B工作在方式1,分 别指派3位固定地C作为数据传送的联络信号和中 断请求信号。
输入时的联络信号为: 输入选通STB#,输入缓冲器满IBF 中断请求信号INTR 输出时的联络信号为:
外设应答ACK#,输出缓冲器满OBF#
一个重要概念: 联络:CPU通过接口向外设输出一个控 制信号;外设通过接口向CPU输入一个 “状态”信号,这“一入一出”的一 对信号用来协调CPU与外设处理信息的
同步问题。这一对信号就是“联络”
信号。
1. 并行接口的输入过程 (1)外设将数据传输给接口,同时给出“输入 准备好”信号送接口; (2)接口将数据接收到输入缓冲器,置“输入 回答”有效送外设(阻止外设输入下一个数 据),同时使状态寄存器中“输入缓冲器 满”=1。 (3)CPU查询接口状态位或响应中断,执行输 入指令读取数据。数据读取后,清除“输入 缓冲器满”=0,置“输入回答”无效送外设, 通知外设可以输入新的数据。
说明:
8255A的四个端口地址从小到大分别对
应A口、B口、C口和控制口。 (3)电源线和地线 8255A的电源引脚为VCC和GND。VCC为电源 线,一般取+5V 。GND为电源地线。
可编程并行接口-8255A

与外设相连的信号线
PA7~PA0、PB7~PB0、PC7~PC0:三态、双向,输入/输出由工作方式决 定,可直接与外设相连。
与CPU连接的信号线
D7~D0:双向、三态数据线,与CPU系统数据总线相连。 A1、A0:端口地址选择信号,用来指明哪一个端口被选中。8255A有A、B、
端口A 1 —输入 0 —输出
端口C (PC7~PC4)
1 —输入 0 —输出
D6
D5
D4
D3
D2
D1
D0
B组 端口C (PC3~PC0) 1 —输入 0 —输出
端口B 1 —输入 0 —输出
B组方式选择 0 —方式0 1 —方式1
13
§1.3 8255A的控制字
D7:特征位(标志位)。 D6、D5:A组方式选择。00—方式0;01—方式1;10和11为方式2。 D4:A口的输入/输出选择。0为输出,1为输入。 D3:C口(高4位)输入/输出选择。0为输出,1位输入。 D2:B组方式选择。0为方式0,1为方式1。 D1:B口的输入/输出方式选择。0为输出,1为输入。 D0:C口(低4位)的输入/输出选择。0为输出,1为输入。 从中可看出,A口可工作在任一工作方式中,B口只能工作在方式0、方式1中。
A口:包含一个8位数据输出锁存器/缓冲器和一个8位数据
输入锁存器,因此A口无论作为输入口或输出口,其数据均 能受到锁存。
B口:包含一个8位数据输出锁存/缓冲器和一个8位数据输
入缓冲器。
C口:包含一个8位数据输出锁存/缓冲器,一个8位数据输
入缓冲器(输入无锁存)。
第8章 并行通信和并行接口8255A

8.2 并行I/O接 口芯片8255A
8.2.1 8255A的外部 引脚及内部结构 1. 8255A的外部引脚
8255A的外部引脚布局如 图8-1所示。它有40根引脚, 可分为与系统总线(如8086) 连接的引脚和与外部设备连接 的引脚。
图8-1 8255A的外部引脚
D7 ~ D0 为双向数据信号线,用于 8255A 与系统数据线相连,传送 CPU与8255A之间的数据、控制信息、状态信息。 (输入): 8255A 读信号,低电平有效。当有效时, CPU 从 8255A 的指定端口读取数据或状态信息。通常接系统总线的信号。 (输入): 8255A 写信号,低电平有效。当有效时, CPU 向 8255A CS 指定端口写入控制字或数据。通常接系统总线的信号。 (输入):片选信号,当它为低电平(有效)时,才能选中该 8255A芯片,使8255A正常工作。 A1 、 A0 (输入)为片内地址选择信号。当有效选中 8255A 时,由 A1A0的编码来决定是选中A口、B口、C口,还是选中控制字寄存器,如 表8-1所示
(二) 方式1的输入工作过程
当外设准备好数据,在送出数据的同时,送一个选通信号,使8255A的 IBF 为高电平,告诉外设当前输入缓冲器已满,暂时不要送入数据。再由后沿将INTE 置“1”,它使输出的 INTR 有效,向CPU 发出中断请求信号,待CPU响应这一中断请 求时,可以在中断服务程序中安排IN指令读取数据,然后将IBF置“0”,外设才可 以继续输入后面的数据。 ②方式1的输出 当A口与B口设定为方式1输出时,也各指定了C口的3根线为信号线,其引脚 定义和端口结构如图8-4所示。
循环检测codeendsendstart图898086cpu8255a和开关的接口电路可编程并行接口芯片8255a与数模转换器dac连接可以控制输出模拟量的大小这个模拟量可以是电压的高低电流的大小速度的快慢声音的强弱等等而模数转换器adc可将它们变换为数字量通过8255a送回到微机系统中这种闭环式的调节系统在实践中应用非常广泛
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
片。
例
在80X86系列中使用8255A芯片
在Z80系列中使用Z80-PIO芯片 在6800系列中使用MC6820PIA芯片
一般情况下不交叉使用,因为: 只有本系列的芯片才能更好地保证时序上的配合, 和各种功能的发挥,使CPU可靠与外设交换信息。
8255A——8255A
8255A的内部结构
A组控制
A组 A口 (8位)
CS*:片选控制输入,接译码器;
A0 PC7 10
PC 6
RD*:读命令输入,接CPU的RD*或IOR*; PC5
PC 4
WR*:写命令输入,接CPU的WR*或IOW*; PC0
PC1 15
A0,A1:片内端口地址输入,可选4个片内
PC 2 PC 3
端口。接AB的任2位。
PB 0
PB 1
PB 2
40
D0~D7
RD WR AA10 CS RESET
数据总线 缓冲器
读/写 控制逻辑
A组 C口高位 (4位)
B组 C口低位 (4位)
B组控制
B组 B口 (8位)
PA0~PA7 PC4~PC7 PC0~PC3 PB0~PB7
8255A——8255A
1. 数据总线缓冲器:三态8位双向缓冲器,与系统数据总线连接 的缓冲部件;传送数据、控制字、状态字的通道。
中断请求信号 请求CPU再次输出数据
端口B方式1作输出:
PB7~PB0 INTEB PC2
PC1
PC0
外设响应信号 表示外设已经接收到数据
ACKB
OBFB INTRB
输出缓冲器满信号 表示CPU已经输出了数据
中断允许触发器
中断请求信号 请求CPU再次输出数据
方式1输出联络信号
OBF*——输出缓冲器满信号,低有效
8255A输出给外设的一个控制信号,当其有效时, 表示CPU已把数据输出给指定的端口,外设可以取走
ACK*——响应信号,低有效
外设的响应信号,指示8255A的端口数据已由外设 接受
INTR——中断请求信号,高有效
当 输 出 设 备 已 接 受 数 据 后 , 8255A 输 出 此 信 号 向 CPU提出中断请求,要求CPU继续提供数据
8255A的读/写操作控制
A1 A0 RD* WR* 000 1 010 1 100 1
001 0 011 0 111 0 111 0
CS* 输入操作(CPU读)
0 数据总线← 端口A 0 数据总线← 端口B 0 数据总线← 端口C
输出操作(CPU写) 0 数据总线→端口A 0 数据总线→端口B 0 数据总线→端口C 0 数据总线→控制端口
8255A的工作方式
• 方式0——基本输入/输出方式(A、B、C口) • 方式1——选通工作方式(A、B口) • 方式2——双向选通传送方式(仅A口)
• 某端口工作于哪一种方式,可通过软件编程来指定。即向 8255写入方式控制字来决定其工作方式。
• 端口A输入输出均能锁存
• B端口输出时能锁存,输入时不能锁存
➢ 并行传送信息,不要求固定的格式,这与串行传送的数据格 式的要求不同。
8255A——8255A
概述
Intel8255A是一种通用的可编程序并行I/O接口芯片, 又称“可编程外设接口芯片”,是为Intel8080/8085系列微处 理设计的,也可用于其它系列的微机系统。可由程序来改变 其功能,通用性强、使用灵活。通过8255A,CPU可直接同外 设相连接,是应用最广的并行I/O接口芯片。
8255A方式1作输出时的各联络信号对应关系
联络信号 OBF* ACK INTR INTE
端口A
对应PC7 对应PC6 对应PC3 PC6置位
端口B
对应PC1 对应PC2 对应PC0 PC2置位
8255A工作在方式1下的输出时序
A端口、B端口方式 1 比较
• A端口输入用C端口位PC3 、PC4 、 PC5 A端口输出用C端口位PC3 、PC6 、 PC7 B端口输入用C端口位PC0 、PC1 、 PC2 B端口输出用C端口位PC0 、PC1 、 PC2
• C端口没有输入锁存器,输出可以锁存
• 三个端口输出都可锁存/缓冲
8255A的工作方式——方式0(基本输入/输出方式)
• 特点: 8255A相当于三个独立的8位数据口。 各端口既可设置为输入口,也可设置为输出口,但不能 同时实现输入及输出。 C端口即可以是一个8位的简单接口,也可以分为两个独 立的4位端口。 设置为输出口时有锁存能力,设置为输入口时无锁存能 力。
含3个独立的8位并行输入/输出端口,各端口均具有数据 的控制和锁存能力。可通过编程设置各端口的工作方式和数 据传送方向(入/出/双向)。
并行接口连接外设示意图
数据总线
读出信号
写入信号
复位
CPU
准备好
中断请求
控制寄存器 输入缓冲寄存器 输出缓冲寄存器
状态寄存器
地址 地址 译码
片选
A0 A1
数据输入准备好 输
4. 读/写控制逻辑:用来管理数据、控制字和状态字的传送,接收系统 总线发来的有关信号,并向A、B两组控制部件发送命令。
DIP封装,共40个引脚。
PA3 1 PA 2
1. 连接系统总线的主要引脚
PA 1 PA 0
D0~D7:数据线,双向,连CPU数据总线;
RD CS
5
GND
RESET:复位输入,接系统总线的RESET; A1
• 适用于: 无条件输入输出方式。 查询输入输出方式:把A、B口作为8位数据的输入或输出 口,C口的高/低4位分别定义为A、B口的控制位和状态位。
8255A的工作方式——方式0(基本输入/输出方式) • IN AL,PORT
DB
8
AB n 译码器
输入缓冲器 数据
外设
M / IO RD
①外设将数据送到8255输入缓冲器中; ②CPU给出有效的8255地址; ③CPU发读命令,将8255A输入缓冲器中数据读入CPU的
PA 4
PA 5 PA 6
PA 7
WR
35 RESET
D0
D1
D2 D3 30 D4
D5
D6 D7
VCC 25 PB7
PB 6
PB 5 PB 4 21 PB3
1.面向CPU一侧的引脚信号
⑴D7~D0,8位,双向,三态数据线 ⑵RESET,复位信号 ⑶CS*,片选信号 ⑷RD*,读信号 ⑸WR*,写信号 ⑹A1 、A0,端口选择信号
MOV DX,203H
;8255A命令口
MOV AL,00001001B OUT DX,AL
;置PC4=1,允许中断请求
MOV AL,00001000B OUT DX,AL
;置PC4=0,禁止中断请求
端口B方式1作输入:
PB7~PB0
PC2 INTEB
PC2
PC1
PC0
数据选通信号 表示外设已经准备好数据
INTR——中断请求信号,高电平有效
8255A输出的信号,可用于向CPU提出中断请求,要求CPU读 取外设数据
INTE ——中断允许信号,高电平有效
用于控制中断允许或中断屏蔽
8255A方式1作输入时的各联络信号对应关系
联络信号 STB* IBF INTR INTE
端口A
对应PC4 对应PC5 对应PC3 PC4置位
2. 3个8位数据端口(PA、PB、PC):通常PA口与PB口用作输入输出 的数据端口,PC口用作数据传输或提供联络线的端口。在方 式字的控制下,PC口可以分成两个4位的端口,其中PC7~PC4 同端口A配合使用, PC3~PC0同端口B配合使用。
3. A组、B组控制电路:这两组控制电路根据CPU发出的方式选择控制字 来控制8255A的工作方式,每个控制组都接收来自读写控制逻辑的 “命令”,接收来自内部数据总线的“控制字”,并向与其相连的端 口发出适当的控制信号。A组控制电路控制PA口和PC口高4位,B组控 制电路控制PB口和PC口低4位。
D7~D0 PA7~PA0
INTEA PC4
PC4 PC5
与门
RD
PC3
STBA IBFA
INTRA
数据选通信号 表示外设已经准备好数据
输入缓冲器满信号 表示A口已经接收数据
中断允许触发器
中断请求信号 请求CPU接收数据
若允许PA口输入时,产生中断请求,则必须设置INTEA=1,
即置PC4=1;若禁止它产生中断请求,则置INTEA=0, 即置PC4=0,其程序段为:
AL寄存器中。
8255A的工作方式——方式0(基本输入/输出方式)
• 方式0输入时序:
8255A的工作方式——方式0(基本输出方式)
• OUT PORT,AL
DB
8
AB n 译码器
输出锁存器 数据
外设
M / IO WR
① CPU给出有效的8255地址; ② CPU发写命令,将CPU的AL寄存器中数据写入
STBB IBFB
INTRB
输入缓冲器满信号 表示B口已经接收数据
中断允许触发器
中断请求信号 请求CPU接收数据
方式1输入联络信号定义
STB*——选通信号,低电平有效
由外设提供的输入信号,当其有效时,将输入设备送来的数据 锁存至8255A的输入锁存器
IBF——输入缓冲器满信号,高电平有效
8255A输出的联络信号。当其有效时,表示数据已锁存在输入 锁存器
8255A输出锁存器中。
8255A的工作方式——方式0(基本输入/输出方式)
• 方式0输出时序:
WR
D7~D0 CS A1、 A2
tAW