di2589.txt ;************************************************************************************************** ; LISTING 1 - THREE-PRIORITY-LEVEL INTERRUPT SYSTEM FOR THE 8051 ; ; "Software provides interrupt system for 8051," EDN, Nov 23, 2000, pg 168 ; http://www.ednmag.com/ednmag/reg/2000/11232000/designideas.htm#24di7 ; *************************************************************************************************** ORG 0000H LIMP START ORG 0003H LIMP INTO ORG 000BH LIMP ITO ORG 0013H LIMP INT1 START: MOV SP,#60H MOV IP,#01H ;INT0 has high priority MOV TMOD,#01H MOV TH0,#00H MOV TL0,#00H SETB EA ;enable INT0,INT1,IT0 SETB EX0 SETB EX1 SETB ET0 SETB TR0 ... INT0: ... .......................;INT0 interrupt service program ... RETI INT1: ... ;INT1 interrupt service program ... RETI IT0: CLR TR0 ;IT0 interrupt service program PUSH DPL PUSH DPH MOV DPTR,#GO_ON PUSH DPL PUSH DPH RETI ;"pseudo-RETI" GO_ON: NOP ... ... MOV TH0,#00H MOV TL0,#00H POP DPH POP DPL SETB TR0 RETI