Utilisation des timers du 9S12.Reprenons les exemples de la première partie et essayons de voir ce qu'il faut mettre dans les registres du bloc de timers pour obtenir le résultat souhaité (sans faire de programmation bien sûr). Pour fabriquer un "la" à 440 Hz à partir d'un quartz à 16 MHz, on va dans un premier temps essayer d'analyser la situation : - Tout d'abord, on doit agir en sortant un signal du
microcontrôleur. Celui-ci est donc en mode Output Compare. On a donc réussi par cette méthode à réaliser un "la" à 440 Hz (pour être exact à 439,9956 Hz). Pour le cas de l'homme mort, le rôle du timer consiste à capturer la présence d'un front (montant ou descendant, peu importe) et à transmettre une information d'Overflow au bout par exemple de 5 minutes, toujours à partir d'un quartz à 16 MHz. Pour atteindre 5 minutes, il faut impérativement être capable de compter 4 800 000 000 d'impulsions (ce qui nécessite au moins un compteur sur 33 bits). Le timer, en utilisant l'ensemble de sa capacité de comptage directe (sans fabriquer de sorties qui doivent être connectées, à l'extérieur, à des entrées) est de 274 877 906 944, largement plus qu'il n'en faut (avec un quartz à 16 MHz, cela représente 4 heures 46 minutes et 20 secondes).
|