Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
$EP
$NOSB
$MR ;$NOGE
$XREF
$DEBUG
$TITLE ( LEDBLKT0 )
; Delay Using Timer interrupt 0.
; This Application is LED blinking every 1/2 second.
; System Clock : 11.0592Mhz
;
BLK_TIME EQU 50 ; BLK_TIME/100 = Delay time ; 0.5sec
SEC DATA 34H
STACK EQU 40H
;
ORG 0
LJMP START
;
ORG 0BH
LJMP TIM_0_INT
;
ORG 100H
START:
CLR A
MOV R0,#127 ; Clear all of RAM
CLEAR: MOV @R0,A
DJNZ R0,CLEAR
;
MOV SP,#STACK
MOV IE,#0 ; Disable
;
MOV TCON,#00000101B
MOV TMOD,#00100001B ; Timer1=
MOV SCON,#01011110B ; 8-Bit U
;
CLR TR1
MOV TH1,#-3 ; 11.0592
SETB TR1 ; TI SET
CLR RI
MOV P1,#0FFH
MOV P3,#0FFH
;
MOV SEC,#BLK_TIME
CALL RUN_TIMER_0
SETB EA
MAIN:
JMP MAIN
;=======================================================
; Timer_0_Interrupt
;-------------------------------------------------------
TIM_0_INT:
PUSH PSW
PUSH ACC
CLR ET0
CLR TR0
MOV A,#Low(-9500) ; 1/100 Sec
ADD A,TL0
MOV TL0,A
MOV A,#High(-9500)
ADDC A,TH0
MOV TH0,A
SETB TR0
;
DJNZ SEC,BLK_DLY
CPL P3.5 ; Complement Port 3.5 (LED)
MOV SEC,#BLK_TIME
BLK_DLY:
CLR TF0
SETB ET0
POP ACC
POP PSW
RETI
;
;
RUN_TIMER_0:
CLR TR0
CLR TF0
ANL TMOD,#11110000B ; mask T0 Mode
ORL TMOD,#00000001B ; 16 bit Timer
MOV TH0,#High(-9500)
MOV TL0,#Low(-9500)
SETB ET0 ; Enable t0 int
SETB TR0
RET
;
END
N2:MOVR2,#10
DJNZ R2,N2