je voulais savoir, comment peux je faire afficher un mot de 16 bits sur afficheur LCD et on a que 8 bits sur l'accq W.? (langage assembleur)
j'ai besoin de vous aides .
Merci d'avance
-----
11/01/2013, 08h17
#2
paulfjujo
Date d'inscription
juillet 2004
Localisation
St Maurice de Gourdans 01800
Âge
74
Messages
2 855
Re : 16 bits PIC16F887!!
bonjour,
Si tu t'attaques au language d'assemblage (ou assembleur)
tu as du pain sur la planche, vu ta question !
il faut revoir les bases d'un microcontrolleur.
Un µcontroller 8 bits avec accu W sur 8 bits peut tres bien traiter des mots sur 16 bits voir 32 bits
en se servant de plusieurs cases memoires intermediares sur 8 bits
ou sont rangees ces mots sur 16 ou 32 bits.
Il le fait donc en plusieurs operations successives .
11/01/2013, 15h12
#3
invitef09913aa
Date d'inscription
janvier 1970
Messages
74
Re : 16 bits PIC16F887!!
Oui, tu as raison.
Mais je ne sais pas comment calculer le résultat final de 2 cases de 8 bits pour avoir un mot de 16 bits.
Je peux avoir une méthode pour ça?
Et mercie d'avance.
11/01/2013, 17h32
#4
paulfjujo
Date d'inscription
juillet 2004
Localisation
St Maurice de Gourdans 01800
Âge
74
Messages
2 855
Re : 16 bits PIC16F887!!
bonsoir,
Le mieux est que tu consultes les cours de BIGONOFF ! sur le 16F84 (ou 628) part 1.
sinon pour te donner une idee, voici un exemple d'addition de 2 mots de 16 bits -> resultat sur 16 bits
utilisant W sur 8 bits
et dont les valeurs sont definies directement dans le programme
puis stockees dans des cases 8 bits .
Code:
; zone de variables en RAM
cbloc 0x20
Q1_HI EQU VARS+0
Q1_LO EQU VARS+1
Q2_HI EQU VARS+2
Q2_LO EQU VARS+3
R_HI EQU VARS+4
R_LO EQU VARS+5
endc
MOVLW 23H ; Q1 = 2314H (8980 Decimal)
MOVWF Q1_HI
MOVLW 14H
MOVWF Q1_LO
MOVLW 41H ; Q2 = 4111H (16657 Decimal)
MOVWF Q2_HI
MOVLW 11H
MOVWF Q2_LO
MOVF Q1_LO, W
ADDWF Q2_LO, W
MOVWF R_LO
MOVF Q1_HI, W
BTFSC STATUS, C
ADDLW .1 ; if a carry occurred, add 1
ADDWF Q2_HI, W
MOVWF R_HI
Aujourd'hui
A voir en vidéo sur Futura
11/01/2013, 18h02
#5
invitef09913aa
Date d'inscription
janvier 1970
Messages
74
Re : 16 bits PIC16F887!!
Je te remercie pour ta réponse.
Prend cet exemple j'ai un dans 2 cases de mémoires; Q1_H=23H et Q1_L=14H. (8
Alors comment afficher ce mot sur l'afficheur LCD en décimal? (une idée)
11/01/2013, 18h22
#6
invitef09913aa
Date d'inscription
janvier 1970
Messages
74
Re : 16 bits PIC16F887!!
Je te remercie infiniment pour ton aide
Si par exemple je veux afficher un mot de 16 bits sur l'afficheur LCD (Q1_H=23H, Q2_H=14H). comment puis je faire? Est que d'abord me faut inventer une fonction qui convertit ce mot binaire-décimal?
11/01/2013, 18h24
#7
invitef09913aa
Date d'inscription
janvier 1970
Messages
74
Re : 16 bits PIC16F887!!
désolé pour le 1er méssage
11/01/2013, 18h35
#8
paulfjujo
Date d'inscription
juillet 2004
Localisation
St Maurice de Gourdans 01800
Âge
74
Messages
2 855
Re : 16 bits PIC16F887!!
Envoyé par yazeero
Je te remercie infiniment pour ton aide
Si par exemple je veux afficher un mot de 16 bits sur l'afficheur LCD (Q1_H=23H, Q2_H=14H). comment puis je faire? Est que d'abord me faut inventer une fonction qui convertit ce mot binaire-décimal?
Désolé, mais le but du forum n'est pas de faire de la formation
consultes les cours de BIGONOFF ! sur le 16F84 (ou 628) part 1.