版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第八章可編程接口芯片及其與CPU的接口8.1可編程并行輸入/輸出接口芯片8255A8.2可編程計數(shù)器/定時器82548.3可編程串行輸入/輸出接口芯片8251A8.1可編程并行輸入/輸出接口芯片8255A8.1.18255A的內(nèi)部結(jié)構(gòu)
8.1.28255A的引腳分配
一、與外設(shè)聯(lián)系的引腳
A口有PA0~PA78個引腳,同樣B口和C口均有PB0~PB7,PC0~PC78個引腳。
二、與CPU聯(lián)系的引腳數(shù)據(jù)和命令通道線D0~D7,讀/寫控制引腳RD、WR、CS、A0,A1,RESET。三、端口地址控制引腳
CSA1A0端口
000A口地址
001B口地址
010C口地址
011控制端口地址8.1.38255A的工作方式及編程
一、8255A的工作方式
1、方式0(基本輸入/輸出方式)
2、方式1(選通輸入/輸出方式)
3、方式2(雙向傳送方式)各端口可工作的方式:
A口:方式0、方式1、方式2B口:方式0、方式1C口:方式0二、8255A的控制字
1、方式控制字
D7D6D5D4D3D2D1D0B組C口低半字節(jié):1-輸入,0-輸出B口:1-輸入,0-輸出
方式選擇:0-方式0,1-方式1A組C口高半字節(jié):1-輸入,0-輸出A口:1-輸入,0-輸出
方式選擇:
方式控制字標(biāo)志:1-有效00-方式001-方式11X-方式22、C口置“1”/清“0”控制字
D7D6D5D4D3D2D1D0位控:1-置1,0-清0狀態(tài)選中位000001010011100101110111PC0PC1PC2PC3PC4PC5PC6PC7位控字標(biāo)志:0-有效無效8.1.48255A各工作方式的功能及應(yīng)用一、8255A工作在方式0特點:
8255A工作在方式0時,各個端口(包括2個8位端口A、B及2個4位端口C)的輸入、輸出可以有16種不同的組合。在這種方式下,任一個端口都由CPU用簡單的輸入/輸出指令進行讀/寫。不用提供“聯(lián)絡(luò)”信號,適用于各種同步傳送情況。另外,方式0也可用于程序查詢方式來進行數(shù)據(jù)傳送。此時,通常以A口和B口作為數(shù)據(jù)口,而用C口的某些位作為輸入輸出“聯(lián)絡(luò)”信號。注意,輸入“聯(lián)絡(luò)”信號和輸出“聯(lián)絡(luò)”信號不在同一4位C口中。方式0應(yīng)用舉例1(同步情況):例18255A的A口和B口工作在方式0,A口為輸入端口,接有4個開關(guān);B口為輸出端口,接有1個7段發(fā)光二極管,其硬件連接電路如圖所示。試編一程序要求7段發(fā)光二極管顯示開關(guān)所撥通的數(shù)字。分析:
1、端口地址
A口:8020HC口:8024HB口:8022H控制口:8026H2、字符代碼對照表顯示字符7段代碼顯示字符7段代碼
03FH87FH106H96FH25BHA77H34FHb7CH466Hc39H56DHd5EH67DHE79H707HF31H程序:APORTEQU8020HBPORTEQU8022HCONTREQU8026HDATASEGMENTTAB1DB3FH,06H,5BH,4FH,
……DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX
MOVAL,90H;定義8255A工作方式
MOVDX,CONTROUTDX,ALADDR1:MOVDX,APORT;取開關(guān)值
INAL,DX
ANDAL,0FH;屏蔽高4位
MOVBX,OFFSETTAB1;取代碼表首址
XLAT;找到字符代碼
MOVDX,BPORT;輸出顯示
OUTDX,AL
MOVCX,0400H;顯示延時
ADDR2:DECCX
JNZADDR2
JMPADDR1
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
方式0應(yīng)用舉例2(異步查詢情況):例2如圖所示,假設(shè)8255A端口A,B,C及控制口的地址分別為80H,81H,82H和83H;打印機的選通信號為STB,紙帶讀入機的驅(qū)動信號為DRV,編寫接口程序。程序片段:
MOVAL,83H;8255A初始化
OUT83H,AL;打印機驅(qū)動程序PST:INAL,82HTESTAL,04HJNZPSTMOVAL,BL;若打印數(shù)據(jù)在BL中
OUT80H,AL
MOVAL,0DHOUT83H,AL;選通打印機
DECALOUT83H,AL
;斷開打印機;紙帶讀入機驅(qū)動程序
MOVAL,09HOUT83H,AL
;啟動紙帶讀入機PRT:INAL,82HTESTAL,01HJZPRT;未準(zhǔn)備好,循環(huán)
INAL,81H;準(zhǔn)備好,讀入數(shù)據(jù)
MOVBL,AL
MOVAL,08HOUT83H,AL;斷開紙帶讀入機方式0應(yīng)用舉例3(異步查詢情況):例3利用8255A實現(xiàn)打印機接口,打印BL中的數(shù)據(jù)。打印機工作時序如左圖所示。數(shù)據(jù)接口將數(shù)據(jù)傳送到打印機的數(shù)據(jù)端口,利用一個負脈沖STROBE打入鎖存。這時打印機可發(fā)回答信號ACK,然后由打印機處理。同時打印機送出高電平信號BUSY,表示打印機忙于打印。一旦BUSY變?yōu)榈碗娖?,表示打印結(jié)束,即可接收下一數(shù)據(jù)。請利用8255A工作方式0實現(xiàn)上述打印控制。硬件連接如右圖.根據(jù)連線分析得知4個端口地址依次為:80H,84H,88H,8CH程序如下:MOVAL,10000001BOUT8CH,AL;8255A初始化WAIT:INAL,88H;讀BUSYTESTAL,01HJNZWAIT;BUSY=1等待
MOVAL,BLOUT80H,AL;數(shù)據(jù)輸出
MOVAL,00001110BOUT8CH,AL;PC7置低電平
MOVAL,00001111BOUT8CH,AL;PC7恢復(fù)高電平二、8255A工作在方式1特點:
8255A工作在方式1時,數(shù)據(jù)輸入/輸出操作要在選通信號控制下完成。A口和B口可作為輸入或輸出口,而C口的某些位作為“聯(lián)絡(luò)”信息。和方式0相比,最重要的差別在于C口的這些位與聯(lián)絡(luò)信號有著固定的一一對應(yīng)關(guān)系。A口的聯(lián)絡(luò)信息由C口的PC3~PC7提供,B口的聯(lián)絡(luò)信息由C口的PC0~PC2提供。另外,8255A在方式1下具有中斷能力,可以發(fā)出中斷請求信號,為CPU工作在中斷方式提供了條件。由于輸入接口和輸出接口所需的選通控制不同,下面分別予以介紹。1、選通輸入方式(1)選通輸入方式C口“聯(lián)絡(luò)”信號定義圖2、選通輸出方式(1)選通輸出方式C口“聯(lián)絡(luò)”信號定義圖方式1應(yīng)用舉例1(異步查詢情況):例1在某一系統(tǒng)中接有一個μ80微型打印機,8255A作為輸出接口,工作在選通方式,試編一程序?qū)⒕彌_區(qū)BUFF內(nèi)的400H個字節(jié)的ASCII碼送打印機打印,其接口硬件電路如圖所示。8255A作為打印機接口電路源程序如下:APORTEQU0FFF8HCPORTEQU0FFFCHCONTREQU0FFFEHDATASEGMENTBUFFDB400HDUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,400H;字節(jié)長度
MOVAL,0A8H;8255A控制字
MOVDX,CONTROUTDX,ALMOVDI,OFFSETBUFFABC1:MOVAL,[DI];ASCII碼輸出
MOVDX,APORTOUTDX,ALMOVDX,CPORTABC2:INAL,DX;查OBFA信號
ANDAL,80H;OBFA變高了嗎?JZABC2;否;再查ABC3:INAL,DX;查BUSY信號
ANDAL,10H;BUSY變低嗎?JNZABC3;否,再查
INCDI;是,傳送下一個數(shù)
LOOPABC1MOVAH,4CH;返回操作系統(tǒng)
INT21HCODEENDSENDSTART方式1應(yīng)用舉例2(中斷情況):例2利用8255工作方式1實現(xiàn)打印控制。8255A工作在方式1時,PC7作為OBFA輸出端,PC6作為ACKA輸入端,PC3作為INTRA輸出端,其硬件連接如圖所示。設(shè)中斷類型碼為0BH,中斷服務(wù)程序首地址為PRINTER。程序片段設(shè)計如下:
MOVAL,10100000BOUT8CH,AL;初始化
MOVAL,00001101BOUT8CH,AL
;INTEA置1MOVAH,25H;設(shè)置DOS調(diào)用功能號
MOVAL,0BH;設(shè)置類型碼
LEADX,PRINTER;設(shè)置中斷服務(wù)程序偏移地址
MOVBX,SEGPRINTER;設(shè)置中斷服務(wù)程序段地址
MOVDS,BXINT21H;DOS功能調(diào)用,設(shè)置中斷向量
STI;開中斷
……PRINTERPROCFAR;中斷服務(wù)程序
MOVAL,BLOUT80H,AL;輸出打印
IRETPRINTERENDP(參考書)例8.6接口圖如圖9.4所示,設(shè):8259A邊沿觸發(fā),八個中斷類型碼為60~67H。寫出對以內(nèi)存DSR開始連續(xù)10個字節(jié)數(shù)進行打印的匯編程序片段。注:未用的地址線可設(shè)為0。解根據(jù)接口圖,8255A的A、B、C、控制口地址分別為8000H、8002H、8004H、8006H,B口工作在方式1。8259A的地址為8028H和802AH。
;初始化8259AMOVDX,8028HMOVAL,13HOUTDX,AL;ICW1MOCDX,802AHMOVAL,60HOUTDX,AL;ICW2MOVAL,01HOUTDX,AL;ICW4;建立中斷向量表
PUSHDSMOVAX,0MOVDS,AXMOVSI,OFFSETXYMOVDI,SEGXYMOV[018CH],SIMOV[018EH],DIPOPDS;初始化8255AMOVDX,8006HMOVAL,84HOUTDX,ALMOVAL,05HOUTDX,AL;INTE置1
;循環(huán)10次
MOVCX,10LEABX,DSRW:HLTLOOPW……
;中斷服務(wù)程序
XY:MOVAL,[BX]MOVDX,8002HOUTDX,ALINCBXIRET【評注】由于中斷源從8259A的IR3接入,故該中斷源的中斷類型碼為63H,由此計算出中斷向量地址為63H×4=018CH。三、8255A工作在方式2特點:
8255A只有A口可工作在方式2,此時B口可工作在方式0或者方式1。
8255A工作在方式2,CPU通過它與外設(shè)交換數(shù)據(jù)可采用無條件傳送方式,查詢傳送方式或中斷傳送方式。A口設(shè)置為方式2,也就是說從A口既可以輸入數(shù)據(jù),也可以輸出數(shù)據(jù),但某時某刻只能是輸入或輸出。實際上是A口方式1輸入和輸出的組合形式。方式2下C口“聯(lián)絡(luò)”信號定義圖8.2可編程計數(shù)器/定時器82548.2.18254的內(nèi)部結(jié)構(gòu)及功能一、內(nèi)部結(jié)構(gòu)及引腳
端口地址分配:
CSA1A0端口地址
0000#計數(shù)器地址
0011#計數(shù)器地址
0102#計數(shù)器地址
011控制字寄存器地址計數(shù)器的內(nèi)部結(jié)構(gòu)二、功能計數(shù)器方式定時器方式
8.2.28254的編程
設(shè)置控制字(寫入控制寄存器地址)
初始化賦計數(shù)初值(寫入相應(yīng)計數(shù)器地址)包括
讀計數(shù)器內(nèi)容(從相應(yīng)計數(shù)器地址讀出)一、控制字格式
1BCD計數(shù)D7D6D5D4D3D2D1D0SC1SC0RL1RL0M2M1M0BCD0二進制計數(shù)工作方式選擇000
方式0001方式110方式211方式3100方式4101方式5計數(shù)長度選擇00將計數(shù)器中的數(shù)據(jù)鎖存于輸出鎖存器01選擇計數(shù)器低8位讀或?qū)?,?位自動為010選擇計數(shù)器高8位讀或?qū)懀?位自動為011選擇先低后高兩個字節(jié)讀或?qū)懹嫈?shù)器選擇00計數(shù)器001計數(shù)器110計數(shù)器211非法二、對計數(shù)器賦計數(shù)初值控制字寫完后,接著賦計數(shù)初值。計數(shù)初值寫入計數(shù)器的格式必須按照控制字的RL1、RL0的讀寫指示來寫。另外,當(dāng)D0=0時,即選擇二進制計數(shù),計數(shù)初值可在0~FFFFH之間選擇。當(dāng)D0=1時,即選擇BCD碼計數(shù),計數(shù)初值可在0~9999之間選擇。若想擴大計數(shù)范圍,可以將兩個或三個計數(shù)器級連使用。即將一計數(shù)器的OUT信號與另一計數(shù)器的CLK信號相連接。三、讀計數(shù)器的內(nèi)容
8254的讀操作只能讀計數(shù)器的值,而不能讀控制字。若讀16位計數(shù)值,則對該計數(shù)器讀兩次,先讀低8位,再讀高8位。如果在計數(shù)過程中讀計數(shù)器內(nèi)容,則需發(fā)鎖存命令。計數(shù)器的鎖存命令是用一個字節(jié)的最高兩位D7,D6指定要鎖存的計數(shù)器;D5,D4必須為00作為鎖存命令的標(biāo)志。而低4位可為全0。它是控制字的一種特殊形式,所以要把此鎖存命令寫到控制字寄存器中去??梢?,3個計數(shù)器的鎖存命令分別為00H,40H和80H。
四、舉例例1
若要使計數(shù)器1工作在方式0,僅用8位二進制計數(shù),計數(shù)值為128,試對其進行初始化編程。
MOVAL,50HOUT73H,ALMOVAL,80HOUT71H,AL
例2
若要使計數(shù)器0工作在方式1,按BCD碼計數(shù),計數(shù)值為3000,試對其進行初始化編程。
MOVAL,23HOUT73H,ALMOVAL,30HOUT70H,AL
例3若要使計數(shù)器2工作在方式2,按二進制計數(shù),計數(shù)值為1110H,試對其進行初始化編程。
MOVAL,0B4HOUT73H,ALMOVAL,10HOUT72H,ALMOVAL,11HOUT72H,AL
例48254工作方式同上題。要在計數(shù)過程中讀取該計數(shù)器的計數(shù)值。試對其進行初始化編程。
MOVAL,0B4HOUT73H,ALMOVAL,10HOUT72H,ALMOVAL,11HOUT72H,ALMOVBH,20HW:DECBHJNZW
MOVAL,80HOUT73H,AL
INAL,72HMOVCL,AL
INAL,72HMOVAH,ALMOVAL,CL
8.2.38254的工作方式一、方式0主要特點:*方式0的OUT輸出是一次性負方波。*若想再次OUT輸出,必須重寫控制字、計數(shù)值或只寫計數(shù)值。二、方式1主要特點:*方式1的OUT輸出是一次性負方波。*若想再次OUT輸出,只須重新啟動GATE脈沖。三、方式2主要特點:*方式2的OUT輸出是周期性的負脈沖。
例5已知計數(shù)脈沖CLK頻率為2MHZ,要求每10ms產(chǎn)生一次中斷,選用2#計數(shù)器。8253地址70H~73H。分析:1、工作方式的選擇
2、計數(shù)初值的確定
MOVAL,0B4HOUT73H,ALMOVAL,20HOUT72H,ALMOVAL,4EHOUT72H,AL四、方式3主要特點:*方式3的OUT輸出是周期性的方波。(若計數(shù)值n是偶數(shù),則輸出OUT是對稱方波;若計數(shù)值n是奇數(shù),則輸出OUT在(n+1)/2計數(shù)期間保持為高電平,而在(n-1)/2計數(shù)期間保持為低電平。)五、方式4主要特點:*方式4的OUT輸出是一次性負脈沖。*若想再次OUT輸出,須再次寫入計數(shù)值。故又稱軟件觸發(fā)選通方式。六、方式5主要特點:*方式5的OUT輸出是一次性負脈沖。*若想再次OUT輸出,只須再次啟動GATE脈沖。故又稱硬件觸發(fā)選通方式。OUT輸出特性及GATE的區(qū)別OUTGATE方式0一次性負方波電平控制方式1一次性負方波脈沖觸發(fā)方式2周期性負脈沖電平控制方式3周期性正方波電平控制方式4一次性負脈沖電平控制方式5一次性負脈沖脈沖觸發(fā)軟件觸發(fā)硬件觸發(fā)例6某8086系統(tǒng)中有一片8254芯片,利用其通道1完成對外部事件計數(shù),計滿250次向CPU發(fā)出中斷申請;利用2通道輸出頻率為1kHz的方波,試編寫8254的初始化程序,硬件電路如圖所示。
MOVAL,71H;通道1控制字
OUT1EH,AL
MOVAL,0A7H;通道2控制字
OUT1EH,AL
MOVAL,50H;通道1計數(shù)值低8位
OUT1AH,AL
MOVAL,02H;通道1計數(shù)值高8位
OUT1AH,AL
MOVAL,20H;通道2計數(shù)值高8位
OUT1CH,AL例78254通道2接有一發(fā)光二極管,要使發(fā)光二極管以點亮2s,熄滅2s的間隔工作,8254各通道端口地址分別為FFE9H~FFEFH。其電路硬件圖如圖。試編程完成以上工作。MOVDX,0FFEFH;控制字端口地址
MOVAL,65H;通道1控制字
OUTDX,AL
MOVAL,0A7H;通道2控制字
OUTDX,AL
MOVDX,0FFEBH;通道1端口地址
MOVAL,40H;通道1計數(shù)值高8位
OUTDX,AL
MOVDX,0FFEDH;通道2端口地址
MOVAL,10H;通道2計數(shù)值高8位
OUTDX,AL例8有如下接口原理圖。要求發(fā)光二極管L0亮5秒后就熄滅;L1在K1啟動后亮6秒后就熄滅;L2亮4秒滅4秒交替進行。寫出源程序片段。分析:由譯碼電路分析可知,8254芯片計數(shù)器1、計數(shù)器2、計數(shù)器3及控制端口的地址分別為91H,93H,95H,97H。根據(jù)接口圖及題目要求,8254的計數(shù)器0應(yīng)該工作在方式0,計數(shù)初值N0=5000;計數(shù)器1應(yīng)工作在方式1,N1=6000;計數(shù)器2應(yīng)工作在方式3,N2=8000。
MOVAL,21H;初始化計數(shù)器0OUT97H,ALMOVAL,50HOUT91H,AL
MOVAL,63H;初始化計數(shù)器1OUT97H,ALMOVAL,60HOUT93H,AL
MOVAL,0A7H;初始化計數(shù)器2OUT97H,ALMOVAL,80HOUT95H,AL
8.3可編程串行輸入/輸出接口芯片8251A8.3.1串行通訊概述一、串行通訊方式
異步通訊同步通訊1、異步通訊數(shù)據(jù)格式規(guī)定:
(1)字符格式
.起始位、停止位的位數(shù)
.數(shù)據(jù)采用的編碼
.是否奇偶校驗,若要,規(guī)定奇校驗還是偶校驗(2)波特率
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中華女子學(xué)院《傳統(tǒng)及現(xiàn)代手工藝制作》2023-2024學(xué)年第一學(xué)期期末試卷
- 鄭州信息工程職業(yè)學(xué)院《工業(yè)控制網(wǎng)絡(luò)》2023-2024學(xué)年第一學(xué)期期末試卷
- 長沙航空職業(yè)技術(shù)學(xué)院《數(shù)字電路設(shè)計及實踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 云南國防工業(yè)職業(yè)技術(shù)學(xué)院《品牌形象專項設(shè)計一》2023-2024學(xué)年第一學(xué)期期末試卷
- 新型材料在電池儲能中的應(yīng)用
- 共建文化 發(fā)展未來模板
- 市場營銷領(lǐng)導(dǎo)力實踐述職
- 業(yè)務(wù)操作-房地產(chǎn)經(jīng)紀(jì)人《業(yè)務(wù)操作》模擬試卷4
- 房地產(chǎn)交易制度政策-《房地產(chǎn)基本制度與政策》預(yù)測試卷4
- 農(nóng)學(xué)成果答辯報告模板
- 物業(yè)項目服務(wù)進度保證措施
- (隱蔽)工程現(xiàn)場收方計量記錄表
- DB22T 5005-2018 注塑夾芯復(fù)合保溫砌塊自保溫墻體工程技術(shù)標(biāo)準(zhǔn)
- 醫(yī)院手術(shù)室醫(yī)院感染管理質(zhì)量督查評分表
- 稱量與天平培訓(xùn)試題及答案
- 超全的超濾與納濾概述、基本理論和應(yīng)用
- 2020年醫(yī)師定期考核試題與答案(公衛(wèi)專業(yè))
- 2022年中國育齡女性生殖健康研究報告
- 各種靜脈置管固定方法
- 消防報審驗收程序及表格
- 教育金規(guī)劃ppt課件
評論
0/150
提交評論