導航:首頁 > 編程語言 > 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編程題輸出列印機數據相關的資料

熱點內容
cad表達式命令 瀏覽:198
程序員去一個小公司值不值得 瀏覽:846
程序員做個程序多少錢 瀏覽:495
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