Commit aadee41754ea9c26deb90a6280da22350541632e
1 parent
733c078a
Définition des états
Par Thomas
Showing
3 changed files
with
56 additions
and
7 deletions
Show diff stats
... | ... | @@ -31,21 +31,26 @@ Voici la hiérarchie du menu qui sera utilisée pour configurer le thermostat : |
31 | 31 | - Température du mode jour |
32 | 32 | - Témpérature du mode nuit |
33 | 33 | - Réglage de la date et heure |
34 | + - Jour de la semaine | |
34 | 35 | - Heures |
35 | 36 | - Minutes |
36 | - - Jour de la semaine | |
37 | 37 | |
38 | 38 | On peut passer d'un menu à son menu hiérarchiquement supérieur (parent) avec le bouton retour. On passe d'un menu à un autre de niveau identique mais de même parent (frère) avec les boutons Incrémenter et Décrémenter. Lorsque l'on appuie sur le bouton valider, deux choses peuvent se produire : si le menu possède des sous-menus (enfants), il passe au premier enfant, sinon, il permettra l'édition d'une valeur que l'on poura incrémenter ou décrémenter avec les boutons du même nom, et qui seront sauvegardées à l'aide du bouton retour. |
39 | 39 | |
40 | +<!-- TODO On bloque le choix des températures à 5,5 30,1, expliquer pourquoi on fait ça --> | |
41 | + | |
40 | 42 | ## États |
41 | -- 0-1 : Veille (Heure, Température) | |
43 | +- 0→1 : Veille (Heure, Température) | |
42 | 44 | - 2 : Menu Association mode ↔ Heure de la semaine |
43 | -- 3-9 : Menu jours (Lundi - Vendredi) | |
44 | -- 10-16 : Paramétrage des jours (Lundi - Vendredi) | |
45 | +- 3→9 : Menu jours (Lundi - Vendredi) | |
46 | +- 10→16 : Paramétrage des jours (Lundi - Vendredi) | |
45 | 47 | - 17 : Menu température du mode jour |
46 | 48 | - 18 : Paramétrage température du mode jour |
47 | 49 | - 19 : Menu température du mode nuit |
48 | 50 | - 20 : Paramétrage température du mode nuit |
51 | +- 21 : Menu réglage de la date et heure | |
52 | +- 22→24 : Menu réglage du jour / heure / minute | |
53 | +- 25→27 : Paramétrage du jour / heure / minute | |
49 | 54 | |
50 | 55 | ## Stockage des données |
51 | 56 | ... | ... |
... | ... | @@ -0,0 +1,39 @@ |
1 | +.equ PINA = 0x00 ; définition des adresses des ports | |
2 | +.equ DDRA = 0x01 | |
3 | +.equ PORTA = 0x02 | |
4 | +.equ PINB = 0x03 | |
5 | +.equ DDRB = 0x04 | |
6 | +.equ PORTB = 0x05 | |
7 | +.equ PINC = 0x06 | |
8 | +.equ DDRC = 0x07 | |
9 | +.equ PORTC = 0x08 | |
10 | + | |
11 | +.equ RAMEND = 0x21FF | |
12 | +.equ SPH = 0x3E ; initialisation de la pile | |
13 | +.equ SPL = 0x3D | |
14 | + | |
15 | +.org 0x000 | |
16 | + ; Vecteur RESET | |
17 | + jmp debut | |
18 | + | |
19 | +.org 0x0080 | |
20 | + | |
21 | +debut: | |
22 | + DDRA@IO <- 0xFF | |
23 | + DDRC@IO <- 0xFF | |
24 | + | |
25 | +boucle: | |
26 | + PORTA@IO <- 0xFF | |
27 | + PORTC@IO <- 0x00 | |
28 | + jmp boucle ; On recommence | |
29 | + | |
30 | +tempo: | |
31 | + ; On fait une pause | |
32 | + ldi r24,8 | |
33 | +tempoA: | |
34 | + subi r22,1 | |
35 | + sbci r23,0 | |
36 | + sbci r24,0 | |
37 | + brcc tempoA | |
38 | + ret | |
39 | + | ... | ... |
principal.txt
... | ... | @@ -19,7 +19,6 @@ |
19 | 19 | .equ ADCSRA = 0x7A |
20 | 20 | .equ ADCH = 0x79 |
21 | 21 | |
22 | -.equ RAMEND = 0x21FF | |
23 | 22 | .equ SPH = 0x3E |
24 | 23 | .equ SPL = 0x3D |
25 | 24 | |
... | ... | @@ -105,8 +104,14 @@ watchdog: |
105 | 104 | |
106 | 105 | ; Interruption ADC |
107 | 106 | adc: |
108 | - ; TODO Lire ADCH | |
109 | - ; Active ou désactive la chaudière selon la température lue et celle de référence | |
107 | + si ADCH > reference + 5 saut eteindreChaudiere | |
108 | + si ADCH < reference - 5 saut allumerChaudiere | |
109 | + reti | |
110 | +allumerChaudiere: | |
111 | + PORTC <- 0x01 | |
112 | + reti | |
113 | +eteindreChaudiere: | |
114 | + PORTC <- 0x00 | |
110 | 115 | reti |
111 | 116 | |
112 | 117 | ; Interruption timer | ... | ... |