Précédent   Forum FS Generation > Futura-Techno : les forums de l'informatique et des technologies > Électronique
Mot de passe oublié ? Inscrivez-vous !


Réponse
 
Outils de la discussion Modes d'affichage
Vieux 28/03/2005, 17h30   #1
 
Date d'inscription: février 2005
Messages: 5
aide prog

bjr tt le monde voila sur le meme composant bq26200, j'ai effectuer un programme en C afin de generer la trame figure 2 page6 du lien ci dessous a l'aide d'un micro_controleur89c51, mtn je dois modifier ce programme afin de faire communiquer le bq26200 avc le 89c51 que dois je modifier ds mon programme afin que cela fonctionne merci
cordialement
http://focus.ti.com/lit/ds/symlink/bq26200.pdf
et voici mon programme
//PROGRAMMATION BQ2000 SPI rapide
#include <c:\bq\bq.h>
#include<stdio.h>
#include<math.h>
at 0xA2 sbit HDQ_TX ;
at 0xA3 sbit HDQ_RX ;
at 0xA4 sbit TEST ;
extern void INITIALISATIONS (void);
extern void Temporisation (char n);
char Ad1,byte1, byte2, HDQ;
void HDQ_REPOS(void)
{ HDQ_TX=1;
}
//************************** EMISSION ***********************
//****************************** ******************************
void HDQ_WRITE_BYTE(char ADRESSE,char OCTET)
{ char compt;
ADRESSE=ADRESSE|0x80;
//break
HDQ_TX=0;
Temporisation(190);
//start
HDQ_TX=1;
Temporisation(1);
//EMISSION DE l'adresse+ bit write
for (compt=0; compt<=7; compt++)
{HDQ_TX=ADRESSE&0x01; //emmission poid faible
if (HDQ_TX==1)
{HDQ_TX=0;
Temporisation(25); //40us
HDQ_TX=1;
Temporisation(185);} //200us
else
{(HDQ_TX=0);
Temporisation(105); //120us
HDQ_TX=1;
Temporisation(105);
}; //120us
ADRESSE=(ADRESSE/2); //decalage de 1 a droite
};
HDQ_TX=1;
Temporisation(300);
//EMISSION DE l'octet
for (compt=0; compt<=7; compt++)
{HDQ=OCTET&0x01; //emmission poid fort
if (HDQ==1)
{HDQ_TX=0;
Temporisation(25);
HDQ_TX=1;
Temporisation(185);}
else
{(HDQ_TX=0);
Temporisation(105);
HDQ_TX=1;
Temporisation(105);};
OCTET=(OCTET/2); //decalage de 1 a droite et masque
};
}
//************************ RECEPTION ************************
//****************************** ******************************
char HDQ_WRITE_READ(char ADRESSE)
{ char compt, octet_recu;
ADRESSE=ADRESSE & 0x7F;
// Temporisation(1);
//EMISSION DE l'adresse+ bit read
for (compt=0; compt<=7; compt++)
{HDQ=ADRESSE&0x01;
//emmission poid faible
if (HDQ==1)
{HDQ_TX=0;
Temporisation(25); //40us
HDQ_TX=1;
Temporisation(185);} //200us
else
{(HDQ_TX=0);
Temporisation(105); //120us
HDQ_TX=1;
Temporisation(105);}; //120us
ADRESSE=(ADRESSE/2); //decalage de 1 a droite
};
HDQ_TX=1; Temporisation(300);
//reception l'octet
for (compt=0; compt<=7; compt++)
{
};
return octet_recu;
}

//****************************** ******************************
// acquisition de la valeur de l adresse
//****************************** ******************************
long LIRE_ADRESSE(void)
{long d;
scanf ("%ld",&d);
return d;
}
//****************************** ******************************
// acquisition de la valeur de l octet
//****************************** ******************************
long LIRE_VALEUR(void)
{long val;
scanf ("%ld",&val);
return val;
}
//****************************** ******************************
// PROGRAMME PRINCIPAL
//****************************** ******************************
void main (void)
{ HDQ_REPOS();
INITIALISATIONS ();
while(1)
{ printf("entrez la valeur en decimal de l'adresse ou ecrire, puis touche ENTER \n ");
TEST=0;
Ad1 = LIRE_ADRESSE(); printf("\n"); printf("\n");
TEST=1;

printf("entrez la valeur en decimal de la valeur a envoyer, puis touche ENTER \n ");
byte1 = LIRE_VALEUR(); printf("\n"); printf("\n");
HDQ_WRITE_BYTE(Ad1, byte1);
// printf("entrez la valeur en decimal de l'adresse a lire, puis touche ENTER \n ");
// byte2 = LIRE_VALEUR(); printf("\n"); printf("\n");
// byte2= HDQ_WRITE_READ(Ad1);
};
}
b2o53 est déconnecté   Réponse avec citation
Alt Aujourd'hui
Publicité

Beitrag Liens sponsorisés

   






Réponse

Tags
prog

Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
AIde sur Prog simple en basic Alex-I Électronique 6 12/09/2006 23h24
aide fin de prog b2o53 Électronique 1 17/03/2005 21h31
prog de calculette tikiller2.0 Logiciel - Software - Open Source 0 06/12/2004 12h36
Recherche utilisateurs JAVAMOK ! Aide config carte prog. ! Doude Électronique 9 25/07/2004 21h21
Une aide pour mieux utiliser l'ic-prog metronic Électronique 1 17/07/2004 20h12


Les dernières actualités
12/10 16:17 - Une nouvelle génération d'écrans souples, plus grands et plus réactifs
12/10 15:22 - En images : quand les astronomes dessinent l'Univers
11/10 15:13 - Sur Mars, Phoenix est à l'agonie au seuil de l'hiver arctique
11/10 13:05 - La Terre vue de l'espace : l'Europe occidentale sans nuage
11/10 10:52 - Des supraconducteurs nanométriques pour une nouvelle électronique
10/10 16:44 - Une centrale solaire pilote près de Bordeaux
10/10 14:34 - En bref : l'éclairage remplacera-t-il le Wi-Fi ?

Fuseau horaire GMT +2. Il est actuellement 20h02.


Édité par : vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. Tous droits réservés.