Étape 7: Pseudo-code
1. code pour l’interruption du timer 0
Nikita: ; Interruption de T0
CJNE r6, #0ffh, sk
MOV r6, #00 h
unappel disp
sjmp sk1
SK :
MOV r6, #0ffh
SK1 :
CLR tf0
RET
Cette interruption est destinée pour l’affichage de chaque segment à intervalle de temps régulier. L’interruption est exécutée après chaque débordement du timer 0, qui déborde à intervalles de temps réglable.
2. le code pour l’interruption externe
; EXT0
interruupt
interr1 :
CLR tr1
tr0 CLR
MOV a, th1
MOV r1, un
MOV a, tl1
MOV r0, un
MOV r3, #00 h
MOV r2, #160
unappel div16_16
MOV a, r2
Subb a, 0ffh
MOV th0, un
MOV tl0, un
MOV th1, #00 h
MOV tl1, #00 h
setb tr1
setb tr0
MOV r0, #23 h
MOV r5, #00 h
MOV r6, #00 h
RET
Cette interruption effectue la tâche fondamentale de la synchronisation. Il également
réinitialise le pointeur de caractères (R0), le pointeur du segment (R5). Une autre chose dans cette interruption est que la fois précédente obtient divisée en nombre de segments, et le résultat des finales est stocké dans le registre de minuterie TH1