Commit b469a2530031b54b0f3f98cbed26a197062fc011

Authored by Geoffrey PREUD'HOMME
1 parent 2962f7e6

Récupération de ce qui avait été écrit en séance

Showing 3 changed files with 53 additions and 22 deletions   Show diff stats
1 1 # Tutorat de microprocesseurs - Sujet 8 - Thermostat
2 2 ## DJERABA Taky - HUBERT Thomas - PREUD'HOMME Geoffrey
3 3  
4   -# Brouillon
  4 +# Sujet
5 5  
6   -Wouhou, on peut écrire en **gras** et en *italique*, des ~~conneries~~ bêtises, écrire des formules très complexes telles que $ax^2+bx+c=0$ et écrire du `petit code` et du gros code :
  6 +<!-- TODO Faire un bref résumé de ce qu'on nous demande -->
7 7  
8   -```avrasmplus
9   -.equ RAMEND = 0x21FF
10   -.equ SPH = 0x3E ; initialisation de la pile
11   -.equ SPL = 0x3D
  8 +# Architecture matérielle
12 9  
13   -.org 0x000
14   - ; Vecteur RESET
15   - jmp debut
  10 +## Entrées
16 11  
17   -```
  12 +On utilisera 4 boutons : pour valider, revenir en arrière, incrémenter et décrémenter. Ils sont branchés sur les ports d'interruption INT0 à INT3 <!-- TODO Association bouton-port interruption --> pour éviter une scrutation afin d'économiser de l'énergie.
18 13  
19   -Ou alors carrément récupérer le code depuis un fichier !
  14 +Le capteur de température est connecté sur le convertisseur analogique-numérique numéro <!-- TODO numéro et désignation technique -->.
20 15  
21   -!include(code.txt lang=avrasmplus)
  16 +# Étude du fonctionnement
22 17  
23   -Il faut passer une ligne pour faire un nouveau paragraphe.
24   -Sinon ça marche pas.
  18 +Les associations de chaque heure de la semaine à son mode (jour/nuit) seront stockées dans la RAM. Bien qu'en théorie nous n'avons besoin que de $\frac{ \text{nb jours/semaine} \times \text{nb heures/jour} \times \text{nb bits pour stocker le mode} }{ \text{nb bits stockables sur une adresse} }$ $=\frac{7 \times 24 \times 1 }{ 8 }$ $=\frac{168}{8}$ $=21$ adresses pour stocker ces informations, on préfèrera utiliser une adresse par heure de la semaine, soit $168$ adresses. Bien que l'on perd en espace mémoire disponible, on garde en rapidité d'éxecution (et donc en énergie), en effet il n'est pas nécessaire d'utiliser des masques pour récupérer la valeur des bits individuels. De toutes manières, dans notre cas le microprocesseur n'abritera aucun autre programme avec qui il devra partager la RAM, et la consommation énergétique ne change pas selon le nombre d'adresses utilisées, donc il n'y a que des avantages à utiliser cette technique.
25 19  
26   -Là oui.
27 20  
28   -On peut intégrer des images
  21 +## Menu
29 22  
30   -![Afficheur 7 segments](7seg.svg)
  23 +Voici la hiérarchie du menu qui sera utilisé pour
31 24  
32   -<!-- Et des commentaires aussi ! -->
33   -<!-- TODO Enlever ce brouillon -->
  25 +# Configuration des interfaces
34 26  
35   -# Trucs à replacer quelque part
  27 +## ADC
36 28  
37   -Les associations de chaque heure de la semaine à son mode (jour/nuit) seront stockées dans la RAM. Bien qu'en théorie nous n'avons besoin que de $\frac{ \text{nb jours/semaine} \times \text{nb heures/jour} \times \text{nb bits pour stocker le mode} }{ \text{nb bits stockables sur une adresse} }$ $=\frac{7 \times 24 \times 1 }{ 8 }$ $=\frac{168}{8}$ $=21$ adresses pour stocker ces informations, on préfèrera utiliser une adresse par heure de la semaine, soit $168$ adresses. Bien que l'on perd en espace mémoire disponible, on garde en rapidité d'éxecution (et donc en énergie), en effet il n'est pas nécessaire d'utiliser des masques pour récupérer la valeur des bits individuels. De toutes manières, dans notre cas le microprocesseur n'abritera aucun autre programme avec qui il devra partager la RAM, et la consommation énergétique ne change pas selon le nombre d'adresses utilisées, donc il n'y a que des avantages à utiliser cette technique.
  29 +On le configurera de manière à mettre les 8 premiers bits de points forts sur un registre complet <!-- TODO comment ça s'appelle ce mode -->. En effet, les valeurs de témpératures allant de 5,0° à 30,6°, en choisissant une précision de 0,1° on obient 256 valeurs possibles, ce qui peut se stocker sur un seul régistre. Une précision supplémentaire ne semble pas nécessaire.
  30 +
  31 +Il sera de plus configuré pour s'activer sur demande et activera une interruption dès que la conversion est terminée afin d'éviter toute scrutation.
  32 +
  33 +# Algorithme
38 34  
... ...
README.md
... ... @@ -3,7 +3,7 @@ DJERABA Taky - HUBERT Thomas - PREUD&#39;HOMME Geoffrey
3 3  
4 4 ## Compte-rendu
5 5  
6   -À écrire dans `CR.md`, pour différentes façons d'écrire consultez un tuto sur le Markdown.
  6 +À écrire dans `CR.md`, pour différentes façons d'écrire consultez un tuto sur le Markdown, ou regardez ce qu'il est possible de faire avec le fichier `demo.md` (à compiler en PDF avec `make demo.pdf`).
7 7  
8 8 Pour générer un fichier PDF, assurez-vous d'avoir lancé `./configure` une fois sans erreur, puis lancez la commande `make`.
9 9  
... ...
demo.md 0 → 100644
... ... @@ -0,0 +1,35 @@
  1 +# Je suis un gros titre
  2 +## Il est pas gros, juste un peu enveloppé
  3 +
  4 +# Brouillon
  5 +
  6 +## Titre de second niveau
  7 +
  8 +Wouhou, on peut écrire en **gras** et en *italique*, des ~~conneries~~ bêtises, écrire des formules très complexes telles que $ax^2+bx+c=0$ et écrire du `petit code` et du gros code :
  9 +
  10 +```avrasmplus
  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 +```
  20 +
  21 +Ou alors carrément récupérer le code depuis un fichier !
  22 +
  23 +!include(code.txt lang=avrasmplus)
  24 +
  25 +Il faut passer une ligne pour faire un nouveau paragraphe.
  26 +Sinon ça marche pas.
  27 +
  28 +Là oui.
  29 +
  30 +On peut intégrer des images
  31 +
  32 +![Afficheur 7 segments](7seg.svg)
  33 +
  34 +<!-- Et des commentaires aussi ! -->
  35 +<!-- TODO Enlever ce brouillon -->
... ...