8255作为打印机接口
微型计算机原理与接口技术---试题
试题一(一)填空题1.RESET 信号到来后8088/86的CS 和IP 分别为_FFFF_H 和_0000_H 。
2. 在特殊全嵌套方式下,8259 可响应同级或高级中断请求。
3. CPU 与外设接口通过数据总线传送状态信号与命令信号。
4. 8255 有3 种工作方式, 其中方式2只允许A 口使用。
6. 外设端口的编址方式有I/O 端口独.立编址和I/O 端口与存储器统一编址。
8.8088/8086的AD7-AD0是地址数据复用引脚,在T1时传送__地址信号__。
9.8259A作为主片时其引脚CAS0-CAS2 的信息传送方向是_向外_。
10.RS-232C是适用于__数据终端设备DTE__和__数据通信设备DCE__间的接口。
(二)单选题1. 8086CPU寻址I/O端口最多使用(4)条地址线。
(1)8 (2)10 (3)12 (4)162. CPU执行IN指令时有效的信号组合是(1)。
(1)RD =0,IO/M =1 (2) RD =0,IO/M =0(3)WR =0,IO/M =1 (4) WR =0,IO/M =03.某计算机的字长是16位,它的存储器容量是64KB,若按字编址那么它的最大寻址范围是(2)。
(1)64K字(2)32K字(3)64KB (4)32KB4.某一SRAM芯片的容量是512×8位,除电源和接地线外,该芯片的其他引脚最少应为(4)根。
(1)25 (2)23 (3)21 (4)195.8088/8086的基本总线周期由(2)个时钟周期组成。
(1)2 (2)4 (3)5 (4)66.在8086系统中中断号为0AH,则存放中断向量的内存起始地址为(2)。
(1)0AH (2)28H (3)4AH (4)2AH7.采用两片8259A可编程中断控制器级联使用,可以使CPU 的可屏蔽中断扩大到(1)。
(1)15级(2)16级(3)32级(4)64级8.当IF=0,8088/8086CPU不响应(2)中断请求。
8086cpu 8255 打印机接口
与打印机接口在某一8086cpu系统中接有一台打印机,8255A作为输出接口,工作在方式0下。
编写一程序将缓冲区BUFF内的400H个字节的ASSC11码送打印机打印。
工作过程如下:数据线D7~D0出现有效数据。
STB有效,通知打印机,接口给打印机一个数据,数据从数据线进入打印机。
BUSY有效,告诉接口,打印机正在打印数据。
打印完毕,BUSY变为无效,表示打印结束转步骤1相关打印程序比较简单,过程如下:1首先检测BUSY是否有效,是,则循环检测;否则执行第2步。
cpu写有效数据到A口,发STB(应上划线)信号,把A口数据输出给打印机。
A_PORT EQU 80HB_PORT EQU 82HC_PORT EQU 84HCTRL_PORT EQU 86H.......MOV AL,10001010BOUT CTRL)PORT,ALMOV AL,00000001BOUT CTRL_PORT,ALMOV CX,400MOV BX,OFFSET BUFF LOOP1:MOV DL,[BX]CALL PRINT_DATEINC BXLOOP LOOP1......PRINT_DATA PROCPRINT1:IN AL,C_PORTTEST AL,00010000BJNZ PRINT1MOV AL,DLOUT A_PORT,ALMOV AL,00000000BOUT CTRL_PORT,ALMOV AL,00000001BOUT CTRL_PORT,ALRETPRINT_DATA ENDP可以看出,上述程序通过对C口的无条件读取方式,也就是测试打印机的状态线BUSY,实现把A口的数据有条件传输给打印机。
现有一个高精密晶体振荡电路,输出信号时脉冲波,频率为1MHz。
要求利用8253做一个秒信号发生器,其输出接一个发光二级管,以0.5秒点亮、0.5秒熄灭的方法闪烁指示。
设8253的通道地址为80H~86H(偶地址)。
8255功能与应用
8255A具有三个相互独立的输入/输出通道:
通道A、通道B、通道C。
A组控制逻辑控制端口A及端口C的上半部;
A组有0,1,2 三种工作方式。
B组控制逻辑控制端口B及端口C的下半部,
B组只能工作于方式0,1。
二、8255A的结构框图(如图8-1所示) 从功能上来分,8255A的结构可分为:总 线接口电路、内部控制逻辑和输入 / 输出 接口电路。 (1)总线接口电路 数据总线缓冲器和读/写控制逻辑。 (2)内部控制逻辑 (3)输入/输出接口电路
MOV AL, 0DH OUT 83H, AL ;设按位置位/复位控制字 ;置PC6=1,使选通无效
具体程序段如下:
MOV AL, 81H OUT 83H, AL MOV AL, 0DH OUT 83H, AL WAIT:IN AL, 82H TEST AL, 04H JNZ WAIT MOV AL, BL OUT 80H, AL MOV AL,0CH OUT 83H, AL INC AL OUT 83H, AL
; (控制字若为83H也对) ;送控制字 ;设按位置位/复位控制字 ;置PC6=1,使选通无效 ;读C口状态 ;测试BUSY状态(PC2) ;忙,循环测试 ;不忙,取打印字符 ;送A口 ;设按位置位/复位控制字 ;置PC6=0,选通打印机
;置PC6=1
总
结
掌握可编程输入/输出接口芯片8255A的应用 及编程方法(方式0,硬件电路,程序)。
8255A作为打印机接口的示意图如下:
A0 A1 IOR IOW 译 码 器
A0 A1
RD
WR CS
工作过程:
8255A不断查询打 印机的状态,当 打印机为忙状态, 8255A处于查询等 待状态。 当打印机为空闲 状态时,CPU通过 8255A向打印机输 出一个字符。
8255A的原理介绍
D7~D0
8086 系 统 总 线
RD WR A1 A2 A0 A3 A4 M/IO A5 A6 A7
&
A B C G2A G2B
Y0 O Y1 Y2 O O
RD WR A0 A1 CS
PA7
PA0
PC3 PC2
驱 动 器
K3
K2 K1 +5V
PC1
PC0
~
K0
G1 LS138
8255A
+5V
;查表,取出相应的字形码送AL
;指向端口A ;输出字形码显示
LED显示器的结构
a
f g b c d dp
a b c d e
a b c d e
e
f
g ep
f
g ep
LED显示器的外形
共阳极LED显示器的结构
共阴极LED显示器的结构
LED显示器的工作原理
软件译码法
PA0 PA1
a b c d e
8 2 5
8255A各端口地址确定: 由图可知: A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 0 1 0 各端口地址为:E8H~EEH
8255A方式选择控制字: 按题意设置端口A方式0输出,下C口输入.
1 0 0 0 × 0 × 1 81H
A0 A3 A4 M/IO A5 A6 A7
o o 读/写 控制 逻辑 o
至控制 寄存器 至数据端口
(五) 端口寻址
8255A端口选择表
A1 A0 RD 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 0 0 1 1 1 1 WR 1 1 1 0 0 0 0 CS 0 0 0 0 0 0 0 端口 A 端口 B 端口 C 数据总线 数据总线 数据总线 数据总线 功能 数据总线 数据总线 数据总线 端口 A 端口 B 端口 C 控制字寄存器
8255A的应用举例
(2)EOC
转换结束,为状态信号。本例假定A/D转换期间该信号为低电平,一旦转换结束,就变为高电平。
(3)OE(上划线)
输出允许,低电平有效。在A/D转换结束后,置该信号有效,可使转换数据通过内部的三态门出现在输出线上。
根据这两个转换器的控制和状态信号的需要,可将作为接口的8255A设置成方式0,连接如图6.13所示。A口作输出口,用来输出要进行D/A转换的数据;B口作输入口,用来输入A/D转换结果;c高4位口作输入口(仅用PC4),用来读:EOC状态;C低4位口作输出口,用置位/复位操作产生D/A、A/D转换所需的各种控制信号。
8255A的应用举例
作者:佚名文章来源:本站原创点击数:3337更新时间:2007-2-24 0:35:43
8255A的应用举例
1.8255A在PC系列机中的应用简况
在PC/XT机中用一片8255A来做三项工作:一是管理键盘,二是控制扬声器,第三是输入系统配置开关的状态。占用的I/0端口地址空间为60H~7FH,但实际使用60H~63H。
图6.14所示是进行D/A输出及采样模拟量的流程图。采样模拟量部分的“使PC3(OE)为低电平”一项可移到准备阶段去做,即让ADC的输出三态门一直为开放状态。
下面的程序段是做一些准备工作(具体工作在注释中说明):
例6.2使用8255A以方式1工作作打印机与CPU之间的接口。
07--并行接口8255
07--并行接口8255并行接口8255A填空题8255有三种工作方式,在方式0输入方式时,三个端口均___无__(有/无)锁存能力。
当8255的输入信号*CS=0、*RD=0、*WR=1且A1=A0=0时,此8255执行的操作是__将端口A的数据送到数据线上____。
当8255的输入信号*CS=0、*RD=1、*WR=0且A1=A0=0时,此8255执行的操作是___接收CPU送来的端口A的数据__。
8255A的端口A可用程序设置为__基本输入输出方式_、__选通输入输出方式___、_双向方式__三种工作方式,对C口还有一种特殊使用方式为_按位置0置1__。
8255芯片中的端口B可以有__2__种工作方式。
一片8255A端口A有3种工作方式,端口B有__2___种工作方式。
当从8255A的端口C读出数据时,8255A的几个控制信号*CS,A1,A0,*RD,*WR分别是_0,1,0,0,1__(*代表低电平有效)。
一片8255芯片内含___3_____个8位I/O端口,其中PA口有_3__种工作方式。
选择题已知某系统中8255芯片所占用的I/O地址为340H--343H,则该8255芯片内控制字寄存器口地址为_________。
A)340H B)341H C)342H D)343H8255A的方式选择控制字应写入()A)A口B)B口C)C口D)控制口8255芯片具有三个独立数据端口,只有_______端口具有双向传输方式。
A)A口B)B口C)C口D)以上均可当8255A的PC4-PC7全部为输出时,表明8255A的A端口工作方式为__________。
A)方式0B)方式1 C)方式2 D)不能确定在通用可编程并行电路8255A中,8位的I/O端口共有_________。
A)1个B)2个C)3个D)4个某系统采用8255A并行I/O接口,初始化时CPU所访问的端口地址为0CBH,并设定为方式1输出,则A口的口地址应为__________。
微机原理部分试题
1.如图所示采用8255A 作为打印机接口。
PA 口作为向打印机输出的数据口,工作于方式0,采用程序查询的控制方式。
由PC0产生负脉冲选通信号,PC7 读取外没状态BUSY,8255A 的端口地址为90H~93H。
写出从内存2000H:3000H 开始取出100 个数据送打印机的控制程序。
解:其控制程序为:MOV AX, 2000H MOV DS, AX MOV BX, 3000HM OV CX, 100 MOV AL, 10001000B ;8255A 初始化OUT 93H, AL LOP:IN AL, 92H TEST AL, 80H JNZ LOP ;若BUSY 有效则继续查询MOV AL, [BX] OUT 90H, AL ;A 口输出MOV AL, 01H OUT 93H, AL MOV AL, 00H OUT 93H, AL MOV AL, 01H OUT 93H, AL ;以上六行产生STB INC BX LOOP LOP MOV AH, 4CH INT 21H2.下图为采用8253 产生定时中断信号IR2。
已知F clk0=1MHz,要求每隔1 小时发出一个中断请求,8253 的端口地址为180H~183H,试编制8253 的初始化程序。
○IR2 解:本题采用2 个计数通道串联使用,要求两个计数通道的计数初值乘+5v 积为:n0×n1=T OUT1/T CLK0T CLK0=1/f clk0=1/1MHz=1μsn0×n1=3600s/1μs=36×108可选取n0=n1=6×104。
因为n0和n1 大于10000,必须采用二进制计数。
设定二个计数器都工作于方式2。
8252 初始化程序如下:MOV AL, 00110100B ;通道0 初始化MOV DX, 183H OUT DX, AL MOV AL, 01110100B ;通道1 初始化OUT DX, AL MOV AX, 60000 ;通道0 写入计数初值MOV DX, 180H OUT DX, AL MOV AL, AH OUT DX, AL MOV DX, 181H MOV AX, 60000 ;通道1 写入计数初值OUT DX, AL MOV AL, AH OUT DX, AL3. 试说明在8088CPU 执行INT 40H 指令的过程?答:CPU 取出INT 40H 指令,经指令译码获知这是一条中断指令。
第一章 单片机IO接口的扩展---8255
单片机对外设的控制方式
(1)程序查询方式
这种方式下,CPU通过I/O指令询问指定 外设当前的状态,如果外设准备就绪,则进行 数据的输入或输出,否则CPU等待,循环查询。
这种方式的优点是结构简单,只需要少 量的硬件电路即可,缺点是由于CPU的速度远 远高于外设,因此通常处于等待状态,工作效 率很低
(2)中断处理方式
(1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由 一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输; (2)能够进行信息格式的转换,例如串行和并行的转换; (3)能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数 /模或模/数转换器等; (4)协调时序差异; (5)地址译码和设备选择功能; (6)设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和 DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。 接口的控制方式
WR :写信号,低电平有效。当 WR 有效时,CPU
可以往8255A中写入控制字或数据。 A1、A0:端口选择信号。8255A内部有3 个数据端口和1个控制端口,当A1A0=00时选 中端口A;A1A0=01时选中端口B;A1A0=10 时选中端口C;A1A0=11时选中控制口。 A1、A0和 RD 、 WR 及 CS 组合所实 现的各种功能如表所示。
方式1下的输出时序
3. 方式2(双向模式)
8255A只有A口具有这种双向输入输 出工作方式,实际上是在方式1下A口输入 输出的结合。在这种方式下,A口为8位双 向传输口,C口的PC7~PC3用来作为输入 /输出的同步控制信号。 在这种情况下,B口和PC2~PC0只能 编程为方式0或方式1工作,而C口剩下的 3条线可作为输入或输出线使用或用作B 口方式1之下的控制线。
微机原理8-8255的应用
1、程序控制--无条件传送: 当需要与外设交 换数据时,直接执行I/O指令,开始接/发数据。 例 1:无条件输入 O + 5V
D0
O A0 A2 A3
A4
O
K
...
O
&
O
..
A FFF7H IN AL, DX TEST AL, 01 JZ …
A15
IOR
…...
K闭合 D0 = 0, K 打开 D0 = 1
第8章
输入/输出接口
I/O接口是计算机与外设交换信息的中间桥梁。 8.1 输入/输出接口 8.1.1 输入/输出接口的交换信息 CPU与外设交换的信息: 数据信息:数字量、开关量、模拟量。 状态信息:BUSY,READY等,反映外设的状态。 控制信息:CPU发出的命令如读写等。
8.1.2
输入/输出的控制方式 CPU与外设数据传送方式:①程序控制 方式(无条件传送和有条件传送);②中断 控制方式;③直接存储器存取方式。
STB
IBF
RD
O
PC3 PC6、PC7
INTR I/O
RD
O
PC0
INTR
I/O
STB:选通输入,外设发出 IBF:输入缓冲器满,8255发出 INTE:中断允许,PC4=1,使INTE A=1; PC2=1,使INTE B=1 INTR:中断请求,当INTE=1,IBF=1,STB时,INTR = 1
方式1的应用:
• 方式1主要用于中断控制方式下的输入输 出 • C口的8位除用作选通信号外,其余位可 工作于方式0下,作为输入或输出口
(3)工作方式2:带选通的双向传送方式。 8255A中只允许端口A处于工作方式2,可用来 在两台处理机之间实现双向行通信。 当端口A工作于方式2时,允许端口B工作方式0 或方式1完成输入/输出功能。
8255应用举例
AL , 00000101B 0E6H , AL ; PC2=1,置INTE=1,开中断
用
机
MOV
MOV MOV
WORD PTR [003CH] , AX
MOV
DI , OFFSET BUFF ;设置字符缓冲区指针
; DI为打印机字符缓冲区指针,待打印字符送B口
ROUTINTR: MOV AL , [DI] OUT 0E2H , AL
8.2.4 8255A的应用举例
例1:在一系统中,8255的端口地址为60H63H,8255A工作在方式0。
现要求将从A口读取的数据 1)求反后从B口输出; 2)将其绝对值从C口输出
Mov al, 90h Out 63h, al Call delay1 In al, 60h Call delay2 NOT AL Out 61h, al Call delay3 CMP AL,0 JGE PLD NEG AL PLD: Out 62h, al
ALE
AD8-AD15
器
8255A PA5 PA6 RD WR PA7 PB3
8086
RD WR RESET
RESET
PB2
PB1 PB0
图8-18 8086CPU、8255A同开关7段LED的接口
PA0 PA1
A1 A2
A0 A1
PA7
1 1 1 +5v
a b
DP
程序流程(工作原理)
8255A
PB3 PB2 PB1 PB0
MOV AL , 00001010B ; PC5=0,产生选通信号, OUT 0E6H , AL CALL DELAY INC AL ;PC5=1,
并行接口芯片8255A
控制字介绍
01
02
03
控制字是用来设置8255a芯片工 作模式的16位二进制数。
控制字的格式为:XXXX XXXX XXXX XXXXXXXX。其中,最高 位是读/写控制位,中间4位是端 口C的置位/复位控制位,接下来 的4位是端口B的控制位,最后4 位是端口A的控制位。
控制字的写入顺序是先写高位, 再写低位。
03
目前,8255a芯片已经被广泛 应用于各种领域,成为计算机 和电子工程中重要的接口芯片 之一。
02 8255a芯片工作原理
芯片内部结构
ห้องสมุดไป่ตู้
01
三个并行I/O端口:端口A、端口B和端口C,每个端口都有 8个位。
02
一个控制寄存器:用于设置芯片的工作模式和控制信号的 输入。
03
一个数据总线:用于数据传输。
工作模式介绍
模式0
基本输入输出模式。在这种模式 下,端口A、B和C都可以被配置 为输入或输出模式,通过控制字 来选择。
模式1
选通I/O模式。在这种模式下,端 口A和B被配置为输出模式,端口 C被配置为输入模式。
模式2
双向I/O模式。在这种模式下,所 有三个端口都可以被配置为双向 模式,即既可以输入也可以输出。
并行接口芯片8255a
目录
CONTENTS
• 8255a芯片概述 • 8255a芯片工作原理 • 8255a芯片编程 • 8255a芯片应用实例 • 8255a芯片与其他芯片比较 • 8255a芯片未来发展展望
01 8255a芯片概述
芯片功能介绍
01
8255a是一款并行接口芯片,主要用于实现并行数据 传输和控制。
优点
支持多种游戏控制器,传输速度快, 响应速度快,提高游戏体验。
8-2 8255的应用实例解读
CPU发读信 号 2019/2/24
PPT
STB#(Strobe闸门)——选通输入信号,低电平有效。它是外设供给的输入信 号,当其有效时将外设来的数据送入8255的输入锁存器。A组对应(接到) PC4;B组对应PC2。 IBF(input buffer full)——输入锁存器满,高电平有效。这是一个8255输给 外设的联络信号。当其有效时,通知外设输入的数据已写入缓冲器,此时不能 送下一个数据。CPU用IN指令取走数据后,此信号被清除。A组对应PC5;B组 对应PC1。如果外设不需要这个信号你可以悬空不用。
表中的输入输出时是 针对8255而言。
2019/2/24
22
8255A方式1 (输入)情况下四个联络信号及工作过程
PC口的哪一位做选通信号和口有关和输出输入 有关,比如同为输入A口用PC4,B口用PC2
向C口写P4位置1, 开放中断
外设产生 数据 1
1 1 1 1
数据出现在外 数据进入8255A 部数据总线 的 A口 注意:此工作是 外设发选通 外部设备 8255A初始化时 信号 通知外设缓冲区已 完成的!!! 满,表示已经接受 数据 向CPU发中断请 求信号
2019/2/24
21
8255 的方式1----选通输入方式
在这种工作方式下,数据的输入输出操作要在选通信号控制下完成。和外设商量着来
端口A和端口B仍作 为数据的输入、输出 口; 端口C的某些位作为 端口A和端口B的选 通控制信号,配合 AB 口使用。
A口、B口在作为输入 和输出时的选通信号 源自不同的引脚。
C口置位复位控制字来设置
如图
INTE(interrupt enable)——端口中断允许信号,可由用户通 过对PC4位置位来实现。如果你想让CPU已中断的方式处理输 入的数据,那么设INTE =1,允许发出INTR请求。该信号没 有外接引脚,INTE状态通过C口置位复位控制字来设置。 2019/2/24 25
微机接口技术及应用_习题集(含答案)
《微机接口技术与应用》课程习题集一、单选题1.可屏蔽中断的过程应该是(1)中断向量指针(2)中断源(3)中断号(4)中断向量:A、(3)(4)(1)(2)B、(2)(3)(1)(4)C、(3)(1)(4)(2)D、(1)(3)(2)( 4 )2.当并行接口芯片8255A被设定为方式2时,其工作的I/O口A、仅能作输入口使用B、仅能作输出口使用C、既能作输入口、也能作输出口使用D、仅能作不带控制信号的输入口或输出口使用3.现行PC机中打印机与主机的接口标准大多采用A、RS-232-CB、CentronicsC、IDED、IEEE-4884.在现行PC机中,常用存储器地址线中的低10位作输入/输出口地址线。
设某接口芯片内部有16个端口,该接口芯片的片选信号由地址译码器产生,则地址译码器的输入地址线一般应为:A、全部10位地址线B、其中的高8位地址线C、其中的高6位地址线D、其中的高4位地址线5.下列引起CPU程序中断的四种情况,哪一种需要由硬件提供中断类型码?A、INTOB、NMIC、INTRD、INT n6.下列端口访问指令错误的是:A、 IN AL,60HB:、 MOV DX,303HOUT DX,ALC:、MOV DX,303HMOV AL,[SI]OUT DX,ALD、 IN AL,303H7.有关DMA技术,下列叙述正确的是:A、数据传送时同时进行数据检索操作B、在数据块传送过程中,即使DMA请求变为无效,DMAC也不释放总线C、DMAC在被动态时,DMA传送完毕后,无需读取DMAC状态D、DMA系统初始化时,不必对所有通道的工作方式寄存器加载8.有关8255A状态字的使用,下列叙述正确的是:A、状态字由用户任意指定B、状态字与C口的外部引脚无关C、查INTR位不如查IBF或OBF位可靠D、INTE位由I/O操作过程中自动产生9.一个满量程为5V的D/A转换器,要求能分辩的最小电压的5mV,则分辨率为:A、8B、16C、10D、3210.接口电路的核心功能之一是:A、返回外设状态B、设备选择C、信号转换D、数据宽度与数据格式转换11.某显示器的分辩率为1024*768,表示像素颜色的位宽为16bit,则应配置的显示存储器容量一般为A、4MBB、2MBC、1MbD、8MB12.根据下面提供的PC机内存中的数据,lNT 11H中断服务程序的人口地址是什么0000:0040 B3 18 8A CC 4D F8 00 F0--41 F8 00 F0 C5 18 8A CC 0000:0050 39 E7 00 F0 A0 19 8A CC--2E E8 00 F0 D2 EF 00 F0A、8A19:A0F0B、F000:F840C、A019: 8ACCD、CC8A:19A013.欲使地址译码器的输出信号有效,其中的控制信号AEN和IOR#必须分别取值为A、0,0B、0,1C、1,0D、1,114.下列属于接口标准的是A、PCIB、EISAC、RS232CD、ISA15. 8253工作于方式5时:A、可产生周期性负脉冲B、多用作方波发生器C、必须由GATE信号上升沿启动计数D、由GATE信号上升沿继续计数16.设INTR中断号为60H,中断向量为3344H:1122H,则从180H起连续地址单元的内容为:A、33 44 11 22B、44 33 22 11C、11 22 33 44D、22 11 44 3317. 8086CPU I/O的编址方式是:A、统一编址B、独立编址C、统一和独立编址D、以上三者都不是18. 8086CPU可以识别的中断源类型总数是:A、128B、256C、1024D、6553619.在使用8255A时,值位/复位命令应写入:A、A口B、B口C、C口D、命令口20.串口通信的波特率为1200,数据格式为1位起始位、8位数据位、1位停止位,则每秒传送的字节数是___个。
8255A的应用
;读B口 ;取低4位 ;比较 ;按键未释放,则继续等待 ;后续处理
对于图6.10的电路,还可以采用反转法读取按键的扫描码,即在已辨别出有 键按下,要读取行和列的扫描码时,可重新设置8255A的工作方式字,使A 口为输入,B口为输出。然后将刚才B口读入的列值从B口输出,再从A口读 入行值。这样,从A口读入的值为行扫描码,
微型计算机接口技术
8255A的应用
1.1 8255A的应用举例 1.2 8255A在PC机中的应用
2
§1.1 8255A的应用举例
【例6-5】8255A作为矩阵键盘接口,工作于方式0,如图6.10所示。试编程读
取矩阵键盘的按键扫描码。 矩阵式键盘是非编码键盘的一种,指按键开关按行列排列,形成二维矩阵
8
§1.1 8255A的应用举例
从B口读入的值为列扫描码。根据上述方法,读者可以自行编写出程序,这 里略过。
【例6-6】 8255A作为打印机接口,工作于方式0,如图6.11所示。试编写程
序实现:CPU用查询方式向打印机输出26个英文字母。8255A的端口地址为 80H~86H。 打印的工作过程如下:当主机要向打印机输出字符时,先查询打印机忙信
PC6自动成为A口的控制信号,但由于PC7(OBFA)产生的信号不能满足打 印机STB选通端的要求,故不用PC7端,而用软件在PC0端产生一个负脉冲, 提供给打印机的STB端。另外,C口的PC3作为中断请求信号送到中断控制 器8259A的IR3端,对应的中断类型号为0BH。
8255控制打印机完整版
8255控制打印机完整版⼀、设计基本原理说明及系统资源分配1. ⼯作原理说明本次设计采⽤8255A⼯作⽅式0,其A⼝充当打印机数据线,C⼝的PC0接打印机选通信号线,C⼝的PC4接打印机“忙”线BUSY,B⼝不⽤,8255A的初始化可以通过74LS138译码器来实现。
为了⽤键盘来设定打印内容,可以先定义⼀个数据段,然后调⽤DOS的1号功能完成数据存储。
在满⾜⼀定的条件下,CPU现将打印内容依次送到8255A,然后再送到打印机打印,数据全部传送并打印完毕后退出程序。
2. 资源分配⑴A端⼝作为传输字符的通道,⼯作于⽅式0,输出⽅式。
⑵B端⼝不⽤。
⑶C⼝的PC0接打印机选通信号线,PC4接打印机“忙”线BUSY。
⑷设CPU为8086,8255A的端⼝地址为:A端⼝: 00D0H C端⼝: 00D4HB端⼝: 00D2H 控制⼝:00D6H⼆、程序流程图三、设计⽅案采⽤查询⽅式传输数据实现对打印机控制:(⾃定义打印字符串)参考程序:PRT_DATA EQU 5FFFHPRT_STRO EQUPRT_BUSY EQUORG 0000HLJMP STARTORG 0040H START: MOV SP,#60HSETB PRT_STROSETB PRT_BUSYMOV DPTR,#PRT_TABMOV R0, #00HPR_STR: MOV A, R0MOVC A,@A+DPTR CJNE A,#0FFH,PRINTSJMP $PRINT:LCALL PRT_CHARINC R0AJMP PR_STRPRT_CHAR:PUSH PSWPUSH DPHPUSH DPLSETB PRT_BUSYNOPJB PRT_BUSY,$MOV DPTR,#PRT_DATAMOVX @DPTR,ASETB PRT_STROCLR PRT_STRONOPNOPSETB PRT_STROPOP DPLPOP DPHPOP PSWRETPRT_TA DB 0AH,27,1BH,38H,1,0AH,0AH, 0DH,0FFHPRT_TAB DB 0DH,31H,32H,33H,34H,35H,36H,37H,38H,39H,0AH,0FFH END四、硬件电路总体设计硬件电路总体设计见附录A五、软件程序设计1. 软件设计思路应⽤系统中的应⽤软件是根据系统功能要求设计的,应该可靠地实现系统的各种功能。
8255A的功能与结构
8255A的功能与结构8255A可编程外围设备接⼝(programmable perphheral interface,PPI)是⼀种通⽤的可编程并⾏I/O接⼝器件。
它可以作为Intel系列微处理器或其它系列微处理器的接⼝器件,可以将任何与TTL兼容的I/O设备与微处理器连接。
在与主频不⾼于8MHz的微处理器⼀起⼯作时,不需要插⼊等待周期。
它有24个可编程I/O引脚,分为两组,每组12个,可以以3种不同的操作⽅式⼯作。
它的每个I/O引脚可以提供2.5mA的吸⼊电流,最⼤4mA。
8255A常常⽤作键盘和打印机端⼝。
它的价格低廉,使⽤⽅便,得到了⼴泛的应⽤。
8255A的功能结构由图可得:(1)数据总线缓冲器D7~D0与系统数据总线相连,负责与CPU进⾏数据交换。
包括输⼊输出数据、控制字和状态字。
(2)读/写控制逻辑接收来⾃CPU的地址信息和控制信息。
(3)A组控制和B组控制这两组控制逻辑电路接收来⾃CPU的控制字,控制两组端⼝的⼯作⽅式及读/写操作。
A组控制端⼝A和端⼝C的⾼4位,B组控制端⼝B和端⼝C的低4位。
(4)端⼝A、B、C8255A有3个8位数据输⼊/输出端⼝:端⼝A、端⼝B和端⼝C,分别简称为A⼝、B⼝和C⼝。
它们对外的引线分别是PA7~PA0、PB7~PB0和PC7~PC0。
C⼝可分成两个4位的端⼝:C⼝⾼4位(PC7~PC4)和C⼝低4位(PC3~PC0)。
三个端⼝按组编程端⼝A和端⼝B都有⼀个8位数据输⼊锁存器和⼀个8位数据输出锁存/缓冲器。
端⼝C有⼀个8位数据输⼊缓冲器和⼀个8位数据输出锁存/缓冲器。
端⼝C可以按位操作。
8255A的引脚功能双列直插,40根引脚D7~D0:数据信号线CS:⽚选信号输⼊引脚,低电平有效RD:读信号输⼊引脚,低电平有效WR:写信号输⼊引脚,低电平有效RESET:复位信号输⼊引脚,⾼电平有效。
⽤于将8255A控制字寄存器清“0”,并将A、B、C⼝置成输⼊状态A1、A0:端⼝选择信号输⼊引脚8255A的⼯作⽅式8255A可以⽆条件⽅式、查询⽅式和中断⽅式完成CPU与外设的数据交换。
8255作为打印机接口
5.4.78255A的编程和应用举例【例】8255A作为连接打印机的接口,工作于方式0,如图5.23所示。
图18255A作为打印机接口的示意图工作过程为:当主机要往打印机输出字符时,先查询打印机忙(B U S Y)信号,如果打印机正在处理一个字符或正在打印一行字符,暂时不能接收数据,则忙信号为1,反之,则忙信号为0。
因此,当查询到忙信号为0时,则可通过8255A往打印机输出一个字符。
此时,要将选通信号置成低电平,然后再使为高电平,即在端输出一个负脉冲,此负脉冲将字符选通到打印机输入缓冲器。
现将8255A端口A作为传送字符的通道,工作于方式0输出方式;B端口未用,也设为方式0;作为B U S Y信号输入端,故为输入方式,作为S T B信号输出端,故为输出方式。
设8255A的端口地址为:A端口:00D O HB端口:00D2HC端口:00D4H控制口:00D6H使用查询方式输出,待输出的字符在C L中,具体程序段如下:P P:M O V A L,81H;控制字,使A组、B组均为方式0,A端口为输出,;P C7~P C4输出,P C3~P C0输入O U T0D6H,A L;写入控制口M O V A L,0D H;用C端口置1/置0方式使P C6为1,;即S T B初始状态为高电平O U T0D6H,A L;写入控制口L P S T:I N A L,0D4H;读端口C的值T E S T A L,04H;测试P C2位J N Z L P S T;如不为0,说明B U S Y信号为1,即打;;印机处于忙状态,故等待M O V A L,C L;如不忙,则把C L中字符送端口AM O V A L,0C H;用置1/置0方式使P C6为0O U T0D6H,A L;即向S T B输出负脉冲I N C A LO U T0D6H,A L;再使S T B为1···;后续程序段注意:端口C置1/置0控制字输出到控制口,但是它作用的对象是端口C的某1位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.4.78255A的编程和应用举例
【例】8255A作为连接打印机的接口,工作于方式0,如图5.23所示。
图18255A作为打印机接口的示意图
工作过程为:当主机要往打印机输出字符时,先查询打印机忙
(B U S Y)信号,如果打印机正在处理一个字符或正在打印一行字符,暂时不能接收数据,则忙信号为1,反之,则忙信号为0。
因此,
当查询到忙信号为0时,则可通过8255A往打印机输出一个字符。
此时,要将选通信号置成低电平,然后再使为高电平,即
在端输出一个负脉冲,此负脉冲将字符选通到打印机输入缓冲器。
现将8255A端口A作为传送字符的通道,工作于方式0输出方式;B端口未用,也设为方式0;作为B U S Y信号输入端,故为输入方式,作为S T B信号输出端,故为输出方式。
设8255A的端口地址为:
A端口:00D O H
B端口:00D2H
C端口:00D4H
控制口:00D6H
使用查询方式输出,待输出的字符在C L中,具体程序段如下:
P P:M O V A L,81H;控制字,使A组、B组均为方式0,A端口为输
出,
;P C7~P C4输出,P C3~P C0输入
O U T0D6H,A L;写入控制口
M O V A L,0D H;用C端口置1/置0方式使P C6为1,
;即S T B初始状态为高电平O U T0D6H,A L;写入控制口
L P S T:I N A L,0D4H;读端口C的值
T E S T A L,04H;测试P C2位
J N Z L P S T;如不为0,说明B U S Y信号为1,即
打;
;印机处于忙状态,故等待
M O V A L,C L;如不忙,则把C L中字符送端口A
M O V A L,0C H;用置1/置0方式使P C6为0
O U T0D6H,A L;即向S T B输出负脉冲
I N C A L
O U T0D6H,A L;再使S T B为1
·
·
·;后续程序段
注意:端口C置1/置0控制字输出到控制口,但是它作用的对象是端口C的某1位。
也可以直接把数据输出到端口C,但这种方法会改变端口C的8位而不是1位。
【例】8255A作中断方式工作的字符打印机的接口,如图 5.24所示。
图5.248255A作中断方式打印机接口
8255A的A端口作为数据通道,工作在方式1输出方式,此时,自动作为O B F信号输出端,则自动作为信号输入端,而自动作为I N T R信号输出端。
打印机接口需要一个数据选通信号,故由C P U控制来产生选通脉冲。
在此没有用,将它悬空就行了。
端连接打印机端。
连到中断控制器8259A(在第六章讲述)的中断请求信号输入端。
对应于中断类型号0B H,此中断对应的中断,向量放在00段2C H、2D H、2E H、2F H这4个单元中,8259A在系统程序中已完成初始化,这
部分连接图没有画出。
设8255A的端口地址为:
A端口:00C O H
B端口:00C2H
C端口:00C4H
控制口:00C6H
方式控制字为A O H,因为B口未用,故取位为0,其他各位的值使A组工作于方式1,A端口为输出,作为输出。
在这个例子中,由中断处理子程序完成字符输出;而初始化程序完成对8255A设置方式控制字、设置中断向量、开放中断。
主程序执行其它操作,并等待中断,这里没有写出主程序。
中断服务主程序入口标号为I N T P R。
所谓设置中断向量,就是把中断服务程序的入口地址(4字节的逻辑地址)写到中断向量表中由中断类型号指定的单元中。
要指出的是这里开放中断不仅是指用S T I使C P U的中断允许标志I F为1,还要使8255A的I N T E A为1,即允许8255A请求中断。
在中断处理子程序中,设字符已放在主机的字符输出缓冲区,往A端口输出字符后,C P U用对C端口的置1/置0命令使输出负脉冲,从而将数据送入打印机。
当打印机接收并打印字符后,发出回答信号A C K,由此清除了8255A的“输出缓冲器满”信号,并使8255A产生新的中断请求。
I N I T;M O V A L,0A O H;初始化程序
O U T0C6H,A L;设置8255A的控制字
M O V A L,01;使P C0为1,即让S T B初始状态为低电平
O U T0C6H,A L
X O R A X,A X
M O V D S,A X;D S指到0段,中断向量表在0段
L E A A X,I N T P R
M O V W O R D P T R[0B H*4],A X;中断类型号为0B H,写入的表地址为0B H×4
M O V A X,S E G I N T P R
M O V W O R D P T R[0B H*4+2],A X;把向量高字写入高地址
M O V A L,0D H;使I N T E为l,允许8255A请求中断
O U T0C6H,A L
S T I;使I F为1,开放中断
中断处理子程序的主要程序段如下:
I N T P R:M O V A L,D I;D I为打印字符缓冲区指针,字符送A端口
O U T0C O H,A L
O U T0C6H,A L;使P C0为0,产生选通信号负脉冲
I N C A L
O U T0C6H,A L;使P C0为1,撤消选通信号
·;后续处理
·
·
I R E T;中断返回。