7-Segment Display> PICBASIC Pro

M

m

Guest
Bonjour

Je veux conduire trois segments affiche 7 à l'aide PICBASIC Pro pour afficher un certain nombre de zéro à 255, la chose que je n'arrive pas à comprendre est la manière de résoudre le numéro pour l'afficher sur les écrans, je veux dire que si le nombre est de 197, comment puis-je afficher sur les trois écrans.

Peut-on écrire comment puis-je faire avec un PICBASIC code Pro, s'il vous plaît donner la réponse juste un code.

Thanx

 
Exemple de 4-chiffres segment séquentiel affichage-7 dans le PIC et PICBASIC:
http://picbasic.com/resources/articles/ledart.htm

 
Bonjour

J'ai écrit ce code:Un octet VAR
B BYTE VAR: B = 0
C BYTE VAR: C = 0
Je VAR BYTE: I = 0
R BYTE VAR: R = 0
DIGIT BYTE VAR
DIGIT_1 BYTE VAR: DIGIT_1 = 0
DIGIT_2 BYTE VAR: DIGIT_2 = 0
DIGIT_3 BYTE VAR: DIGIT_3 = 0

TRISA = 24
TRISB = 0

MAIS:
BOUTON PORTA.3, 1, 20, 5, B, 1, INCR
BOUTON PORTA.4, 1, 20, 5, C, 1, DECR
GOTO

INCR:
IF I = 255 alors mais
I = I 1
DIGIT_1 = I / 100
R = I / / 100
DIGIT = DIGIT_1
GOSUB LOOK
GOSUB LP_1
= R DIGIT_2 / 10
DIGIT = DIGIT_2
GOSUB LOOK
GOSUB LP_2
= R DIGIT_3 / / 10
DIGIT = DIGIT_3
GOSUB LOOK
GOSUB LP_3
GOTO

DECR:
IF I = 0 alors mais
I = I - 1
DIGIT_1 = I / 100
R = I / / 100
DIGIT = DIGIT_1
GOSUB LOOK
GOSUB LP_1
= R DIGIT_2 / 10
DIGIT = DIGIT_2
GOSUB LOOK
GOSUB LP_2
= R DIGIT_3 / / 10
DIGIT = DIGIT_3
GOSUB LOOK
GOSUB LP_3
GOTOLOOK:
Recherche de DIGIT, [$ C0, $ F9, $ A4, $ B0, $ 99, $ 92, $ 82, $ F8, 80 $, 90 $], un
RETOURLP_1:
PORTA.2 = 0
PORTA.1 = 0
PORTA.0 = 0
PORTB = A
PORTA.2 = 1
RETOUR

LP_2:
PORTA.2 = 0
PORTA.1 = 0
PORTA.0 = 0
PORTB = A
PORTA.1 = 1
RETOUR

LP_3:
PORTA.2 = 0
PORTA.1 = 0
PORTA.0 = 0
PORTB = A
PORTA.0 = 1
RETOUR

 
Vous devriez faire TMR interruption sur tous les ~ 5 ms, où vous pouvez afficher les numéros sur 7seg affiche, dans le cercle.Peut-être que ce lien peut vous donner une idée (voir l'exemple avec deux écrans):

http://www.mikroelektronika.co.yu/english/product/books/picbasicbook/07.htm # 7.2

 
Salam,

U ne doivent pas faire tout cela pour obtenir les chiffres u pouvez l'obtenir avec une seule commande

Vérifiez mon code

module1 PORTA.0 var
module2 var PORTA.1
module3 PORTA.2 var
la lecture de mots var
i var octets
j octets var
octet var masque
TRISA = 0
TRISB = 0
PORTA = 0
PORTB = $ FFprincipaux:

pour la lecture = 0 à 999

pour j = 0 à 200
'this would put the units digit into I

lecture creuser = i 0
'cela mettrait le chiffre des unités dans I
GOSUB dig2seg
haute module1
pause 1
faible module1'this would put the tenth digit into I

lecture creuser = i 1
'ce serait mettre le dixième chiffre en I
GOSUB dig2seg
haute module2
pause 1
faible module2''this would put the hundereds digit into I

lecture creuser = i 2''cela
placerait la hundereds chiffres dans I
GOSUB dig2seg
haute module3
pause 1
faible module3j prochain

prochaine lecture

Goto Main

dig2seg:

recherche i, [3f $, 6 $, 5 milliards de dollars, $ 4f, $ 66, $ 6d, 7d $, 7 $, $ 7F, $ 6f], le masque
MASQUE ^ = PORTB $ FF
retour

finTestez cela fonctionne

Hope J'ai aidé u

 

Welcome to EDABoard.com

Sponsor

Back
Top