diff --git a/CR.md b/CR.md index 92c274b..465b1fb 100644 --- a/CR.md +++ b/CR.md @@ -1,38 +1,34 @@ # Tutorat de microprocesseurs - Sujet 8 - Thermostat ## DJERABA Taky - HUBERT Thomas - PREUD'HOMME Geoffrey -# Brouillon +# Sujet -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 : + -```avrasmplus -.equ RAMEND = 0x21FF -.equ SPH = 0x3E ; initialisation de la pile -.equ SPL = 0x3D +# Architecture matérielle -.org 0x000 - ; Vecteur RESET - jmp debut +## Entrées -``` +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 pour éviter une scrutation afin d'économiser de l'énergie. -Ou alors carrément récupérer le code depuis un fichier ! +Le capteur de température est connecté sur le convertisseur analogique-numérique numéro . -!include(code.txt lang=avrasmplus) +# Étude du fonctionnement -Il faut passer une ligne pour faire un nouveau paragraphe. -Sinon ça marche pas. +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. -Là oui. -On peut intégrer des images +## Menu -![Afficheur 7 segments](7seg.svg) +Voici la hiérarchie du menu qui sera utilisé pour - - +# Configuration des interfaces -# Trucs à replacer quelque part +## ADC -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. +On le configurera de manière à mettre les 8 premiers bits de points forts sur un registre complet . 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. + +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. + +# Algorithme diff --git a/README.md b/README.md index 18a7bd9..b7555c1 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ DJERABA Taky - HUBERT Thomas - PREUD'HOMME Geoffrey ## Compte-rendu -À écrire dans `CR.md`, pour différentes façons d'écrire consultez un tuto sur le Markdown. +À é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`). Pour générer un fichier PDF, assurez-vous d'avoir lancé `./configure` une fois sans erreur, puis lancez la commande `make`. diff --git a/demo.md b/demo.md new file mode 100644 index 0000000..945f5c1 --- /dev/null +++ b/demo.md @@ -0,0 +1,35 @@ +# Je suis un gros titre +## Il est pas gros, juste un peu enveloppé + +# Brouillon + +## Titre de second niveau + +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 : + +```avrasmplus +.equ RAMEND = 0x21FF +.equ SPH = 0x3E ; initialisation de la pile +.equ SPL = 0x3D + +.org 0x000 + ; Vecteur RESET + jmp debut + +``` + +Ou alors carrément récupérer le code depuis un fichier ! + +!include(code.txt lang=avrasmplus) + +Il faut passer une ligne pour faire un nouveau paragraphe. +Sinon ça marche pas. + +Là oui. + +On peut intégrer des images + +![Afficheur 7 segments](7seg.svg) + + + -- libgit2 0.21.2