




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第五章 數(shù)字量輸入輸出(4)*概念:總線、接口電路、接口芯片、端口地址 *中斷及其處理 中斷控制器8259 *定時器/計數(shù)器*并行I/O /串行I/O DMA電路與應(yīng)用1不可編程并行接口和可編程并行接口(靈活性和通用性)并行接口(PIO)并行接口連接CPU與并行外設(shè),實(shí)現(xiàn) 兩者間的并行通信,在信息傳送過程中,起到輸出鎖存或輸入緩沖的作用。 并行接口的典型硬件結(jié)構(gòu)1、一個或一個以上具有鎖存或緩沖的數(shù)據(jù)端口2、與CPU進(jìn)行數(shù)據(jù)交換所必須的控制和狀態(tài)信號3、與外設(shè)進(jìn)行數(shù)據(jù)交換所必須的控制和狀態(tài)信號4、端口譯碼電路5、控制電路2并行接口與外設(shè)連接示意圖請求握手輸入過程:輸入設(shè)備ReadyPIO應(yīng)答;向
2、CPU發(fā)INT輸出過程:PIO Ready(數(shù)據(jù)輸出緩沖器空)-CPU WR;Output Ready(數(shù)據(jù)輸出緩沖器滿)-外設(shè)接收-外設(shè)應(yīng)答,通知接口準(zhǔn)備下一次輸出數(shù)據(jù) 地址譯碼CPU控制寄存器輸入緩沖鎖存器輸出緩沖鎖存器狀態(tài)寄存器數(shù)據(jù)總線讀出信號寫入信號復(fù)位準(zhǔn)備好中斷請求A0A1輸入設(shè)備輸出設(shè)備數(shù)據(jù)輸入準(zhǔn)備好數(shù)據(jù)輸入回答數(shù)據(jù)輸入數(shù)據(jù)輸出數(shù)據(jù)輸出準(zhǔn)備好數(shù)據(jù)輸出收到回答片選輸入設(shè)備輸出設(shè)備3可編程并行接口i8255A Programmable Peripheral Interface 典型的可編程并行接口芯片i8255AIntel系列的8位并行接口芯片通用性強(qiáng),使用靈活可用程序設(shè)置和改變芯片的
3、工作方式40PDIP,+5V,24條可編程I/O引腳內(nèi)部具有三個可獨(dú)立尋址的8位數(shù)據(jù)端口:A、B、C;三個端口可分A、B組控制;一個控制端口,直接位清零/置1功能。8255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB34可編程并行接口i8255A Programmable Peripheral Interface 與CPU相連的引腳RESET、D7D0、/CS、/RD、/WR、A0、A1與外設(shè)相連的引腳PA7PA0、 PB
4、7PB0、 PC7PC08255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB35resetD7D0A15A2A1A0IORIOW片選譯碼數(shù)據(jù)緩沖器讀寫控制片內(nèi)譯碼CSRESETA1A0RDWRPC7PC0PB7PB0PA7PA0控制口端口A端口C端口B +5VGNDD7D0外設(shè)8255A總線片內(nèi)譯碼電路A1A0=數(shù)據(jù)端口A、B、C 每個端口8位,通過編程設(shè)定其為 輸入口或輸出口和外設(shè)傳送信息 00 A口;01=B口; 10
5、 C口;11 控制口8255內(nèi)部結(jié)構(gòu)與外部接線圖68255內(nèi)部譯碼與讀寫由CS、A1、A0、RD、WR引腳的不同組合,實(shí)現(xiàn)各種不同的功能。(P276表5.8)控制端口控制端口不可讀78255內(nèi)部三組端口可編程特性(1)三個數(shù)據(jù)端口A、B、C每個端口均為8位,可選輸入或輸出操作。(2)端口A和B:各有一個8位數(shù)據(jù)輸入鎖存/緩沖器和一個8位數(shù)據(jù)輸出鎖存器。(3)端口C:一個8位數(shù)據(jù)輸入緩沖器(沒有鎖存)和一個8位數(shù)據(jù)輸出鎖存/緩沖器??煞譃閮蓚€4位端口使用,或用作控制/狀態(tài)信息端口依工作方式而定。 (4)i8255A有三種基本工作方式:方式0、方式1、方式2 依工作方式而定8數(shù)據(jù)總線緩沖器讀寫控制
6、邏輯A組控制B組控制A口C口C口B口PA7PA0PC7PC4PC3PC0PB7PB0DB70RDWRCSA1A0RESETC下半口C上半口(5)C口上下結(jié)構(gòu):上(PC74)、下(PC30)(6)A組、B組控制電路內(nèi)有控制寄存器接受CPU輸出的命令字,決定各自的工作方式及對端口C的按位置位或復(fù)位操作。9工作方式控制字 1D6D5D4D3D2D1D0標(biāo)識位A組:00-方式0;01-方式1;1X-方式2 A口:0-出1-入C上半口0-出1-入B組:0-方式 0;1-方式 1B口:0-出1-入C下半口:0-出1-入向控制端口寫控制字兩種控制字 例A口輸入,B口輸出,C口上半口輸入,下半口輸出,方式0
7、控制字:10011000MOV DX,283HMOV AL,98H ;寫方式控制字OUT DX,AL地址 280H(A口);281H(B口) ;282H(C口) ;283H(控制寄存器)10C口位控控制字0D6D5D4D3D2D1D0標(biāo)識位XXX1-置位0-復(fù)位向控制端口寫控制字兩種控制字(續(xù))位選擇:000Bit0001Bit1010Bit2111Bit7直接控制C口某些位118255控制字(2)C口位控控制字例:要使端口C的PC7=1,則控制字為00001111B,即0FH;而要使PC3=0,則控制字為00000110B,即06H。設(shè)8255A控制端口地址為283H。程序:MOV AL,0
8、FH;MOV DX,0283H;C口位控制端口地址OUT DX,AL;置PC7=1MOV AL,06H;OUT DX,AL;置PC3=0128255A方式0(A、B、C) 基本輸入輸出1基本功能已知雙方時序:無需專用聯(lián)絡(luò)信號就可直接進(jìn)行輸入輸出;輸入不鎖存,輸出鎖存;查詢方式傳送:A、B作數(shù)據(jù)口(聯(lián)絡(luò)信號線可由用戶自行安排),C口各位:既可做I/O口也可做聯(lián)絡(luò)信號線2讀寫時序常規(guī) 讀IN AL,PORT :CPU發(fā)地址、CPU發(fā)/RD、讀取數(shù)據(jù)。數(shù)據(jù)是由外設(shè)送到8255緩沖器的(讀周期內(nèi)保持?jǐn)?shù)據(jù))。 寫OUT PORT,AL :CPU發(fā)地址、CPU送出數(shù)據(jù)、CPU發(fā)/WR、數(shù)據(jù)被8255鎖存器
9、鎖存。外設(shè)取走數(shù)據(jù)。 138255A工作方式0方式0基本輸入/輸出方式(16種組合)A口:入/出B口:入/出C上口:入/出C下口:入/出148255A方式1(A、B) 選通輸入輸出1基本功能(只有A、B口可工作于方式1)必須經(jīng)過專用聯(lián)絡(luò)信號的協(xié)調(diào)才能進(jìn)行A、B口作輸入或輸出口(支持查詢或中斷方式)C口分為兩部分,一部分(6位)固定用作A口、B口的選通控制信號,剩余2位仍可作數(shù)據(jù)位使用(方式0)。 應(yīng)用:兩套系統(tǒng)交換信息:傳輸方向固定例:傳統(tǒng)的微機(jī)與打印機(jī)連接(并口)對C口各位有嚴(yán)格要求:規(guī)定用C的某些線作狀態(tài)或控制用,這些線是固定的,不可由用戶隨意改變。15PA7PA0INTEAPC4PC5P
10、C3STBAIBFAINTRA8255A方式1輸入PB7PB0INTEBPC2PC1PC0STBBIBFBINTRBSTB(STROBE)選通輸入,表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù),將數(shù)據(jù)送入8255的輸入鎖存器;IBF(INPUT BUFFER FULL)輸入緩沖器滿;INTR中斷請求信號,請求CPU接收數(shù)據(jù),STB=1,IBF=1,INTE=1 則INTR=1;INTE 中斷允許(INTEA=1,INTEB=1);PC6,7 用作普通I/O例:CW:1011?11X ?=1/0確定PC6,7是I或O168255A方式1輸入(續(xù))為對中斷請求信號進(jìn)行管理,8255A專門設(shè)置了中斷屏蔽寄存器INTEA和
11、INTEB,通過對端口C某一位的置位(允許)/清零(屏蔽)進(jìn)行控制INTEA=1 中斷允許位控寫PC4=1 INTEB=1 中斷允許位控寫PC2=117方式1-選通I/O時序 (選通輸入)外部數(shù)據(jù)處理器讀8255端口INTRIBFRDSTB外設(shè)數(shù)據(jù)送到8255,用/STB把數(shù)據(jù)鎖存到8255;/STB有效后TSTB,IBF有效,通知外設(shè)不再送,也可供CPU查;/STB結(jié)束后TSIT,8255向CPU發(fā)INTR請求;若中斷允許,則CPU發(fā)/RD,從8255讀走數(shù)據(jù);/RD有效TRIT后,清中斷請求;/RD結(jié)束TRIB后,清IBF;TSTBTSITTRITTRIB外設(shè)寫數(shù)據(jù)通過A/ B口通過D0-
12、D7188255A 方式1輸出PA7PA0INTEAPC6PC7PC3ACKAOBFAINTRAPB7PB0INTEBPC2PC1PC0ACKBOBFBINTRB OBF 輸出緩沖器滿,表示CPU已經(jīng)向8255輸出了數(shù)據(jù) ACK 外設(shè)接受到數(shù)據(jù)響應(yīng)信號 INTR 中斷請求,請求CPU再次輸出數(shù)據(jù) INTEINTEA=1(位控PC6=1),INTEB=1(位控PC2=1) PC4,5 I/O 例:CW:1010?10X ?=1/0確定PC4,5是I或O19方式1-選通I/O時序(選通輸出)WROBFINTRACK輸出CPU響應(yīng)中斷,在中斷服務(wù)程序中:OUT指令發(fā)數(shù)據(jù),發(fā)出/WR,清除INTR;數(shù)
13、據(jù)滿,/OBF有效:8255通知外設(shè)可以收數(shù)據(jù);外設(shè)收完數(shù)據(jù),發(fā)/ACK給8255:使/OBF失效,表示數(shù)據(jù)已取走;使INTR再次有效,使CPU開始新的輸出。CPU寫數(shù)據(jù)到8255外設(shè)讀數(shù)據(jù)208255方式1讀C口可獲取狀態(tài)輸入時,C口的狀態(tài):D7 D6 D5 D4 D3 D2 D1 D0I/O I/O IBFA INTEA INTRA INTEB IBFB INTRB(其中D4,D2為中斷允許,事先位控寫入)輸出時,C口狀態(tài): D7 D6 D5 D4 D3 D2 D1 D0OBFA INTEA I/O I/O INTRA INTEB OBFB INTRB(其中D6,D2為中斷允許,事先位控寫
14、入)218255方式2雙向傳輸方式(僅端口A)PA7PA0雙向8位數(shù)據(jù):查詢/中斷方式,輸入和輸出均是鎖存的, 用C口的5位作為控制端口。/INTE1輸出/INTE2輸入中斷允許(共用INTRA,但中斷允許位獨(dú)立:輸出中斷允許PC6和輸入中斷允許PC4)端口C:剩余PC20仍可為B口方式1服務(wù)(聯(lián)絡(luò)線),或方式0時和B口一起成為獨(dú)立I/OC口狀態(tài):OBFA INTE1 IBFA INTE2 INTRA X X X8822i8255A編程控制向控制字端口寫方式控制字寫完控制字后,CPU可通過IN/OUT指令來與8255A傳送數(shù)據(jù)。 如:IN AL,60H ;讀端口A的數(shù)據(jù) MOV DATAA,A
15、L MOV AL,DATABOUT 61H,AL ;將數(shù)據(jù)DATAB送端口B MOV AL,DATAC OUT 62H,AL ;將數(shù)據(jù)DATAC送端口C238255A應(yīng)用舉例(一)PC/XT中:方式0-檢測系統(tǒng)配置、狀態(tài),鍵盤 P282圖5.47(8255A在系統(tǒng)板上連接)A口 60H,開機(jī)自檢時輸出部件檢測碼,自檢完成后輸入鍵盤掃描碼;B口 61H,輸出,輸出系統(tǒng)內(nèi)部控制信號,完成對鍵盤控制并檢測RAM及I/O通道,還可控制系統(tǒng)板上8253A的計數(shù)器CNT2計數(shù),控制揚(yáng)聲器發(fā)聲;C口 62H,輸入,測試狀態(tài)和系統(tǒng)配置情況; 控制端口:63H (自檢:10001001B;自檢完成:100110
16、01B,即A口由輸出改為輸入) 24258255A應(yīng)用舉例(二)D07BUSYSTB打印機(jī)數(shù)據(jù)選通觸發(fā)脈沖,打印機(jī)在其下降沿鎖存數(shù)據(jù)STBD07BUSY應(yīng)答脈沖,“低”表示數(shù)據(jù)已被打印機(jī)接收“高”表示打印機(jī)正忙雙向三態(tài)數(shù)據(jù)總線有效打印機(jī)時序25268255A應(yīng)用舉例(二)打印機(jī)連接電路PA07PC7PC0D07BUSYSTB8255A打印機(jī)片選地址 280H(A口);281H(B口) ;282H(C口) ;283H(控制寄存器)A口數(shù)據(jù)輸出,方式0;C口上半輸入,C口下半輸出D07A1A0系統(tǒng)總線 2627BUFDBHELLO!, 0DH, 0AHNUMEQU$-BUFPRINTPROCFAR
17、MOV DX,283H;設(shè)定8255A控制端口地址MOV AL,10001000B ;8255A初始化,設(shè)置方式選擇控制字OUT DX,AL ;A方式0輸出,C上輸入,C下輸出 MOV AL,00000001B ;C口位控,/STB=1MOV DX,AL ;MOV SI, OFFSET BUFMOV CX, NUMNEXT:MOV DX,282H;讀C口IN AL, DXTEST AL, 80H;判斷當(dāng)PC7=1(BUSY?)JNZ NEXT;時跳轉(zhuǎn)到NEXTMOV AL,SIINC SI27288255編程舉例MOV DX, 280HOUT DX, AL;從A口發(fā)出數(shù)據(jù)MOV DX, 283
18、HMOV AL,00000000B;C口位控,PC0(/STB)=0OUT DX, ALNOP;低電平0.5usMOV AL, 00000001B;C口位控,PC0(/STB)=1OUT DX, ALLOOP NEXTRETPRINT ENDP/STB信號測試:假設(shè)一片8255的A口地址為288H,請以C口位控方式,在C0引腳輸出一個正跳變脈沖(寫出程序片段,無需初始化方式字)。288255A應(yīng)用舉例(三)抖動問題298255A應(yīng)用舉例(三)按鍵識別:掃描法:PB=110,101,011判讀PA:PA=0FFH(無鍵按下)PA=0FEH0FDH,0FBH,.7FH(有鍵閉合)反轉(zhuǎn)法:行線全低電
19、平輸出,讀列線狀態(tài)(按下列=0);列線全低電平輸出,讀行線狀態(tài)(按下行=0)唯一一對行列(鍵-查表)行列顛倒,兩次掃描抖動問題+5V30318255A應(yīng)用舉例(四)31328255A應(yīng)用舉例(四)掌握8段數(shù)碼管的動態(tài)刷新顯示控制32338255A應(yīng)用舉例(四)七段數(shù)碼管為共陰型,段碼采用同相驅(qū)動,輸入端加高電平,選中的數(shù)碼管亮;位碼輸入端高電平選中。288H33348255A應(yīng)用舉例(四)將8255 的A 口PA0PA6 分別與七段數(shù)碼管的段碼驅(qū)動輸入端a相連,位碼驅(qū)動輸入端S1、S0 接8255 C 口的PC1、PC0。編程在兩個數(shù)碼管上顯示“65”。(注意字符變換之間應(yīng)使段位全滅,避免顯示
20、“影子”)288H34358255A應(yīng)用舉例(四)35368255A應(yīng)用舉例(四)data segmentioport equ 0d400h-0280h ;tpc 卡中設(shè)備的I/O 地址io8255C equ ioport+28ah ;8255C 口地址io8255ctrl equ ioport+28bh ;8255 控制寄存器端口地址io8255A equ ioport+288h ;8255A 口地址led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段碼buffer1 db 6, 5;存放要顯示的個位和十位bz dw ? ;位碼data endsstacks segment stackdb 100 dup (?)stacks endscode segmentassume cs:code,ss:stacksstart:mov ax,stacksmov ss,axmov ax,datamov ds,ax36378255A應(yīng)用舉例(四)mov dx,io8255ctrl
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出兌攤位合同范本
- 別墅設(shè)計合同范例
- 個人門窗施工合同范本
- 鄉(xiāng)村空房轉(zhuǎn)讓合同范本
- 第7課《敬業(yè)與樂業(yè)》教學(xué)設(shè)計 2024-2025學(xué)年統(tǒng)編版語文九年級上冊
- 加盟金額寫入合同范例
- 保本合同范本
- 切割加工項(xiàng)目合同范本
- 企業(yè)贊助活動合同范本
- 交技術(shù)合同范本
- 人力資源外包合同范本
- 成人重癥患者顱內(nèi)壓增高防控護(hù)理專家共識2024
- 110KV送出線路工程施工組織設(shè)計方案和對策
- 城市交通系統(tǒng)中的空間正義問題-深度研究
- 物品消毒知識培訓(xùn)課件
- 2024年03月江蘇2024年中國工商銀行蘇州分行社會招考筆試歷年參考題庫附帶答案詳解
- 2025年北師大新版高二物理上冊階段測試試卷
- 北師大版數(shù)學(xué)三下集體備課計劃
- 兒童家長非免疫規(guī)劃疫苗猶豫量表的編制及信效度檢驗(yàn)
- 咖啡店飲品配方保密協(xié)議
- 《餐飲服務(wù)禮貌用語》課件
評論
0/150
提交評論