Cours:Lo11Final : Différence entre versions
m |
|||
| Ligne 14 : | Ligne 14 : | ||
Commençons par réaliser un compteur 8 bits avec entrée '''enable''' et valeur '''maximum'''. | Commençons par réaliser un compteur 8 bits avec entrée '''enable''' et valeur '''maximum'''. | ||
| − | |||
| − | |||
<source lang=vhdl> | <source lang=vhdl> | ||
| Ligne 22 : | Ligne 20 : | ||
entity pseudoTimer is | entity pseudoTimer is | ||
| − | + | Port ( clk : in STD_LOGIC; | |
| − | + | max : in STD_LOGIC_VECTOR (7 downto 0); | |
| − | + | s : out STD_LOGIC); | |
end pseudoTimer; | end pseudoTimer; | ||
architecture Behavioral of pseudoTimer is | architecture Behavioral of pseudoTimer is | ||
| − | + | signal en : STD_LOGIC; | |
| − | + | ||
| + | signal cpt : STD_LOGIC_VECTOR (7 downto 0); | ||
| + | begin | ||
| + | |||
| + | comptage:process(clk,en) | ||
begin | begin | ||
| + | end process comptage; | ||
end Behavioral; | end Behavioral; | ||
</source> | </source> | ||
| + | |||
| + | {{Todo|Décrire le process '''comptage''' en implémentant les fonctions valeurs maximum et enable synchone}} | ||
| + | |||
| + | |||
| + | |||
| + | Prediv 256 | ||
Version du 12 juin 2014 à 21:47
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.
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
comptage:process(clk,en)
begin
end process comptage;
end Behavioral;
Décrire le process comptage en implémentant les fonctions valeurs maximum et enable synchone
Prediv 256