PROGRAM NAME:INTR1.ASM
;TEST TIMER0 INTERRUPT(MODE 1)
COUNT EQU 9217 ;10 ms FOR XTAL=11.0592MHz
CHK_BIT REG P3.2
ORG 0000H
LJMP RESET
ORG 0003H ;INTO INTERRUPT
RETI
ORG 000BH ;TIMER0 INTERRUPT
LJMP INT_TIMER0
ORG 0013H ;INT1 INTERRUPT
RETI
ORG 001BH ;TIMER1 INTERRUPT
RETI
ORG 0023H ;SERIAL INTERRUPT
RETI
RESET: MOV R0,#00H
DJNZ R0,$ ;WAIT
CLR CHK_BIT
MOV SP,#40H
MOV A,TMOD
ANL A,#11110000B
CLR ACC.3 ;GATE=0
CLR ACC.2 ;C/T=0
CLR ACC.1 ;TIMER0 M1=0
SETB ACC.0 ;TIMER0 M0=1
MOV TMOD,A
MOV TH0,#(65536-COUNT)/256
MOV TL0,#(65536-COUNT).MOD.256
CLR TF0 ;CLEAR TF0
SETB TR0
SETB PT0
SETB ET0 ;ENABLE TIMER0 INTRRUPT
SETB EA ;ENABLE SYSTEM INTERRUPT
LOOP: SJMP LOOP
;TF0=1
INT_TIMER0
CPL CHK_BIT
CLR TF0 ;CLEAR TF0
MOV TH0,#(65536-COUNT)/256
MOV TL0,#(65536-COUNT).MOD.256
RETI