可编程并行接口芯片8255A有哪几种工作方式word精品

可编程并行接口芯片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 ;POR为端口地址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,OOOO11O1B ;设PC6为中断信号控制引脚,P C6=1,允许中断OUT DX,AL(3)端口A为双向方式,方式2;端口B为选通输出方式,程序段如下:MOV AL,11OOO1OOBMOV DX PORT ;PORT为端口地址OUT DX,ALMOV AL,OOOO11OOB ;设PC6为中断信号控制引脚,PC6=Q禁止中断OUT DX,AL9.5采用8255A作为两台计算机并行通信的接口电路,请画出查询式输入/输出方式工作的接口电路,并写出查询式输入/输出方式的程序。

【解答】甲机的8255A是方式1发送,端口PA为输出,发送数据,而PC7和PC6引脚分别固定作联络线和。

乙机的8255A是方式0接收数据,故把端口PA定义为输入,另外,选用引脚PC7和PC3作为联络线。

接口电路如图9-2 :图9-2 查询方式的双机通信查询式输入/ 输出方式的程序如下:;甲机发送的程序段MOV DX,3O3H ; 8255A 命令端口MOV AL,lO1OOOOB ; 初始化工作方式字OUT DX,ALMOV AL,ODH ; 置发送允许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,3O2H ; 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,3O3H ; 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 ;初始化MODE寄存器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 QUITERRO:R,,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是由按键动作引发的中断。

在此中断中对所有键盘进行了扫描码定义。

软件中断是BIOS16H 中断调用的一个功能。

合集下载

8255A芯片

8255A芯片

8255A芯片8255A芯片是一种集成了并行输入/输出接口功能的芯片,由Intel公司推出。

它具有三个可编程I/O端口,每个端口都可以配置为输入或输出。

它提供了高度灵活性和可编程性,使其成为许多数字系统中常用的接口芯片。

8255A芯片的主要特点如下:1. 并行接口:8255A芯片具有三个并行I/O端口,即A、B和C端口。

每个端口都有8位,可以单独配置为输入或输出。

2. 可编程:8255A芯片可以通过编程来配置其各个端口的功能。

通过写入控制字寄存器,可以设置端口的工作模式,如输入模式、输出模式、双向模式等。

3. 单独I/O地址:8255A芯片具有单独的I/O地址,通过在I/O地址总线上设置相应的地址来访问芯片的寄存器。

4. 简化接口设计:8255A芯片的引脚数量相对较少,使得系统设计更加简化和便捷。

它可以直接与微处理器或其他逻辑芯片相连接,提供了与外部设备的接口。

5. 高可靠性:8255A芯片采用了逻辑门阵列和静态RAM组成的结构,具有较高的可靠性和稳定性。

8255A芯片的主要应用领域包括:1. 工业自动化系统:8255A芯片可以用于工业控制和自动化系统中,作为输入和输出设备的接口。

例如,它可以与传感器和执行器连接,实现对设备的监控和控制。

2. 仪器设备:8255A芯片可以用于仪器设备中,提供与外部设备的数据交换和控制接口。

例如,它可以用于示波器、频谱分析仪等设备中。

3. 计算机外部设备:8255A芯片可以用于计算机外部设备的接口,如打印机、磁盘驱动器等。

它可以实现对这些设备的数据传输和控制。

4. 数据采集系统:8255A芯片可以用于数据采集系统中,用于接收传感器的模拟信号并将其转换为数字信号。

总之,8255A芯片是一种功能强大的并行输入/输出接口芯片,具有灵活的配置和简化的接口设计。

它在工业自动化、仪器设备、计算机外部设备等领域具有广泛的应用。

8255a的应用原理图

8255a的应用原理图

8255a的应用原理图1. 简介8255a是一种常用的并行接口芯片,具有广泛的应用领域。

本文将介绍8255a 的应用原理图及其基本工作原理。

2. 原理图下面是8255a的应用原理图:_______| |Port A ---| || 8255a |Port B ---| || |Port C ---|_______|3. 工作原理8255a是一个可编程的并行接口,它具有3个I/O端口(Port A、Port B、Port C)和多种工作模式。

下面是8255a的工作原理的详细描述:3.1 Port APort A是一个8位的双向端口,可以用于输入和输出。

当将Port A设置为输入模式时,可以通过读取Port A来获取外部输入信号;当Port A设置为输出模式时,可以通过向Port A写入数据来向外部设备发送信号。

3.2 Port BPort B也是一个8位的双向端口,并且可以作为一组控制信号进行使用。

在输出模式下,可以通过向Port B写入数据来控制外部设备的各种功能;在输入模式下,可以通过读取Port B来获取外部设备的状态。

3.3 Port CPort C是一个8位的端口,既可以作为一组数字输入/输出端口,也可以作为一组控制信号端口。

Port C的具体功能取决于模式控制寄存器(Mode Control Register)的设置。

4. 工作模式8255a提供了多种工作模式,可以根据具体的应用需求进行配置。

下面是常用的工作模式介绍:4.1 单工模式在单工模式下,Port A、Port B和Port C分别用作输入或输出。

这种模式适用于只需进行一方向数据传输的场合。

4.2 双工模式在双工模式下,Port A和Port B既可以作为输入,也可以作为输出。

这种模式适用于需要双向数据传输的场合。

4.3 脉冲输出模式在脉冲输出模式下,Port A和Port B可以作为脉冲输出端口。

这种模式适用于需要生成特定频率或脉冲序列的场合。

8255a的工作方式控制字

8255a的工作方式控制字

8255a的工作方式控制字
8255A是一种通用输入/输出(I/O)控制器芯片。

它具有三种
工作模式:模式0、模式1和模式2。

控制字是一个8位的二进制数,用于设置8255A芯片的工作模式和功能。

在模式0下,8255A被配置为三个8位I/O端口,即Port A、Port B和Port C(又称控制端口)。

控制字的位D0-D2用于配置
Port C的寻址模式(例如BCD模式、二进制模式等),而D3-D7则
用于配置Port A和Port B是否为输入或输出。

在模式1下,8255A被配置为两个8位I/O端口和一个双向数
据总线。

控制字的位D0-D2用于配置Port C的寻址模式,而D3-D7
用于配置Port A和Port B的方向和数据的输入/输出。

在模式2下,8255A被配置为一个8位I/O端口和一个双向数
据总线。

控制字的位D0-D2用于配置Port C的寻址模式,而D3-D7
则用于配置Port A的方向和数据的输入/输出。

通过设置控制字的不同位,可以配置8255A芯片的工作模式和
端口的输入/输出方向。

这使得8255A芯片在嵌入式系统中具有很大
的灵活性和可定制性。

可编程并口8255A

可编程并口8255A
命令是对8255A的3个端口的工作方 式及功能进行指定,即进行初始化,初 始工作要在使用8255A之前做。
②按位置位/复位命令只是对PC口的输 出进行控制,使用它并不破坏已经建立 的3种工作方式,而是对它们实现动态控 制的一种支持。它可放在初始化程序以 后的任何地方。
③两个命令的最高位(D7)都分配作了特征 位,之所以要设置特征位,是为了识别两个 不同的命令。 D7=1时,为工作方式命令; D7=0时,为按位置位/复位命令。 ④按位置位/复位的命令代码只能写入命令口。 按位置位/复位命令是对C口进行操作,所以, 也就认为可以把按位置位/复位的命令代码写 到C口(数据口)。
• • • • •
IOY0 EQU 3000H ;片选IOY0 对应的端口始地址 MY8255_A EQU IOY0+00H*4 ;8255 的A 口地址 MY8255_B EQU IOY0+01H*4 ; MY8255_C EQU IOY0+02H*4 ; MY8255_MODE EQU IOY0+03H*4 ;
• C口:地址62H,工作于输入状态,用于 测试状态和系统配置情况。 • 控制寄存器:地址63H • 自检时:10001001B • 完成后:10011001B
DIP开关
1 2 3 4 5 6 7 8
软盘驱动器 00 1个 01 2个 10 3个 11 4个
1正常运行 0自检运行 1接入8087 0未接8087
• IBM PC/XT 的系统板上装有一片8255A, 工作方式0,检测系统配置是否有错误, 用来管理键盘。 • A口:地址60H, 开机时输出部件检测码, 以逐个检测有关部件。自检结束后,改 为输入状态,输入键盘扫描码。 • B口:地址61H,工作于输出状态,用于 输出系统内部控制信号,完成对键盘控 制并检测RAM和I/O通道等功能。

可编程并行接口芯片8255A有哪几种工作方式

可编程并行接口芯片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与可编程逻辑器件的结合,可以实现高速、实时的数据
03
采集和控制。
在数据采集与控制系统中的应用
8255A在数据采集与控制系统中,可以作为数据传输的桥梁,实现快速、稳定的数 据传输。
通过8255A,可以实现多路数据的并行采集和处理,提高了数据处理的效率。
8255A在数据采集与控制系统中,可以作为主控制器,协调各个模块的工作,保证 系统的稳定运行。
微处理器可以通过8255A实现对 外部设备的控制,扩展了微处理
器的控制能力。
8255A可以作为微处理器的输入 /输出接口,实现人机交互和数据
采集。
与可编程逻辑器件连接的应用
01
8255A可以与可编程逻辑器件连接,实现复杂的逻辑控制和数 据处理。
02
通过8255A,可编程逻辑器件可以扩展其输入/输出端口,满足
根据实际需求,设定8255A的数据格式,包括数据位、停止位、 奇偶校验位等。
数据读写操作
通过数据传输编程实现对8255A的数据读写操作,包括读数据、 写数据、读写同时操作等。
PART 05
8255A的应用实例
与微处理器连接的应用
8255A与微处理器连接,可以实 现并行数据传输,提高数据传输
效率。
在现代嵌入式系统中,8255A芯片仍有一 定的应用,尤其在一些需要并行I/O接口的 场合,如人机界面、传感器等。
PART 02
8255A芯片的基本结构 与功能
芯片的基本组成
输入/输出端口
数据总线
8255A包含三个输入/输出端口,分别为 端口A、端口B和端口C。每个端口都有8 个位,可以独立配置为输入或输出模式。
控制信号生成

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输出下一个数据。

可编程并行接口芯片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交换信息。

可编程并行接口芯片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的工作方式及其初始化编程

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 ; 将控制字写入控制端口。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档