HOLTEK單片機(jī)-中斷優(yōu)先權(quán)測試
功能說明:
HT48R50A-1 有3個中斷,外部中斷,定時器0和定時器1.通過實(shí)驗(yàn)就可以了解到他們的優(yōu)先級關(guān)系。
電路說明:
電路圖如下圖所示:
HT48R50A-1 的PA4-PA7各自接一個LED,以便指示正在執(zhí)行哪一個中斷子程序或主程序。
PA6 所接的LED2用來指示定時器0的中斷子程序是否正在執(zhí)行。
PA5 所接的LED3用來指示定時器1的中斷子程序是否正在執(zhí)行。
PA4 所接的LED4用來指示主程序是否正在執(zhí)行。
完整版本的源程序下載:http://www.51hei.com/f/htzd.rar
程序:
#INCLUDE HT48R50A-1.INC;---------------------------------------------DATA .SECTION AT 60H 'DATA'DELAY_COUNTER_1 DB ? ;[60H]DELAY_COUNTER_2 DB ? ;[61H]DISPLAY_COUNTER DB ? ;[62H];---------------------------------------------CODE .SECTION AT 00H 'CODE'ORG 00HJMP STARTORG 04HJMP INTBORG 08HJMP TIMER0ORG 0CHJMP TIMER1ORG 50HSTART:CLR PACSET PAMOV A,02HMOV DISPLAY_COUNTER,ALOOP :CLR PA.4CALL DELAYSET PA.4CALL DELAYSDZ DISPLAY_COUNTERJMP LOOPMOV A,0FHMOV INTC,AMOV A,7FHMOV INTC,AHALTRET;---------------------------------------------INTB:MOV A,03HMOV DISPLAY_COUNTER,AINT_LOOP:CLR PA.7CALL DELAYSET PA.7CALL DELAYSDZ DISPLAY_COUNTERJMP INT_LOOPRETI;---------------------------------------------TIMER0:MOV A,04HMOV DISPLAY_COUNTER,ATIMER0_LOOP:CLR PA.6CALL DELAYSET PA.6CALL DELAYSDZ DISPLAY_COUNTERJMP TIMER0_LOOPRETI;---------------------------------------------TIMER1:MOV A,05HMOV DISPLAY_COUNTER,ATIMER1_LOOP:CLR PA.5CALL DELAYSET PA.5CALL DELAYSDZ DISPLAY_COUNTERJMP TIMER1_LOOPRETI;---------------------------------------------DELAY PROCMOV A,0FFHMOV DELAY_COUNTER_1,AMOV DELAY_COUNTER_2,AWAIT:SDZ DELAY_COUNTER_2JMP WAITSDZ DELAY_COUNTER_1JMP WAITRETDELAY ENDP;---------------------------------------------END
評論