微機(jī)原理8-8255的應(yīng)用_第1頁
微機(jī)原理8-8255的應(yīng)用_第2頁
微機(jī)原理8-8255的應(yīng)用_第3頁
微機(jī)原理8-8255的應(yīng)用_第4頁
微機(jī)原理8-8255的應(yīng)用_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第8 8章章 輸入輸入/ /輸出接口輸出接口 I/OI/O接口是計算機(jī)與外設(shè)交換信息的中間橋梁。接口是計算機(jī)與外設(shè)交換信息的中間橋梁。 8.1 8.1 輸入輸入/ /輸出接口輸出接口8.1.18.1.1 輸入輸入/ /輸出接口的交換信息輸出接口的交換信息 CPUCPU與外設(shè)交換的信息:與外設(shè)交換的信息: 數(shù)據(jù)信息:數(shù)字量、開關(guān)量、模擬量。數(shù)據(jù)信息:數(shù)字量、開關(guān)量、模擬量。 狀態(tài)信息:狀態(tài)信息:BUSYBUSY,READYREADY等,反映外設(shè)的狀態(tài)。等,反映外設(shè)的狀態(tài)。 控制信息:控制信息:CPUCPU發(fā)出的命令如讀寫等。發(fā)出的命令如讀寫等。8.1.2 8.1.2 輸入輸入/ /輸出的控制方

2、式輸出的控制方式 CPUCPU與外設(shè)數(shù)據(jù)傳送方式:與外設(shè)數(shù)據(jù)傳送方式:程序控制程序控制方式(無條件傳送和有條件傳送);方式(無條件傳送和有條件傳送);中斷中斷控制方式;控制方式;直接存儲器存取方式。直接存儲器存取方式。1 1、程序控制、程序控制-無條件傳送無條件傳送: : 當(dāng)需要與外設(shè)交當(dāng)需要與外設(shè)交換數(shù)據(jù)時,直接執(zhí)行換數(shù)據(jù)時,直接執(zhí)行I/OI/O指令,開始接指令,開始接/ /發(fā)數(shù)據(jù)。發(fā)數(shù)據(jù)。例例 1:1:無條件輸入無條件輸入OOOOO+ 5VK&11D0A0A7A8A15IOR. MOV DX , FFF7H IN AL, DX TEST AL, 01 JZ K閉合閉合 D0 = 0, K

3、打開打開 D0 = 1A2A3A4.O例例 2 2 無條件輸出無條件輸出1 11 11 1D0D7A0A7A8A15IOWOOOO+5V+5VD0 D7CPO 0O 774LS273有鎖存功能有鎖存功能MOV AL ,81HMOV DX ,0000HOUT DX ,ALO無條件傳送方式(簡單接口)無條件傳送方式(簡單接口)三態(tài)緩沖器三態(tài)緩沖器地址地址譯碼器譯碼器O&OOO地址總線地址總線M/IORD去去CPUCPU數(shù)據(jù)數(shù)據(jù)( (來自外設(shè)來自外設(shè)) )輸入加三輸入加三態(tài)緩沖器態(tài)緩沖器鎖存器鎖存器地址地址譯碼器譯碼器OOOO數(shù)據(jù)總線數(shù)據(jù)總線數(shù)據(jù)數(shù)據(jù)( (來自來自CPU)CPU)地址總線地址總線M/

4、IOWR到外到外設(shè)去設(shè)去輸出加鎖存器輸出加鎖存器&1 1、程序控制、程序控制-查詢方式查詢方式( (條件傳送條件傳送) )查詢方式輸入過程的流程圖查詢方式輸入過程的流程圖 開始開始初始化初始化數(shù)據(jù)是否數(shù)據(jù)是否準(zhǔn)備好?準(zhǔn)備好?輸入一個字節(jié)輸入一個字節(jié)到到CPU數(shù)據(jù)處理并送數(shù)據(jù)處理并送內(nèi)存緩沖區(qū)內(nèi)存緩沖區(qū)N(1 1)CPUCPU從狀態(tài)口中從狀態(tài)口中讀取狀態(tài)字讀取狀態(tài)字(2 2)CPUCPU檢測狀態(tài)字,檢測狀態(tài)字,滿足條件,滿足條件,CPUCPU從數(shù)從數(shù)據(jù)口輸入(輸出)數(shù)據(jù)口輸入(輸出)數(shù)據(jù)據(jù)(3 3)不滿足條件,)不滿足條件,CPUCPU重新讀取狀態(tài)字重新讀取狀態(tài)字外外設(shè)設(shè)742731 11 1

5、1 1 &1 1 .D0 D7D0IORA0A7A8A15IOWO.74244CPD0D7O0O7BUSYO8 8位緩沖位緩沖/ /總總線驅(qū)動器線驅(qū)動器8 8位位D D鎖存器鎖存器CPCP負(fù)脈沖輸出負(fù)脈沖輸出上升沿鎖存上升沿鎖存狀態(tài)狀態(tài)數(shù)據(jù)數(shù)據(jù)CPUCPU向外設(shè)輸出數(shù)據(jù),先查狀態(tài)向外設(shè)輸出數(shù)據(jù),先查狀態(tài)BUSY(BUSY=0,BUSY(BUSY=0,外設(shè)忙外設(shè)忙),BUSY=1),BUSY=1時,時,才能由數(shù)據(jù)口輸出數(shù)據(jù)才能由數(shù)據(jù)口輸出數(shù)據(jù) MOV DX,0FFHMOV DX,0FFHA1:IN AL,DX A1:IN AL,DX AND AL,01HAND AL,01H JZ A1 JZ A

6、1 MOV AL,BL MOV AL,BL OUT DX,AL OUT DX,AL數(shù)據(jù)緩沖器數(shù)據(jù)緩沖器鎖存器鎖存器輸入設(shè)備輸入設(shè)備三態(tài)緩沖器三態(tài)緩沖器地址地址譯碼譯碼CLKDQCLR地址地址總線總線數(shù)據(jù)數(shù)據(jù)選通選通+5VM/IORD圖圖 8-2 8-2 查詢輸入接口電路查詢輸入接口電路2.2.中斷控制中斷控制當(dāng)外設(shè)需要與當(dāng)外設(shè)需要與CPUCPU進(jìn)行數(shù)據(jù)交換時,進(jìn)行數(shù)據(jù)交換時,由外設(shè)向由外設(shè)向CPUCPU發(fā)出一個中斷請求信號,發(fā)出一個中斷請求信號,CPUCPU響應(yīng)中斷請求后,在中斷服務(wù)程序中響應(yīng)中斷請求后,在中斷服務(wù)程序中完成信息交換。完成信息交換。3. DMA3. DMA控制方式控制方式當(dāng)某一

7、外部設(shè)備需要輸入當(dāng)某一外部設(shè)備需要輸入/ /輸出一批數(shù)輸出一批數(shù)據(jù)時,向據(jù)時,向DMADMA控制器發(fā)出請求,控制器發(fā)出請求,DMADMA接收到這接收到這一請求后,向一請求后,向CPUCPU發(fā)出總線請求;若發(fā)出總線請求;若CPUCPU響應(yīng)響應(yīng)DMADMA的請求,并把總線使用權(quán)賦給的請求,并把總線使用權(quán)賦給DMADMA控制器,控制器,數(shù)據(jù)可直接在數(shù)據(jù)可直接在DMADMA控制器操縱下進(jìn)行??刂破鞑倏v下進(jìn)行。 8.2 8.2 并行通信與并行接口并行通信與并行接口 8.2.18.2.1并行通信并行通信 并行通信,多路信號同時進(jìn)行傳輸。并行通信,多路信號同時進(jìn)行傳輸。其特點:傳輸速度快,信息率高,通常其特

8、點:傳輸速度快,信息率高,通常用在傳輸距離較短和數(shù)據(jù)傳輸率較高的用在傳輸距離較短和數(shù)據(jù)傳輸率較高的場合。場合。8.2.28.2.2并行接口并行接口 實現(xiàn)并行通信的接口就是并行接口。典實現(xiàn)并行通信的接口就是并行接口。典型的并行接口和外部設(shè)備連接如圖型的并行接口和外部設(shè)備連接如圖8-4,8-4,其中其中控制寄存器接收控制寄存器接收CPUCPU的控制命令,狀態(tài)寄存的控制命令,狀態(tài)寄存器提供各種狀態(tài)供器提供各種狀態(tài)供CPUCPU查詢。查詢??刂萍拇嫫骺刂萍拇嫫鬏斎胼斎刖彌_寄存器緩沖寄存器輸出輸出緩沖寄存器緩沖寄存器狀態(tài)寄存器狀態(tài)寄存器片選片選A1、A2地址地址譯碼譯碼中斷請求中斷請求準(zhǔn)備好準(zhǔn)備好RST

9、RDWRDBCPU輸入數(shù)據(jù)準(zhǔn)備好輸入數(shù)據(jù)準(zhǔn)備好(STB)數(shù)據(jù)輸入回答數(shù)據(jù)輸入回答(IBF)輸入數(shù)據(jù)輸入數(shù)據(jù)數(shù)據(jù)輸出數(shù)據(jù)輸出數(shù)據(jù)輸出準(zhǔn)備好數(shù)據(jù)輸出準(zhǔn)備好數(shù)據(jù)輸出回答數(shù)據(jù)輸出回答輸入設(shè)備輸入設(shè)備輸出設(shè)備輸出設(shè)備圖圖8-4 8-4 并行接口連接外部設(shè)備的示意圖并行接口連接外部設(shè)備的示意圖1.1.并行接口的輸入過程:外設(shè)將數(shù)據(jù)傳送給接口,并行接口的輸入過程:外設(shè)將數(shù)據(jù)傳送給接口,并使并使“STB” STB” 有效。接口收到數(shù)據(jù)后,使有效。接口收到數(shù)據(jù)后,使“IBF”IBF”有效。同時有效。同時,“,“輸入準(zhǔn)備好輸入準(zhǔn)備好”狀態(tài)位有效,或向狀態(tài)位有效,或向CPUCPU發(fā)中斷請求。發(fā)中斷請求。2 2、并行

10、接口的輸出過程:外設(shè)取走數(shù)據(jù)后,、并行接口的輸出過程:外設(shè)取走數(shù)據(jù)后,“輸出準(zhǔn)備好輸出準(zhǔn)備好”狀態(tài)位有效,或發(fā)一個中斷狀態(tài)位有效,或發(fā)一個中斷請求;當(dāng)輸出的數(shù)據(jù)到達(dá)輸出緩沖寄存器后,請求;當(dāng)輸出的數(shù)據(jù)到達(dá)輸出緩沖寄存器后,接口會自動向外設(shè)發(fā)送一個信號通知外設(shè)。接口會自動向外設(shè)發(fā)送一個信號通知外設(shè)。外設(shè)收到數(shù)據(jù)后,并往接口發(fā)一個外設(shè)收到數(shù)據(jù)后,并往接口發(fā)一個“數(shù)據(jù)輸數(shù)據(jù)輸出回答出回答”信號。信號。8.3 可編程并行通信接口芯片可編程并行通信接口芯片8255A8255A 8255A 8255A 可為可為CPUCPU與外設(shè)之間提供并行輸入與外設(shè)之間提供并行輸入/ /輸出的通道,可以通過軟件來設(shè)置其工

11、作方式。輸出的通道,可以通過軟件來設(shè)置其工作方式。8.3.18.3.18255A8255A的內(nèi)部結(jié)構(gòu)及其功能的內(nèi)部結(jié)構(gòu)及其功能 由由8255A8255A的內(nèi)部結(jié)構(gòu)圖可見,的內(nèi)部結(jié)構(gòu)圖可見,8255A8255A由以下幾部由以下幾部分組成:分組成:1 1、并行輸入、并行輸入/ /輸出端口輸出端口A A、端口、端口B B和端口和端口C C,且各端,且各端口相互獨立;口相互獨立;PCPC口還具有按位置位口還具有按位置位/ /復(fù)位功能。復(fù)位功能。3 3、數(shù)據(jù)總線緩沖存儲器、數(shù)據(jù)總線緩沖存儲器2 2、A A組和組和B B組控制部件組控制部件4 4、讀、讀/ /寫控制部件寫控制部件A A組組控制控制B組組控

12、制控制端口端口C(上半部)(上半部)端口端口C下半部下半部端口端口BOOO數(shù)據(jù)總線數(shù)據(jù)總線緩沖器緩沖器讀讀 / 寫寫控制邏輯控制邏輯端口端口A數(shù)據(jù)總線數(shù)據(jù)總線D0 D7RDWRA0A1RESETCSPA0 PA7PC4 PC7PC0 PC3PB0 PB7CPU接口接口外設(shè)接口外設(shè)接口內(nèi)部結(jié)構(gòu)圖內(nèi)部結(jié)構(gòu)圖1 1、PAPA、PBPB和和PCPC口;口;PCPC口具口具有按位置位有按位置位/ /復(fù)位功能。復(fù)位功能。內(nèi)部數(shù)據(jù)總線內(nèi)部數(shù)據(jù)總線2 2、A A組和組和B B組控制部件組控制部件3 3、數(shù)據(jù)總線緩沖存儲器、數(shù)據(jù)總線緩沖存儲器4 4、讀、讀/ /寫控制部件寫控制部件8255與系統(tǒng)的連接示意圖D0

13、D7WRRDA1A0CSDBIOWIORA1A0譯碼器譯碼器8255A口口B口口C口口D0D7外外 設(shè)設(shè)8.3.2 8255A8.3.2 8255A芯片的控制字及其工作方式芯片的控制字及其工作方式 8255A 8255A中的端口的工作方式有:方式中的端口的工作方式有:方式0 0、方式、方式1 1和方式和方式2 2。D0D1D2D3D4D5D6D7PC3 PC01:輸入:輸入0:輸出:輸出B口口 1:輸入:輸入 0:輸出:輸出B組工作方式組工作方式 0:方式:方式0 1:方式:方式1PC7 PC4 1:輸入:輸入 0:輸出:輸出A口口 1:輸入:輸入 0:輸出:輸出A組工作方式組工作方式00:方

14、式:方式001:方式:方式11:方式:方式2D7 = 1特征位特征位B組組A組組1 1、控制字、控制字( A1A0 = 11)(1 1)定義工作方式控制字)定義工作方式控制字方式控制字及狀態(tài)字方式控制字及狀態(tài)字 利用軟件編程確定利用軟件編程確定3個端口工作于何種方個端口工作于何種方式下;式下; C端口可以按位操作。當(dāng)其工作于方式端口可以按位操作。當(dāng)其工作于方式0下且作為輸出口時,一般需要對作為輸下且作為輸出口時,一般需要對作為輸出的位設(shè)置初始狀態(tài)(即初始化)出的位設(shè)置初始狀態(tài)(即初始化)(2 2)C C口的置位口的置位/ /復(fù)位字復(fù)位字 D0D1D2D3D4D5D6D71 1:置位:置位0 0

15、:復(fù)位:復(fù)位C C口選擇口選擇000:PC0001:PC1010:PC2011:PC3100:PC4101:PC5110:PC6111:PC7任選(可任選(可1可可0)D7 = 0D7 = 0(特征位)(特征位)例:若把例:若把C C口的口的PC2PC2引腳清引腳清0 0,PC5PC5引腳置引腳置成高電平輸出,請寫出其控制字。成高電平輸出,請寫出其控制字。使使PC2PC2清清0 0的控制字:的控制字:00000000,0100B0100B或或 02H02H使使PC5PC5置置1 1的控制字:的控制字:00000000,1010B1010B或或 0AH0AH (1 1) 工作方式工作方式0 0:

16、PAPA、PBPB和和PCPC的基本輸入的基本輸入/ /輸出方式。輸出方式。它只完成簡單的并行輸入它只完成簡單的并行輸入/ / 輸出操作。輸出操作。 2 2、 工作方式工作方式方式方式0 0:基本:基本I/OI/O方式(查詢時,任選方式(查詢時,任選C C口做連絡(luò)信號)口做連絡(luò)信號)方式方式1 1:選通方式(固定:選通方式(固定C C口做連絡(luò)信號)口做連絡(luò)信號)方式方式2 2:雙向方式(只用于:雙向方式(只用于A A口)口) 在方式在方式0 0工作時,工作時,CPUCPU可以采用無條件讀寫方式與可以采用無條件讀寫方式與8255A8255A交換信息。交換信息。 在基本輸入在基本輸入/ /輸出下工

17、作時,輸出的數(shù)據(jù)被鎖存,輸出下工作時,輸出的數(shù)據(jù)被鎖存,而輸入的數(shù)據(jù)是不鎖存的。而輸入的數(shù)據(jù)是不鎖存的。方式方式0: 相當(dāng)于三個獨立的相當(dāng)于三個獨立的8位簡單接口位簡單接口 各端口既可設(shè)置為輸入口,也可設(shè)置為輸出口,各端口既可設(shè)置為輸入口,也可設(shè)置為輸出口,但不能同時實現(xiàn)輸入及輸出但不能同時實現(xiàn)輸入及輸出 C端口可以是一個端口可以是一個8位的簡單接口,也可以分為位的簡單接口,也可以分為兩個獨立的兩個獨立的4位端口位端口 常用于連接簡單外設(shè)(適于無條件或查詢方式)常用于連接簡單外設(shè)(適于無條件或查詢方式)方式方式0的應(yīng)用:的應(yīng)用:常使常使A端口和端口和B端口作為端口作為8位數(shù)據(jù)的輸入或輸出口,位

18、數(shù)據(jù)的輸入或輸出口,使使C口的某些位作狀態(tài)輸入口的某些位作狀態(tài)輸入8255芯片的應(yīng)用芯片的應(yīng)用芯片與系統(tǒng)的連接芯片與系統(tǒng)的連接芯片的初始化芯片的初始化相應(yīng)的控制程序相應(yīng)的控制程序(2 2)方式)方式1 1:選通輸入:選通輸入/ /輸出方式,在這種工作輸出方式,在這種工作方式下,方式下,A A、B B兩個口的數(shù)據(jù)輸入兩個口的數(shù)據(jù)輸入/ /輸出操作要輸出操作要在選通信號控制下完成。在選通信號控制下完成。C C口的六位數(shù)據(jù)線作口的六位數(shù)據(jù)線作為聯(lián)絡(luò),剩下的兩位可作數(shù)據(jù)位使用。為聯(lián)絡(luò),剩下的兩位可作數(shù)據(jù)位使用。方式方式1 1輸入。輸入。A A、B B兩個口都設(shè)置為方式兩個口都設(shè)置為方式1 1輸輸入的情

19、況如圖所示。入的情況如圖所示。例例1 1:要把:要把A A口指定為口指定為1 1方式,輸入,方式,輸入,B B口指定為口指定為1 1方方式,輸入,式,輸入,C C口上半部定為輸出,寫出初始程序?口上半部定為輸出,寫出初始程序?方式命令字? 假定假定8255A8255A命令控制命令控制口的地址為口的地址為303H303H,則,則8255A8255A的初始化為:的初始化為:MOVMOVDXDX,303H303HMOVMOVALAL,0B6H0B6HOUTOUTDXDX,ALAL10110110B或0B6H。1 1方式下輸入的聯(lián)絡(luò)信號線定義:方式下輸入的聯(lián)絡(luò)信號線定義:A口方式 1 ,輸入B口方式

20、1 ,輸入INTEAPA0 PA7PC4PC5PC3STBIBFINTRI / OPC6、PC7ORDSTBSTB:選通輸入,外設(shè)發(fā)出:選通輸入,外設(shè)發(fā)出IBFIBF:輸入緩沖器滿,:輸入緩沖器滿,82558255發(fā)出發(fā)出INTEINTE:中斷允許:中斷允許,PC4=1,PC4=1,使使INTE A=1INTE A=1;INTRINTR:中斷請求,當(dāng):中斷請求,當(dāng)INTE=1,IBF=1INTE=1,IBF=1,STBSTB時,時,INTR = 1INTR = 1INTEINTEB BPB0 PB7PC2PC1PC0STBIBFINTRI / OORDPC2=1,PC2=1,使使INTE B=

21、1INTE B=11 1方式下輸入的時序:方式下輸入的時序:A口方式 1 ,輸入INTEAPA0 PA7PC4PC5PC3STBIBFINTRI / OPC6、PC7ORDSTBSTB:選通輸入,外設(shè)發(fā)出:選通輸入,外設(shè)發(fā)出IBFIBF:輸入緩沖器滿,:輸入緩沖器滿,82558255發(fā)出。發(fā)出。INTE:INTE:中斷允許中斷允許,PC4=1,PC4=1,使使INTEA=1INTEA=1INTR:INTR:中斷請求,當(dāng)中斷請求,當(dāng)INTE=1,IBF=1INTE=1,IBF=1, STBSTBIBFIBFINTRINTRRDRD 數(shù)據(jù)數(shù)據(jù) 當(dāng)當(dāng)PAPA口設(shè)置為工作方式口設(shè)置為工作方式1 1時,

22、如何使時,如何使A A端口的端口的PCPC4 4置置位位/ /復(fù)位?復(fù)位?1 1方式下輸出的聯(lián)絡(luò)信號線定義:方式下輸出的聯(lián)絡(luò)信號線定義:A A口方式口方式 1 1 ,輸出,輸出B B口方式口方式 1 1 ,輸出,輸出INTEAPA0 PA7PC6PC7PC3OBFACKINTRI / OPC4、5OWRINTEBPB0 PB7PC2PC1PC0ACKOBFINTRI / OOWRACKACK:外設(shè)應(yīng)答:外設(shè)應(yīng)答OBFOBF:輸出緩沖器滿:輸出緩沖器滿INTEINTE:中斷允許,設(shè)置:中斷允許,設(shè)置PC6=1PC6=1,使,使INTEA=1INTEA=1;PC2=1PC2=1,使,使INTEB=

23、1INTEB=1;INTRINTR:中斷請求,當(dāng):中斷請求,當(dāng)INTE = 1INTE = 1且且OBF = 1OBF = 1時,時,INTR = 1INTR = 1 1 1方式下輸出的時序:方式下輸出的時序:A A口方式口方式 1 1 ,輸出,輸出INTEAPA0 PA7PC6PC7PC3OBFACKINTRI / OPC4、5OWRACKACK:外設(shè)應(yīng)答:外設(shè)應(yīng)答OBFOBF:輸出緩沖器滿:輸出緩沖器滿INTEINTE:中斷允許,設(shè)置:中斷允許,設(shè)置PC6=1PC6=1,使,使INTEA=1INTEA=1;PC2=1PC2=1,使,使INTEB=1INTEB=1;INTRINTR:中斷請求

24、,當(dāng):中斷請求,當(dāng)INTE = 1INTE = 1且且OBF = 1OBF = 1時,時,INTR = 1INTR = 1WROBFINTRACK在方式在方式1 1下,有下,有2 2種方法實現(xiàn)與外設(shè)交換信息。種方法實現(xiàn)與外設(shè)交換信息。1 1、通過查詢、通過查詢PCPC端口的狀態(tài)實現(xiàn)與外設(shè)交還信息。例:端口的狀態(tài)實現(xiàn)與外設(shè)交還信息。例:在方式在方式1 1的輸入時,通過查詢的輸入時,通過查詢IBFIBF位或位或INTRINTR位;當(dāng)位;當(dāng)IBFIBF為高電平時,表明外設(shè)輸入了新的數(shù)據(jù),通知為高電平時,表明外設(shè)輸入了新的數(shù)據(jù),通知CPUCPU來讀數(shù)據(jù)。來讀數(shù)據(jù)。在方式在方式1 1的輸出時,通過查詢的

25、輸出時,通過查詢OBFOBF位或位或INTRINTR位,當(dāng)位,當(dāng)OBFOBF為高電平時,表明外設(shè)外設(shè)處于空閑狀態(tài),這時為高電平時,表明外設(shè)外設(shè)處于空閑狀態(tài),這時CPUCPU可以輸出新的數(shù)據(jù)??梢暂敵鲂碌臄?shù)據(jù)。在實際編程中,查在實際編程中,查INTRINTR位,可靠性更高。位,可靠性更高。 2 2、通過引入中斷來實現(xiàn)與外設(shè)交還信息。、通過引入中斷來實現(xiàn)與外設(shè)交還信息。把把INTRINTR作為中斷請求信號,利用中斷服務(wù)程序來作為中斷請求信號,利用中斷服務(wù)程序來實現(xiàn)實現(xiàn)CPUCPU與外部設(shè)備交換信息。與外部設(shè)備交換信息。方式方式1的應(yīng)用的應(yīng)用: 方式方式1主要用于中斷控制方式下的輸入輸主要用于中斷控

26、制方式下的輸入輸出出 C口的口的8位除用作選通信號外,其余位可位除用作選通信號外,其余位可工作于方式工作于方式0下,作為輸入或輸出口下,作為輸入或輸出口(3 3)工作方式)工作方式2 2:帶選通的雙向傳送方式。:帶選通的雙向傳送方式。 8255A8255A中只允許端口中只允許端口A A處于工作方式處于工作方式2 2,可用來,可用來在兩臺處理機(jī)之間實現(xiàn)雙向行通信。在兩臺處理機(jī)之間實現(xiàn)雙向行通信。 當(dāng)端口當(dāng)端口A A工作于方式工作于方式2 2時,允許端口時,允許端口B B工作方式工作方式0 0或方式或方式1 1完成輸入完成輸入/ /輸出功能。輸出功能。 (4 4)關(guān)于兩個命令的討論)關(guān)于兩個命令的

27、討論方式命令是對方式命令是對8255A8255A的的3 3個端口的工作方式進(jìn)行個端口的工作方式進(jìn)行指定,用到指定,用到8255A8255A,一定要先初始化。,一定要先初始化。按位置位按位置位/ /復(fù)位命令只是對復(fù)位命令只是對PCPC口的輸出進(jìn)行控口的輸出進(jìn)行控制,使用它并不影響已經(jīng)建立的工作方式。制,使用它并不影響已經(jīng)建立的工作方式。D D7 7特征位,用以區(qū)別兩個不同的命令。特征位,用以區(qū)別兩個不同的命令。按位置位按位置位/ /復(fù)位的命令代碼只能寫入命令口。復(fù)位的命令代碼只能寫入命令口。方式方式2的應(yīng)用:的應(yīng)用: 可使可使A端口作為雙向端口所有端口作為雙向端口所有 用于中斷控制方式用于中斷控

28、制方式 當(dāng)當(dāng)A口工作于方式口工作于方式2時,時,B口可工作于方口可工作于方式式1(此時(此時C口的所有位都用作選通控制口的所有位都用作選通控制信號的輸入輸出),也可工作于方式信號的輸入輸出),也可工作于方式0(此時(此時C口的剩余位也可工作于方式口的剩余位也可工作于方式0) 在訪問外設(shè)時,要用指令在訪問外設(shè)時,要用指令I(lǐng)N/OUTIN/OUT,例如:,例如:ININALAL,13H13H(或(或ININALAL,DXDX)OUTOUT 13H13H,AXAX(或(或OUT DXOUT DX,ALAL) 實際上,接口電路是外設(shè)與實際上,接口電路是外設(shè)與CPUCPU交換信息的交換信息的中間橋梁。一

29、個接口電路可能有多個端口(比中間橋梁。一個接口電路可能有多個端口(比如如8255A8255A就有就有3 3個端口即端口個端口即端口A A、端口、端口B B和端口和端口C C),也就是說,一個接口有多個端口地址。),也就是說,一個接口有多個端口地址。CPUCPU通過訪問不同的端口,來實現(xiàn)訪問不同通過訪問不同的端口,來實現(xiàn)訪問不同的外部設(shè)備。通過下面的表來說明的外部設(shè)備。通過下面的表來說明8255A8255A的端的端口地址的用法??诘刂返挠梅ā?.3.3 8255A8.3.3 8255A并行接口應(yīng)用舉例并行接口應(yīng)用舉例地址地址 A1 A0 RD WR CS 操作操作表表 8255A8255A的讀定

30、操作控制的讀定操作控制 0 0 0 0 1 0 端口端口A CPU 1 0 1 0 1 0 端口B CPU 2 1 0 0 1 0 端口端口C CPU 0 0 0 1 0 0 CPU 端口端口A 1 0 1 1 0 0 CPU 端口端口B 2 1 0 1 0 0 CPU 端口C 3 1 1 0 0 0 CPU 控制寄存器控制寄存器 1 1 0 1 0 非法操作非法操作 1 1 0 數(shù)據(jù)總線浮空數(shù)據(jù)總線浮空 1 8255A無效無效,數(shù)據(jù)總線浮空數(shù)據(jù)總線浮空例例1 1:要把:要把A A口和口和B B口都指定為口都指定為1 1方式,輸入,方式,輸入,C C口上半部口上半部定為輸出,求其工作方式命令代

31、碼?定為輸出,求其工作方式命令代碼?10110110B或0B6H。 假定假定8255A8255A命令控制口的地址為命令控制口的地址為303H303H,則,則8255A8255A的的初始化為:初始化為:MOV DXMOV DX,303H303HMOV ALMOV AL,0B6H0B6HOUTOUTDXDX,ALAL工作方式命令字工作方式命令字= =?例例2 2:若要把:若要把C C口的口的PCPC2 2引腳置成高電平輸出,求其命令代引腳置成高電平輸出,求其命令代碼?控制口的地址為碼?控制口的地址為303H303H控制命令字控制命令字= =?00000101B00000101B或或05H05H 其

32、程序段為:其程序段為:MOV DXMOV DX,303H303HMOV ALMOV AL,05H05HOUT DXOUT DX,ALAL 例例3 3:利用:利用8255A8255A的的PCPC6 6,產(chǎn)生方波,送到喇叭,使,產(chǎn)生方波,送到喇叭,使產(chǎn)生不同頻率的聲音,其原理圖如圖所示,產(chǎn)生不同頻率的聲音,其原理圖如圖所示,SPK PROCSPK PROC MOV DX,303H; MOV DX,303H;命令口命令口 MOV AL,0DH; MOV AL,0DH; 置置PC6=1PC6=1 OUT DX,AL OUT DX,AL CALL DELAY CALL DELAY MOV AL,0CH;

33、 MOV AL,0CH;置置PC6=0PC6=0 OUT DX,AL OUT DX,AL CALL DELAY CALL DELAY RET RETSPK ENDPSPK ENDPO+5V壓電蜂鳴器壓電蜂鳴器7406PC68255A控制口地址為控制口地址為303H303H,其程序段為:其程序段為:若改變?nèi)舾淖僁ELAYDELAY的延時時間的延時時間, ,即可改即可改變喇叭發(fā)聲的頻率變喇叭發(fā)聲的頻率 。例例4 4:8255A8255A的的0 0方式及其應(yīng)用方式及其應(yīng)用一、特點一、特點: : 在在0 0方式下不設(shè)置專用聯(lián)絡(luò)信號線,方式下不設(shè)置專用聯(lián)絡(luò)信號線,需要聯(lián)絡(luò)時,由用戶任意指定需要聯(lián)絡(luò)時,由

34、用戶任意指定C C口中的哪根線口中的哪根線完成某種聯(lián)絡(luò)功能。完成某種聯(lián)絡(luò)功能。 由于無固定的專用聯(lián)絡(luò)信號,由用戶根由于無固定的專用聯(lián)絡(luò)信號,由用戶根據(jù)數(shù)據(jù)傳送的要求決定輸入據(jù)數(shù)據(jù)傳送的要求決定輸入/ /輸出的操作過程。輸出的操作過程。1 1、要求、要求: : 為某應(yīng)用系統(tǒng)配置一個并行打印機(jī)接為某應(yīng)用系統(tǒng)配置一個并行打印機(jī)接口,通過采用查詢方式把存放在口,通過采用查詢方式把存放在BUFBUF緩沖的緩沖的256256個字符個字符(ASCII(ASCII碼碼) )送去打印。送去打印。 2、分析、分析: 查詢方式時,打印機(jī)與查詢方式時,打印機(jī)與CPU之間傳送數(shù)據(jù)的之間傳送數(shù)據(jù)的過程是:過程是: 首先查

35、詢首先查詢BUSY。若。若BUSY=1,打印機(jī)忙,則等待;,打印機(jī)忙,則等待;若若BUSY=0,打印機(jī)不忙,則送數(shù)據(jù)。,打印機(jī)不忙,則送數(shù)據(jù)。 把數(shù)據(jù)送到打印機(jī)的數(shù)據(jù)線上,此時打印機(jī)并未把數(shù)據(jù)送到打印機(jī)的數(shù)據(jù)線上,此時打印機(jī)并未收到數(shù)據(jù)。收到數(shù)據(jù)。 再送出一個數(shù)據(jù)選通信號(負(fù)脈沖)給打印機(jī),再送出一個數(shù)據(jù)選通信號(負(fù)脈沖)給打印機(jī),把數(shù)據(jù)總線上的數(shù)據(jù)打入到打印機(jī)的內(nèi)部緩沖器。把數(shù)據(jù)總線上的數(shù)據(jù)打入到打印機(jī)的內(nèi)部緩沖器。 打印機(jī)在收到數(shù)據(jù)后,發(fā)出打印機(jī)在收到數(shù)據(jù)后,發(fā)出“忙忙”(BUSY=1)信)信號,表明打印機(jī)正在處理輸入的數(shù)據(jù)。等到輸入的號,表明打印機(jī)正在處理輸入的數(shù)據(jù)。等到輸入的數(shù)據(jù)處理完

36、畢,打印機(jī)撤消數(shù)據(jù)處理完畢,打印機(jī)撤消“忙忙”信號,即置信號,即置BUSY=0。 最后送出一個回答信號最后送出一個回答信號ACK給主機(jī),表示上一個給主機(jī),表示上一個字符已經(jīng)處理完畢。字符已經(jīng)處理完畢。 如此重復(fù)工作,直到把全部字如此重復(fù)工作,直到把全部字符打印出來。符打印出來。 CPU PA07 PC7 PC2 地DATA18 STBBUSY地圖圖8-9 8255A8-9 8255A并行打印機(jī)口電路框圖并行打印機(jī)口電路框圖8255A 8255A 打印機(jī)插座打印機(jī)插座接口驅(qū)動程序。打印機(jī)驅(qū)動程序的流程是根據(jù)打印接口標(biāo)準(zhǔn)接口驅(qū)動程序。打印機(jī)驅(qū)動程序的流程是根據(jù)打印接口標(biāo)準(zhǔn)的時序要求擬定的。的時序要

37、求擬定的。3、設(shè)計、設(shè)計: 電路設(shè)計包括硬件接口電路和軟件驅(qū)動程序兩部分。電路設(shè)計包括硬件接口電路和軟件驅(qū)動程序兩部分。 打印機(jī)接口電路。打印機(jī)接口電路原理框圖如圖打印機(jī)接口電路。打印機(jī)接口電路原理框圖如圖8-9所示所示 驅(qū)動程序的程序段如下:驅(qū)動程序的程序段如下:CODE SEGMENTCODE SEGMENT ASSUME CS ASSUME CS:CODECODE,DSDS:CODECODE ORG 100H ORG 100HSTARTSTART: MOV AX,CODEMOV AX,CODE MOV DS,AX MOV DS,AX MOV DX,303H MOV DX,303H ;82

38、55A8255A命令口命令口 MOV AL,10000001B MOV AL,10000001B ;工作方式字;工作方式字 OUT DX,ALOUT DX,AL MOV AL,00001111B MOV AL,00001111B ;PC7PC7位置高位置高 OUT DX,ALOUT DX,AL MOV SI,OFFSET BUF MOV SI,OFFSET BUF ;打印字符的內(nèi)存首址;打印字符的內(nèi)存首址 MOV CXMOV CX,0FFH0FFH ;打印字符的個數(shù);打印字符的個數(shù)LLLL:MOVMOVDXDX,302H302H ;PCPC口地址口地址ININALAL,DXDX ;查;查BUS

39、Y=0BUSY=0?ANDANDALAL,04H04HJNZ LL ;JNZ LL ;忙,則等待;不忙,則向忙,則等待;不忙,則向A A口送數(shù)。口送數(shù)。MOVMOVDXDX,300H300H ;PAPA口地址口地址MOVMOVALAL,SISI ;從內(nèi)存取數(shù);從內(nèi)存取數(shù)OUTOUTDXDX,ALAL ;送數(shù)到;送數(shù)到A A口口MOVMOVDXDX,303H303H ;8255A8255A命令口命令口MOVMOVALAL,00001110B00001110B;置;置STB=0STB=0OUTOUTDXDX,ALALNOPNOPNOPNOPMOVMOVALAL,00001111B00001111B

40、;置;置STB=1STB=1OUTOUTDXDX,ALALINCINCSISILOOPLOOPLLLLMOVMOVAXAX,4C00H4C00HINTINT21H21HBUFBUFDBDB定義定義256256個個ASCIIASCII字符代碼字符代碼CODECODEENDSENDSENDENDSTARTSTART 規(guī)定規(guī)定8255并行接口地址為并行接口地址為FFE0HFFE3H,試將其連接到試將其連接到8086的系統(tǒng)總線上。的系統(tǒng)總線上。若希望若希望8255的的3個口個口24跳線均為輸出,且輸出跳線均為輸出,且輸出方波,試編程序。方波,試編程序。INI55:MOVDX, 0FFE3HMOVAL,

41、 10000000BOUTDX, AL MOVAL, 00HGOON:MOVDX, 0FFE0HOUTDX, ALINCDXOUTDX, ALINCDXOUTDX, ALCALLDELAYNOTALJMPGOON8255A8255A工作方式工作方式 :三種式作方式:方式,方式,方式三種式作方式:方式,方式,方式方式方式0:無條件輸入或輸出方式,直接傳送方式,無任何聯(lián)絡(luò)線。無條件輸入或輸出方式,直接傳送方式,無任何聯(lián)絡(luò)線。三個端口為三個端口為8位獨位的輸入輸出接口,輸出鎖存,輸入緩沖。位獨位的輸入輸出接口,輸出鎖存,輸入緩沖。8255A8255A工作方式工作方式 :方式方式1 A1 A口輸入操作

42、:口輸入操作:PORT APORT A8 8位輸入位輸入PC4IBFIBFPC3INTRINTRA APCPC6,76,7I/OI/OPC5STB STB INTEINTESTB STB :輸入選通信號,低電平有效,:輸入選通信號,低電平有效,A A口數(shù)據(jù)鎖存??跀?shù)據(jù)鎖存。 IBFIBF:輸出高電平有效,通知外設(shè)數(shù)據(jù)未取走。:輸出高電平有效,通知外設(shè)數(shù)據(jù)未取走。 INTRINTRA A:中斷請求,輸出高電平向:中斷請求,輸出高電平向CPUCPU申請中斷。申請中斷。 INTEINTE:中斷允許,輸出高電平向:中斷允許,輸出高電平向CPUCPU申請中斷。申請中斷。 PCPC4 4置位置位=1=1中

43、斷允許中斷允許復(fù)位復(fù)位=0=0中斷禁止中斷禁止PCPC6 6PCPC7 7按位操作,輸入或輸出。按位操作,輸入或輸出。方式方式1 1: 1 1、應(yīng)答式輸出或輸入,(帶聯(lián)絡(luò)線)分為、應(yīng)答式輸出或輸入,(帶聯(lián)絡(luò)線)分為A A組或組或B B組。組。 2 2、輸入輸出均鎖存。、輸入輸出均鎖存。PCPC4 4對外是輸入信號,不受置位復(fù)位的影響。對外是輸入信號,不受置位復(fù)位的影響。8255A8255A工作方式工作方式 :方式方式1 A1 A口輸入操作:口輸入操作:PORT APORT A8 8位輸入位輸入PC4IBFIBFPC3INTRINTRA APCPC6,76,7I/OI/OPC5STB STB I

44、NTEINTESTB STB IBFIBFINTRINTRA ARDRD外設(shè)數(shù)據(jù)外設(shè)數(shù)據(jù)1 1下降沿鎖存數(shù)據(jù)到下降沿鎖存數(shù)據(jù)到A A口,口,IBFIBF輸出通知外設(shè)數(shù)據(jù)未取走輸出通知外設(shè)數(shù)據(jù)未取走STB STB 1 12 2STB STB 2 2上升沿鎖存上升沿鎖存INTRINTR中斷申請,中斷申請,INTEINTE(PCPC4 4置位)置位)3 33 3下降沿下降沿CPUCPU讀讀A A口數(shù)據(jù),口數(shù)據(jù),INTRINTR中斷復(fù)位。中斷復(fù)位。RDRD4 44 4上升沿上升沿CPUCPU讀結(jié)束,讀結(jié)束,IBFIBF復(fù)位。復(fù)位??蛇M(jìn)行新一輪數(shù)據(jù)輸入??蛇M(jìn)行新一輪數(shù)據(jù)輸入。RDRD8255A8255A

45、工作方式工作方式 :方式方式1 B1 B口輸入操作:口輸入操作:PORT BPORT B8 8位輸入位輸入PC2IBFIBFPC0INTRINTRB BPCPC6,76,7I/OI/OPC1STB STB INTEINTESTB STB :輸入選通信號,低電平有效,:輸入選通信號,低電平有效,B B口數(shù)據(jù)鎖存。口數(shù)據(jù)鎖存。 IBFIBF:輸出高電平有效,通知外設(shè)數(shù)據(jù)未取走。:輸出高電平有效,通知外設(shè)數(shù)據(jù)未取走。 INTRINTRB B:中斷請求,輸出高電平向:中斷請求,輸出高電平向CPUCPU申請中斷。申請中斷。 INTEINTE:中斷允許,輸出高電平向:中斷允許,輸出高電平向CPUCPU申請

46、中斷。申請中斷。 PCPC2 2置位置位=1=1中斷允許中斷允許復(fù)位復(fù)位=0=0中斷禁止中斷禁止STB STB IBFIBFINTRINTRA ARDRD外設(shè)數(shù)據(jù)外設(shè)數(shù)據(jù)1 1下降沿鎖存數(shù)據(jù)到下降沿鎖存數(shù)據(jù)到B B口,口,IBFIBF輸出通知外設(shè)數(shù)據(jù)未取走輸出通知外設(shè)數(shù)據(jù)未取走STB STB 1 12 2STB STB 2 2上升沿鎖存上升沿鎖存INTRINTR中斷申請,中斷申請,INTEINTE(PCPC2 2置位)置位)3 33 3下降沿下降沿CPUCPU讀讀B B口數(shù)據(jù),口數(shù)據(jù),INTRINTR中斷復(fù)位。中斷復(fù)位。RDRD4 44 4上升沿上升沿CPUCPU讀結(jié)束,讀結(jié)束,IBFIBF復(fù)

47、位。可進(jìn)行新一輪數(shù)據(jù)輸入。復(fù)位??蛇M(jìn)行新一輪數(shù)據(jù)輸入。RDRD8255A8255A工作方式工作方式 :方式方式1 A1 A口輸出操作:口輸出操作:INTRINTRA A:中斷請求,輸出高電平向:中斷請求,輸出高電平向CPUCPU申請中斷。申請中斷。 INTEINTE:中斷允許,輸出高電平向:中斷允許,輸出高電平向CPUCPU申請中斷。申請中斷。 PCPC6 6置位置位=1=1中斷允許中斷允許復(fù)位復(fù)位=0=0中斷禁止中斷禁止PORT APORT A8 8位輸出位輸出PC7PC3INTRINTRA APCPC4,54,5I/OI/OPC6OBF OBF INTEINTEACK ACK :輸出緩沖器

48、滿信號,輸出低電平有效,:輸出緩沖器滿信號,輸出低電平有效,OBF OBF :數(shù)據(jù)取走響應(yīng)信號,輸入低電平有效。:數(shù)據(jù)取走響應(yīng)信號,輸入低電平有效。ACK ACK OBFOBFINTRINTRA A數(shù)據(jù)輸出數(shù)據(jù)輸出WRWRACKACK數(shù)據(jù)送入數(shù)據(jù)送入A A口,口,OBFOBF輸出通知輸出通知外設(shè)取數(shù),外設(shè)取數(shù),INTRINTR中斷準(zhǔn)備。中斷準(zhǔn)備。1 1WRWR1 1ACK ACK 2 2下降沿復(fù)位下降沿復(fù)位OBFOBF,數(shù)據(jù)取走。,數(shù)據(jù)取走。2 23 3ACK ACK 3 3上升沿上升沿INTRINTR中斷申請,進(jìn)行中斷申請,進(jìn)行下輪數(shù)據(jù)輸出。下輪數(shù)據(jù)輸出。8255A8255A工作方式工作方式

49、 :方式方式1 B1 B口輸出操作:口輸出操作:INTRINTRB B:中斷請求,輸出高電平向:中斷請求,輸出高電平向CPUCPU申請中斷。申請中斷。 INTEINTE:中斷允許,輸出高電平向:中斷允許,輸出高電平向CPUCPU申請中斷。申請中斷。 PCPC2 2置位置位=1=1中斷允許中斷允許復(fù)位復(fù)位=0=0中斷禁止中斷禁止PORT BPORT B8 8位輸出位輸出PC1PC0INTRINTRA APCPC4,54,5I/OI/OPC2OBF OBF INTEINTEACK ACK :輸出緩沖器滿信號,輸出低電平有效,:輸出緩沖器滿信號,輸出低電平有效,OBF OBF :數(shù)據(jù)取走響應(yīng)信號,輸

50、入低電平有效。:數(shù)據(jù)取走響應(yīng)信號,輸入低電平有效。ACK ACK OBFOBFINTRINTRB B數(shù)據(jù)輸出數(shù)據(jù)輸出WRWRACKACK數(shù)據(jù)送入數(shù)據(jù)送入B B口,口,OBFOBF輸出通知輸出通知外設(shè)取數(shù),外設(shè)取數(shù),INTRINTR中斷準(zhǔn)備。中斷準(zhǔn)備。1 1WRWR1 1ACK ACK 2 2下降沿復(fù)位下降沿復(fù)位OBFOBF,數(shù)據(jù)取走。,數(shù)據(jù)取走。2 23 3ACK ACK 3 3上升沿上升沿INTRINTR中斷申請,進(jìn)行中斷申請,進(jìn)行下輪數(shù)據(jù)輸出。下輪數(shù)據(jù)輸出。8255A8255A工作方式工作方式 :方式方式2 2及操作:及操作: 1 1、應(yīng)答式雙向輸出輸入,輸入輸出均鎖存。、應(yīng)答式雙向輸出輸

51、入,輸入輸出均鎖存。 2 2、只有、只有A A組能工作在方式組能工作在方式2 2,此時,此時B B口可工作在方式口可工作在方式0,0,未用的未用的C C口可按位操作。口可按位操作。STB STB :輸入選通信號,低電平有效,:輸入選通信號,低電平有效,A A口數(shù)據(jù)鎖存??跀?shù)據(jù)鎖存。 IBFIBF:輸出高電平有效,通知外設(shè)數(shù)據(jù)未取走。:輸出高電平有效,通知外設(shè)數(shù)據(jù)未取走。 INTRINTRA A:中斷請求,輸出高電平向:中斷請求,輸出高電平向CPUCPU申請中斷。申請中斷。 PCPC0 0PCPC2 2按位操作,輸入或輸出。按位操作,輸入或輸出。INTEINTE:中斷允許,輸出高電平向:中斷允許

52、,輸出高電平向CPUCPU申請中斷。申請中斷。 輸入中斷允許輸入中斷允許PCPC4 4置位置位=1=1中斷允許中斷允許復(fù)位復(fù)位=0=0中斷禁止中斷禁止輸出中斷允許輸出中斷允許PCPC6 6置位置位=1=1中斷允許中斷允許復(fù)位復(fù)位=0=0中斷禁止中斷禁止:輸出緩沖器滿信號,輸出低電平有效,:輸出緩沖器滿信號,輸出低電平有效,OBF OBF :數(shù)據(jù)取走響應(yīng)信號,輸入低電平有效。:數(shù)據(jù)取走響應(yīng)信號,輸入低電平有效。ACK ACK PORT APORT A8 8位數(shù)據(jù)位數(shù)據(jù)PC4IBFIBFPC3INTRINTRA APCPC0,20,2I/OI/OPC5STB STB INTE2INTE2PC7PC

53、6OBF OBF ACK ACK INTE1INTE1+ +8255用作查詢式打印機(jī)接口電路連接和打印機(jī)各信號的時序如圖所示,用作查詢式打印機(jī)接口電路連接和打印機(jī)各信號的時序如圖所示,8255的的端口地址為端口地址為380H383H,工作于方式,工作于方式0,試編寫一段程序,將數(shù)據(jù)區(qū)中變量,試編寫一段程序,將數(shù)據(jù)區(qū)中變量DATA的的8位數(shù)據(jù)送打印機(jī)打印,并寫上注釋。位數(shù)據(jù)送打印機(jī)打印,并寫上注釋。PCPC7 7PAPA7 7PAPA0 0PCPCDATADATA7 7DATADATA0 0BUSYBUSYSTBSTBDATA7DATA7DATA0DATA0STBSTBBUSYBUSY8255工

54、作方式:工作方式: A口:方式口:方式0輸出,輸出, C口:上半口輸出,下半口輸入口:上半口輸出,下半口輸入 方式字:方式字:1000 0001B=81H1000 0001B=81H算法:算法:(1 1)查詢)查詢BUSY=1BUSY=1忙,忙,=0=0空空(2 2)A A口輸出數(shù)據(jù)口輸出數(shù)據(jù)(3 3)PCPC7 7低電平鎖存數(shù)據(jù)到打印機(jī)低電平鎖存數(shù)據(jù)到打印機(jī)8255A8255A的應(yīng)用:的應(yīng)用:MOVAL,81H;初始化初始化8255MOVDX,383HOUTDX,ALPC2:DECDXINAL,DX ;PC2=1忙,忙,=0送數(shù)據(jù)送數(shù)據(jù)TESTAL,0000 00100JNZPC2MOVAL

55、,DATA;數(shù)據(jù)送入;數(shù)據(jù)送入A口口MOVDX,380HOUTDX,ALMOVDX,383HMOVAL,0000 1110B ;PC7置置0,接收數(shù)據(jù)打印,接收數(shù)據(jù)打印 OUTDX,ALNOPMOVAL,0000 1111B ;PC7置置1OUTDX,AL8255A8255A的應(yīng)用:的應(yīng)用:1 1、8255A8255A的三個端口在使用時的三個端口在使用時有什么差別?有什么差別? 2 2 、82558255用作查詢式打印機(jī)接用作查詢式打印機(jī)接口時的電路連接和打印機(jī)各口時的電路連接和打印機(jī)各信號的時序如圖所示,信號的時序如圖所示,82558255的端口地址為的端口地址為80H80H83H83H,工

56、,工作于方式作于方式0 0,試編寫一段程,試編寫一段程序,將數(shù)據(jù)區(qū)中變量序,將數(shù)據(jù)區(qū)中變量DATADATA的的8 8位數(shù)據(jù)送打印機(jī)打印,程位數(shù)據(jù)送打印機(jī)打印,程序以序以RETRET指令結(jié)束,并寫上指令結(jié)束,并寫上注釋。注釋。3 3、若用共陰極、若用共陰極LEDLED數(shù)碼管作顯數(shù)碼管作顯示器,它的接口連接圖如圖示器,它的接口連接圖如圖所示。寫出顯示所示。寫出顯示77的段的段選碼。選碼。 44矩陣鍵盤8255A8255A的應(yīng)用:的應(yīng)用:鍵盤接口鍵盤接口:編碼和非編碼,編碼鍵盤提供按鍵的編碼信息。非編碼鍵盤由一組開關(guān)組編碼和非編碼,編碼鍵盤提供按鍵的編碼信息。非編碼鍵盤由一組開關(guān)組成,由程序識別按建

57、并分配實際意義。成,由程序識別按建并分配實際意義。如圖所示為如圖所示為8255A組成的組成的非編碼鍵盤接口電路。圖中端口非編碼鍵盤接口電路。圖中端口A工作在方式工作在方式0,輸出口,輸出口端口端口B也工作在方式也工作在方式0、輸入口。、輸入口。檢測鍵盤輸入:檢測鍵盤輸入:1)檢測有按下的鍵?)檢測有按下的鍵?a.端口端口A輸出全輸出全“0”到行線上。到行線上。b.讀端口讀端口B口,全口,全“1” ,無鍵閉,無鍵閉合;否則,有鍵按下。合;否則,有鍵按下。2)查找閉合鍵所在的行編碼。查找閉合鍵所在的行編碼。a.分別在端口分別在端口A的每根引線上送的每根引線上送出低電平信號。出低電平信號。b.讀讀B口,不為口,不為 “1”,該行有鍵,該行有鍵按下。按下。3)查閉合鍵的列編碼。查閉合鍵的列編碼。B口讀人字節(jié)中口讀人字節(jié)中“0”所在的位。所在的位。即為按下鍵的列位置。即為按下鍵的列位置。PAPA3 3PAPA0 0PAPA1 1PAPA2 2PAPA4 4PAPA5 5PAPA6 6PAPA7 7PBPB3 3PBPB1 1PBPB2 2PBPB4 4PBPB5 5PBPB6 6PBPB7 7PBPB0 07 7列列6 6列列5 5列列4 4列列3 3列列2 2列列1 1列列0 0列列7 7行行6 6行行5 5行行4 4行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論