可编程并行接口芯片8255A有哪几种工作方式
接口考试试题第4章(8255)
接口考试试题第4章(8255)一、选择题2.8255A在方式1工作时,端口A和端口B作为数据输入输出使用,而端口C的各位分别作为端口A和端口B的控制信息和状态信息。
其中作为端口A和端口B的中断请求信号的分别是端口C的()A.PC4和PC2B.PC5和PC1C.PC6和PC7D.PC3和PC0D3.8255A的端口A或端口B工作在方式1输入时,端口与外设的联络信号有()。
A.选通输入STB#B.中断请求信号INTRC.中断允许信号INTED.输入缓冲器满信号IBFA4.当8255A的端口A和端口B都工作在方式1输入时,端口C的PC7和PC6()。
A.被禁止使用B.只能作为输入使用C.只能作为输出使用D.可以设定为输入或输出使用D7.8255A的A口工作在方式2时,B口()。
A.可工作在方式0或方式1B.可工作在方式1或方式2C.只能工作在方式1D.只能空着A8.8255A用户可以用命令字设置()A.A口和B口均可工作在方式0或方式1或方式2B.A口工作在方式0,B 口工作在方式1C.A口工作在方式1,B口工作在方式1或方式2D.A口工作在方式2,B口只能工作在方式1B10.当8255A工作在方式1时,端口C被分为两个部分,分别作为端口A和端口B的控制信息和状态信息。
这两个部分的划分是()A.端口C的高4位和低4位B.端口C的高5位和低3位C.端口C的高3位和低5位D.端口C的高6位和低2两位B11.8255A工作方式设置为方式1时,CPU与外设通信()A.可以采用查询方式传送,或者采用中断方式传送B.只能采用中断方式传送C.可以进行双向方式传送D.只能采用无条件传送方式或查询方式传送A14.假定对8255A进行初始化时所访问的端口地址是0CBH,并将其A 端口设定为工作方式1输出,则A端口的地址是()。
A.0C8HB.0CAHC.0CCHD.0CEH本题答案为A。
16.当8255A工作于方式2时,要占用几条联络信号线()。
可编程并行接口芯片8255A有哪几种工作方式
可编程并行接口芯片8255A有哪几种工作方式?每种工作方式有何特点?【解答】方式0:没有固定的用于应答式传送的联络信号线,CPU可以采用无条件传送方式与8255A交换数据。
方式1:有专用的中断请求和联络信号线,因此,方式1通常用于查询传送或中断传送方式。
方式2:PA口为双向选通输入/输出或叫双向应答式输入/输出。
9.2 8255A的方式选择控制字和C口按位控制字的端口地址是否一样?8255A怎样区分这两种控制字?写出端口A作为基本输入,端口B作为基本输出的初始化程序。
【解答】8255A的方式选择控制字和C口按位控制字的端口地址是一样的,通过控制字的最高位D7进行区分:D7=1时,为方式选择控制字;D7=0时,为C口按位控制字。
初始化程序段如下:MOV DX,PORT ;PORT为端口地址MOV AL,10010000BOUT DX,AL9.3 某8255A的端口地址范围为03F8H~03FBH,A组和B组均工作在方式0,A口作为数据输出端口,C口低4位作为状态信号输入口,其它端口未用。
试画出该片8255A与系统的连接图,并编写初始化程序。
【解答】连接图如下:图9-1 8255A与系统的连接图程序如下:MOV AL,81HMOV DX,03FBHOUT DX,AL9.4 试按以下要求对8255A进行初始化编程:(1)设端口A、端口B和端口C均为基本输入/输出方式,且不允许中断。
请分别考虑输入/输出。
(2)设端口A为选通输出方式,端口B为基本输入方式,端口C剩余位为输出方式,允许端口A中断。
(3)设端口A为双向方式,端口B为选通输出方式,且不允许中断。
【解答】(1)端口A、端口B和端口C均为基本输入/输出方式,则为方式0,任何一个口都可用于输入或输出,可出现16种组合,这里只举出2种组合。
若端口A、B为数据输入口;C口的低4位为控制信号输出口,高4位为状态信号输入口,程序段如下:MOV AL,10011010BMOV DX,PORT ;PORT为端口地址OUT DX,ALMOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断OUT DX,AL若端口A、B为数据输出口;C口的高4位为控制信号输出口,低4位为状态信号输入口,程序段如下:MOV AL,10000000BMOV DX,PORT ;PORT为端口地址OUT DX,ALMOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断OUT DX,AL(2)端口A为选通输出方式,方式1;端口B为基本输入方式,程序段如下:MOV AL,10100010BMOV DX,PORT ;PORT为端口地址OUT DX,ALMOV AL,00001101B ;设PC6为中断信号控制引脚,PC6=1,允许中断OUT DX,AL(3)端口A为双向方式,方式2;端口B为选通输出方式,程序段如下:MOV AL,11000100BMOV DX,PORT ;PORT为端口地址OUT DX,ALMOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断OUT DX,AL9.5 采用8255A作为两台计算机并行通信的接口电路,请画出查询式输入/输出方式工作的接口电路,并写出查询式输入/输出方式的程序。
8255A的工作方式概述
8255A的工作方式概述8255A有三种工作方式:方式0、方式1和方式2。
1.方式0方式0为基本的输入/输出方式,传送数据时不需要联络信号。
A口、B口和C口(或C高4位口及C低4位口)均可独立设置成方式0输入口或方式0输出口。
2.方式1方式l为选通输入/输出方式,即需要进行联络的输入/输出。
A组、B组的8位口(A口或B口)可被设置为方式1输入口或方式1输出口,而这时要用相应C口的3根线作联络线。
3.方式2方式2为双向传送。
该方式要使用C口的5根线作联络线。
由于C口只有8根线,因此只能有一组使用方式2确定为A组。
当A组被设置成方式2时,A口被设置成双向端口,即既可以输入数据,也可以输出数据,C口的5根线被指定为联络线。
4.方式1、2用到的联络信号当将8255A设置为方式1或方式2时,要使用C口中的一些线传输联络信号。
这些信号可归结为五种(方式1仅使用其中的三种):(1)STB#选通,输入信号,由外设提供,低电平有效。
该信号将外设提供的数据送入端口的输入缓冲器。
(2)IBF输入缓冲器满,输出信号,高电平有效。
该信号有效表示来自外设的数据已经进入输入缓冲器,但CPU尚未取走,外设暂时不要送新的数据。
(3)OBF#输出缓冲器满,输出信号,低电平有效。
为低时表示CPU已把数据送到指定端口,该端口外围引线上的数据有效,外设可以利用了。
(4)ACK#来自外设的回答,输入信号。
为低时表示输出的数据已被外设接收,CPU可以输出下一个数据。
(5)INTR中断请求,送往CPU。
输入和输出都可以引起中断。
对于输入,外设的数据进入输入缓冲器后8255A产生INTR,请求CPU取走数据;对于输出,当外设利用完输出缓冲器中的数据之后会发出一个回答信号ACK#,8255A产生INTR,请求CPU输出下一个数据。
微机接口与技术提纲第九章8255作业答案
一、知识点:基本概念1.一片8255A端口A有( 3 )种工作方式,端口B有( 2 )种工作方式。
2. 在8255可编程并行接口芯片中,可用于双向选通I/O方式(即方式2)的端口为( A )A. PA口B. PB口C. PC口D. PA和PB3、8255A控制字的最高位D7 = 0 时,表示该控制字为C口按位控制字。
4. 在8255可编程并行接口芯片中,可用于双向选通I/O方式(即方式2)的端口为( A )。
A. PA口B. PB口C. PC口D. PA和PB5.8255A控制字的最高位D7 =(1)时,表示该控制字为方式控制字。
6. 8255A的每个端口的数据寄存器长度为(8)位。
7、8255A的工作方式的三种工作方式分别为:方式0:基本输入输出方式;方式1:选通输入输出方式;方式2:双向选通传送方式。
8.如果CPU通过8255A端口C的某一条线向外部输出连续的方波信号,请:说出两种实现方法;并具体说明怎样实现。
(不必编程)(8分)答:可用2种方法实现:①8255A工作于方式O时,端口C可以指定为输出。
每隔1/2方波周期改变其中一位的状态,其它位不变。
就可以通过端口C的某一条线输出连续的方波。
②用对端口C某一位置位/复位的方法实现。
即每隔1/2方波周期时间,对端口C 的某一位交替进行置位、复位,即可从端口C的某一条线输出连续的方波。
二、知识点应用题1、接口电路如图所示:已知8255A控制字寄存器的端口地址为10EH,编写8255A初始化程序和循环彩灯控制程序。
初始时D0亮,其余不亮,D0亮一秒后移位一次,D1亮,其余不亮,以此类推每隔一秒移位一次,每移位8次为一个循环,共循环8次。
要求用汇编语言写出满足上述要求的程序段(已知一个延时1秒的子程序入口地址为DELAY1S)。
分析8255的控制字:80H(D7=1,D2、D0=0)程序如下:CODE SEGMENTASSUME CS:CODEST:MOV AL,80HMOV DX,10EHOUT DX,ALMOV CX,64MOV AL,1MOV DX,10AHNEXT1:OUT DX,ALCALL DELAY1SDEC CX,JZ NEXT2ROL AL,1JMP NEXT1DELAY1S:。
可编程并行接口芯片8255A有哪几种工作方式
可编程并行接口芯片8255A有哪几种工作方式?每种工作方式有何特点?【解答】方式0:没有固定得用于应答式传送得联络信号线,CPU可以采用无条件传送方式与8255A交换数据。
方式1:有专用得中断请求与联络信号线,因此,方式1通常用于查询传送或中断传送方式。
方式2:PA口为双向选通输入/输出或叫双向应答式输入/输出。
9、28255A得方式选择控制字与C口按位控制字得端口地址就是否一样?8255A怎样区分这两种控制字?写出端口A作为基本输入,端口B作为基本输出得初始化程序。
【解答】8255A得方式选择控制字与C口按位控制字得端口地址就是一样得,通过控制字得最高位D7进行区分:D7=1时,为方式选择控制字;D7=0时,为C口按位控制字。
初始化程序段如下:MOV DX,PORT ;PORT为端口地址MOV AL,10010000BOUT DX,AL9、3某8255A得端口地址范围为03F8H~03FBH,A组与B组均工作在方式0,A口作为数据输出端口,C 口低4位作为状态信号输入口,其它端口未用.试画出该片8255A与系统得连接图,并编写初始化程序。
【解答】连接图如下:图9-1 8255A与系统得连接图程序如下:MOV AL,81HMOV DX,03FBHOUT DX,AL9、4试按以下要求对8255A进行初始化编程:(1)设端口A、端口B与端口C均为基本输入/输出方式,且不允许中断。
请分别考虑输入/输出。
(2)设端口A为选通输出方式,端口B为基本输入方式,端口C剩余位为输出方式,允许端口A中断。
(3)设端口A为双向方式,端口B为选通输出方式,且不允许中断。
【解答】(1)端口A、端口B与端口C均为基本输入/输出方式,则为方式0,任何一个口都可用于输入或输出,可出现16种组合,这里只举出2种组合。
若端口A、B为数据输入口;C口得低4位为控制信号输出口,高4位为状态信号输入口,程序段如下:MOV AL,10011010BMOVDX,PORT ;PORT为端口地址OUT DX,ALMOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断OUT DX,AL若端口A、B为数据输出口;C口得高4位为控制信号输出口,低4位为状态信号输入口,程序段如下: MOVAL,10000000BMOV DX,PORT ;PORT为端口地址OUT DX,ALMOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断OUT DX,AL(2)端口A为选通输出方式,方式1;端口B为基本输入方式,程序段如下:MOVAL,10100010BMOV DX,PORT ;PORT为端口地址MOV AL,00001101B ;设PC6为中断信号控制引脚,PC6=1,允许中断OUT DX,AL(3)端口A为双向方式,方式2;端口B为选通输出方式,程序段如下:MOV AL,11000100BMOV DX,PORT ;PORT为端口地址OUT DX,ALMOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断OUT DX,AL9、5 采用8255A作为两台计算机并行通信得接口电路,请画出查询式输入/输出方式工作得接口电路,并写出查询式输入/输出方式得程序.【解答】甲机得8255A就是方式1发送,端口PA为输出,发送数据,而PC7与PC6引脚分别固定作联络线与。
_8255A芯片
10.2.2
8255A的工作方式
2.8255A的工作方式 (3)方式2 8255A的另一种工作方式为带选通双向总线I/O 方式,所以方式2又称为双向传输方式。且只有A 口可以工作在这一方式下,A口为输入输出数据端, 输入、输出均可锁存,既可以发送数据,也可以 接收数据,握手联络信号和A口在方式1下的输入 或输出时的握手联络信号分别相对应,输入输出 时的中断请求都共用PC3。这是一个“或”逻辑, 即PC6置“l”时,输出缓冲器为“空”可引起中断, PC4置“l”时输入缓冲器“满”也能引起中断。
8255A的工作方式
1.8255A控制字和状态字 (1)方式控制字 例9.1 写入方式控制字: 要求:A端口:方式0输入 B端口:方式0输出 C端口高半部:输出,C口低半部:输入 对8255A初始化,并从A口输入数据,取反后, 输出到B口 假设:A、B、C的端口地址为40H、41H、42H, 控制口的地址为43H。
10.2.2
8255A的工作方式
2.8255A的工作方式 (2)方式1 方式1输入引脚:A端口
PA7~PA0
INTEA
数据选通信号 表示外设已经准备好数据
STBA IBFA INTRA
PC4 PC5
PC3
输入缓冲器满信号 表示A口已经接收数据
中断允许触发器
中断请求信号 请求CPU接收数据
10.2.2
B组控制低4位PC0~PC3
10.2.1
8255A的内部结构和引脚
1.8255A的内部结构 各端口的功能如下表:
3个端口的功能 工作方式 0 1 2 A口功能 基本输入/输出 输入不锁存,输出锁存 应答式输入/输出 输入/输出均锁存 应答式双向输入/输出 输入/输出均锁存 B口功能 同A口 同A口 X C口功能 同A 作为A、B口 的联络线 作为A口的 联络线
8255A的工作方式及其初始化编程
8255A 的工作方式及其初始化编程8255A 有三种工作方式:基本输入/输出方式、单向选通输入/输出方式和双向选通输入/输出方式.1.8255A 的工作方式(1)方式0:基本输入/输出方式(basic Input/Output)方式0是8255A 的基本输入/输出方式,其特点是与外设传送数据时,不需要设置专用的联络(应答)信号,可以无条件的直接进行I/O 传送.A, B, C 3个端口都可以工作在方式0.A 口和B 口工作在方式0时,只能设置为以8位数据格式输入/输出;C 口工作在方式0时,可以高4位和低4位分别设置为数据输入或数据输出方式.方式0常用于与外设无条件数据传送或查询方式数据传送.(2)方式1:单向选通输入/输出方式(strobe Input/Output)方式1是一种带选通信号的单方向输入/输出工作方式,其特点是:与外设传送数据时,需要联络信号进行协调,允许用查询或中断方式传送数据.由于C 口的PC0, PC1和PC2定义为B 口工作在方式1的联络信号线,PC3,PC4和PC5定义为A 口工作方式1的联络信号线,因此只允许A 口和B 口工作在方式1.A 口和B 口工作在方式1,当数据输入时,C 口的引脚信号定义如图7.6所示.PC3, PC4和PC5定义为A 口的联络信号线INTRA, A STB 和IBFA, PC0, PC1和PC2定义为B 口的联络信号线INTRB, IBFB 和B STB ,剩余的PC6和PC7仍可以作为基本I/O 线,工作在方式0.方式1输入联络信号的功能如下:STB (strobe input):选通信号,输入,低电平有效.此信号由外设产生输入,当STB 有效时,选通A 口或B 口的输入数据锁存器,锁存由外设输入的数据,供CPU 读取.IBF(input buffer full):输入缓冲器满信号,输出,高电平有效.当A 口或B 口的输入数据锁存器接收到外设输入的数据时,IBF 变为高电平,作为对外设STB 的响应信号,CPU 读取数据后IBF 被清除.INTR:中断请求信号,输出,高电平有效,用于请求以中断方式传送数据.为了能实现用中断方式传送数据,在8255A 内部设有一个中断允许触发器INTE,当触发器为"1"时允许中断,为"0"时禁止中断.A 口的触发器由PC4置位或复位,B 口的触发器由PC2置位或复位. 方式1数据输入的时序如图7.7所示.当外设的数据准备就绪后,向8255A 发送STB 信号以便锁存输入的数据, STB 的宽度至少为500ns,在STB 有效之后的约300ns,IBF 变为高电平,并一直保持到RD 信号由低电平变为高电平,待CPU 读取数据后约300ns 变为低电平,表示一次数据传送结束.INTR 是在中断允许触发器INTE 为1,且IBF 为1(8255A 接收到数据)的条件下,在STB后沿(由低变高)之后约300ns 变为高电平,用以向CPU 发出中断请求,待RD 变为低电平后约400ns, INTR 被撤销.A 口和B 口工作在方式1,当数据输出时,C 口的引脚信号定义如图7.8所示.PC3, PC6和PC7定义为A 口联络信号线INTRA,A ACK 和A OBF ,PC0,PC1和PC2定义为B 口联络信号线INTRB, B OBF 和B ACK ,剩余的PC4和PC5仍可以作为基本I/O 线,工作在方式0.方式1输出联络信号的功能如下:OBF (output buffer full):输出缓冲器满指示信号输出,低电平有效.OBF 信号由8255A 发送给外设,当CPU 将数据写入数据端口时, OBF 变为低电平,用于通知外设读取数据端口中的数据.ACK (acknowledge input):应答信号,输入,低电平有效. ACK 信号由外设发送给8255A,作为对OBF 信号的响应信号,表示输出的数据已经被外设接收,同时清除OBF 信号.INTR:中断请求信号,输出,高电平有效.用于请求以中断方式传送数据.方式1数据输出的时序如图7.9所示.当CPU 向8255A 写入数据时,WR 信号上升沿后约650ns, OBF 有效,发送给外设,作为外设接收数据的选通信号.当外设接收到送来的数据后,向8255A 回送ACK 信号,作为对OBF 信号的应答.ACK 信号有效之后约350ns, OBF 变为无效,表明一次数据传送结束.INTR 信号在中断允许触发器INTE 为1且信号无效之后约350ns 变为高电平.若用中断方式传送数据时,通常把INTR连到8259A的请求输入端IRi.(3)方式2:双向选通输入/输出方式(bi-directional bus)方式2为双向选通输入/输出方式,是方式1输入和输出的组合,即同一端口的信号线既可以输入又可以输出.由于C口的PC7~PC3定义为A口工作在方式2时的联络信号线,因此只允许A口工作在方式2,引脚信号定义如图7.10所示.由图7.10可以看出,PA7~PA0为双方向数据端口,既可以输入数据又可以输出数据.C口的PC7~PC3定义为A口的联络信号线,其中PC4和PC5作为数据输入时的联络信号线,PC4定义为输入选通信号STB,PC5定义为输入缓冲器满IBFA;APC6和PC7作为数据输出时的联络信号线,PC7定义为输出缓冲器满OBF,PC6定义A为输出应答信号ACK;PC3定义为中断请求信号INTRA.A需要注意的是:输入和输出公用一个中断请求线PC3,但中断允许触发器有两个,即输入中断允许触发器为INTE2,由PC4写入设置,输出中断允许触发器为INTE1,由PC6写入设置,剩余的PC2~PC0仍可以作为基本I/O线,工作在方式0.2.8255A初始化编程8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的.8255A由编程写入的控制字有两个:方式控制字和置位/复位控制字.方式控制字用于设置端口A, B, C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7~PC0中某一条口线PCi(i=0~7)的电平.两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位.(1)方式控制字的格式 8255A工作方式控制字的格式如图7.11所示.D0:设置PC3~PC0的数据传送方向.D0=1为输入;D0=0为输出.D1:设置B口的数据传送方向.D1=1为输入;D1=0为输出.D2:设置B口的工作方式.D2=1为方式1;D2=0为方式0.D3:设置PC7~PC4的数据传送方向.D3=1为输入;D3=0为输出.D4:设置A口的数据传送方向.D4=1为输入;D4=0为输出.D6D5:设置A口的工作方式.D6D5=00为方式0,D6D5=01为方式1,D6D5=10或11为方式2.D7:方式控制字的标志位,恒为1.例如,将8255A的A口设定为工作方式0输入,B口设定为工作方式1输出,C口没有定义,工作方式控制字为10010100B. (2)C口置位/复位控制字的格式8255A C口置位/复位控制字的格式如图7.12所示.8255A C口置位/复位控制字用于设置C口某一位口线PCi(i=0~7)输出为高电平(置位)或低电平(复位),对各端口的工作方式没有影响.D3~D1:8种状态组合000~111对应表示PC0~PC7.D0:用来设定指定口线PCi为高电平还是低电平.当D0=1时,指定口线PCi输出高电平;当D0=0时,指定口线PCi输出低电平.D6~D4没有定义,状态可以任意,通常设置为0.D7位作为标志位,恒为0.例如,若把PC2口线输出状态设置为高电平,则置位/复位控制字为00000101B.(3)8255A初始化编程8255A的初始化编程比较简单,只需要将工作方式控制字写入控制端口即可.另外,C口置位/复位控制字的写入只是对C口指定位输出状态起作用,对A口和B口的工作方式没有影响,因此只有需要在初始化时指定C口某一位的输出电平时,才写入C口置位/复位控制字.【例7.1】设8255A的A口工作在方式0,数据输出,B口工作在方式1,数据输入,编写初始化程序(设8255A的端口地址为FF80H~FF83H).初始化程序如下:MOV DX, 0FF83H ; 控制寄存器端口地址为FF83HMOV AL, 10000110B ; A口方式0, 数据输出, B口方式1, 数据输入OUT DX, AL ; 将控制字写入控制端【例7.2】将8255A的C口中PC0设置为高电平输出,PC5设置为低电平输出,编写初始化程序(设8255A的端口地址为FF80H~FF83H).初始化程序如下:MOV DX, 0FF83H ; 控制端口的地址为FF83HMOV AL, 00000001B ; PC0设置为高电平输出OUT DX, AL ; 将控制字写入控制端口MOV AL, 00001010B ; PC5设置为低电平输出OUT DX, AL ; 将控制字写入控制端口。
常用可编程并行接口芯片8255A82C55功能
常用可编程并行接口芯片8255A (82C55)功能(该内容可参考学习指导书或别的微机原理教材)一.芯片功能及引脚1.具有三个八位端口:PA 、PB 和PC 口,分为二组: A 组:PA7---PA0,PC7---PC4 B 组:PB7---PB0,PC3---PC0 具有三钟工作模式:方式0:基本输入输出方式。
方式1:选通输入/输出方式。
方式2:双向工作方式(A 组具有)。
2. 面向系统总线引脚D7---D0:数据线(双向) RESET :复位输入线,高有效。
/RD :读信号,低有效。
/WR :写信号,低有效。
/CS :片选信号,低有效。
A1、A0:地址输入,具有四个可以访问的端口: A 1 A 0 = 00 为PA 数据口。
A 1 A 0 = 01 为PB 数据口。
A 1 A 0 = 10 为PC 数据口。
A 1 A 0 = 11 为控制口。
3. 端口线(面向外设)具有三个八位端口PA7---PA0;PB7---PB0;PC7---PC0。
分为二组:A 组和B 组,在选通或双向工作方式下PC 口用作应答信号。
4.8255A 与系统总线的连接(将上图画完整) 设采用线性译码(A9,A8没参与),基本地址为: 40H PA 口(数据口) 注意:设总线为双体结构 42H PB 口(数据口) A 0 : 参与片选偶地址有效 44H PC 口(数据口) AEN :为PC 机的控制信号(执行IN/OUT 指令时为低) 46H 控制口A 组B 组A 7A 6A 5A 4A 3M/IO A 0AEN二. 8255A 的工作方式选择1.工作方式控制字(写入控制口,将选择8255A 的工作方式)2.位 复位/置位控制字(写入控制口,对选中的PC i 进行位操作)三.8255A 工作方式1.方式0:基本的输入/输出(可作为一般的输入/输出线使用)此方式下可获得多至24条端口线,分二大组四小组,每小组可通 过编程独立设置为输入或输出。
8255工作方式
将OBF置为有效。对于A组,系统规定端口C的第 7位(PC7)用作从端口A输出的OBF信号,对于B组, 规定端口C的第1位(PC1)用作从端口B输出的OBF信
号。
② ACK ——外部应答信号。由外部输入,低电平有 效。 ACK有效,表示外部设备已收到由8255A输出的八 位数据,它实际上是对OBF信号的回答信号。对于A 组,指定端口C的第6位(PC6)用来接收向端口A输入 的ACK信号;对于B组,指定端口C的第2位(PC2)用 来接收向端口B输入的ACK信号。 ③ INTR——中断请求信号。向CPU输出,高电平有 效。
ACKA OBFA
&
O WR PC3 INTRA I/O
PC4, PC5
图7.4 端口A方式 1 输出
ACK:外设应答 OBF:输出缓冲器满 INTE:中断允许 INTR:中断请求
① CPU输出数据 ② CPU发出WR: (1) 数据写到 8255A的端口 (2) WR的低电平清除中断请求 信号INTR (3) WR的上升沿使OBF有效, 表示输出端口满,通知外设取数 据。 ③ 外设接受到数据后,发出 ACK信号: (1) ACK的下降沿使OBF变高, (2) ACK的上升沿使INTE=1, 则INTR变高,发出中断请求,请 求CPU输出新的数据。
3. STB 选通信号:由外设输入,低电平有效、
4. IBF 输入缓冲存储器满信号:向外部输出,高电平 有效。
5. INTR 中断请求信号:向CPU发出,高电平有效。
端口A工作于方式2所需控制信号如下: ① OBFA——输出缓冲存储器满信号。向外部 输出,低电平有效。OBFA有效,表示要求输 出的数据已锁存到端口A的输出锁存器中,正 等待向外部输出。CPU用OUT指令输出数据 时,由WR信号后沿将OBFA置成有效。系统 规定端口C的第7位(PC7)用作由端口A输出的 OBFA信号。
在8255a中的工作方式控制字
在8255a中的工作方式控制字8255A是一种通用并行输入输出端口芯片,它具有多种工作方式,其中通过控制字来选择不同的工作方式。
本文将详细介绍8255A的工作方式控制字,帮助读者深入了解该芯片及其应用。
8255A芯片具有三种工作方式:模式0、模式1和模式2。
每种工作方式都可以通过控制字来进行设置。
首先,我们来看模式0。
模式0是最简单的工作方式,它将8255A 芯片配置为三个8位输入/输出端口。
通过控制字的位设置,我们可以分别将三个端口配置为输入或输出。
例如,将控制字的位0设置为1,则相应的端口A将被配置为输出端口;同样地,如果位0设置为0,则端口A将被配置为输入端口。
通过这种方式,我们可以轻松地控制芯片的输入和输出状态。
接下来是模式1。
模式1将8255A芯片配置为两个8位输入/输出端口和一个4位双向输入/输出端口。
与模式0类似,我们可以通过控制字的位设置来选择每个端口是输入还是输出。
与模式0的不同之处在于,模式1包含一个双向端口,可以通过控制字的位来选择该端口的输入或输出模式。
例如,将控制字的位4设置为1,该双向端口将被配置为输出模式;同样地,如果位4设置为0,则该端口将被配置为输入模式。
最后,是模式2。
模式2将8255A芯片配置为一个8位输入/输出端口和两个4位双向输入/输出端口。
通过控制字的位设置,我们可以选择每个端口是输入还是输出,并且选择双向端口的输入或输出模式,与模式1相似。
总结一下,8255A芯片的工作方式控制字对于配置芯片的输入和输出端口非常重要。
通过合理设置控制字的位,我们可以选择不同的工作模式,并灵活地控制芯片的输入和输出状态。
掌握8255A芯片的工作方式控制字,将有助于我们更好地应用该芯片,满足各种实际需求。
8255工作方式
并行接口 82C55A的工作方式
12/6/2016
Page 1
82C55A的工作方式
• 接口芯片82C55A总的来说是并行接口,可 设置3种工作方式,从而扩展了82C55A的使 用功能。
• 82C55A的3种工作方式,由于其功能不同、 工作时序及状态字不一样。
12/6/2016
Page 2
• C端口可有4种功能 : • ① 做A端口和B端口的专用联络信号线; • ② 做数据端口,未分配做专用联络信号的引脚可做数据线用; • ③ 做状态端口,读取A端口和B端口的状态字; • ④ 做位控,按位输出逻辑1或逻辑0。
12/6/2016
Page 4
• 使用82C55A 1方式和2方式构成的并行接口 在与CPU交换数据时,要求使用专用的联 络(应答)信号和固定的工作时序,并设 置专用的工作状态字,故它们使用起来没 有0方式那么简单、自由。 • 下面介绍它们的联络线设置。
• 输出时,如果采用中断方式,则产生中断请求INTR的条件是 、 、 和 INTE都为高电平,分别表示CPU已写完一个数据( =1)、输出缓冲器已 变空( =1)、回答信号已结束( =1),I/O设备已收到数据,并且允许中 断(INTE=1)。当上述条件都满足时才能产生中断请求。
12/6/2016
P出方式
• 2方式的特点:一次初始化可将A端口置成既输入 又输出,具有双向性;要求有两对专用的联络信 号,有固定的工作时序和专用的工作状态字;适 用于查询和中断方式与CPU交换数据,特别是在 要求与I/O设备进行双向数据传输时很有用。 • 2方式的功能:A端口做双向数据端口(8位并行 );B端口做数据端口(8位并行);C端口有4种 功能,与1方式类似。
12/6/2016
可编程并口8255A
例:对B口的PB1和PB0同时置位复位(产生方波) mov dx, 301h ;Port B 端口地址为301h lp:in al, dx or al, 03h out dx, al ;PB1PB0=11 call delay and al, 0fch out dx, al ;PB1PB0=00 call delay jmp lp
• 主要由数据总线缓冲器、读写控制逻辑、 A、B、C三个双向I/O端口及有关控制电 路组成。
– 数据总线缓冲器 三态双向8位缓冲,用于收发数据总线上的 数据 – 读/写控制逻辑 包括RD、WR、CS、A0、A1。控制总线的 开放、关闭和数据的传送方向。
8255A的编程控制字
8255A 共有两个控制字:①方式选择 控制字;②对端口C按位置位/复位控制字。 这两个控制字共用一个地址号。即当 地址线A1A0都为1时就是访问控制字寄存器 的片内地址。而用控制字的D7位来区分是 方式设定控制字,还是对C端口的按位置位 /复位命令。当D7位为1,是方式控制字; 若D7位为0,是对端口C按位置位/复位的 命令。
1、 方式0及其应用
0方式特点
①0 方式是一种基本输入 / 输出工作方式。 通常不用联络信号,或不使用固定的联 络信号,因此,所谓基本I/O方式是指查 询方式传送,也包括无条件传送。这种 方式不能采用中断方式和 CPU 交换数据。 输出锁存,输入有三态缓冲能力而无锁 存功能。
②在0方式下,彼此独立的两个8位和两个4 位并行口,共24根I/O线全部由用户支 配,都能被指定作为输入或者作为输出 用,共有16种不同的使用组态。要特别 强调的是,在0方式下,只能把C口的高4 位为一组或低4位为一组同时输入或输出, 不能再把4位中一部分作输入另一部分作 输出,即4位一起行动。
实验四8255A并行口实验
实验四8255A并行口实验(一)一、实验目的⒈掌握8255A和微机接口方法。
⒉掌握8255A的工作方式和编程原理。
二、实验内容用8255PA口控制PB口。
三、实验接线图图6-3四、编程指南⒈8255A芯片简介: 8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0:基本输入/ 输出方式方式l:选通输入/ 输出方式方式2:双向选通工作方式⒉使8255A端口A工作在方式0并作为输入口,读取Kl-K8个开关量,PB 口工作在方式0作为输出口。
五、实验程序框图六、实验步骤⒈在系统显示监控提示符“P.”时,按SCAL键,传送EPROM中的实验程序到内存中。
(注:必须先传送EPROM后,再往下操作)⒉ 8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连。
⒊ 8255A芯片B口的PB0-PB7依次接Ll-L8。
⒋运行实验程序。
在系统显示监控提示符“P.”时,输入11B0,按EXEC键,系统显示执行提示符“┌”拨动K1-K8, LI-L8会跟着亮灭。
七、实验程序清单CODE SEGMENT ;H8255-1.ASMASSUME CS:CODEIOCONPT EQU 0FF2BH ;定义8255控制口IOBPT EQU 0FF29H ;定义8255 PB口IOAPT EQU 0FF28H ;定义8255 PA口ORG 11B0HSTART: MOV AL,90H ;定义PA输入,PB输出MOV DX,IOCONPT ;控制口OUT DX,AL ;写命令字NOP ;延时NOPNOPIOLED1: MOV DX,IOAPT ;PA口IN AL,DX ;读PA口MOV DX,IOBPT ;PB口OUT DX,AL ;写PB口MOV CX,0FFFFH ;延时DELAY: LOOP DELAYJMP IOLED1 ;循环CODE ENDSEND START实验五8255A并行口实验(二)一、实验目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
8255A芯片简介及其应用
8255A芯片简介及其应用班级:姓名:学号:一、简介8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
二、内部结构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进行读、写与片选操作,所以控制线为片选、复位、读、写信号。
各信号的引脚编号如下:(1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。
(2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。
(3)控制总线CB:片选信号、复位信号RST、写信号、读信号。
当CPU 要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。
2)与外设接口部分根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。
各通道的引脚编号如下:(1)A口:编号为PA0~PA7,用于8255向外设输入输出8位并行数据。
(2)B口:编号为PB0~PB7,用于8255向外设输入输出8位并行数据。
(3)C口:编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。
微机接口试题
10 思考与练习题一、选择题1.CPU 对8255A 执行按位置位/复位操作时,写入的端口地址是( )。
DA.端口AB.端口BC.端口CD.控制口2.8255A 的PB 口有( )种工作方式? BA.1B.2C.3D.43.利用8255A 采集100个数据,数据间采样间隔为10ms,要用循环查询方法实现,即每次循环采集一个数据,那么在循环的初始化部分应该( )。
CA.①设置采样次数为100次;②设置用于存放数据的缓冲区地址指针B.①设置采样次数为100次;②产生10ms 的数据间采样间隔;③设置用于存放数据的缓冲区地址指针C.①设置采样次数为100次;②产生10ms 的数据间采样间隔;③设置用于存放数据的缓冲区地址指针;④设置8255A 的工作方式控制字4.8255A 工作于方式1输出时,在由外设输入的STD 信号( )的控制下将端口A 或(端口B)的数据锁存。
DA.上升沿B.下降沿C.高电平D.低电平二、填空题1.微机和外设通信的并行传输是指_数据的各位同时传送_;并行接口的特点是_(P226 10.1.2)_;常用于_近距离_场合。
P225~P2262.从并行接口的电路结构来看,并行接口有_输入接口_和_输出接口_之分。
P2263.8255A 有两种命令字,一种是_ _工作方式命令字,另一种是_C 口位操作_命令字。
P2294.8255A 内部有_24_个对外输入/输出端口,有3种工作方式,方式0称为_基本I/O 工作方式_,方式1称为_选通I/O 工作方式_,方式2称为_选通双向总线I/O 方式_。
P232~P235三、简答题1.从8255A 的PC 口读出数据,试述控制信号-CS,A 1,A 0,-RD ,-WR 的状态。
答:-CS=0,A 1=1,A 0=0,-RD=0,-WR=12.可编程并行接口芯片8255A 有哪几种工作方式,每种工作方式有何特点?答:8255A 有3种工作方式。
8255A的工作方式及其初始化编程
8255A 的工作方式及其初始化编程8255A 有三种工作方式:基本输入/输出方式、单向选通输入/输出方式和双向选通输入/输出方式.1.8255A 的工作方式(1)方式0:基本输入/输出方式(basic Input/Output)方式0是8255A 的基本输入/输出方式,其特点是与外设传送数据时,不需要设置专用的联络(应答)信号,可以无条件的直接进行I/O 传送.A, B, C 3个端口都可以工作在方式0.A 口和B 口工作在方式0时,只能设置为以8位数据格式输入/输出;C 口工作在方式0时,可以高4位和低4位分别设置为数据输入或数据输出方式.方式0常用于与外设无条件数据传送或查询方式数据传送.(2)方式1:单向选通输入/输出方式(strobe Input/Output)方式1是一种带选通信号的单方向输入/输出工作方式,其特点是:与外设传送数据时,需要联络信号进行协调,允许用查询或中断方式传送数据.由于C 口的PC0, PC1和PC2定义为B 口工作在方式1的联络信号线,PC3,PC4和PC5定义为A 口工作方式1的联络信号线,因此只允许A 口和B 口工作在方式1.A 口和B 口工作在方式1,当数据输入时,C 口的引脚信号定义如图7.6所示.PC3, PC4和PC5定义为A 口的联络信号线INTRA, A STB 和IBFA, PC0, PC1和PC2定义为B 口的联络信号线INTRB, IBFB 和B STB ,剩余的PC6和PC7仍可以作为基本I/O 线,工作在方式0.方式1输入联络信号的功能如下:S T B (strobe input):选通信号,输入,低电平有效.此信号由外设产生输入,当STB 有效时,选通A 口或B 口的输入数据锁存器,锁存由外设输入的数据,供CPU 读取.IBF(input buffer full):输入缓冲器满信号,输出,高电平有效.当A 口或B 口的输入数据锁存器接收到外设输入的数据时,IBF 变为高电平,作为对外设STB 的响应信号,CPU 读取数据后IBF 被清除.INTR:中断请求信号,输出,高电平有效,用于请求以中断方式传送数据.为了能实现用中断方式传送数据,在8255A 内部设有一个中断允许触发器INTE,当触发器为"1"时允许中断,为"0"时禁止中断.A 口的触发器由PC4置位或复位,B 口的触发器由PC2置位或复位. 方式1数据输入的时序如图7.7所示.当外设的数据准备就绪后,向8255A 发送STB 信号以便锁存输入的数据, STB 的宽度至少为500ns,在STB 有效之后的约300ns,IBF 变为高电平,并一直保持到RD 信号由低电平变为高电平,待CPU 读取数据后约300ns 变为低电平,表示一次数据传送结束.INTR 是在中断允许触发器INTE 为1,且IBF 为1(8255A 接收到数据)的条件下,在STB 后沿(由低变高)之后约300ns 变为高电平,用以向CPU 发出中断请求,待RD 变为低电平后约400ns, INTR 被撤销.A 口和B 口工作在方式1,当数据输出时,C 口的引脚信号定义如图7.8所示.PC3, PC6和PC7定义为A 口联络信号线INTRA,A ACK 和A OBF ,PC0,PC1和PC2定义为B 口联络信号线INTRB, B OBF 和B ACK ,剩余的PC4和PC5仍可以作为基本I/O 线,工作在方式0.方式1输出联络信号的功能如下:O B F (output buffer full):输出缓冲器满指示信号输出,低电平有效.OBF 信号由8255A 发送给外设,当CPU 将数据写入数据端口时, OBF 变为低电平,用于通知外设读取数据端口中的数据.A C K (acknowledge input):应答信号,输入,低电平有效. ACK 信号由外设发送给8255A,作为对OBF 信号的响应信号,表示输出的数据已经被外设接收,同时清除OBF 信号.INTR:中断请求信号,输出,高电平有效.用于请求以中断方式传送数据.方式1数据输出的时序如图7.9所示.当CPU 向8255A 写入数据时,WR 信号上升沿后约650ns, OBF 有效,发送给外设,作为外设接收数据的选通信号.当外设接收到送来的数据后,向8255A 回送ACK 信号,作为对OBF 信号的应答.ACK 信号有效之后约350ns, OBF 变为无效,表明一次数据传送结束.INTR 信号在中断允许触发器INTE 为1且信号无效之后约350ns变为高电平.若用中断方式传送数据时,通常把INTR连到8259A的请求输入端IRi.(3)方式2:双向选通输入/输出方式(bi-directional bus)方式2为双向选通输入/输出方式,是方式1输入和输出的组合,即同一端口的信号线既可以输入又可以输出.由于C口的PC7~PC3定义为A口工作在方式2时的联络信号线,因此只允许A口工作在方式2,引脚信号定义如图7.10所示.由图7.10可以看出,PA7~PA0为双方向数据端口,既可以输入数据又可以输出数据.C口的PC7~PC3定义为A口的联络信号线,其中PC4和PC5作为数据输入时的联络信号线,PC4定义为输入选通信号STB,PC5定义为输入缓冲器满IBFA;APC6和PC7作为数据输出时的联络信号线,PC7定义为输出缓冲器满OBF,PC6定义A为输出应答信号ACK;PC3定义为中断请求信号INTRA.A需要注意的是:输入和输出公用一个中断请求线PC3,但中断允许触发器有两个,即输入中断允许触发器为INTE2,由PC4写入设置,输出中断允许触发器为INTE1,由PC6写入设置,剩余的PC2~PC0仍可以作为基本I/O线,工作在方式0. 2.8255A初始化编程8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的.8255A由编程写入的控制字有两个:方式控制字和置位/复位控制字.方式控制字用于设置端口A, B, C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7~PC0中某一条口线PCi(i=0~7)的电平.两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位.(1)方式控制字的格式 8255A工作方式控制字的格式如图7.11所示.D0:设置PC3~PC0的数据传送方向.D0=1为输入;D0=0为输出.D1:设置B口的数据传送方向.D1=1为输入;D1=0为输出.D2:设置B口的工作方式.D2=1为方式1;D2=0为方式0.D3:设置PC7~PC4的数据传送方向.D3=1为输入;D3=0为输出.D4:设置A口的数据传送方向.D4=1为输入;D4=0为输出.D6D5:设置A口的工作方式.D6D5=00为方式0,D6D5=01为方式1,D6D5=10或11为方式2.D7:方式控制字的标志位,恒为1.例如,将8255A的A口设定为工作方式0输入,B口设定为工作方式1输出,C口没有定义,工作方式控制字为10010100B.(2)C口置位/复位控制字的格式8255A C口置位/复位控制字的格式如图7.12所示.8255A C口置位/复位控制字用于设置C口某一位口线PCi(i=0~7)输出为高电平(置位)或低电平(复位),对各端口的工作方式没有影响.D3~D1:8种状态组合000~111对应表示PC0~PC7.D0:用来设定指定口线PCi为高电平还是低电平.当D0=1时,指定口线PCi输出高电平;当D0=0时,指定口线PCi输出低电平.D6~D4没有定义,状态可以任意,通常设置为0.D7位作为标志位,恒为0.例如,若把PC2口线输出状态设置为高电平,则置位/复位控制字为00000101B.(3)8255A初始化编程8255A的初始化编程比较简单,只需要将工作方式控制字写入控制端口即可.另外,C口置位/复位控制字的写入只是对C 口指定位输出状态起作用,对A口和B口的工作方式没有影响,因此只有需要在初始化时指定C口某一位的输出电平时,才写入C口置位/复位控制字.【例7.1】设8255A的A口工作在方式0,数据输出,B口工作在方式1,数据输入,编写初始化程序(设8255A的端口地址为FF80H~FF83H).初始化程序如下:MOV DX, 0FF83H ; 控制寄存器端口地址为FF83HMOV AL, 10000110B ; A口方式0, 数据输出, B口方式1, 数据输入OUT DX, AL ; 将控制字写入控制端【例7.2】将8255A的C口中PC0设置为高电平输出,PC5设置为低电平输出,编写初始化程序(设8255A的端口地址为FF80H~FF83H).初始化程序如下:MOV DX, 0FF83H ; 控制端口的地址为FF83HMOV AL, 00000001B ; PC0设置为高电平输出OUT DX, AL ; 将控制字写入控制端口MOV AL, 00001010B ; PC5设置为低电平输出OUT DX, AL ; 将控制字写入控制端口。
8255传输方式与工作方式
8255A传输方式与工作方式一、8255A芯片介绍8255A是Intel公司生产的可编程并行I/O接口芯片,它具有3个八位的并行I/O口,三种工作方式,可通过编程改变其功能,使用灵活方便,可作为单片机与多种外围设备连接时的中间接口电路。
1、引脚说明8255A共有40只引脚采用双列直插式封装,各引脚功能如下。
D7~DO:三态双向数据线,与单片机数据总线连接,用来传送数据信息。
V:片选信号线,低电平有效,表示本芯片被选中。
C CRD:读出信号线控制8255A数据的读出。
W R:写入信号线控制8255A的数据写入。
V:+5V电源。
C CPA7~PA0:A口输入/输出线。
PB7~PB0:B口输入/输出线。
PC7~PC0:C口输入/输出线。
A1~A0:地址线,用来选择8255A内部四个端口。
2、内部结构(1)端口A、B、CPA口:一个八位数据输出锁存器和缓冲器;一个八位数据输入锁存器。
PB口:一个八位数据输出锁存器和缓冲器;一个八位数据输入缓冲器。
PC口:一个八位数据输出锁存器;一个八位数据输入缓冲器。
通常PA口、PB口作为输出输入端口,PC口可作为输出输入端口,也可在软件控制下,分为两个四位端口,作为端口A、B 选通方式操作时的状态控制信号。
(2)A组和B组控制电路这是两组根据CPU写入的“命令字”控制8255A工作方式的控制电路。
A组控制PA口和PC口上半部分;B组控制PB口和PC口下半部,并可根据“命令字”对端口的每一位实现按位“置位”或“复位”。
(3)数据总线缓冲器数据总线缓冲器是一个三态双向8位缓冲器,作为8255A与系统总线之间的接口,用来传送数据、指令、控制命令以及外部状态信息。
(4)读/写控制逻辑电路读/写控制逻辑电路接收CPU发来的控制信号RD、W R、RESET、地址信号A1~A0等,根据要求,将端口数据读出送往CPU或者将CPU 送来的数据写入端口。
二、8255A 工作方式8255A 有三种基本工作方式:(1)方式0:基本输入输出;(2)方式1:选通输入输出;(3)方式2:双向传送(仅A 口有此工作方式)。
8255A工作方式
方式1下,A、B口均为输出的信号定义
工作方式1下的数据输出时序
工作方式1下A口、B口均为输入
与方式1下两口均为输出类似,为实现选通输入, 则同样要利用C口的信号线。 在口为输入时所用到的控制信号的定义如下: : ① STB 为低电平有效的输入选通信号。
② IBF为高电平有效的输入缓冲器满信号。 ③ INTR为中断请求信号,高电平有效。 ④ INTE为中断允许状态。
方式1下A、B口均为输入时的信号定义
工作方式1下数据输入时序 工作方式 下数据输入时序
工作方式2,又称双向输入输出方式
A口工作于方式2之下时,各信号的定义 如图下所示。 OBF 当A口工作在方式2时,其控制信号 ACK 、 STB 、 、IBF及INTR与前面的叙述是一 样的; 不同点是:
方式2下的信号定义
FBC0H~FBC3H
FBC4H~FBC7H
方式2下的时序图
6.2.3 8255的寻址及连接使用
8255占外设编址的4个地址,即A口、B口、C口和控制 寄存器各占一个外设接口地址。对同一个地址分别可 以进行读写操作; 根据这种寻址结构,可以方便地将8255连接到系统总线 上; 8255寻址
8255的寻址
8255与系统
之下,A口既 ①因为在方式2之下 口既 因为在方式 之下 作为输出又作为输入,因 作为输出又作为输入 因 有效时,才 此,只有当 ACK有效时 才 只有当 能打开A口输出数据三态 能打开 口输出数据三态 使数据由PA0~PA7 门,使数据由 使数据由 输出。 输出。 此时A口输入 口输入、 ② 此时 口输入、输出均具 备锁存数据的能力。 备锁存数据的能力。 ③在这种方式下,A口的数据 在这种方式下 口的数据 输入或数据输出均可引起 中断。 中断。
8255A的工作方式
8255A的工作方式1. 方式0基本特点:方式0是一种基本输入或输出方式,该方式适合于通信双方不需要联络信号(应答信号)的简单输入/输出场合,CPU可以随时用输入/输出指令对指定端口进行读写操作。
该方式的特点是:①使8255A分成彼此独立的两8位端口(A口,B口)和两个4位端口(C口高4位和低4位),4个端口的输入/输出可有16种不同的组态,可适用于各种不同的应用场合。
②方式0规定输出有无锁存能力,而输入数据不被锁存。
③方式0是单向的I/O,即一次初始化指定了输入或输出,则不能改变;若改变,则须重新初始化。
不能指定同一端口同时既作输入又作输出。
④这种方式下,无固定的I/O联络信号,联络信号线可由用户自行安排。
这种方式只能用于无条件传送和查询传送,不能实现中断传送。
2.方式1基本特点:方式1为选通输入/输出方式,即可借助于选通(应答式)联络信号的I/O方式。
这种方式中,A口和B口用于输入/输出的数据端口,C口某些位用作接收或产生应答联络信号。
方式1的特点是:① 有两组选通工作方式的端口,每组包含一个8位数据端口和3条控制线。
只有A口和B口可作为数据端口,C口的某些线被固定作为A口或B口与外设之间的联络信号线,其余的线只能定义为基本I/O,即只能工作于方式0。
② 每组端口提供有中断请求逻辑和中断允许触发器。
对中断允许触发器INTE的操作是通过对端口C的置位/ 复位控制字进行的。
③ 方式1在输入/输出数据时都被锁存。
④ 方式1可以用查询方式和中断传送方式进行数据的输入/输出。
(1)方式1输入A口、B口和PC6、PC7作为数据口;端口C其余6位PC5~PC0作为控制口。
A口工作于方式1输入,固定用PC5~PC3作联络信号线;B口工作于方式1输入,固定用PC2~PC0作联络信号线。
各信号的作用说明如下::选通信号,输入,低电平有效。
它将外设的信号输入8255A的锁存器中。
IBF(INPUT BUFFER FULL)输入缓冲器满信号,输出,高电平有效,这是8255A输出的状态信号,通知外设送来的数据已接收。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可编程并行接口芯片8255A有哪几种工作方式?每种工作方式有何特点?【解答】方式0:没有固定的用于应答式传送的联络信号线,CPU可以采用无条件传送方式与8255A交换数据。
方式1:有专用的中断请求和联络信号线,因此,方式1通常用于查询传送或中断传送方式。
方式2:PA口为双向选通输入/输出或叫双向应答式输入/输出。
9.2 8255A的方式选择控制字和C口按位控制字的端口地址是否一样?8255A怎样区分这两种控制字?写出端口A作为基本输入,端口B作为基本输出的初始化程序。
【解答】8255A的方式选择控制字和C口按位控制字的端口地址是一样的,通过控制字的最高位D7进行区分:D7=1时,为方式选择控制字;D7=0时,为C口按位控制字。
初始化程序段如下:MOV DX,PORT ;PORT为端口地址MOV AL,10010000BOUT DX,AL9.3 某8255A的端口地址范围为03F8H~03FBH,A组和B组均工作在方式0,A口作为数据输出端口,C口低4位作为状态信号输入口,其它端口未用。
试画出该片8255A与系统的连接图,并编写初始化程序。
【解答】连接图如下:图9-1 8255A与系统的连接图程序如下:MOV AL,81HMOV DX,03FBHOUT DX,AL9.4 试按以下要求对8255A进行初始化编程:(1)设端口A、端口B和端口C均为基本输入/输出方式,且不允许中断。
请分别考虑输入/输出。
(2)设端口A为选通输出方式,端口B为基本输入方式,端口C剩余位为输出方式,允许端口A中断。
(3)设端口A为双向方式,端口B为选通输出方式,且不允许中断。
【解答】(1)端口A、端口B和端口C均为基本输入/输出方式,则为方式0,任何一个口都可用于输入或输出,可出现16种组合,这里只举出2种组合。
若端口A、B为数据输入口;C口的低4位为控制信号输出口,高4位为状态信号输入口,程序段如下:MOV AL,10011010BMOV DX,PORT ;PORT为端口地址OUT DX,ALMOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断OUT DX,AL若端口A、B为数据输出口;C口的高4位为控制信号输出口,低4位为状态信号输入口,程序段如下:MOV AL,10000000BMOV DX,PORT ;PORT为端口地址OUT DX,ALMOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断OUT DX,AL(2)端口A为选通输出方式,方式1;端口B为基本输入方式,程序段如下:MOV AL,10100010BMOV DX,PORT ;PORT为端口地址OUT DX,ALMOV AL,00001101B ;设PC6为中断信号控制引脚,PC6=1,允许中断OUT DX,AL(3)端口A为双向方式,方式2;端口B为选通输出方式,程序段如下:MOV AL,11000100BMOV DX,PORT ;PORT为端口地址OUT DX,ALMOV AL,00001100B ;设PC6为中断信号控制引脚,PC6=0,禁止中断OUT DX,AL9.5 采用8255A作为两台计算机并行通信的接口电路,请画出查询式输入/输出方式工作的接口电路,并写出查询式输入/输出方式的程序。
【解答】甲机的8255A是方式1发送,端口PA为输出,发送数据,而PC7和PC6引脚分别固定作联络线和。
乙机的8255A是方式0接收数据,故把端口PA定义为输入,另外,选用引脚PC7和PC3作为联络线。
接口电路如图9-2:图9-2 查询方式的双机通信查询式输入/输出方式的程序如下:;甲机发送的程序段MOV DX,303H ; 8255A命令端口MOV AL,l010000B ; 初始化工作方式字OUT DX,ALMOV AL,0DH ;置发送允许INTEA=1OUT DX,ALMOV SI,OFFSET BUFS ; 设置发送数据区的指针OUT CX,3FFH ; 发送字节数MOV DX,300H ; 向端口A写第1个数,产生第1个信号MOV AL,[SI] ; 送给乙机,以便获取乙机的信号OUT DX,ALINC SI ; 内存地址加1DEC CX ; 传送字节数减1LOP:MOV DX,302H ; 8255A状态端口(端口C)IN AL,DX ; 查发送中断请求INTRSA=1AND AL,08H ; 是否PC3=lJZ LOP ; 若无中断请求则等待;若有向端口A写数MOV DX,300H ; 8255A端口PA地址MOV AL,[SI] ; 从内存取数OUT DX,AL ; 通过端口A向乙机发送第2个数据INC SI ; 内存地址加1DEC CX ; 字节数减1JNZ LOP ; 字节未完,继续MOV AH,4CH ; 己完,退出INT 21H ;返回DOSBUFS DB … ; 定义1024个数据;乙机接收的程序段MOV DX,303H ; 8255A命令端口MOV AL,l0011000B ; 初始化工作方式字OUT DX,ALMOV AL,00000111B ; 置=1(PC3=1)OUT DX,ALMOV DI,OFFSET BUFR ; 设置接收数据区的指针MOV CX,3FFH ; 接收字节数L1: MOV DX,302H ; 8255A端口PCIN AL,DX ; 查甲机的 =0?(乙机的PC7=0)AND AL,80H ; 查甲机是否有数据发来JNZ L1 ; 若无数据发来,则等待;若有数据,则从端口A读数MOV DX,300H ; 8255A端口PA地址IN AL,DX ; 从端口A读入数据MOV [DI],AL ; 存入内存MOV DX,303H ; 产生信号,并发回给甲机MOV DX,00000110B ; PC3置“0”OUT DX,ALINC DI ; 内存地址加1DEC CX ; 字节数减1JNZ L1 ; 字节未完,则继续MOV AX,4C00H ; 己完,退出INT 21H ; 返回DOSBUFR DB l024 DUP(?) ; 接收数据缓冲区10.7 以图10-10所示的连接形式为例,设系统工作过程中以查询方式发送数据,而以中断方式接收数据,数据位8位,偶校验,2位停止位,波特率为4800HZ,请编写程序段对8250的初始化,并编写相应的中断服务子程序。
【解答】时钟频率为1.8432MHz,波特率为4800bps,故除数波特率因子为0018H,8250的初始化如下:;设置波特率MOV AL,10000000B ;DLAB=1MOV DX,3FBH ;通信控制寄存器地址OUT DX,AL ;写入通信控制寄存器MOV AL,18H ;置4800波特率除数低位MOV DX,3F8HOUT DX,AL ;写入除数锁存器低位MOV AL,00 ;置4800波特率除数高位MOV DX,3F9HOUT DX,AL ;写入除数锁存器的高位;设置字符数据格式MOV AL,00011111B ;设置数据格式MOV DX,3F8HOUT DX,AL ;写入通信控制寄存器MOV DX, 3FCHMOV AL,0BHOUT DX,AL ;初始化MODEM寄存器MOV DX,3F9H ;初始化中断允许寄存器MOV AL,01H ;允许接收数据寄存器满产生中断OUT DX,ALSTI中断服务子程序如下:RECEIVE:PUSH AXPUSH BXPUSH DXPUSH DSMOV DX,3FDHIN AL,DXTEST AL,DXTEST AL,IEHJNZ ERRORMOV DX,3F8HIN AL,DXAND AL,7FHMOV BX,OFFSET REVBUFMOV [BX],ALMOV DX,INTRRMOV AL,20H ;发中断结束命令EOI给8259OUT 0A0H,ALOUT 20H,ALJMP QUITERROR:……QUIT: POP DSPOP DXPOP BXPOP AXSTIIRET【解答】目前计算机中使用的键盘分为编码键盘和非编码键盘。
PC系列键盘具有两个基本特点:第一是按键均为无触点的电容开关第二是PC系列键盘属于非编码键盘。
11.3 说明键盘接口电路的种类和基本工作原理,试设计一个键盘中断调用程序,从键盘输入10个连续的字符。
【解答】目前PC机上常用的键盘接口有3种,一种是老式的直径13mm的PC键盘接口;第二种是最常用的直径8mm的PS/2键盘接口;第三种是USB接口的键盘。
PC系列键盘不是由硬件电路向CPU输出按键所对应的ASCII码值,而是由单片机扫描程序识别按键的当前位置,然后向键盘接口输出该键的扫描码。
按键的识别、键值的确定以及键代码存入缓冲区等工作全部由软件完成。
设输入的字符存入620H内存单元,键盘中断调用程序如下:MOV CX,10MOV SI,620HNEXT:MOV AH,0INT 16HMOV [SI],ALINC SILOOP NEXT11.4 与PC键盘发生关联的是哪两类键盘中断程序?它们各自的特点是什么?【解答】计算机系统与键盘发生联系通过硬件中断09H或软件中断16H。
特点:硬件中断09H是由按键动作引发的中断。
在此中断中对所有键盘进行了扫描码定义。
软件中断16H 是BIOS中断调用的一个功能。