diff --git a/CR.md b/CR.md index a206e4c..4c5bceb 100644 --- a/CR.md +++ b/CR.md @@ -31,21 +31,26 @@ Voici la hiérarchie du menu qui sera utilisée pour configurer le thermostat : - Température du mode jour - Témpérature du mode nuit - Réglage de la date et heure + - Jour de la semaine - Heures - Minutes - - Jour de la semaine 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. + + ## États -- 0-1 : Veille (Heure, Température) +- 0→1 : Veille (Heure, Température) - 2 : Menu Association mode ↔ Heure de la semaine -- 3-9 : Menu jours (Lundi - Vendredi) -- 10-16 : Paramétrage des jours (Lundi - Vendredi) +- 3→9 : Menu jours (Lundi - Vendredi) +- 10→16 : Paramétrage des jours (Lundi - Vendredi) - 17 : Menu température du mode jour - 18 : Paramétrage température du mode jour - 19 : Menu température du mode nuit - 20 : Paramétrage température du mode nuit +- 21 : Menu réglage de la date et heure +- 22→24 : Menu réglage du jour / heure / minute +- 25→27 : Paramétrage du jour / heure / minute ## Stockage des données diff --git a/allumertous.txt b/allumertous.txt new file mode 100644 index 0000000..9b21ce7 --- /dev/null +++ b/allumertous.txt @@ -0,0 +1,39 @@ +.equ PINA = 0x00 ; définition des adresses des ports +.equ DDRA = 0x01 +.equ PORTA = 0x02 +.equ PINB = 0x03 +.equ DDRB = 0x04 +.equ PORTB = 0x05 +.equ PINC = 0x06 +.equ DDRC = 0x07 +.equ PORTC = 0x08 + +.equ RAMEND = 0x21FF +.equ SPH = 0x3E ; initialisation de la pile +.equ SPL = 0x3D + +.org 0x000 + ; Vecteur RESET + jmp debut + +.org 0x0080 + +debut: + DDRA@IO <- 0xFF + DDRC@IO <- 0xFF + +boucle: + PORTA@IO <- 0xFF + PORTC@IO <- 0x00 + jmp boucle ; On recommence + +tempo: + ; On fait une pause + ldi r24,8 +tempoA: + subi r22,1 + sbci r23,0 + sbci r24,0 + brcc tempoA + ret + diff --git a/principal.txt b/principal.txt index 8a3f1e6..8194b4a 100644 --- a/principal.txt +++ b/principal.txt @@ -19,7 +19,6 @@ .equ ADCSRA = 0x7A .equ ADCH = 0x79 -.equ RAMEND = 0x21FF .equ SPH = 0x3E .equ SPL = 0x3D @@ -105,8 +104,14 @@ watchdog: ; Interruption ADC adc: - ; TODO Lire ADCH - ; Active ou désactive la chaudière selon la température lue et celle de référence + si ADCH > reference + 5 saut eteindreChaudiere + si ADCH < reference - 5 saut allumerChaudiere + reti +allumerChaudiere: + PORTC <- 0x01 + reti +eteindreChaudiere: + PORTC <- 0x00 reti ; Interruption timer -- libgit2 0.21.2