




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
可編程接口:指接口芯片的硬件單元不是固定接死的,可以通過計算機指令來選擇不同的通道和不同的電路功能。可編程接口芯片概述可編程接口芯片:如果接口芯片的電路組態(電路工作狀態)可由計算機指令來控制,則稱其為可編程接口芯片。輸入/輸出鎖存器與緩沖器。命令寄存器和狀態寄存器。地址譯碼電路。讀/寫控制邏輯。中斷控制邏輯。片選信號CS(ChipSelect)/CE(ChipEnable)不選中則為隔離狀態讀寫操作讀操作:輸入口,IN指令,RD,M/IO寫操作:輸出口,OUT指令,WR,M/IO“握手”過程STB:Strobe,選通RDY:Ready,準備好握手信號握手過程握手過程并行接口8255A并行接口是指CPU與外設之間的信息傳輸是多位同時進行的。鎖存器、緩沖器、收發器都是一種并行接口,但它們都不是可編程的。8255是Intel公司為80X86系列CPU生產的8位通用可編程并行輸入/輸出接口芯片,可作為任何一個與TTL兼容的并行數字設備與微機間的接口。40腳DIP,單一+5V電源,TTL電平。
8255A的結構和功能三個端口:8位,A口(端口A)、B口(端口B)、C口(端口C)二組:A組(A口+C口高位)、B組(B口+C口低位)A組B組端口A端口B端口C組成端口讀/寫控制數據緩沖A/B組控制工作方式A口B口C口0基本輸入/輸出端口,輸入不鎖存,輸出鎖存同A口同A口1應答式輸入/輸出端口,輸入/輸出均可鎖存同A口上C口作為應答式A口的應答線;下C口作為應答式B口的應答線2應答式雙向輸入/輸出端口,均可鎖存不用用作A口的應答控制線輸入/輸出端口PA7~PA0:A口的8條線,輸入/輸出均帶鎖存。8條線工作于輸入、輸出還是雙向(輸入/輸出)方式由軟件編程來決定。PB7~PB0:B口的8條線,輸入/輸出均帶鎖存。8條線是輸入還是輸出由軟件編程來決定。PC7~PC0:C口的8條線,輸出有鎖存,輸入無鎖存。8條線可用作數據的輸入或輸出線,也可用作控制信號的輸出線或狀態信號的輸入線。A口、B口通常作為獨立的I/O端口使用,C口也可以作為一般的I/O端口使用。當A口、B口作為應答式的I/O口使用時,C口分別用來為A口、B口提供應答控制線。此時C口分為A組C口(或稱上C口)、B組C口(或稱下C口),規定分別用來作為A口和B口的應答控制線使用。讀/寫控制邏輯
用于管理數據、控制字或狀態字的傳送。接收來自CPU的地址信息及一些控制信號,然后向A組、B組控制電路發送命令,控制端口的傳送方向。CS:片選信號,低電平有效RD:讀信號,低電平有效WR:寫信號,低電平有效RESET:復位信號,高電平有效。清除所有控制寄存器內容,并將各端口都置成輸入方式A1、A0:8255A片內端口尋址線。A1A0端口及操作功能00010端口A數據總線輸入操作(讀)01010端口B數據總線10010端口C數據總線00100數據總線端口A輸出操作(寫)01100數據總線端口B10100數據總線端口C11100數據總線控制寄存器××××1未選中8255A,數據總線三態斷開功能11010非法狀態××110數據總線三態A口B口C口控制口
A組/B組控制電路接受來自CPU的讀/寫控制信號和CPU送入的控制字,然后分別決定各端口的功能。A組控制電路控制A口和C口的高4位(PC7~PC4);B組控制電路控制B口和C口的低4位(PC3~PC0)。還可以對C口的某位實現“置0”或“置1”的操作。數據總線緩沖器雙向三態的8位緩沖器,可與數據總線(D0~D7)直接相連。
8255A的工作方式工作方式方式0方式1方式2基本輸入/輸出選通(應答)輸入/輸出雙向(應答)輸入輸出由控制字決定
工作方式控制字(D7=1)C口置位/復位控制字(D7=0)
8255A的控制字工作方式控制字兩種控制字A口:方式0、方式1、方式2B口:方式0、方式1C口:方式0【例】設某8255A的控制寄存器口地址為B6H,各端口工作方式如下:A口方式0、輸入端口;B口方式0、輸出端口;C口高4位為輸出口,低4位為輸入口。試編寫該8255A接口的初始化程序。對可編程接口芯片送入控制字,從而設定接口功能的程序稱為“接口(功能)初始化程序”01001010解:工作方式控制字為10010001B=91H,初始化程序:
MOV AL,91H ;CPU控制字91H經AL輸出
OUT 0B6H,AL ;送到8255A控制寄存器中置位/復位控制字【例】設某8255A的控制寄存器口地址為303H,編寫程序,將C口的PC7位置0,PC6位置1。解:已知8255A控制寄存器的口地址為303H,則A口、B口、C口的口地址分別為300H、301H、302H。
MOV DX,303H
MOV AL,00001110B ;置PC7=0的控制字
OUT DX,AL ;控制字送8255A控制寄存器中
MOV AL,00001101B
;置PC6=1的控制字
OUT DX,AL ;控制字送8255A控制寄存器中工作方式0(基本輸入/輸出)A口(8位)、B口(8位)、上C口(4位)、下C口(4位)可分別獨立定義為輸入或輸出,共16種組合輸出可鎖存,輸入有緩沖無鎖存C口還有按位置位/復位的能力不能采用中斷方式,但可采用查詢方式(C口線可作聯絡信號)輸入輸出C口有按位置位/復位的能力不能采用中斷方式,但可采用查詢方式(C口線可作RDY、STB等聯絡信號)傳送數據工作方式1(選通輸入/輸出)A口(8位)、B口(8位)適用,C口不能工作于方式1A口/B口可分別定義為輸入或輸出支持查詢、中斷方式傳送數據C口部分位作為控制信號和狀態信號C口其余位可獨立置位/復位方式1輸出OBF(OutputBufferFull):輸出緩沖器滿,低電平有效。該信號通知外設,在規定的數據端口上已由CPU輸出了一個有效數據,外設可從此端口接收數據。ACK:外設響應,低電平有效。該信號通知接口,外設已將數據接收并使OBF=1。INTR:中斷請求,高電平有效。當外設接收到一個數據后,通過該信號告訴CPU,剛才輸出的數據已經被接收,可以再輸出下一個數據。INTE:中斷允許。A口和B口的INTR均受INTE的控制。A口的INTEA由PC6來控制,可用C口的按位操作對PC6置位或復位,以對中斷INTRA進行控制。同理,B口的INTEB用PC2的按位操作來進行控制。C口的PC4~5可獨立置位/復位中斷方式輸出工作時序:數據輸出過程從CPU響應中斷開始,進入中斷服務程序WR寫數據,IOW鎖存數據入端口寄存器;數據輸出到端口信號線上,清除INTR信號,并置OBF有效,通知外設接收數據;外設收到數據后,置ACK有效,并使OBF無效,同時使INTR有效,產生一個新的中斷請求,請求CPU向外設輸出下一個數據方式1輸入STB:輸入選通,低電平有效,由外設提供。表示外設數據鎖存于接口的輸入端口中。IBF(InputBufferFull):輸入緩沖器滿,高電平有效。表示已有一個有效的外設數據被鎖存于接口的鎖存器中。可用此信號通知外設,數據已被鎖存于接口中,尚未被CPU讀走,暫時不能向接口輸入數據。INTR:中斷請求,高電平有效。當外設將數據鎖存于接口之中,且又允許中斷請求發生時,就會產生中斷請求。INTE:中斷允許。A口的INTEA由PC4來控制,B口的INTEB用PC2的按位操作來進行控制。C口的PC6~7可獨立置位/復位中斷方式輸入工作時序:外設將數據送到8255A接口上,STB有效,數據鎖存入端口,同時IBF變有效;當STB由低變高時,若中斷允許信號INTE高電平有效,則8255A的PC3(或PC0)位INTR變高電平有效,向CPU發出中斷請求;CPU響應中斷,執行讀數據操作(IN),RD有效;RD操作實現數據進入CPU內,隨后使INTR無效,并在RD由低變高過程中,使IBF復位。方式1的A口和B口可獨立設置為輸入或輸出
A口和B口可一個工作于方式1,另一個工作于方式0
方式1輸入時,C口中多余的兩條線(PC6,PC7)歸入A組,它可以作為方式0的輸入/輸出線或作為位操作用,其工作狀態及初始化編程與A口無關。
8255A片內有一個中斷允許觸發器INTE,INTR=0禁止中斷,INTR=1允許中斷。其置“0”與置“1”是通過對PC4(A組)和PC2(B組)進行位操作來實現的。在方式1中,對PC4(或PC2)的位操作只影響INTE引腳觸發器的狀態,而不影響PC4(或PC2)引腳的電平狀態。只適用于A口,占用5條聯絡線
B口可工作于方式0、方式1C口的PC2~0可作為B口方式1的聯絡線或獨立使用控制信號定義與前述相同工作方式2(雙向輸入輸出)不同
ACK有效時,輸出端口才打開,無效時呈高阻態輸入、輸出均可鎖存輸入、輸出均可引起中斷,PC6控制INTE1的輸出中斷,PC4控制INTE2的輸入中斷方式2輸入輸出工作時序
8255A的狀態字讀C口,獲得狀態字
8255A與系統的連接單片連接端口地址?380H~383H兩片連接端口地址?0FBC0H~0FBC3H0FBC4H~0FBC7H
8255A編程和應用確定控制字的內容將控制字寫入8255A控制寄存器【例】8255A并行接口作為鍵盤接口的應用。鍵盤是輸入設備,實質是一種開關“抖動”、“消抖”編碼鍵盤(相對復雜,唯一編碼)、非編碼鍵盤(簡單,位置識別,靈活)行掃描法:由程序逐行對鍵盤進行掃描,再通過檢測列狀態來確定“閉合鍵”行列位置反轉掃描法:先對全列送“0”并讀行線上內容。若無鍵按下,讀入的內容應該為全“1”,重復上述過程。若有某一鍵按下,則對應該鍵的行線被列線強置為“0”11111011反轉掃描法300H~3FFH【問】請編寫程序將8255A掃描的按鍵顯示在屏幕上,如果按下小鍵盤上的“Y”鍵,則退出掃描程序返回到DOS狀態下。DATA SEGMENT PA EQU 300H PB EQU 301H PCTL EQU 303H TABLE DW 0101H,0102H,0104H,0108H,0110H,0120H,0140H,0180H;PB0列中各鍵鍵值 DW 0201H,0202H,0204H,0208H,0210H,0220H,0240H,0280H;PB1列中各鍵鍵值 DW 0401H,0402H,0404H,0408H,0410H,0420H,0440H,0480H;PB2列中各鍵鍵值 CHAR DB 'CDEFBA9845673210WXYSRPMG' ;字符ASCII TIPS DB 'Pressanykeyonthekeyboard,itwillbeonthescreen!',0DH,0AH DB 'QuitwithY!',0DH,0AH,'$'DATA ENDSCODE SEGMENTMAIN PROC FAR ;定義為段間過程 ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA ;裝入段基址 MOV DS,AX MOV DX,OFFSETTIPS MOV AH,09H ;9號功能調用,顯示提示信息 INT 21HKY: CALL KEY ;從緩沖區中取一字符,并顯示 CMP DL,'Y' JNZ KY MOV AH,4CH INT 21H ;若(DI)='Y',則返回DOS RETMAIN ENDP ;主程序結束KEY PROC NEAR ;段內過程(找出按下鍵的行、列值)KST: MOV AL,82H ;8255A工作方式控制字,A口輸出,B口輸入 MOV DX,PCTL OUT DX,ALWAIT1: MOV AL,00 ;A口低電平輸出,行線低電平 MOV DX,PA OUT DX,AL MOV DX,PB ;讀列線,查找有沒有閉合鍵 IN AL,DX CMP AL,0FFH ;沒有閉合鍵,等待 JZ WAIT1 PUSH AX ;列線值暫存堆棧 PUSH AX MOV CX,1000H ;去抖動延時DELAY:LOOP DELAY MOV DX,PCTL MOV AL,90H ;反轉A口為輸入口,B口為輸出口 OUT DX,AL MOV DX,PB ;列值由B口輸入 POP AX OUT DX,AL MOV DX,PA ;讀行值 IN AL,DX POP BX ;從堆棧中彈出列值至BX中 MOV AH,BL ;列值→AH NOT AX ;(AH)取反 MOV SI,OFFSETTABLE ;取參數TABLE的偏移地址→SI MOV DI,OFFSETCHAR ;取字符參數CHAR的偏移地址→DI MOV CX,24 ;24個字符長TT: CMP AX,[SI] ;鍵值與TABLE中字符相比較 JZ NN ;找到相應字符,轉NN語句
DEC CX ;長度修正 JZ KST ;沒找到,轉KST語句繼續查找 ADD SI,2 INC DI JMP TTNN: MOV DL,[DI] ;閉合鍵字符→DL MOV AH,02 ;2號功能調用,顯示字符 INT 21H PUSH DX ;DX暫存堆棧 MOV AL,82H ;A口控制字→控制寄存器,A口輸出、B口輸入 MOV DX,PCTL OUT DX,ALWAIT2: MOV AL,00 ;等待閉合鍵釋放 MOV DX,PA OUT DX,AL MOV DX,PB IN AL,DX CMP AL,0FFH JNZ WAIT2 POP DX RETKEY ENDP ;過程結束CODE ENDS ;代碼段結束 END START ;源程序結束【例】利用8255A作為打印機接口。此時8255A一般設置成工作方式0。設8255A端口地址為0380H~0383H,待打印字符的存放首地址為DS:0300H,字符數為100個。;8255A初始化程序BEGIN: MOV DX,0383H ;控制寄存器地址DX
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 經濟仲裁協議書格式
- 小區門頭購買協議書
- 企業履約監管協議書
- 土方完工結算協議書
- 租賃輪椅使用協議書
- 景觀小品轉讓協議書
- 集體農田轉讓協議書
- 舞蹈老師合伙協議書
- 消防裝備評估協議書
- 臨時簡易購房協議書
- 湖南省炎德英才名校聯考聯合體2024-2025學年高二下學期3月月考-數學+答案
- 蔬菜水果食材配送服務投標方案(技術方案)
- 《高效能NLP溝通技巧》課件
- 電力應急物資儲備與管理
- 中國公民健康素養-基本知識與技能(2024年版)試題及答案
- 【語文】第三單元整本書閱讀《駱駝祥子》圈點、批注、做筆記課件-2024-2025學年統編版語文七年級下冊
- 新目錄監理規劃2025
- 2024年天翼云認證運維工程師考試復習題庫(含答案)
- 儲能項目竣工報告
- 《偉大的友誼》(配套PPT)課件
- 松脂采割技術
評論
0/150
提交評論