Commit 200026c12d98897dc528ce4a899f1ad40e3e0f24
1 parent
fdd62867
ajout jour
Showing
1 changed file
with
19 additions
and
8 deletions
Show diff stats
Algorithme
@@ -23,9 +23,9 @@ debut: | @@ -23,9 +23,9 @@ debut: | ||
23 | EIMSK = 0x037 | 23 | EIMSK = 0x037 |
24 | EICRA = 0x06 | 24 | EICRA = 0x06 |
25 | EICRB = 0x00 | 25 | EICRB = 0x00 |
26 | - ADMUX <- 0b00010000 ; internal Vref, P0 et P1, gain x1 | ||
27 | - ADCSRB <- 0b00000000 ; free running mode | ||
28 | - ADCSRA <- 0b11100101 ; facteur de division : 32 | 26 | + ADMUX <- 0b00010000 |
27 | + ADCSRB <- 0b00000000 | ||
28 | + ADCSRA <- 0b11100101 | ||
29 | tab jour_lettre_1 = [70, 6E, 6E, 1C, 7C, 5B, 7E] | 29 | tab jour_lettre_1 = [70, 6E, 6E, 1C, 7C, 5B, 7E] |
30 | tab jour_lettre_2 = [7C, 6C, 73, 73, 73, 6F, 0C] | 30 | tab jour_lettre_2 = [7C, 6C, 73, 73, 73, 6F, 0C] |
31 | tab chiffre = [7E, 0C, 37, 17, 4D, 5B, 7B, 0E, 7F, 5F] | 31 | tab chiffre = [7E, 0C, 37, 17, 4D, 5B, 7B, 0E, 7F, 5F] |
@@ -41,7 +41,7 @@ debut: | @@ -41,7 +41,7 @@ debut: | ||
41 | Seconde=0 ;Seconde actuelle | 41 | Seconde=0 ;Seconde actuelle |
42 | Top_seconde=0 ;Tops de timer0 | 42 | Top_seconde=0 ;Tops de timer0 |
43 | chauffe=0 ;Etat actuel : 1 si en chauffage, 0 sinon | 43 | chauffe=0 ;Etat actuel : 1 si en chauffage, 0 sinon |
44 | - T=capteur ;Température actuelle lue par le capteur | 44 | + T=0 ;Température actuelle lue par le capteur |
45 | 45 | ||
46 | sei | 46 | sei |
47 | JMP boucle_inf | 47 | JMP boucle_inf |
@@ -60,6 +60,13 @@ HMJN: | @@ -60,6 +60,13 @@ HMJN: | ||
60 | 60 | ||
61 | WHILE(!HMJN) | 61 | WHILE(!HMJN) |
62 | if(plus) | 62 | if(plus) |
63 | + Jour=(Jour+1)%7 ;Ajout de 1 | ||
64 | + if(moins) | ||
65 | + Jour=(Jour-1)%7 ;Retrait de 1 | ||
66 | + Afficher(jour_lettre_1[Jour], jour_lettre_2[Jour]) ;Affichage du jour | ||
67 | + | ||
68 | + WHILE(!HMJN) | ||
69 | + if(plus) | ||
63 | Heure=(Heure+1)%24 ;Ajout de 1 | 70 | Heure=(Heure+1)%24 ;Ajout de 1 |
64 | if(moins) | 71 | if(moins) |
65 | Heure=(Heure+23)%24 ;Retrait de 1 | 72 | Heure=(Heure+23)%24 ;Retrait de 1 |
@@ -164,15 +171,19 @@ reglage: | @@ -164,15 +171,19 @@ reglage: | ||
164 | H_reglage_nuit=Heure_nuit[Jour]:Minute_nuit[Jour]; | 171 | H_reglage_nuit=Heure_nuit[Jour]:Minute_nuit[Jour]; |
165 | T=capteur ;Lecture de la valeur du capteur de température | 172 | T=capteur ;Lecture de la valeur du capteur de température |
166 | if(Heure:Minute<H_reglage_jour || Heure:Minute>H_reglage_nuit) | 173 | if(Heure:Minute<H_reglage_jour || Heure:Minute>H_reglage_nuit) |
167 | - if(T_nuit-T>0.5) | 174 | + if(T_nuit-T>0.5 && !chauffe) |
168 | demarrage chaudiere ;Démarrage de la chaudière | 175 | demarrage chaudiere ;Démarrage de la chaudière |
169 | - else if(T_nuit-T<-0.5) | 176 | + chauffe=1 |
177 | + else if(T_nuit-T<-0.5 && chauffe) | ||
170 | stop chaudiere ;Arrêt de la chaudière | 178 | stop chaudiere ;Arrêt de la chaudière |
179 | + chauffe=0 | ||
171 | else | 180 | else |
172 | - if(T_jour-T>0.5) | 181 | + if(T_jour-T>0.5 && !chauffe) |
173 | demarrage chaudiere ;Démarrage de la chaudière | 182 | demarrage chaudiere ;Démarrage de la chaudière |
174 | - else if(T_jour-T<-0.5) | 183 | + chauffe=1 |
184 | + else if(T_jour-T<-0.5 && chauffe) | ||
175 | stop chaudiere ;Arrêt de la chaudière | 185 | stop chaudiere ;Arrêt de la chaudière |
186 | + chauffe=0 | ||
176 | RET | 187 | RET |
177 | 188 | ||
178 | inc_heure: | 189 | inc_heure: |