Ce code permet de générer un signal PWM (Pulse Width Modulation) à l'aide des timers des hc08 en mode unbuffered.
Il faut mettre la fonction initpwm() en début de programme puis à tout moment vous pouvez modifier le rapport cyclique avec la fonction pwm(valeur).
N'oubliez pas d'autoriser les interruptions.
- Cette fonction permet d'initialiser la fonction sur T1CH0:
void initpwm (void)La période du signal PWM est à mettre dans T1MOD, la valeur est comprise entre 0 et $FFFF.
Cette valeur est à déterminer en fonction de la vitesse de bus interne.
- Cette fonction permet de modifier le rapport cyclique du signal:
void pwm (unsigned char pulse)Le réglage du rapport cyclique se fait dans T1CH0 (de 0 à T1MOD-1) car il ne faut pas que le temps haut du signal soit plus long que la durée de la période!
Le fichier avec les codes sont dans le fichier en bas de l'article.