8255作为打印机接口
- 格式:doc
- 大小:69.00 KB
- 文档页数:4
试题一(一)填空题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系统中接有一台打印机,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(偶地址)。
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 指令,经指令译码获知这是一条中断指令。
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;中断返回。