Cours:Lo11Final : Différence entre versions
(Page créée avec « <accesscontrol>Acces:Prof</accesscontrol> Gestion du temps par µcontrôleur p { margin-bottom: 0.25cm; line-height: 120%; } Les timers sont despériphériques matérie... ») |
|||
| Ligne 1 : | Ligne 1 : | ||
<accesscontrol>Acces:Prof</accesscontrol> | <accesscontrol>Acces:Prof</accesscontrol> | ||
| − | Gestion du temps par µcontrôleur | + | '''<big><big>Gestion du temps par µcontrôleur</big></big>''' |
| − | |||
| − | + | Les timers sont des périphériques matériels qui permettent à un µcontrôleur une gestion précise du temps. | |
| − | + | Il s'agit tout simplement d'un compteur(avec plus ou moins de fonctions annexes) dont la période de comptage est connue. | |
| + | Il suffit ensuite de jouer sur les valeurs du compteur pour obtenir le temps souhaité. | ||
| − | Commençons | + | Le µcontrôleurAtmega8 que nous utilisons ne dispose pas de timer, aussi nous allons nous efforcer de lui en ajouter une version modeste ! |
| + | |||
| + | ={{Rouge|Préparation du timer}}= | ||
| + | |||
| + | |||
| + | Commençons par réaliser un compteur 8 bits avec entrée '''enable''' et valeur '''maximum'''. | ||
Prediv 256 | Prediv 256 | ||
| + | |||
| + | <source lang=vhdl> | ||
| + | library IEEE; | ||
| + | use IEEE.STD_LOGIC_1164.ALL; | ||
| + | |||
| + | entity pseudoTimer is | ||
| + | Port ( clk : in STD_LOGIC; | ||
| + | max : in STD_LOGIC_VECTOR (7 downto 0); | ||
| + | s : out STD_LOGIC); | ||
| + | end pseudoTimer; | ||
| + | |||
| + | architecture Behavioral of pseudoTimer is | ||
| + | signal en : STD_LOGIC; | ||
| + | signal cpt : STD_LOGIC_VECTOR (7 downto 0); | ||
| + | begin | ||
| + | |||
| + | |||
| + | end Behavioral; | ||
| + | </source> | ||
Version du 12 juin 2014 à 21:44
Il s’agit d’une page protégée.
Gestion du temps par µcontrôleur
Les timers sont des périphériques matériels qui permettent à un µcontrôleur une gestion précise du temps.
Il s'agit tout simplement d'un compteur(avec plus ou moins de fonctions annexes) dont la période de comptage est connue.
Il suffit ensuite de jouer sur les valeurs du compteur pour obtenir le temps souhaité.
Le µcontrôleurAtmega8 que nous utilisons ne dispose pas de timer, aussi nous allons nous efforcer de lui en ajouter une version modeste !
Préparation du timer
Commençons par réaliser un compteur 8 bits avec entrée enable et valeur maximum.
Prediv 256
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity pseudoTimer is
Port ( clk : in STD_LOGIC;
max : in STD_LOGIC_VECTOR (7 downto 0);
s : out STD_LOGIC);
end pseudoTimer;
architecture Behavioral of pseudoTimer is
signal en : STD_LOGIC;
signal cpt : STD_LOGIC_VECTOR (7 downto 0);
begin
end Behavioral;