La tension ainsi que le courant sont acquis par le convertisseur analogique-numérique (ADC 10bits) de l'ATmega8. Ce dernier est configuré avec comme tension de référence la référence interne = 2.56V
Le signal PWM de commande du MOSFET est généré par le timer1 en configuration de résolution temporelle sur 16bits:
code:
"TCCR1A |= (1 << WGM13) | (1 << WGM12) | (1 << WGM11) | (1 << WGM10); // set 16bit phase corrected PWM Mode"
Lors de la phase de RESET (qui peut durer... un certain temps surtout si l'on s'endort avec le doigt appuyé sur le bouton "reset") tous les pins d'E/S de l'ATmega8 se placent en mode haute impédance. Leur potentiel est alors déterminé par la connectique. C'est la raison de la présence d'une résistance de 10k câblée entre le pin15 (PB1 = sortie OC1A : signaux PWM) et le +Vcc 5V, afin de bloquer le MOSFET. Sans cette résistance, l'alim délivrerait 32V pendant la phase de reset!!
L'attribution des pins/ports pour le LCD (et le type de LCD) est faite dans le fichier "dm_lcd.h"