Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

problème CAN pic 16F876A



  1. #1
    costarimes

    problème CAN pic 16F876A

    salut a tous,
    j'ai un petit problème d'utilisation du CAN du pic 16F876A.
    en effet,j'ai réalisé mon programme en configurant les registres adcon0 et adcon1,et en envoyant les résultats (adressH,adressL) sur les ports B,C pour les visualiser par les leds et ça bien marché. après j'ai tenté de visualiser ces résultats en les envoyant vers le port série (utilisation du module UART) mais rien ne s'affiche.
    ensuite j'ai ajouté au programme précédent l'initialisation du module UART sans l'utiliser dans le programme principale,mais j'ai rien obtenue comme résultat .
    la question qui se pose : est ce que je peux utiliser les modules CAN et UART dans un seul programme,sachant que j'ai testé les deux modules mais indépendamment.
    j'espère que vous m'aidiez a résoudre se problème car j'en ai besoin.
    et merci d'avance.

    -----


  2. #2
    vede

    Cool Re : problème CAN pic 16F876A

    salut (re ;O]),

    oui tu peux utiliser les 2 modules (ADC et UART) dans
    un même programme... la preuve:
    http://vede.free.fr/electronique/16f88/can/

    ________________________
    ...

  3. #3
    costarimes

    Re : problème CAN pic 16F876A

    bonjour,
    le lien que vous m'avez données est mort ou il est bloqué, car j'arrive pas l'acceder,de toute manière je vous joindre ici mon code écris en assembleur afin que vous pouvez m'aider a détecter l'erreur et merci d'avoir me répondu
    cordialement...

    list p=16f876A,r=dec ; Quartz 4MHz
    include <p16f876A.inc>
    __CONFIG 3F71h

    OPTIONVAL EQU B'10001111'

    BRGVAL EQU D'25' ; pour un débit de 9615 bauds en mode low-speed
    AN1 EQU 0x70


    CBLOCK 0x70 ; Début de la zone (0x70 à 0x7F)
    w_temp : 1 ; Sauvegarde registre W
    status_temp : 1 ; sauvegarde registre STATUS
    FSR_temp : 1 ; sauvegarde FSR (si indirect en interrupt)
    PCLATH_temp : 1 ; sauvegarde PCLATH (si prog>2K)
    endc

    org 0x000 ; Adresse de départ après reset
    goto init ; Initialiser

    org 0x004 ; adresse d'interruption
    movwf w_temp ; sauver registre W
    swapf STATUS,w ; swap status avec résultat dans w
    movwf status_temp ; sauver status swappé
    movf FSR,w ; charger FSR
    movwf FSR_temp ; sauvegarder FSR

    init
    bsf STATUS,RP0 ; passer en banque 1
    bcf STATUS,RP1 ; passer en banque 1
    movlw OPTIONVAL ; charger masque
    movwf OPTION_REG ; initialiser registre option
    bsf STATUS,RP0 ; passer en banque 1
    movlw B'00000110' ; mode asynchrone, émission 8 bits haute vitesse
    movwf TXSTA ; dans registre TXSTA
    movlw BRGVAL ; valeur calculée de SPBRG
    movwf SPBRG ; dans baud rate generator
    bcf STATUS,RP0 ; repasser banque 0
    movlw B'10000000' ; module en service, réception 9 bits
    movwf RCSTA
    movlw B'00111111'
    movwf TRISA
    BCF STATUS, RP0 ; Bank 0 selectonnee
    movlw B'11111111'
    movwf PORTA
    BSF STATUS, RP1 ; Bank 1 selectonnee
    MOVLW b'10001110' ; select RA0
    MOVWF ADCON1 ; as analog inputs
    goto star


    star

    bcf INTCON, GIE ; Global Interrupts: disabled

    movlw b'01000001' ; Select; RC osc, Ch2
    movwf ADCON0 ; turn on A/D

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


    BSF ADCON0, GO ; Start new A/D conversion

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

    MOVF ADRESH, W
    addlw D'48'
    call envoi



    movf ADRESL,w
    call envoi




    envoi
    bcf STATUS,RP0 ; passer banque 0
    movwf TXREG ; octet dans registre de transmission
    bsf STATUS,RP0 ; repasser banque 1
    bsf TXSTA,TXEN ; envoyer l'octet
    nop
    btfss TXSTA,TRMT ; transmission terminée?
    goto $-2 ; non, attendre
    bcf TXSTA,TXEN ; oui, fin de transmission
    bcf STATUS,RP0 ; repasser banque 0
    return



    sleep

    end

Sur le même thème :

Discussions similaires

  1. PIC 16f876A + sotie A/N
    Par souschir dans le forum Électronique
    Réponses: 3
    Dernier message: 27/07/2009, 21h21
  2. Faire clignoter une led sur pic 16F876A
    Par Rouliane dans le forum Électronique
    Réponses: 9
    Dernier message: 20/11/2008, 13h11
  3. Différence entre PIC 16F876 et PIC 16F876A
    Par KHEOPS1982 dans le forum Électronique
    Réponses: 2
    Dernier message: 09/03/2008, 14h32
  4. problème programmation d'un pic 16F876A
    Par flyermike dans le forum Électronique
    Réponses: 14
    Dernier message: 29/08/2007, 15h18
  5. pic 16F876A + résonateur
    Par Toufinet dans le forum Électronique
    Réponses: 2
    Dernier message: 27/04/2006, 21h31