Pic 16f877 *** lcd 16*2

creaturemal Messages postés 121 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 15 juin 2015 - 1 juin 2014 à 23:43
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 2 juin 2014 à 00:36
Bonjour,
Bonjour tout le mode
mon schema c'est un pic 16f877 relié a 2 barregraph et 2 resistance variable pour donner en temps reel le niveau d'un liquide (simulation)
sur les barregraphe a 10 leds j'ai utiliser que les 8 premiere
voila le schema :

et voila le programme pour les 2 barregraph :
unsigned int niv_bac1;
unsigned int niv_bac2;
unsigned char i,j;
unsigned int niveaux[8] = {127, 254, 382, 510, 638, 776, 894, 1022};

unsigned char VnDuNiveau(unsigned int val) {
unsigned char i = 0;
while (i < sizeof(niveaux)) {
if (val < niveaux[i])
return i;
else i++;
}
}




void main() {
// Configuration des pins 2 et 3 en analogique

TRISA = 0xFF; // programmtion du PORTA en entrée
TRISB = 0; // programmtion du PORTB en sortie
TRISC = 0; // programmtion du PORTC en sortie
TRISD = 0; // programmtion du PORTD en sortie
OPTION_REG.NOT_RBPU = 0;

do {
adcon0=0x80;
niv_bac1= Adc_Read(0); // lecture du niveau de fluide du bac1
//portB=niv_bac1>>2; //Affichage en binaire du niveau de fluide
j= VnDuNiveau(niv_bac1);

switch ( j ) {
case 0:
// Code
portB = 0x01;
break;

case 1:
// Code
portB = 0x03;
break;
case 2:
// Code
portB = 0x07;
break;

case 3:
// Code
portB = 0x0F;
break;
case 4:
// Code
portB = 0x1F;
break;
case 5:
// Code
portB = 0x3F;
break;
case 6:
// Code
portB = 0x7F;
break;
case 7:
// Code
portB = 0xFF;
break;

}



adcon0=0x88; //du bac1 sur le portB
niv_bac2= Adc_Read(1); // lecture du niveau de fluide du bac2



//PORTC = niv_bac2>>2; //Affichage en binaire du niveau de fluide
//du bac2 sur le portC
j= VnDuNiveau(niv_bac2);

switch ( j ) {
case 0:
// Code
portC = 0x01;
break;

case 1:
// Code
portC = 0x03;
break;
case 2:
// Code
portC = 0x07;
break;

case 3:
// Code
portC = 0x0F;
break;
case 4:
// Code
portC = 0x1F;
break;
case 5:
// Code
portC = 0x3F;
break;
case 6:
// Code
portC = 0x7F;
break;
case 7:
// Code
portC = 0xFF;
break;

}













} while(1);
}
je cherche le programme pour faire fonctionner le LCD pour qu'il affiche le niveau aussi
qui peut me donner le programme SVP sa m'aidera beacoup
A voir également:

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
2 juin 2014 à 00:36
Bonjour,
Merci de garder à l'esprit que CodeS-SourceS est une communauté d'entraide.

Toutes les réponses sur le forum sont assurées par des bénévoles
qui donnent de leur temps libre pour aider à résoudre les problèmes.

A noter également que nous ne faisons pas dans le "tout cuit" et ne sommes pas là pour remplacer votre moteur de recherches...
... Soit tu trouves ton bonheur dans la partie source du site, soit à l'aide de ton moteur de recherche favori.

Ici, nous aidons volontiers sur des sujets techniques précis.

Je t'invite à lire avec attention le contenu du lien suivant :conseils-d-ecriture

Merci donc de reformuler ta demande en respectant ces quelques points.

Quelques points essentiels à retenir :

- On ne pose qu' UNE question par discussion
- Le titre de la question doit refléter le souci rencontré ( Help.. SOS.. Urgent.. n'apporte aucune information utile !)
- Lorsque votre question est résolue.. merci de clore le sujet (lien Marquer comme résolu se trouvant sous le titre de votre question).
- Une question obtiendra de meilleurs réponses si elle est correctement rédigée, que les explications sont clairs et qu'éventuellement vous postez le code qui pose problème.
- Si vous avez un message d'erreur..... MARQUEZ LE (dans son intégralité).
0
Rejoignez-nous