El ensamblaje utiliza interrupciones temporizadas para que el tubo digital estático muestre los números del 0 al 9.
ORG 0000H
LJMP MAIN Enciende la alimentación y transfiere al programa principal
ORG 000BH
LJMP CTC0; >
PRINCIPAL:
MOV TMOD, #01H
MOV TL0, #0E0H
MOV TH0, #0D8H Temporización 10ms. 0A0H ;Establecer número de ciclo, 160 ciclos
MOV P1, #0C0H ;Pantalla digital
esperar:
esperar AJMP
CTC0: Subrutina de interrupción del temporizador 0
MOV TL0, #0E0H
MOV TH0, #0D8H
DJNZ R2, EXIT
MOV R2 , # 160
INC R1
CJNE R1, #10, Pantalla Determinar si llega a 10
MOV R1, #0
Pantalla :
MOV A, R1
MOV DPTR, #TAB
MOVC A, @A + DPTR; tabla de búsqueda
MOV P1 , A
SALIDA:
RETI
TAB:
DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H , 0F8H
DB 80H, 90H, 88H, 83H, 0C6H, 0A1H, 86H, 08EH
FIN
Pruébalo.