PIC Adresh:Adresl
Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

PIC Adresh:Adresl



  1. #1
    invite085a2f56

    PIC Adresh:Adresl


    ------

    Bonjour je souhaite créer une temperature de consigne comprise entre 10 et 20°. Pour cela j'ai un potentiometre et je convertis la tension en numerique avec un CAN présent sur le PIC16F877.
    1ere question: est ce que la justification droite ou gauche change quelque chose?
    bit 7 ADFM: A/D Result Format Select bit
    1 = Right justified. 6 Most Significant bits of ADRESH are read as ‘0’.
    0 = Left justified. 6 Least Significant bits of ADRESL are read as ‘0’.
    Moi j'utilise la justification à gauche. J'obtient donc un resultat sous la forme XXXXXXXX XX000000.
    Comment récuperer le résultat sur 10bits?
    ADRESH+ADRESL>>8 ?

    Désolé si je m'exprime mal mais c'est pas facile, merci

    -----

  2. #2
    invite855cd7fb

    Re : PIC Adresh:Adresl

    Si tu justifie a gauche tu obtiens XXXXXXXX XX000000
    Si tu justifie a droite tu obtiens 000000XX XXXXXXXX

    Si tu justifie a gauche pour ensuite décaler a droite de 8 bits, tu obtiens exactement la même chose qu'en lisant directement ADRESH
    Si tu veux obtenir 10 bits en ayant une justification a gauche comme départ, tu doit décaler de seulement 6 bits, mais si tu as bien suivi tu as deja compris que c'est inutilement plus compliqué et plus lent.

    Ah oui: si tu additionne ADRESL et ADRESH tu obtiens n'importe quoi, mais je pense que c'est ta notation qui est fausse, pas ton raisonnement.

  3. #3
    invite085a2f56

    Re : PIC Adresh:Adresl

    Ok si j'ai bien compris je peux garder uniquement le résultat sur 8 bits car les 2 bits de ADRESL ne sont pas trés important car il s'agit des bits de poids faibles?

    Merci

  4. #4
    invite855cd7fb

    Re : PIC Adresh:Adresl

    En effet si un résultat sur 8 bits te suffit, tu justifie a gauche et tu garde que adresh.

  5. A voir en vidéo sur Futura
  6. #5
    marc2009

    Re : PIC Adresh:Adresl

    Citation Envoyé par MiGaNuTs Voir le message
    En effet si un résultat sur 8 bits te suffit, tu justifie a gauche et tu garde que adresh.
    ( désolé de m'immiscer dans la conversation )

    et donc la valeur contenue dans ADRESH est la valeur du CAN, c'est ça ? ( enfin le nombre de points ) ou faut il alors également les 2 bits restants pour que ça soit "complet" ?

    Merci

  7. #6
    Gérard

    Re : PIC Adresh:Adresl

    Tu dois définir une variable sur 2 octets pour récupérer les 10 bit de la conversion.

  8. #7
    marc2009

    Re : PIC Adresh:Adresl

    Citation Envoyé par Gérard Voir le message
    Tu dois définir une variable sur 2 octets pour récupérer les 10 bit de la conversion.
    Tiens, il est de retour !

    j'essaie maintenant de configurer le CAN ... bon je vais retourner a mon sujet

  9. #8
    Gérard

    Re : PIC Adresh:Adresl

    Citation Envoyé par marc2009 Voir le message
    Tiens, il est de retour !
    Je n'étais pas parti.
    Je sais que je dois encore répondre à beaucoup de tes questions.

    Citation Envoyé par marc2009 Voir le message
    j'essaie maintenant de configurer le CAN ... bon je vais retourner a mon sujet
    J'attends tes questions, mais avant, lis les docs, ça aide.

  10. #9
    marc2009

    Re : PIC Adresh:Adresl

    Je sais que je dois encore répondre à beaucoup de tes questions.
    Que signifie ce sous-entendu !!?

    J'attends tes questions, mais avant, lis les docs, ça aide.
    Je ne trouve aucune doc pour le CAN si tu en as ...

  11. #10
    Gérard

    Re : PIC Adresh:Adresl

    Citation Envoyé par marc2009 Voir le message
    Que signifie ce sous-entendu !!?
    Pas de sous-entendu, j'ai déjà répondu à beaucoup de tes questions et tu n'as pas besoin de t'en faire, je vais continuer.

    Citation Envoyé par marc2009 Voir le message
    Je ne trouve aucune doc pour le CAN si tu en as ...
    Chapitre 7 de la doc du 675.

  12. #11
    marc2009

    Re : PIC Adresh:Adresl

    Pas de sous-entendu, j'ai déjà répondu à beaucoup de tes questions et tu n'as pas besoin de t'en faire, je vais continuer.
    Merci Gérard ! Faudrait que je pense a te faire une page sur fb

    Chapitre 7 de la doc du 675.
    Je vais voir ...

  13. #12
    Gérard

    Re : PIC Adresh:Adresl

    Citation Envoyé par marc2009 Voir le message
    Merci Gérard ! Faudrait que je pense a te faire une page sur fb
    C'est quoi fb ?

  14. #13
    invite855cd7fb

    Re : PIC Adresh:Adresl


  15. #14
    marc2009

    Re : PIC Adresh:Adresl

    Citation Envoyé par MiGaNuTs Voir le message
    il est à toi le groupe ?

  16. #15
    marc2009

    Re : PIC Adresh:Adresl

    Citation Envoyé par Gérard Voir le message
    C'est quoi fb ?
    facebook une page pour Gérard, une ( une page, sur FB, c'est une ... page où les personnes indiquent s'ils sont supporters ... )


  17. #16
    invitecd1c8761

    Re : PIC Adresh:Adresl

    bonjour a tous,
    je souhaite envoyer les résultats du CAN d'un pic 16F876A vers un hyper terminal,pour cela j'ai su qu'il faudra faire un conversion des résultats des adresH et adresl avant de l'envoyer.
    j'aimerai bien que vous pouvez m'aider à résoudre ce problème car j'en ai besoin.
    je sais qu'il sagit d'une implementation d'une routine mathématique dans mon code pour s'on sortir,je vais attendre votre aide,et merci d'avance.
    cordialement.
    je vous joins ici mon code de conversion :

    LIST p=16F876A ; Définition de processeur
    #include <p16F876A.inc> ; fichier include
    __CONFIG 3F71h

    AN1 EQU 0x70
    adc_l EQU 0x71
    adc_h EQU 0x73


    BANK0 macro
    bcf STATUS,RP0
    bcf STATUS,RP1
    endm

    BANK1 macro
    bsf STATUS,RP0
    bcf STATUS,RP1
    endm

    BANK2 macro
    bcf STATUS,RP0
    bsf STATUS,RP1
    endm

    BANK3 macro
    bsf STATUS,RP0
    bsf STATUS,RP1
    endm

    org 0x00
    call init

    goto star



    init
    BANK1
    movlw 0x82
    movwf OPTION_REG ;pull ups PORTB désactivé + timer0 prescaler 1/8--> tmr0 > tmr0 + 1 tous les 8us
    bsf TRISA,0 ;porta en entrée/AN0 ENTREE ANALOGIQUE
    movlw B'10000000'
    movwf ADCON1 ;right justified + vref(0-5v)
    BANK0
    movlw 0x41
    movwf ADCON0 ;activation CAN + 8tosc-->Tacq
    clrf PORTA
    bsf STATUS,RP0 ; passer en banque 1
    movlw 0x03 ; mode asynchrone, émission 8 bits haute vitesse
    movwf TXSTA ; dans registre TXSTA
    movlw 0x19 ; valeur calculée de SPBRG
    movwf SPBRG ; dans baud rate generator
    bcf STATUS,RP0 ; repasser banque 0
    movlw 0x80 ; module en service, réception 8 bits
    movwf RCSTA
    return


    star


    bcf INTCON, GIE ; Global Interrupts: disabled

    bsf ADCON0,0

    movlw D'6'
    movwf AN1
    decfsz AN1, f
    goto $-1


    BSF ADCON0, GO ; Start new A/D conversion

    loop
    BTFSC ADCON0, GO ; A/D over ?
    GOTO loop ; no then loop

    movf ADRESH,W
    movwf adc_h

    movf ADRESL,W
    movwf adc_l

Discussions similaires

  1. PIC: Adresh/adresl
    Par invitee002cb17 dans le forum Électronique
    Réponses: 8
    Dernier message: 18/05/2012, 01h15
  2. Conversion A/N : Utilisation de ADRESH+ADRESL
    Par invite3c35244f dans le forum Électronique
    Réponses: 88
    Dernier message: 13/02/2008, 17h11
  3. erreur 0X00 programmation PIC plus questions sur les PIC
    Par invite4a8ccabd dans le forum Électronique
    Réponses: 4
    Dernier message: 22/07/2007, 15h36
  4. Réponses: 0
    Dernier message: 18/03/2007, 16h43
  5. Qui connais logi pic & et question à propos des pic
    Par invitec913303f dans le forum Électronique
    Réponses: 10
    Dernier message: 29/05/2006, 23h40
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...