principal.txt
1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
; Équivalences
.equ PINA = 0x00
.equ DDRA = 0x01
.equ PORTA = 0x02
.equ PINB = 0x03
.equ DDRB = 0x04
.equ PORTB = 0x05
.equ RAMEND = 0x21FF
.equ SPH = 0x3E
.equ SPL = 0x3D
; Nommage des registres utilisés
.def etat = r19
; Vecteurs d'interruptions
.org 0x000 ; Vecteur RESET
jmp debut
; Tableaux de la mémoire du programme
.org 0x0080
; Programme
debut:
; Configuration des composants
; Initialisation des valeurs
boucle:
sleep
jmp boucle
; Fonctions
agir10s:
; Initialise une lecture ADC
; Met à jour l'état de veille (si on est en état veille)
ret
agirHeure:
; Recharge la température de référence
ret
; Interruption boutons
incrementer:
reti
decrementer:
reti
valider:
reti
retour:
reti
; Interruption Watchdog
watchdog:
; Met à jour les registres de temps, active agir10s ou agirHeure si nécessaire
reti
; Interruption ADC
adc:
; Active ou désactive la chaudière selon la température lue et celle de référence
reti
; Interruption timer
timer:
; Affiche le digit suivant sur l'afficheur 7seg
reti