可編程接口芯片.ppt_第1頁
可編程接口芯片.ppt_第2頁
可編程接口芯片.ppt_第3頁
可編程接口芯片.ppt_第4頁
可編程接口芯片.ppt_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、可編程接口芯片,第七章 可編程接口芯片,接口芯片簡介,第7.1節(jié) 接口芯片簡介 接口的功能 數(shù)據(jù)緩沖:外設(shè)數(shù)據(jù)輸入到總線時需要緩沖。 數(shù)據(jù)鎖存:總線數(shù)據(jù)輸出到外設(shè)時的鎖存,解決CPU與外設(shè)速度不匹配問題。 傳輸控制命令和狀態(tài)信息:計算機與外設(shè)有時需使用硬件握手。例如:計算機利用查詢輸出到打印機。 信息轉(zhuǎn)換:串并轉(zhuǎn)換、數(shù)模轉(zhuǎn)換、電平格式轉(zhuǎn)換 可由程序改變功能的接口芯片稱為可編程接口芯片,常用接口芯片,8086系統(tǒng)常用可編程接口芯片 并行接口芯片 INTEL8255,有三個8位端口A、B、C INTEL8155,有三個端口,內(nèi)帶256字節(jié)RAM,兩個定時器 串行接口芯片 INTEL8251,同步異

2、步串行接口 INTEL8250,異步串行接口芯片 計數(shù)定時器 INTEL8253/8254,三個通道16位定時計數(shù)器 直接內(nèi)存訪問控制器(DMA) INTEL8237,8255內(nèi)部接構(gòu),第7.2節(jié) 可編程并行接口8255A 8255A內(nèi)部結(jié)構(gòu)與功能 (一)8255A內(nèi)部結(jié)構(gòu),8255內(nèi)部接構(gòu),內(nèi)部結(jié)構(gòu)說明 端口 端口A:由一個8位數(shù)據(jù)輸入鎖存器和一個8位數(shù)據(jù)輸出鎖存緩沖器組成,可工作于雙向方式。 端口B:由一個8位數(shù)據(jù)輸入緩沖器和1個8位數(shù)據(jù)輸出鎖存緩沖器構(gòu)成。 端口C:由一個8位數(shù)據(jù)輸入緩沖器和一個8位數(shù)據(jù)輸出鎖存緩沖器構(gòu)成。C口可分為兩個部分,配合A口和B口工作。 A組控制和B組控制 接收

3、CPU控制字,決定8255工作方式。,8255內(nèi)部接構(gòu),讀寫控制邏輯 由RD、WR、CS、A0、A1和RESET組成,8255占用4個端口地址。 數(shù)據(jù)總線緩沖器 8位雙向數(shù)據(jù)緩沖器,可直接與數(shù)據(jù)總線相連。,8255引腳功能,引腳功能說明 8255A為40引腳雙列直插的NMOS器件,其引腳如下: PA7PA0:端口A的數(shù)據(jù)線,雙向,三態(tài)輸出。 PB7PB0:端口B的數(shù)據(jù)線,可輸入,也可輸出。 PC7PC0:端口C的數(shù)據(jù)線,可輸入,也可輸出,還可做A口或B口的控制信號線。 D7D0:數(shù)據(jù)線,與系統(tǒng)總線連接。 RD:讀信號,輸入,低電平有效,從8255A讀取數(shù)據(jù) WR:寫信號,輸入,低電平有效,把數(shù)

4、據(jù)寫入8255。 CS:片選信號,輸入,低電平有效,決定芯片地址。 A0 A1:端口選擇信號,8255占四個端口地址。 RESET:復(fù)位信號,輸入,高電平有效。復(fù)位后清所有內(nèi)部寄存器,8255端口選擇,8255端口選擇 A1 A0 00 對A口操作 01 對B口操作 10 對C口操作 11 對控制口操作,8255的計算機連接,8255與計算機的連接,8255與計算機的連接,連接說明 8255的數(shù)據(jù)線D7D0接8086系統(tǒng)的數(shù)據(jù)線低8位。 8255的A0接8086的A1,8255的A1接8086的A2,使用偶地址傳遞信息。 端口地址,8255控制字,8255A的控制字與工作方式 (一) 8255

5、A的控制字 方式控制字 方式控制字送到控制口,以選擇A口,B口和C口的工作方式。,8255控制字,說明 8255A有三種工作方式,每種方式都可以輸入也可以輸出。 方式0:無條件(基本)輸入輸出。 方式1:查詢(選通)輸入輸出。 方式2:雙向方式。 A口有三種工作方式,B口僅有方式0和方式1工作方式。 在方式1和方式2中C口作為聯(lián)絡(luò)信號。,8255控制字,端口C按位控制字 說明 按位控制字寫入8255的控制口; 該控制字僅對8255的端口C的輸出鎖存器操作。,8255工作方式,(二)8255A的工作方式 方式0 基本輸入輸出方式 輸入 端口A、B和PC7PC4及PC3PC0都可工作于此方式 在此

6、方式下,口線直接與端口輸入緩沖器相連,輸入不具有鎖存功能 CPU用IN指令讀取數(shù)據(jù)口以得到當(dāng)前口線狀態(tài),8255工作方式,輸出 端口A、B、PC7PC4和PC3PC0均可編程工作于此方式。 在此方式下,輸出口線通過端口輸出緩沖器連接到端口輸出鎖存器,而且輸出緩沖器被打開。 CPU用OUT指令寫數(shù)據(jù)到數(shù)據(jù)口,以把數(shù)據(jù)輸出到端口輸出鎖存器,并到達口線。,8255工作方式,方式1 選通輸入輸出方式 選通輸入方式,8255工作方式,信號說明 STB 選通輸入:低電平有效,表示外設(shè)送出新數(shù)據(jù)。 IBF 輸入緩沖區(qū)滿:輸出,高電平有效。通知外設(shè)輸入緩沖區(qū)滿,不要送新數(shù)據(jù),由CPU讀取數(shù)據(jù)清除。 INTR

7、中斷請求信號:輸出,高電平有效,可向CPU申請中斷。 INTEx 中斷允許:INTEA是C口輸出鎖存器的PC4,INTEB是C口輸出鎖存器的PC2,由它們分別控制A口和B口的中斷申請。 INTEx=1 中斷允許 INTEx=0 中斷禁止,8255工作方式,選通輸出方式,8255工作方式,信號說明 OBF 輸出緩沖器滿,輸出,低電平有效,通知外設(shè)端口已有可用數(shù)據(jù)。 ACK 收到信號,輸入,低電平有效。外設(shè)通知8255已取走數(shù)據(jù),由其清除OBF,并置“1”INTR。 INTR 中斷請求信號,輸出,高電平有效,可向CPU申請中斷。 INTEx 中斷允許信號 INTEA為PC6輸出鎖存器,INTEB為

8、PC2輸出鎖存器 INTEx=1 中斷允許, INTEx=0 禁止中斷。,8255工作方式,方式2 雙向方式 僅A口有此方式,8255工作方式,ACKA 輸入,低電平有效。外設(shè)發(fā)出ACKA打開A口輸出緩沖器,讀取數(shù)據(jù),同時清除OBFA,并使INTR有效。 STBA 選通信號,輸入,低電平有效,外設(shè)準(zhǔn)備好數(shù)據(jù),通過STBA把數(shù)據(jù)鎖存到端口輸入鎖存器,同時使IBFA和INTRA有效。 IBFA 輸入緩沖區(qū)滿,輸出,高電平有效。通知外設(shè)端口已有數(shù)據(jù)。該信號由CPU對數(shù)據(jù)端口讀操作清除。 INTEx 中斷允許信號 INTE1為PC6輸出鎖存器,INTE2為PC4輸出鎖存器 INTEx = 1 中斷允許

9、 INTEx = 0 禁止中斷,例1:8255A作為連接打印機接口,工作在方式0,輸出。 工作過程:需要打印時,查詢打印機是否忙?不忙時通過8255A發(fā)送一個字符給打印機。為使打印機接收數(shù)據(jù),要生成一個選通脈沖(初始值是1,置0,再置1 )。,8086,D7-D0,8255A,打印機,PC2,PC6,STB,BUSY,1 0 0 A口 C口高4位 0 B口 C口低4位,D7,D6,D5,D4,D0,D3,D1,D2,特征位,A口:方式0、輸出數(shù)據(jù) C口上:方式0、PC6輸入狀 態(tài)信號 C口下:方式0、PC2輸入狀 態(tài)信號,設(shè)端口地址是:0D0H-0D3H,要打印的字符放在BL中。 Setup:

10、 MOV AL,88H :設(shè)置工作方式 OUT 0D3H,AL MOV AL,5 :置PC2為1 OUT 0D3H,AL Ready: IN AL, 0D2H TEST AL, 40H :測試PC6狀態(tài) JNZ Ready MOV AL, BL :打印的字符送AL中 OUT 0D0H, AL MOV AL, 4 :置PC2為0 OUT 0D3H, AL MOV AL, 5 :置PC2為1 OUT 0D3H, AL,8255應(yīng)用舉例,8255A應(yīng)用舉例 例1 由8255A的A口輸出控制一位共陽極數(shù)碼管,由C口 PC7PC4輸入接入四位DIP開關(guān)的設(shè)置,根據(jù)開關(guān)設(shè)置值,在 數(shù)碼管上顯示字型。 注:

11、LED數(shù)碼管由8個發(fā)光二極管組成七段數(shù)碼和小數(shù)點,8255應(yīng)用舉例,程序 8255初始化控制字:88H 十六進制到字型碼采用軟件譯碼方式,8255應(yīng)用舉例,PORTA EQU 60H PORTB EQU 62H PORTC EQU 64H PCTRL EQU 66H DIS PROC MOV AL, 88H OUT PCTRL,AL ;初始化8255 IN AL,PORTC ;讀開關(guān)狀態(tài) MOV CL,4 SHR AL,CL ;轉(zhuǎn)成低4位 LEA BX,SH_TAB XLAT SH_TAB ;查表 OUT PORTA,AL ;顯示輸出,RET ;字型表 SH_TAB DB 0C0H 0F9 D

12、IS ENDP,8253內(nèi)部結(jié)構(gòu),第7.3節(jié) 計數(shù)器/定時器INTEL 8253 8253內(nèi)部結(jié)構(gòu)與功能 Intel8253是三個通道16位再裝入定時計數(shù)器,可由軟件設(shè)定6種工作方式。 (一)內(nèi)部結(jié)構(gòu) 內(nèi)部結(jié)構(gòu)說明 8253內(nèi)部有三個獨立的通道; 每個通道有6種工作方式,由控制寄存器選擇; 每個通道可對外部輸入CLK進行二進制或十進制減1計數(shù)。計數(shù)由引腳GATE控制; 計數(shù)器歸0時由OUT引腳輸出信號。,8253內(nèi)部結(jié)構(gòu),8253引腳功能,引腳功能 8253具有24個引腳,各引腳功能如下: D7D0 數(shù)據(jù)總線,雙向三態(tài),可直接與計算機系統(tǒng)數(shù)據(jù)總線相連。 RD 讀信號,輸入,低電平有效,若有效則

13、CPU從8253內(nèi)部讀取數(shù)據(jù). WR 寫信號,輸入,低電平有效,若有效則CPU將數(shù)據(jù)寫入8253內(nèi)部寄存器。 CS 片選信號,輸入,低電平有效,與計算機連接時分配有效地址。 A1 A0 內(nèi)部計數(shù)器選擇信號。 8253內(nèi)部有三個計數(shù)通道,使用四個端口地址。,8253引腳功能,CLK0、CLK1、CLK2 通道0,通道1和通道2的計數(shù)時鐘輸入端,下降沿使通道減1。 GATE0、GATE1、GATE2 門控制,輸入,高電平有效或上升沿有效,有效時才允許計數(shù)器對輸入時鐘進行計數(shù)。 OUT0、OUT1、OUT2 通道輸出信號,當(dāng)計數(shù)器計數(shù)到“0”時由此引腳輸出一信號。,8253與計算機的連接,8253與

14、計算機的連接,8253與計算機的連接,8253與計算機連接說明 8253數(shù)據(jù)線D7D0接系統(tǒng)數(shù)據(jù)總線的低8位。 8253的A1和A0分別接系統(tǒng)的A2和A1,使用偶地址傳遞信息 由74LS138,74LS30和74LS04譯碼選中8253,8253與計算機的連接,8253三個通道的時鐘由PCLK分頻得到,頻率為:2.38636/2=1.1931816MHz 在IBM-PC/XT微機系統(tǒng)中,通道0定時OUT0接8259的IR0,通道1刷新動態(tài)存儲器,通道2控制揚聲器發(fā)聲。,8253控制字,8253控制字及工作方式 (一)8253控制字 控制字寫入控制口,說明如下: SC1 SC0 計數(shù)器通道選擇

15、0 0 通道0 0 1 通道1 1 0 通道2 1 1 非法,8253控制字,RW1 RW0 計數(shù)器讀寫選擇 0 0 計數(shù)器鎖存 0 1 只讀寫低8位 1 0 只讀寫高8位 1 1 先低8位,再高8位 M2 M1 M0 計數(shù)器工作方式選擇 0 0 0 方式0 0 0 1 方式1 x 1 0 方式2 x 1 1 方式3 1 0 0 方式4 1 0 1 方式5,BCD 計數(shù)器進制選擇 0 16位二進制計數(shù)器 1 BCD碼計數(shù)器,8253工作方式,(二)8253工作方式 模式0 計數(shù)結(jié)束產(chǎn)生中斷 控制字寫入后OUT即變?yōu)榈碗娖?,?dāng)計數(shù)器為0時,輸出OUT變?yōu)楦唠娖?,并停止現(xiàn)行操作。 計數(shù)初值寫入后在

16、下一個CLK下降沿才送入計數(shù)器,因此計數(shù)值為N+1。 當(dāng)GATE變?yōu)榈碗娖綍r計數(shù)停止,再變?yōu)楦唠娖綍r計數(shù)繼續(xù)進行。 若計數(shù)過程中重新送入初值,則按新值重新計數(shù)。,8253工作方式,模式1 可重新觸發(fā)單穩(wěn)態(tài)觸發(fā)器 寫入控制字后OUT變?yōu)楦唠娖剑珿ATE上升沿后,下一個CLK的下降沿使得OUT為低電平并開始計數(shù),回零時OUT變?yōu)楦唠娖健?GATE再來一次上升沿后會再次使OUT變?yōu)榈碗娖?,計?shù)器以初值重新計數(shù)。 再次給通道寫入時間常數(shù),不影響現(xiàn)行操作過程,GATE再次觸發(fā)后才按新的時間常數(shù)操作。,8253工作方式,模式2 分頻器 寫入控制字后OUT為高電平,輸入時間常數(shù)后,下一時鐘開始計數(shù),減到1時

17、輸出變?yōu)榈碗娖?,?jīng)過一個CLK輸出變?yōu)楦唠娖?,計?shù)重新開始。 GATE=1計數(shù)進行,GATE=0計數(shù)停止,且下一個CLK下降沿計數(shù)器重新賦初值,GATE變?yōu)楦唠娖?,計?shù)重新開始。 計數(shù)期間送入新值,本周期繼續(xù)進行,下一個周期按新值計數(shù)操作。,8253工作方式,模式3 方波發(fā)生器 寫入控制字后OUT為高電平, 輸入時間常數(shù)后,下一時鐘開始計數(shù),計到一半時輸出變?yōu)榈碗娖剑嫷浇K值時變?yōu)楦唠娖?,并開始下一次計數(shù)過程。 若N為偶數(shù),高低電平持續(xù)時間相等;若為奇數(shù),則高電平持續(xù)時間為(N+1)/2,低電平持續(xù)時間為(N-1)/2。 GATE=1計數(shù)進行,GATE=0計數(shù)停止,OUT為高,計數(shù)器重新賦初值

18、,GATE變高,在下一個CLK下降沿計數(shù)重新開始。 計數(shù)期間送入新值,本周期繼續(xù)進行,下一個周期按新值計數(shù)。,8253工作方式,模式4 軟件觸發(fā)選通 寫入控制字后OUT為高電平,輸入時間常數(shù)后,下一個時鐘周期開始計數(shù),計數(shù)器為0時,輸出一個周期負脈沖,并停止現(xiàn)行操作。 GATE=1允許計數(shù),GATE=0禁止計數(shù),GATE不影響輸出 計數(shù)期間送入新的時間常數(shù),則下一個時鐘按新值重新計數(shù),8253工作方式,模式5硬件觸發(fā)選通 寫入控制字后OUT變?yōu)楦唠娖?,輸入時間常數(shù)后由GATE上升沿啟動計數(shù)。計數(shù)為0時輸出一個時鐘的負脈沖,并停止現(xiàn)行操作。 計數(shù)過程中,若GATE又來一個上升沿,則下一個時鐘計數(shù)

19、器重新賦值計數(shù),8253工作方式,計數(shù)過程中寫入時間常數(shù),當(dāng)前周期不受影響,只有下一個 GATE上升沿才啟動新值計數(shù),CLK1 GATE1 OUT1,CLK2 GATE2 OUT2,CLK3 GATE3 OUT3,M,N,L,用8253產(chǎn)生A/D轉(zhuǎn)化器的啟動控制信號,計 數(shù) 器,頻率F,+5V,采樣時間=L*N/F,采樣頻率=F/M,計數(shù)器1和2串聯(lián)工作,門控信號由開關(guān)提供 CLK2=F OUT2=F/L CLK1=OUT2=F/L OUT1=F/L*N T=L*N/F 計數(shù)器0的門控信號由OUT1提供,時間是L*N /F CLK=F OUT0=F/M 輸入負脈沖,經(jīng)過反相后變成正脈沖,啟動A

20、/D轉(zhuǎn)化器 如果F=10KHz,要求采樣時間5秒,采樣頻率100Hz, 則M=F/100=100 N*L=5*10K=50K,選N=50,L=1 假設(shè)端口地址是0C0H-C3H,MOV AL, 00010100B :計數(shù)器0,寫低字節(jié),工作方式2,二進制計數(shù) OUT 0C3H, AL :控制端口地址C3H MOV AL, 100 :計數(shù)值M=100 OUT 0C0H, AL :計數(shù)器0,地址為C0H MOV AL, 01010010B : 計算器1,寫低字節(jié),工作方式1,二進制計數(shù) OUT 0C3H, AL :控制端口地址C3H MOV AL, 50 :計數(shù)值N=50 OUT 0C1H, AL

21、 :計數(shù)器0,地址為C1H MOV AL, 1011011B : 計算器3,寫低字節(jié),工作方式3,二進制計數(shù) OUT 0C3H, AL :控制端口地址C3H MOV AX, 1000 :計數(shù)值L=1000 OUT 0C2H, AL :先寫低字節(jié) MOV AL, AH OUT 0C2H, AL :再寫高字節(jié),8253應(yīng)用舉例,8253應(yīng)用舉例 (一)ROMBIOS對8253初始化 對計數(shù)器0的初始化 MOV AL,36H OUT 46H,AL MOV AL,00H OUT 40H,AL OUT 40H,AL 說明 計數(shù)器0工作于方波發(fā)生器方式,對CLK(1.1931816MHz)進行65536分

22、頻。,8253應(yīng)用舉例,計數(shù)器0的輸出端OUT0接8259的IR0,每次歸0產(chǎn)生一次中斷請求,中斷類型碼由BIOS設(shè)置為8。 中斷時間間隔為54.925ms,每秒鐘來18.2次中斷。 通道0的時間間隔是計算機系統(tǒng)時鐘基礎(chǔ)。 對計數(shù)器1的初始化 MOV AL,54H OUT 46H,AL MOV AL,18 OUT 42H,AL 通道1給DMA控制器提供時鐘; 輸出頻率為66.288KHz。,8253應(yīng)用舉例,對計數(shù)器2的初始化和接通喇叭 MOV AL,0B6H OUT 46H,AL MOV AX,533H OUT 44H,AL MOV AL,AH OUT 44H,AL IN AL,62H ;讀

23、入8255的PB口 MOV AH,AL ;保護原值 OR AL,03H ;置1 PB1和PB0 OUT 62H,AL ;輸出,8253應(yīng)用舉例,說明 定時器2工作在方波發(fā)生器方式,驅(qū)動揚聲器發(fā)聲; 發(fā)聲頻率為896Hz; 揚聲器發(fā)聲還受8255的PB0和PB1控制。,8253應(yīng)用舉例,(二)8253應(yīng)用 例 由8253的計數(shù)器0定時55ms 控制揚聲器變調(diào)發(fā)聲,響5.5秒后停止。 說明 8253計數(shù)器0的OUT0接8259的IR0,由ROMBIOS初始化,中斷類型碼為08H,并在完全嵌套方式下工作。 8253計數(shù)器0由ROMBIOS設(shè)置為模式3,定時時間為55ms。 揚聲器發(fā)聲由8253的計數(shù)

24、器2控制發(fā)聲頻率,發(fā)聲允許由8255的PB0和PB1控制。,8253應(yīng)用舉例,DOS功能調(diào)用25H號子功能為設(shè)置中斷向量。 入口參數(shù) AH=25H,AL=中斷類型碼 DS:DX 中斷服務(wù)程序入口地址 返回參數(shù):無 DOS功能調(diào)用35H號子功能為取中斷向量 入口參數(shù) AH=35H,AL=中斷類型碼 返回參數(shù) ES:BX 中斷服務(wù)程序入口地址,8253應(yīng)用舉例,中斷服務(wù)程序為INT_08H 保護現(xiàn)場和恢復(fù)現(xiàn)場; 中斷返回前要開中斷并發(fā)EOI; 中斷返回IRET。 每次定時器0中斷使揚聲器的發(fā)聲頻率的分頻常數(shù)增加100,并使計數(shù)變量count增1。 主程序查詢count到100后停止揚聲器發(fā)聲,恢復(fù)

25、中斷向量,程序退出。,8253應(yīng)用舉例,data segment old_int08h dd ? count dw 0 constant dw 60 state db ? data ends st_seg segment stack db 256 dup (?) st_seg ends code segment assume cs:code,ds:data Int_08h proc far push ax push ds mov ax, data,mov ds, ax mov al, 0b6h out 43h, al mov ax, constant add ax, 100 mov constant, ax out 42h, al mov al, ah out 42h, al inc count mov al, 20h ;發(fā)EOI out 20h, al po

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論