Étape 2: Source Code
DÉPART :. INCLURE « tn26def.inc » ; Fichier de définition. Google pour cela si vous avez besoin d’une copie.
CLR r30
CLR r29
CLR r28
CLR r27
LDI r28, 0b00000000
LDI r27, 0b11111111
LDI r26, 0b00000000
CLR r25
sur DDRA, r27
les PORTA, r28
MINUTERIE :
r30 Inc
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
IPC r30, 0b11111111
breq TIMER2
rjmp TIMER
TIMER2 :
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
r29 Inc
IPC r29, 0b11111111
breq TIMER3
rjmp TIMER
TIMER3 :
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
r25 Inc
IPC r25, 0b11111111 ; Réduire ce nombre à diminuer « off » temps
breq FUNC
rjmp TIMER
FUNC :
NOP
NOP
IPC r28, 0 x 00
breq FUNC2
r28 Dec
CLR r30
CLR r29
CLR r25
les PORTA, r28
rjmp TIMER
FUNC2 :
NOP
NOP
r28 Inc
les PORTA, r28
CLR r25
CLR r30
CLR r29
rjmp TIMER4
TIMER4 :
r30 Inc
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
IPC r30, 0b11111111
breq TIMER5
rjmp TIMER4
TIMER5 :
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
r29 Inc
IPC r29, 0b11111111
breq TIMER6
rjmp TIMER4
TIMER6 :
r25 Inc
IPC r25, 0b00000011 ; Augmentez ce nombre augmenter « ponctuellement »
breq FUNC
rjmp TIMER4