Commit aadee41754ea9c26deb90a6280da22350541632e

Authored by Geoffrey PREUD'HOMME
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 +- 01 : 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  
... ...
allumertous.txt 0 → 100644
... ... @@ -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
... ...