HOLTEK單片機(jī)-中斷優(yōu)先權(quán)測(cè)試
功能說(shuō)明:
HT48R50A-1 有3個(gè)中斷,外部中斷,定時(shí)器0和定時(shí)器1.通過(guò)實(shí)驗(yàn)就可以了解到他們的優(yōu)先級(jí)關(guān)系。
電路說(shuō)明:
電路圖如下圖所示:
HT48R50A-1 的PA4-PA7各自接一個(gè)LED,以便指示正在執(zhí)行哪一個(gè)中斷子程序或主程序。
PA6 所接的LED2用來(lái)指示定時(shí)器0的中斷子程序是否正在執(zhí)行。
PA5 所接的LED3用來(lái)指示定時(shí)器1的中斷子程序是否正在執(zhí)行。
PA4 所接的LED4用來(lái)指示主程序是否正在執(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
評(píng)論