❶ 8255A的A口状态,编程求反后,输出到8255A的B口
8255工作方式命令字为:10010000B,
即:A口方式0输入,B口方式0输出,C口方式0输出,
设微机系统中,8255端口地址是:80H~83H
80x86汇编程序如下:
MOV AL,101000B ; AL←方式命令字
OUT 83H, AL ; 方式命令字→控制口,8255初始化
IN AL, 80H ; AL←读入A口数据
NOT AL ; 将AL内容各位取反
OUT 81H, AL ; AL的数据输出→B口
❷ 微机原理8255的打印机程序,我看不懂,求助! 题要求把打印的数据放在内存开始的100个单元里,端
注释红圈处的程序:
MOV AL, 0CH ;PC.6复零命令字 _______
OUT A6H, AL ;命令字送8255控制口,输出STORBE低电平选通信号
INC AL ;0CH +1 = 0DH, 即PC.6置1命令字
OUT A6H, AL ;STORBE变高电平,为输出下一个数据作准备
LOOP ROT ;循环
❸ 微机原理:8255a与打印机相连工作于方式0,stb信号是输入还是输出,具体是什么作用,在输入或输出中一样吗
stb是选通输入,低电平有效。由打印机到8255A,用来将打印机输入的数据打入8255A的输入缓冲器。
所以stb为0时,打印机可以将数据输入8255A的输入缓冲器中。
❹ 使用8255做接口连接打印机时C口做什么口使用
举例说明如下:
用8255查询方式将待印内容输出至打印机,
A口用作并行指印数据输出口,C口用作主机与打印机的联络信号。
PC3作输入线,读入打印机低电平有效就绪信号BUSY。
PC6作输出线,向打印机输出低电平有效的数据选通信号STB,
.
写入8255控制口的初始化控命令字为10000001b,作用是:
A口与B口作方式0输出,
C口高4位(PC7~PC4)方式0输出,C口低4位(PC3~PC0)为方式0输入。
❺ 8086CPU通过8255A采用查询方式,控制打印机输出问题
先贴出我按题目要求所绘电路图,若提问者采纳再提供程序:
❻ 一道接口技术课的题:设定8255A的端口A为方式1输入,端口B为方式1输出,则读取端口C的数据的各位是什么
MOVAL, 10010100b ;AL←方式控制字
OUT 83H,AL;方式控制字→8255控制口
方式1(选通输入输出方式):
A、B、C 三个口分为两组。
A组包括A口及高半C口,A口可编程设定为输入或输出,高半C口作I/O控制及同步信号;
B组包括B口及低半C口,B口可编程设定为输入或输出,低半C口作I/O控制及同步信号;
A口、B口的输入/输出数据都被存锁。
方式2(双向总线方式):
A口(仅A口)作8位双向总线,C口的PC3~PC7位用作I/O控制及同步信号;
B口及C口的PC0~PC2可编程设定为方式0或方式1工作。
(6)8255编程题输出打印机数据扩展阅读:
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与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口与控制寄存器。
❼ 将8255a已中断方式与打印机接口如图所示8255a工作于方式1的输出操作完成由cpu送出的字符到字符打印机上
方式1——选通输入输出方式 与方式0相比,它的主要特点是当A口、B口工作于方式1时,C口的某些I/O线被定义为A口和B口在方式1下工作时所需的联络信号线,这些线已经定义,不能由用户改变。现将方式1分为:A口和B口均为输入、A口和B口均为输出以及混合输入与输出等三种情况进行讨论。 (1) A口和B口均为输入 A口和B口均工作于方式1输入时,各端口线的功能如图8.19所示。 A口工作于方式1输入时,用PC5~PC3作联络线。B口工作于方式1输入时,用PC2~PC0。C口剩余的两个I/O线PC7和PC6工作于方式0,它们用作输入还是输出,由工作方式控制字中的D3位决定,D3=1,输入;D3=0,输出。 各联络信号线的功能解释如下(请参考图8.20所示的方式1输入时序图来理解各信号的功能): STB(Strobe):选通信号,输入,低电平有效。当STB有效时,允许外设数据进入端口A或端口B的输入数据缓冲器。STBA接PC4,STBB接PC2。 IBF(Input Buffer Full):输入缓冲器满信号,输出,高电平有效。当IBF有效时,表示当前已有一个新数据进入端口A或端口B缓冲器,尚未被CPU取走,外设不能送新的数据。一旦CPU完成数据读入操作后,IBF复位(变为低电平)。 INTR(Interrupt Request):中断请求信号,输出,高电平有效。在中断允许INTE=1且IBF=1的条件下,由STB信号的后沿(上升沿)产生,该信号可接至中断管理器8259A作中断请求。它表明数据端口已输入一个新数据。若CPU响应此中断请求,则读入数据端口的数据,并由RD信号的下降沿使INTR复位(变为低电平)。 INTE(Interrupt Enable):中断允许信号,高电平有效。它是8255A内部控制8255A是否发出中断请求信号(INTR)的控制信号。这是由软件通过对C口的置位或复位来实现对中断请求的允许或禁止的。端口A的中断请求INTRA可通过对PC4的置位或复位加以控制,PC4置1,允许INTRA工作,PC4清0,则屏蔽INTRA。端口B的中断请求INTRB可通过对PC2的置位或复位加以控制。 (2) A口和B口均为输出 A口和B口均工作于方式1输出时,各端口线的功能如图8.21所示。 A口工作于方式1输出时,用PC3,PC6和PC7作联络线。B口工作于方式1输出时,用PC0?PC2作联络线。C口剩余的两个I/O线PC4和PC5工作于方式0。各联络信号线的功能解释如下(请参考图8.22所示时序图来理解各信号的功能): OBF(Output Buffer Full):输出缓冲器满信号,输出,低电平有效。当CPU把数据写入端口A或B的输出缓冲器时,写信号WR的上升沿把OBF置成低电平,通知外设到端口A或B来取走数据,当外设取走数据时向8255A发应答信号ACK,ACK的下降沿使OBF恢复为高电平。 ACK(Acknowledge):外设应答信号,输入,低电平有效。当ACK有效时,表示CPU输出到8255A的数据已被外设取走。 INTR(Interrupt Request):中断请求信号,输出,高电平有效。该信号由ACK的后沿(上升沿)在INTE=1且OBF=1的条件下产生,该信号使8255A向CPU发出中断请求。若CPU响应此中断请求,向数据口写入一新的数据,写信号WR上升沿(后沿)使INTR复位,变为低电平。 INTE(Interrupt Enable):中断允许信号,与方式1输入类似,端口A的输出中断请求INTRA可以通过对PC6的置位或复位来加以允许或禁止。端口B的输出中断请求信号INTRB可以通过对PC2的置位或复位来加以允许或禁止。 (3)混合输入与输出 在实际应用中,8255A端口A和端口B也可能出现一个端口工作于方式1输入,另一个工作于方式1输出的情况,有以下两种情况: 端口A为输入,端口B为输出时,其控制字格式和连线图如图8.23所示。 端口A为输出,端口B为输入时,其控制字格式和连线图如图8.24所示。
❽ 微机原理期末考试题【汇编语言】
首先我们分析一下打印机的工作。微型打印机和主机之间的接口采用并行接口。
它的工作流程:主机将要打印的数据送上数据线,然后发选通信号。打印机将数据读入,同时使BUSY线为高,通知主机停止送数。这时,打印机内部对读入的数据进行处理。处理完以后使ACK有效,同时使BUSY失效,通知主机可以发下一个数据。硬件连线如下图:
表7-2Centronics标准引脚信号
引脚名称方向功能
1STROBE入数据选通,有效时接收数据
2-9DATA1-DATA8入数据线
10ACKNLG出响应信号,有效时准备接收数据
11BUSY出忙信号,有效时不能接收数据
12PE出纸用完
13SLCT出选择联机,指出打印机不能工作
14AUTOLF入自动换行
31INIT入打印机复位
32ERROR出出错
36SLCTIN入有效时打印机不能工作
说明:
由PC0充当打印机的选通信号,通过对PC0的置位/复位来产生选通。同时,由PC7来接收打印机发出的“BUSY”信号作为能否输出的查询。
8255A的控制字为:10001000即88H
A口方式0,输出;C口高位方式0输入,低位方式0输出
PC0置位:00000001即01H
PC0复位:00000000即00H
8255A的4个口地址分别为:00H,01H,02H,03H。
编制程序如下:
DADASEGMENT
BUFFDB'Thisisaprintprogram!','$'
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA
START:MOVAX,DATA
MOVDS,AX
MOVSI,OFFSETBUFF
MOVAL,88H;8255A初始化,A口方式0,输出
OUT03H,AL;C口高位方式0输入,低位方式0输出
MOVAL,01H;
OUT03H,AL;使PC0置位,即使选通无效
WAIT:INAL,02H
TESTAL,80H;检测PC7是否为1即是否忙
JNZWAIT;为忙则等待
MOVAL,〔SI〕
CMPAL,'$';是否结束符
JZDONE;是则输出回车
OUT00H,AL;不是结束符,则从A口输出
MOVAL,00H
OUT03H,AL
MOVAL,01H
OUT03H,AL;产生选通信号
INCSI;修改指针,指向下一个字符
JMPWAIT
DONE:MOVAL,0DH
OUT00H,AL;输出回车符
MOVAL,00H
OUT03H,AL
MOVAL,01H
OUT03H,AL;产生选通
WAIT1:INAL,02H
TESTAL,80H;检测PC7是否为1即是否忙
JNZWAIT1;为忙则等待
MOVAL,0AH
OUT00H,AL;输出换行符
MOVAL,00H
OUT03H,AL
MOVAL,01H
OUT03H,AL;产生选通
MOVAH,4CH
INT21H
CODEENDS
ENDSTART