Coucou tout le monde,
Je dois convertir une tension qui varie de 3.2V à 0V !
J'utilise le le can interne d'un PIC16F877A !
Je paramètre les bits :
Afin d'avoir comme tension de référence 3.3V issue d'un montage résistance et diode zener.PCFG0 = 0; // RA0 analogique ; Verf+ = RA3 ; Verf- = Vss
PCFG1 = 0; // RA0 analogique ; Verf+ = RA3 ; Verf- = Vss
PCFG2 = 0; // RA0 analogique ; Verf+ = RA3 ; Verf- = Vss
PCFG3 = 0; // RA0 analogique ; Verf+ = RA3 ; Verf- = Vss
Mais quand je met en route le programme la tension chute à 2.9V
Après recherche je m'aperçois que mon TrisA vaut 0b00000001 !
(Programme simple pour tester le registre du portA)#include <16F876A.h>
#fuses hs, nowdt, noprotect, nolvp
#use delay (clock=8000000)
#byte PortA = 0x05
#byte TrisA = 0x85
#byte PortB = 0x06
#byte TrisB = 0x86
//---------------------------------------------------------
void main()
{
TrisA = 0x00001001;
TrisB = 0x00000000;
while(1)
{
PortB = PortB + 1;
}
}
La ligne
ne s'effectue pas !TrisA = 0x00001001;
Auriez vous une idée ?
Je reste dispo pour plus d'info et merci d'avance ...
-----