导航:首页 > 编程语言 > 8255编程题输出打印机数据

8255编程题输出打印机数据

发布时间:2022-07-29 10:33:00

❶ 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

阅读全文

与8255编程题输出打印机数据相关的资料

热点内容
win10原始解压软件 浏览:319
阿里程序员的老家 浏览:258
量子加密银行 浏览:193
命令方块获得指令手机 浏览:499
学习结束感言简短程序员 浏览:398
android关机闹钟实现 浏览:968
鼠标一键打开文件夹设置 浏览:161
程序员看过来我想静静搞笑视频 浏览:370
curlphp爬虫 浏览:874
python按日期循环 浏览:110
php三个等号 浏览:760
培训班出来的程序员解决问题很差 浏览:963
程序员那么可爱25集 浏览:753
服务器地址和ip地址一样不 浏览:664
php中括号定义数组 浏览:602
php打印堆栈 浏览:516
华为adb命令行刷机 浏览:965
人像摄影pdf 浏览:761
解压文件密码怎样重新设置手机 浏览:1002
高考指南pdf 浏览:695