版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、8255并口控制器應(yīng)用實驗一、實驗?zāi)康?. 掌握 8255 的工作方式及應(yīng)用編程。2. 掌握 8255 典型應(yīng)用電路的接法。二、實驗內(nèi)容1. 基本輸入輸出實驗。編寫程序,使 8255 的 A 口為輸出, B 口為輸入,完成撥動開關(guān)到數(shù)據(jù)燈的數(shù)據(jù)傳輸。要求只要開關(guān)撥動,數(shù)據(jù)燈的顯示就改變。 2流水燈顯示實驗。編寫程序,使 8255 的 A 口和 B 口均為輸出,數(shù)據(jù)燈D7D0 由左向右,每次僅亮一個燈,循環(huán)顯示,D15D8 與D7D0 正相反,由右向左,每次僅點亮一個燈,循環(huán)顯示。四、實驗原理與步驟實驗步驟(1)基本輸入輸出實驗實驗說明:本實驗使 8255的端口A作為輸出口工作在方式0,端口 B
2、 作為輸入口工作在方式0。用一組開關(guān)信號接入端口B,端口A 輸出線接至一組數(shù)據(jù)燈上,然后通過對8255 芯片編程來實現(xiàn)輸入輸出功能。圖3-2 8255基本輸入輸出實驗參考接線圖實驗步驟如下:實驗接線圖如圖3-2所示,按圖連接實驗線路圖。運行Tdpit 集成操作軟件,根據(jù)實驗內(nèi)容,調(diào)用程序代碼(T8255-1.ASM),填寫程序代碼中的空缺處,編譯、鏈接。運行程序,改變撥動開關(guān),同時觀察LED 顯示,驗證程序功能。實驗代碼如下:IOY0 EQU 9860H ;片選IOY0對應(yīng)的端口始地址MY8255_A EQU 9860H ;8255的A口地址MY8255_B EQU 9861H ;8255的B
3、口地址MY8255_C EQU 9862H ;8255的C口地址MY8255_MODE EQU 9863H ;8255的控制寄存器地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV DX,MY8255_MODE ;初始化8255工作方式 MOV AL, 82H ;工作方式0,A口輸出,B口輸入 OUT DX,ALLOOP1: MOV DX,MY8255_B ;讀B口 IN AL,DX MOV DX,MY8255_A ;寫A口 OUT DX,AL MOV AH,1 ;判斷是否有按
4、鍵按下 INT 16H JZ LOOP1 ;無按鍵則跳回繼續(xù)循環(huán),有則退出QUIT: MOV AX,4C00H ;結(jié)束程序退出 INT 21HCODE ENDS END START(代碼結(jié)束)(2)流水燈顯示實驗實驗說明:使8255 的A 口和B 口均為輸出,數(shù)據(jù)燈D7D0 由左向右,每次僅亮一個燈,循環(huán)顯示,D15D8 與D7D0 正相反,由右向左,每次僅點亮一個燈,循環(huán)顯示。參考實驗程序流程如圖3-3所示。 圖3-3流水燈顯示參考程序流程圖實驗步驟如下:實驗接線圖如圖3-4所示,按圖連接實驗線路圖。運行Tdpit 集成操作軟件,根據(jù)實驗內(nèi)容,調(diào)用程序代碼(T8255-2.ASM),填寫程序
5、代碼中的空缺處,編譯、鏈接。運行程序,觀察LED 燈的顯示,驗證程序功能。自己設(shè)計流水燈的流動模式,編寫程序并實現(xiàn)。圖3-4 8255流水燈顯示參考接線圖實驗代碼如下:IOY0 EQU 9860H ;片選IOY0對應(yīng)的端口始地址MY8255_A EQU IOY0+00H ;8255的A口地址MY8255_B EQU IOY0+01H ;8255的B口地址MY8255_C EQU IOY0+02H ;8255的C口地址MY8255_MODE EQU IOY0+03H ;8255的控制寄存器地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SE
6、GMENT LA DB ? ;定義數(shù)據(jù)變量LB DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,MY8255_MODE ;定義8255工作方式 MOV AL, 80H ;工作方式0,A口和B口為輸出 OUT DX,AL MOV DX,MY8255_A ;寫A口發(fā)出的起始數(shù)據(jù) MOV AL, 80H OUT DX,AL MOV LA,AL MOV DX,MY8255_B ;寫B(tài)口發(fā)出的起始數(shù)據(jù) MOV AL, 01H OUT DX,AL MOV LB,ALLOOP1: CALL
7、 DALLY MOV AL,LA ;將A口起始數(shù)據(jù)右移再寫入A口 ROR AL,1 MOV LA,AL MOV DX,MY8255_A OUT DX,AL MOV AL,LB ;將B口起始數(shù)據(jù)左移再寫入B口 ROL AL,1 MOV LB,AL MOV DX,MY8255_B OUT DX,AL MOV AH,1 ;判斷是否有按鍵按下 INT 16H JZ LOOP1 ;無按鍵則跳回繼續(xù)循環(huán),有則退出QUIT: MOV AX,4C00H ;結(jié)束程序退出 INT 21HDALLY PROC NEAR ;軟件延時子程序 PUSH CX PUSH AX MOV CX,0FFFHD1: MOV AX,
8、0FFFFHD2: DEC AX JNZ D2 LOOP D1 POP AX POP CX RETDALLY ENDPCODE ENDS END START(代碼結(jié)束)8254定時/計數(shù)器應(yīng)用實驗內(nèi)容計數(shù)應(yīng)用實驗。編寫程序,應(yīng)用8254的計數(shù)功能,用開關(guān)模擬計數(shù),使每當按動KKI+五次后,產(chǎn)生一次計數(shù)中斷,并在屏幕上顯示一個字符5。實驗步驟計數(shù)應(yīng)用實驗實驗說明:編寫程序,將8254的計數(shù)器0設(shè)置為方式0,計數(shù)值為5,用微動開關(guān)KKl+作為CLK0時鐘,OUT0連接INTR,每當KKl+按動5次后產(chǎn)生中斷請求,在屏幕上顯示字符“5”。實驗步驟如下:實驗接線如圖4-1所示,按圖接線。運行Tdpit
9、 集成操作軟件,根據(jù)實驗內(nèi)容,調(diào)用程序代碼(T8254-1.ASM),填寫程序代碼中的空缺處,編譯、鏈接。運行程序,按動KK1產(chǎn)生單次脈沖,觀察實驗現(xiàn)象。改變計數(shù)值,驗證8254的計數(shù)功能。實驗代碼如下:INTR_IVADD EQU 01C8H ;INTR對應(yīng)的中斷矢量地址INTR_OCW1 EQU 0A1H ;INTR對應(yīng)PC機內(nèi)部8259的OCW1地址INTR_OCW2 EQU 0A0H ;INTR對應(yīng)PC機內(nèi)部8259的OCW2地址INTR_IM EQU 0FBH ;INTR對應(yīng)的中斷屏蔽字IOY0 EQU 3000H ;片選IOY0對應(yīng)的端口始地址MY8254_COUNT0 EQU I
10、OY0+00H*4 ;8254計數(shù)器0端口地址MY8254_COUNT1 EQU IOY0+01H*4 ;8254計數(shù)器1端口地址MY8254_COUNT2 EQU IOY0+02H*4 ;8254計數(shù)器2端口地址MY8254_MODE EQU IOY0+03H*4 ;8254控制寄存器端口地址 STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENT CS_BAK DW ? ;保存INTR原中斷處理程序入口段地址的變量IP_BAK DW ? ;保存INTR原中斷處理程序入口偏移地址的變量IM_BAK DB ? ;保存INTR原中斷屏蔽
11、字的變量STR1 DB COUNT: $ ;顯示的字符串DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX CLI MOV AX,0000H ;替換INTR的中斷矢量 MOV ES,AX MOV DI,INTR_IVADD MOV AX,ES:DI MOV IP_BAK,AX ;保存INTR原中斷處理程序入口偏移地址 MOV AX,OFFSET MYISR MOV ES:DI,AX ;設(shè)置當前中斷處理程序入口偏移地址 ADD DI,2 MOV AX,ES:DI MOV CS_BAK,AX ;保存INT
12、R原中斷處理程序入口段地址 MOV AX,SEG MYISR MOV ES:DI,AX ;設(shè)置當前中斷處理程序入口段地址 MOV DX,INTR_OCW1 ;設(shè)置中斷屏蔽寄存器,打開INTR屏蔽位 IN AL,DX MOV IM_BAK,AL ;保存INTR原中斷屏蔽字 AND AL,INTR_IM OUT DX,AL STI MOV DX,OFFSET STR1 ;顯示字符串 MOV AH,9 INT 21H MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,10H ;計數(shù)器0,方式0 OUT DX,AL MOV DX,MY8254_COUNT0 ;裝入計數(shù)初值
13、MOV AL,4 OUT DX,ALWAIT1: MOV AH,1 ;判斷是否有按鍵按下 INT 16H JZ WAIT1 ;無按鍵則跳回繼續(xù)等待,有則退出QUIT: CLI MOV AX,0000H ;恢復(fù)INTR原中斷矢量 MOV ES,AX MOV DI,INTR_IVADD MOV AX,IP_BAK ;恢復(fù)INTR原中斷處理程序入口偏移地址 MOV ES:DI,AX ADD DI,2 MOV AX,CS_BAK ;恢復(fù)INTR原中斷處理程序入口段地址 MOV ES:DI,AX MOV DX,INTR_OCW1 ;恢復(fù)INTR原中斷屏蔽寄存器的屏蔽字 MOV AL,IM_BAK OUT DX,AL STI MOV AX,4C00H ;返回到DOS INT 21HMYISR PROC NEAR ;中斷處理程序MYISR PUSH AX MOV AL,35H MOV AH,0E
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026廣東佛山高明區(qū)滄江中學(xué)附屬小學(xué)臨聘教師招聘備考題庫含答案詳解(新)
- 2026四川德陽市城鎮(zhèn)公益性崗位招聘1人備考題庫(區(qū)委黨校)有完整答案詳解
- 2026廣東廣州市天河區(qū)東風(fēng)實驗小學(xué)招聘語文、數(shù)學(xué)、音樂教師備考題庫含答案詳解(滿分必刷)
- 2026年2月江蘇省蘇北人民醫(yī)院招聘高層次人才27人備考題庫附答案詳解(綜合卷)
- 2026上半年安徽事業(yè)單位聯(lián)考銅陵市義安區(qū)招聘27人備考題庫及答案詳解(典優(yōu))
- 2026上半年安徽事業(yè)單位聯(lián)考招聘898人備考題庫含答案詳解(新)
- 2026中國中醫(yī)科學(xué)院針灸研究所面向社會招聘5人備考題庫及答案詳解(奪冠系列)
- 2026云南紅河州個舊市醫(yī)療衛(wèi)生共同體賈沙分院招聘編外工作人員1人備考題庫及答案詳解(奪冠)
- 湖南省雙峰一中2026屆數(shù)學(xué)高一上期末檢測試題含解析
- 江蘇省揚州市江都區(qū)大橋、丁溝、仙城中學(xué)2026屆高三語文第一學(xué)期期末復(fù)習(xí)檢測模擬試題含解析
- 2026年全職家庭教育指導(dǎo)師模擬測試題
- 2026河北石家莊技師學(xué)院選聘事業(yè)單位工作人員36人筆試備考試題及答案解析
- (正式版)DB41∕T 2987-2025 《在線教育課程資源制作規(guī)范》
- 2026春譯林版新版八年級下冊英語單詞默寫表
- 馬年猜猜樂+(新年祝福篇41題)主題班會課件
- 土建施工規(guī)范培訓(xùn)
- 汽車銷售月度工作總結(jié)與計劃
- DB33T 2256-2020 大棚草莓生產(chǎn)技術(shù)規(guī)程
- 《建設(shè)工程造價咨詢服務(wù)工時標準(房屋建筑工程)》
- 10s管理成果匯報
- 半導(dǎo)體技術(shù)合作開發(fā)合同樣式
評論
0/150
提交評論