HOLTEK单片机-中断优先权测试
功能说明:
HT48R50A-1 有3个中断,外部中断,定时器0和定时器1.通过实验就可以了解到他们的优先级关系。
电路说明:
电路图如下图所示:
HT48R50A-1 的PA4-PA7各自接一个LED,以便指示正在执行哪一个中断子程序或主程序。
PA6 所接的LED2用来指示定时器0的中断子程序是否正在执行。
PA5 所接的LED3用来指示定时器1的中断子程序是否正在执行。
PA4 所接的LED4用来指示主程序是否正在执行。
完整版本的源程序下载: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
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码