Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #define TAILLE 8
- #define VREF 5
- #define NBIT 8
- #define BETA 3700.0
- #define TREF 295.0
- #define RREF 5.6
- void Remplir_Tableau_Binaire(int Binaire[] , int taille)
- {
- int i;
- for( i = 0 ; i < taille ; i++)
- {
- printf("Entrez DB%d valeure binaire : ", 7-i);
- scanf("%d",&Binaire[i]);
- }
- }
- void Affiche_Tableau(int Binaire[], int taille)
- {
- int i;
- for ( i = 0 ; i < taille ; i++)
- {
- printf("%d \t",Binaire[i]);
- }
- printf("\n");
- }
- int Convertisseur_Numerique_Analogique(int binaire[] , int taille)
- {
- int i;
- int decimal = 0;
- for ( i = 0 ; i < taille ; i++)
- {
- decimal = decimal + ( binaire[i] * ( pow(2,(taille - i - 1)) ) );
- }
- return decimal;
- }
- float TensionDentree(int vref , int nb_bit , int decimal)
- {
- return decimal * ( 5 / (pow(2,nb_bit)));
- }
- float EntreeSoustracteur(float Vcan )
- {
- return Vcan + 5 ;
- }
- float TensionDuPont(float Vamp)
- {
- return (Vamp / 1.5) ;
- }
- float R(float V)
- {
- return ((V * 5.6)/(10 - V)) ;
- }
- float TemperatureKelvin( float RCTN , float beta , float Tref , float Rref)
- {
- float a = 1/Tref;
- float b = log(RCTN/RREF);
- float c = b / beta ;
- return 1 / (c + a) ;
- }
- float ConvertisseurKelvinCelsius( float K )
- {
- return K - 273;
- }
- int main(void)
- {
- int Binaire[TAILLE];
- int dec;
- float Vin;
- float Vamp;
- float Vpont;
- float RCTN;
- float TK;
- float TC;
- /* Remplissage du tableau Binaire */
- Remplir_Tableau_Binaire(Binaire,TAILLE);
- /* Affichage du tableau */
- Affiche_Tableau(Binaire,TAILLE);
- /* Recuperation de la valeur decimal*/
- dec = Convertisseur_Numerique_Analogique(Binaire,TAILLE);
- printf("La valeure decimal est : %d \n",dec);
- /* Recuperation de la valeur de Vin du CAN */
- Vin = TensionDentree(VREF,NBIT,dec);
- printf("La tension d entree Vin est : %f \n",Vin);
- /* Recuperation de la tension du pont amplifié */
- Vamp = EntreeSoustracteur(Vin);
- printf("La tension amplifie est : %f \n",Vamp);
- /* Recupération de la tension d'entrée */
- Vpont = TensionDuPont(Vamp);
- printf("La tension du pont est : %f \n",Vpont);
- /* Recupération de la valeur de RCTN */
- RCTN = R(Vpont);
- printf("La valeur de RCTN est : %f \n",RCTN);
- /* Récuperation de la température en Kelvin */
- TK = TemperatureKelvin(RCTN,BETA,TREF,RREF);
- printf("La valeur de la temperature en Kelvin est : %f K \n",TK);
- /* Récupération de la température en Celcius */
- TC = ConvertisseurKelvinCelsius(TK);
- printf("La valeur de la temperature en Celsius est : %f C \n ",TC);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement