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,21 +31,26 @@ Voici la hiérarchie du menu qui sera utilisée pour configurer le thermostat : | ||
31 | - Température du mode jour | 31 | - Température du mode jour |
32 | - Témpérature du mode nuit | 32 | - Témpérature du mode nuit |
33 | - Réglage de la date et heure | 33 | - Réglage de la date et heure |
34 | + - Jour de la semaine | ||
34 | - Heures | 35 | - Heures |
35 | - Minutes | 36 | - Minutes |
36 | - - Jour de la semaine | ||
37 | 37 | ||
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. | 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 | ## États | 42 | ## États |
41 | -- 0-1 : Veille (Heure, Température) | 43 | +- 0→1 : Veille (Heure, Température) |
42 | - 2 : Menu Association mode ↔ Heure de la semaine | 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 | - 17 : Menu température du mode jour | 47 | - 17 : Menu température du mode jour |
46 | - 18 : Paramétrage température du mode jour | 48 | - 18 : Paramétrage température du mode jour |
47 | - 19 : Menu température du mode nuit | 49 | - 19 : Menu température du mode nuit |
48 | - 20 : Paramétrage température du mode nuit | 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 | ## Stockage des données | 55 | ## Stockage des données |
51 | 56 |
@@ -0,0 +1,39 @@ | @@ -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,7 +19,6 @@ | ||
19 | .equ ADCSRA = 0x7A | 19 | .equ ADCSRA = 0x7A |
20 | .equ ADCH = 0x79 | 20 | .equ ADCH = 0x79 |
21 | 21 | ||
22 | -.equ RAMEND = 0x21FF | ||
23 | .equ SPH = 0x3E | 22 | .equ SPH = 0x3E |
24 | .equ SPL = 0x3D | 23 | .equ SPL = 0x3D |
25 | 24 | ||
@@ -105,8 +104,14 @@ watchdog: | @@ -105,8 +104,14 @@ watchdog: | ||
105 | 104 | ||
106 | ; Interruption ADC | 105 | ; Interruption ADC |
107 | adc: | 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 | reti | 115 | reti |
111 | 116 | ||
112 | ; Interruption timer | 117 | ; Interruption timer |