programme du PIc pour regulateur
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

programme du PIc pour regulateur



  1. #1
    invitef7af195d

    programme du PIc pour regulateur


    ------

    salut j'ai un problème de programmation du PIC 16f876 pour contrôle la charge et la décharge du batteri pour un système photovoltaïque pour ne pas endommage un cas de sure charge et décharge profonde
    c'est pour ce la j'ai fais un programme qui a une entre analogique (RA0)
    est (PORTB) pour affiche le nivaux du batteri et les PORTC (0,1) pour commende deux opticopleur or (des reli thermique )
    le programme avec le qu'elle j'est le problème c'est
    pour les seuil son 10v pour la décharge et 13v pour la cahrge
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;
    list p=16F876
    #include <p16F876.inc>

    __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC & _BODEN_OFF & _LVP_OFF & _CPD_OFF & _WRT_ENABLE_ON & _DEBUG_OFF
    ; Pas de code protege, pas de watch hdog timer, delai de demarrage, horloge XT.



    ORG 0x000
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    main

    CLRF PORTA ;mise à 0 le porta
    CLRF PORTB ;mise à 0 le portb
    CLRF PORTC ;mise à 0 le portc
    BSF STATUS ,RP0 ; accé ou bank 1
    BCF STATUS,RP1
    BSF TRISA,0 ;les ports Ra0 sant des entré
    MOVLW B'11111000' ;les 3ports B sant des sortie
    MOVWF TRISB
    MOVLW B'00111111' ;les ports7 et 6de C sant des sortie
    MOVWF TRISC
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    MOVLW B'10001110'
    MOVWF ADCON1 ;rao comme entré analogique
    BCF STATUS,RP0
    BCF STATUS,RP1 ; accé ou bank0 ;
    MOVLW B'01000001'
    MOVWF ADCON0 ;utilistion de oscilateur XT externe
    ;;;;;;;;;;;;;;;;;;;;;START;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    START
    BSF ADCON0,GO_DONE ;le registre go_done=1;démarrage de la covertision
    WAIT BTFSC ADCON0,GO_DONE ;test si le contenu de bit go_done si égale à 0 ve dir que c'est la fin du convertision
    GOTO WAIT ;retour à wait
    CALL CONV ;appel de sous programme de covertision
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;
    MOVLW d'886' ;la valeur numirique équivalent de 13V
    SUBWF h'70',W
    BTFSC STATUS,Z ;test si z=0(déffirent)
    CALL testb
    BTFSS STATUS,C
    CALL on
    CALL CHAR
    ;;;;;;;;;;;;;;;;;;;;;;;;;;test b;;;;;;;;;;;;;;;;;;;;;;;;;;;
    testb
    SUBWF h'71',W
    BTFSS STATUS,C
    CALL on
    call CHAR
    ;;;;;;;;;;;;;;; ;;;;CONV;;;;;;;;;;;;;;;;;;;;;;
    CONV
    MOVF ADRESH,0 ;w=adresl
    MOVWF h'70' ;chargé la case mémoir 20 avec le contenu de h'70'=w
    BSF STATUS,RP1 ;accé ou bank 1
    MOVF ADRESL,0
    BSF STATUS,RP0
    MOVWF h'71'
    return
    ;;;;;;;;;;;;;;;;;;;;;;;;;;CHAR ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    CHAR
    MOVLW B'00000001' ;les ports b sant des sortie
    MOVWF PORTB
    MOVLW B'00000001' ;les ports b sant des sortie
    MOVWF PORTC

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;on;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
    on
    MOVLW d'580' ;la valeur numirique équivalent de 10V
    SUBWF h'70',W
    BTFSC STATUS,Z
    CALL testz
    BTFSS STATUS,C
    CALL DECH
    CALL moy
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;testz;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;
    testz
    SUBWF h'71',W
    BTFSS STATUS,C
    CALL DECH
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;DECH;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;
    DECH
    MOVLW B'00000100' ;les ports b sant des sortie
    MOVWF PORTB
    MOVLW B'00000010' ;les ports b sant des sortie
    MOVWF PORTC

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;
    moy
    MOVLW B'00000010'
    MOVWF PORTB
    MOVLW B'00000011'

    end
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;fin de programme;;;;;;

    -----

  2. #2
    invitea613d208

    Re : programme du PIc pour regulateur

    Je ne comprend pas quel est ton problème.

  3. #3
    invitefaaca50b

    Re : programme du PIc pour regulateur

    il a pas de probleme, juste un programme tiré on ne sait ou, et il attend qu'on lui fasse ses devoirs, et en plus c'est un doublon... A clore sans autre forme de proces...

  4. #4
    f6bes

    Re : programme du PIc pour regulateur

    Bjr ,
    De plus il est INUTILE de créer des doublons !!
    http://forums.futura-sciences.com/el...egulateur.html
    A+

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

    Re : programme du PIc pour regulateur

    frank sais moi qui fais ce programme mais ile ne vêle pas ce fair la résolution de mon problème

  7. #6
    JPL
    Responsable des forums

    Re : programme du PIc pour regulateur

    Doublons supprimés. La discussion peut se poursuivre ici.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  8. #7
    invitea613d208

    Re : programme du PIc pour regulateur

    de toute façon si la question n'est pas précisé cela ne se poursuivra pas

  9. #8
    JPL
    Responsable des forums

    Re : programme du PIc pour regulateur

    La balle est dans le camp de fouadessahlaoui.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  10. #9
    invitefaaca50b

    Re : programme du PIc pour regulateur

    j'ai rien compris au probleme, sauf que c'est la relation seuil de tension et CAN...

    Si tu veux mesurer une tension avec le CAN, la meilleure solution c'est dans ce cas de travailler en 10 bits pour la tension: 8 bits forts pour la tension, et les deux bits faibles pour la decimale... Et tu definis une entree diviseuse pour avoir 5.12V pour 25.5V en entree (division par 4). Comme cela tu auras de 0 a 25.5V par pas de 1/4V

    Si tu veux avoir ton seuil haut a 13.8V, tu peux choisir 14V ou 13.75V. Prenons 13.75V
    Ca donneras sur le CAN:
    - 13.75V soit une valeur de bascule de 0001101 11.
    - 10V soit une valeur de bascule de 0001010 00.

    Quand ton µC detecte une tension de 10V, il passe en mode charge, et quand le µC arrive a 13.75V, il coupe la charge. Tu as la trame de la chose, a toi de pondre le soft en rapport... avec les parametres du diviseur et du masque de decodage de tension.

Discussions similaires

  1. programme pour pic
    Par invite79905966 dans le forum Électronique
    Réponses: 28
    Dernier message: 06/06/2009, 20h25
  2. programme pour un pic
    Par invite87a94f89 dans le forum Électronique
    Réponses: 7
    Dernier message: 06/01/2009, 22h20
  3. Question programme pour PIC
    Par invitebf099494 dans le forum Électronique
    Réponses: 7
    Dernier message: 02/04/2008, 16h42
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...