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

probleme avec CAN



  1. #1
    bibou1234

    probleme avec CAN


    ------

    Bonjour

    Je souhaite effectué plusieurs conversion de tension en même temps, mais je n'y arrive pas.
    J'ai trois tension à convertir Start, Start1, Start2
    J'ai tout d'abord testé mes trois fonctions séparemment pour voir si elles marchaient.
    Lorsque je les teste sur l'entrée AN0, elles fonctionnent, mais des que je les mets sur AN1 et AN2 ca ne marche plus.
    Je pense que mon problème vient de la configuration des registres du CAN pour le Start1 et le Start2 car le Start marche et je peux voir le resultat de ma conversion.
    Pouvez-vous m'aider ?

    merci d'avance

    PS je vous met pas tout le programme entier, juste la configuration du CAN pour chaque fonction

    #include <p16F690.inc>
    __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)

    #define LED_PRES_NOK_SCGND b'00100100' ;PORTC,2 & PORTC,5
    #define LED_PRES_NOK_ILL b'00010100' ;PORTC,2 & PORTC,4
    #define LED_PRES_NOK_SCBAT b'01000100' ;PORTC,2 & PORTC,6
    #define LED_PRES_NOK_OC b'00001100' ;PORTC,2 & PORTC,3
    #define LED_TEMP_NOK_SCGND b'00100001' ;PORTC,0 & PORTC,5
    #define LED_TEMP_NOK_ILL b'00010001' ;PORTC,0 & PORTC,4
    #define LED_TEMP_NOK_SCBAT b'01000001' ;PORTC,0 & PORTC,6
    #define LED_TEMP_NOK_OC b'00001001' ;PORTC,0 & PORTC,3
    #define LED_SIGNAL_BAT b'10000000' ;PORTB,7
    #define TOOL_SWITCH_ON_OFF b'10000000' ;PORTC,7
    #define LED_TEMP_OK b'00010000' ;PORTB,4
    #define LED_PRES_OK b'00000010' ;PORTC,1

    TEMPELE EQU 0x21
    NBTEMP EQU 0x22
    cblock 0x020 ;Début de la zone de variable
    result : 1 ;Désignation d’adresse à «*result*»
    result1 : 1
    result2 : 1
    endc ;Fin de la zone de variable


    org 0x000 ;Adresse du début après le reset

    Start:

    bsf STATUS,RP0 ;Sélection du registre page 1
    movlw 0xFF
    movwf TRISA ;Tous les Ports A sont des entrées
    clrf TRISC ;Tous les Ports C sont des sorties
    movlw 0x10 ;Fréquence du convertisseur /8
    movwf ADCON1
    bcf STATUS,RP0 ;Reviens au registre page 0

    bcf STATUS,RP0 ;Adressage du registre page 2
    bsf STATUS,RP1
    movlw b'00000001' ;Configuration de AN0 comme pin analogique
    movwf ANSEL
    bcf STATUS,RP0 ;Adressage du registre page 0
    bcf STATUS,RP1
    movlw 0x01
    movwf ADCON0 ;Configuration du convertisseur, pin RA0, justifié à gauche, convertisseur allumé

    MainLoop:
    nop ;Attente de 5µs
    nop ;1µs
    nop ;1µs
    nop ;1µs
    nop ;1µs

    bsf ADCON0,GO ;Commencement de la conversion
    btfss ADCON0,GO ;Ce bit changera d’état (=0), quand la conversion sera terminé
    goto $-1
    movf ADRESH,w ;Copie ADRESH dans le registre
    movwf result ;Copie le registre dans la variable «*result*»

    Start1:
    bcf TRISB,4
    bcf TRISB,7
    bsf STATUS,RP0 ;Sélection du registre page 1
    movlw 0xFF
    movwf TRISA ;Tous les Ports A sont des entrées
    clrf TRISC ;Tous les Ports C sont des sorties
    clrf TRISB

    movlw 0x10 ;Fréquence du convertisseur /8
    movwf ADCON1
    bcf STATUS,RP0 ;Reviens au registre page 0

    bcf STATUS,RP0 ;Adressage du registre page 2
    bsf STATUS,RP1
    movlw b'00000010' ;Configuration de AN0 comme pin analogique
    movwf ANSEL
    bcf STATUS,RP0 ;Adressage du registre page 0
    bcf STATUS,RP1
    movlw 0x02
    movwf ADCON0 ;Configuration du convertisseur, pin RA0, justifié à gauche, convertisseur allumé

    Start2:

    bsf STATUS,RP0
    movlw 0xFF
    movwf TRISA
    clrf TRISB
    movlw 0x10
    movwf ADCON1
    bcf STATUS,RP0
    bsf STATUS,RP1
    movlw b'00000100' ;Configuration de AN2 comme pin analogique
    movwf ANSEL
    bcf STATUS,RP0
    bcf STATUS,RP1
    movlw 0x03
    movwf ADCON0

    -----

  2. Publicité
  3. #2
    RISC

    Re : probleme avec CAN

    Salut,

    Peux-tu reposter ton code avec les balises "code" et "/code" entre crochets et sans guillemets pour que ton programme soit lisible ?

    a+

  4. #3
    bibou1234

    Re : probleme avec CAN

    Voila le programme merci
    Images attachées Images attachées

  5. #4
    RISC

    Re : probleme avec CAN

    Salut,

    Je te conseille de lire le cours de Bigonoff sur les PIC16.
    Tu peux aussi t'aider des notes d'applications : http://www.microchip.com/appnotes

    a+

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

    Re : probleme avec CAN

    je l'ai lu au moins 100 fois le cours de bigonoff.
    Le problème vient de la boucle du Start2, ca bloque les autres conversions.

    Est ce que vous auriez une solution?

  8. #6
    bibou1234

    Re : probleme avec CAN

    Vous n'avez pas de solution???
    SVP c'est urgent

  9. Publicité

Discussions similaires

  1. Réponses: 10
    Dernier message: 22/03/2009, 10h34
  2. [Blanc] Probleme avec tele Philips avec chassis L01.E
    Par LEDOCTEUR dans le forum Dépannage
    Réponses: 2
    Dernier message: 20/03/2009, 18h27
  3. Probleme avec la connection USB avec PC sous linux !! !
    Par Taichi dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 12/12/2008, 21h45
  4. [Biologie Moléculaire] Problème avec gel d'acrylamide avec urée
    Par fxmulder dans le forum Biologie
    Réponses: 3
    Dernier message: 14/02/2008, 10h53
  5. probleme avec vista -> lecture du son avec fichier .mpg
    Par mobius one dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 23/01/2008, 22h28
Découvrez nos comparatifs produits sur l'informatique et les technologies.