Salut à ts le monde,
J'ai un Capteur LM35DZ qui donne une tension a l'entrée CAN de mon PIC 18F458.
J'utilise le portD pour mes décodeur afin de m'affiché sur les 7 segments.
Mon capteur fourni une tension je doit le traduire en decimal, (sortie de capteur varie entre 0 et 1v et le portD varie entre 0 et 1024).
J'ai réusi a faire la conversion analogique numerique, mais après je bloque.
Le premier afficheur devrai affiché le point fort et le deuxieme devrai affiché le point faible, je me suis trompé dans le cablage du portD, donc dans le programme il faudrai prendre sa en compte.
J'utilise MpLab pour la programmation.
Je pense que je devrai faire un tableau pour mes afficheur, mais je suis pas très bon avec les pointeur.
Voici le programme que j'ai fait:
Si ya quelqu'un qui peut m'aidé sa serait très gentil.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #include <p18f458.h> #include <adc.h> #include <delays.h> int temp; unsigned char test1=0,test2=0,test3=o; void main() { TRISD=0; while(1) { OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_1ANA_0REF,ADC_CH0 &ADC_INT_OFF ); SetChanADC(ADC_CH0); Delay10TCYx( 50 ); ConvertADC(); /* Start conversion */ while( BusyADC() ); /* Wait for ADC conversion */ temp = ReadADC(); /* Read result and put in temp */ /*test pour 25 degré represente 255mV*/ if( temp==51) { PORTD=0x52 ; Delay10KTCYx(255); } CloseADC(); /* Disable A/D converter */ } }
Merci d'avance
Partager