利用A中斷實(shí)現(xiàn)LED燈和數(shù)碼管顯示實(shí)驗(yàn)_第1頁
利用A中斷實(shí)現(xiàn)LED燈和數(shù)碼管顯示實(shí)驗(yàn)_第2頁
利用A中斷實(shí)現(xiàn)LED燈和數(shù)碼管顯示實(shí)驗(yàn)_第3頁
利用A中斷實(shí)現(xiàn)LED燈和數(shù)碼管顯示實(shí)驗(yàn)_第4頁
利用A中斷實(shí)現(xiàn)LED燈和數(shù)碼管顯示實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)三:利用8259A中斷實(shí)現(xiàn)LED燈和數(shù)碼管顯示實(shí)驗(yàn)安全0901 王宇航 09283020實(shí) 驗(yàn) 報(bào) 告1. 實(shí)驗(yàn)?zāi)康模毫私?259中斷控制器的基本使用,掌握中斷程序編程技術(shù)。同時(shí)使同學(xué)掌握中斷和其它接口芯片配合來完成某一特定任務(wù)的方法。2. 實(shí)驗(yàn)步驟:8254A的OUT1輸出接到8259A的MIR5上,每秒產(chǎn)生一次中斷信號(hào)向8259A發(fā)出中斷請求,在中斷程序里將連接在8255A口的LED燈按照中斷次數(shù)二進(jìn)制點(diǎn)亮(即中斷一次L0亮,中斷兩次L1亮,中斷三次L1L0亮,中斷四次L2亮)。同時(shí)在數(shù)碼管低位上顯示中斷次數(shù)。滿10次后停止。18254A在主程序中初始化。CLK0工作在方式3,則控制字

2、為00110110B,計(jì)數(shù)常數(shù)設(shè)為1000;CLK1工作在方式3,則控制字為01110110B,計(jì)數(shù)常數(shù)設(shè)為1000,則OUT1輸出為1HZ的方波。28255A在使用前需要在主程序中初始化。A口方式0輸出,B口方式0輸入,則控制字為10000011B。38259A不用初始化,但在程序中需要包含以下幾個(gè)部分:(1)8259A的MIR5對(duì)應(yīng)的中斷向量號(hào)為35H,需用此來設(shè)置中斷入口地址。(2)設(shè)置中斷入口地址之后,需設(shè)置中斷屏蔽字OCW1,使IR5請求被允許,其他請求被禁止。(3)中斷服務(wù)程序結(jié)束之前寫OCW2,送中斷結(jié)束命令EOI。4中斷服務(wù)程序的主要功能是LED指示燈和數(shù)碼管顯示。圖3-1 實(shí)

3、驗(yàn)連線圖注意:實(shí)驗(yàn)系統(tǒng)的主8259A的片選信號(hào)為20H。3. 實(shí)驗(yàn)代碼:.Model small.386DATASEGMENTDATA0 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;分別對(duì)應(yīng)字符0-9COUNT DB 10;計(jì)數(shù)值為10DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AX;DS裝入段基址LEA SI,DATA0;取操作數(shù)DATA0的16位偏移地址送到寄存器SI中;8254初始化MOV DX,203H;8254命令口MOV AL,00110110B;控制字-

4、0通道、方式3(方波發(fā)生器)、二進(jìn)制計(jì)數(shù)OUT DX,AL;將控制字寫入命令口MOV DX,200H;0通道的數(shù)據(jù)口MOV AX,1000;計(jì)數(shù)常數(shù)=1000OUT DX,AL;先寫入低字節(jié)MOV AL,AH OUT DX,AL;再寫入高字節(jié)MOV DX,203H;8254命令口MOV AL,01110110B;控制字1通道、方式3(方波發(fā)生器)、二進(jìn)制計(jì)數(shù)OUT DX,ALMOV DX,201H;1通道的數(shù)據(jù)口MOV AX,1000;計(jì)數(shù)常數(shù)=1000OUT DX,AL MOV AL,AH OUT DX,AL;8255初始化MOV DX,213H;8255命令口MOV AL,10000011

5、B;8255控制字-A口方式0輸出,B口方式0輸入OUT DX,AL;將控制字寫入命令口 ;中斷入口地址設(shè)置(用串指令)CLI;關(guān)中斷MOV AX,0MOV ES,AX;置附件段基地址為0MOV DI,4*35H;置附件段偏移地址到DIMOV AX,OFFSET INT_35;置中斷程序首地址的偏移量到AXCLDSTOSW;填首地址的偏移量到中斷地址表MOV AX,SEG INT_35;置中斷程序的段基地址到AXSTOSW;填段基地址到中斷地址表IN AL,21H;讀中斷屏蔽寄存器IMRAND AL,11011111B;設(shè)置中斷屏蔽字OCW1,IR5請求被允許,其他請求被禁止OUT 21H,A

6、L;將OCW1寫入IMR中STI;開中斷WAIT:CMP COUNT,10;判斷10次中斷是否結(jié)束JNZ WAIT ;未結(jié)束,等待CLI;10次中斷后,關(guān)中斷MOV AH,4CH;結(jié)束,返回DOSINT 21H;延時(shí)程序DELAY PROC PUSH CX;保護(hù)現(xiàn)場 MOV CX,100H;延時(shí)時(shí)間為處理一次CX自減1的時(shí)間乘以100HDELAY1: LOOP DELAY1 POP CX;恢復(fù)現(xiàn)場 RET;返回到調(diào)用處,繼續(xù)執(zhí)行DELAY ENDP;中斷服務(wù)程序INT_35PROCPUSH DX;保護(hù)現(xiàn)場PUSH AXPUSH CXCLI;關(guān)中斷MOV AX,DATAMOV DS,AXINC

7、COUNT;中斷次數(shù)加1MOV AL,COUNT;將中斷次數(shù)寫入AL中MOV DX,210H;8255數(shù)據(jù)口OUT DX,AL;將中斷次數(shù)輸出到LED顯示燈MOV CX,680H CMP COUNT,10JB GOON -randomirandom;低于10時(shí)跳轉(zhuǎn)到GOONCMP COUNT,10JNZ L1;不等于10(此處即大于10)時(shí)跳轉(zhuǎn)到L1SUB SI,9;第10次中斷時(shí)SI減去9,即歸0L1:MOV AL,SI;查表,對(duì)應(yīng)0-9MOV DX,220H;地址譯碼器連接六位數(shù)碼管電路的數(shù)據(jù)口 OUT DX,ALMOV DX,221H;數(shù)據(jù)口 MOV AL,00000001B;指定六位數(shù)

8、碼管在最低位顯示0-9OUT DX,ALCALL DELAY;調(diào)用延時(shí)程序MOV AL,06H;對(duì)應(yīng)字符'1'MOV DX,220HOUT DX,ALMOV DX,221HMOV AL,00000010B;指定六位數(shù)碼管在次低位顯示1OUT DX,ALCALL DELAYLOOP L1;CX=680HINC SI;SI加1JMP L ;跳轉(zhuǎn)至LGOON:INC SI;SI加1MOV AL,SI;查表MOV DX,220HOUT DX,ALMOV DX,221HMOV AL,00000001BOUT DX,ALL:MOV AL,20H;寫OCW2,送中斷結(jié)束命令EOIOUT 20H,ALSTI;開中斷POP CX;恢復(fù)現(xiàn)場POP AXPOP DXIRET;中斷返回INT_35ENDPCODEENDSEND START4. 試驗(yàn)流程圖:主程序流程圖開始中斷次數(shù)計(jì)數(shù)值COUNT=10將字符0-9對(duì)應(yīng)的操作數(shù)的偏移地址送入寄存器SI中8254初始化8255初始化中斷入口地址設(shè)置開中斷COUNT=10?N中斷服務(wù)程序關(guān)中斷設(shè)置OCW1并寫入IMR中,使只有IR5請求被允許Y返回DOS主程序結(jié)束中斷服務(wù)程序流程圖Y保護(hù)現(xiàn)場關(guān)中斷COUNT+1COUNT將中斷次數(shù)輸出到LED顯示燈COUNT<1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論