Programme pour afficheur 7 segments
Fermé
venom_57
Messages postés
3
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
24 avril 2008
-
24 avril 2008 à 09:56
otmane ingenieur - 25 mars 2014 à 23:16
otmane ingenieur - 25 mars 2014 à 23:16
A voir également:
- Afficheur 7 segments programme
- Programme demarrage windows 10 - Guide
- Lg non programmé ✓ - Forum TV & Vidéo
- Telecharger photofiltre 7 gratuit - Télécharger - Retouche d'image
- Programme (x86) ✓ - Forum Windows
- Movie maker windows 7 - Télécharger - Montage & Édition
7 réponses
Salut à toi !
Il est un peu difficile, sans prendre le temps de comprendre ce qu'est censé faire ton programme, fonctionnellement.
Quelques explications serait les bienvenues.
Toutefois,
Je remarque deux choses :
#define BP2 PORTB.1
#define BP3 PORTB.2
BP doit être pour "bouton poussoir" ? donc des entrées ?
Or tu mets :
TRISB=1;
c'est a dire que tu ne configure que RB0 pour être un input :
TRISB est un octect de 8 bits, en faisant TRISB=1 cela revient a dire TRISB = 0b00000001. C'est a dire alors que PORTB.1 et PORTB.2 sont configurés en outputs et non en input ( si j'ai bien compris ton programme)?
Correction a apporter ( si BPx et FCx sont des Inputs) :
TRISB = 0b00111110
ou encore TRISB = 62
Une suggestion aussi, tu peux utiliser également une interruption sur RBIE et INTE pour que ton programme puisse automatiquement te lancer un evènement sur RB0 (pour INTE), RB4->RB7 (pour RBIE)
Il te faudrait alors configurer le registre INTCON = 0b100011000. Et traiter dans ton evèvneemnt les conditions RBIF==1 et/ou INTF==1. En pensant à la fin de ton traitement evènementiel à remettre RBIF=0 et INTF=0 avant que les futurs évènements soient pris en compte.
Il est un peu difficile, sans prendre le temps de comprendre ce qu'est censé faire ton programme, fonctionnellement.
Quelques explications serait les bienvenues.
Toutefois,
Je remarque deux choses :
#define BP2 PORTB.1
#define BP3 PORTB.2
BP doit être pour "bouton poussoir" ? donc des entrées ?
Or tu mets :
TRISB=1;
c'est a dire que tu ne configure que RB0 pour être un input :
TRISB est un octect de 8 bits, en faisant TRISB=1 cela revient a dire TRISB = 0b00000001. C'est a dire alors que PORTB.1 et PORTB.2 sont configurés en outputs et non en input ( si j'ai bien compris ton programme)?
Correction a apporter ( si BPx et FCx sont des Inputs) :
TRISB = 0b00111110
ou encore TRISB = 62
Une suggestion aussi, tu peux utiliser également une interruption sur RBIE et INTE pour que ton programme puisse automatiquement te lancer un evènement sur RB0 (pour INTE), RB4->RB7 (pour RBIE)
Il te faudrait alors configurer le registre INTCON = 0b100011000. Et traiter dans ton evèvneemnt les conditions RBIF==1 et/ou INTF==1. En pensant à la fin de ton traitement evènementiel à remettre RBIF=0 et INTF=0 avant que les futurs évènements soient pris en compte.