Esta lámpara de agua corriente es un patrón muy común. Supongamos que el LED está conectado al puerto P1. El programa es el siguiente:
ORG 0000H
. LJMP PRINCIPAL
0RG 000BH
LJMP T0ISR
ORG 0030H
PRINCIPAL:
MOV TMOD, #01H
MOV TH0, #HIGH(65536-50000); temporización de 50 milisegundos
MOV TL0, #LOW(65536-50000)
SETB TR0
SETB ET0
SETB EA
MOV A, #0FEH
MOV P1, A
MOV R2, #20
SJMP $
T0ISR:
CLR TR0
MOV TH0, #HIGH(65536-50000)
MOV TL0, #LOW( 65536-50000)
SETB TR0
DJNZ R2, T0E; salir directamente antes de que llegue 1 segundo
MOV R2, #20
RL A
MOV P1, A; Una lámpara de agua que fluye y cambia cada segundo.
T0E:
RETI
FIN