Réduire le temps d’Initialisation d’un PIC
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Réduire le temps d’Initialisation d’un PIC



  1. #1
    Raphael2

    Réduire le temps d’Initialisation d’un PIC


    ------

    Bonjour,

    j’ai un petit programme qui tourne sur un PIC 16F628A et j’ai trouvé une maquette pour m’aider a programmer, mai j’aimerais réduire le temps d’initialisation de mon PIC, j’aimerais perdre beaucoup moins de temps notamment au moment de l’effacement de la RAM de façon a ce que mon programme démarre beaucoup plus vite.

    Es vraiment obligatoire d’effacer la RAM ? Comment faire pour réduire ce temps d’initialisation ?

    Merci d’avance

    PS : Voici le code pour l’initialisation que j’utilise actuellement :


    ;***************************** ****************************** ******************
    ; INITIALISATIONS *
    ;***************************** ****************************** ******************
    init

    ; initialisation PORTS (banque 0 et 1)
    ; ------------------------------------
    BANK0 ; sélectionner banque0
    clrf PORTA ; Sorties PORTA à 0
    clrf PORTB ; sorties PORTB à 0
    BANK1 ; passer en banque1
    movlw DIRPORTA ; Direction PORTA
    movwf TRISA ; écriture dans registre direction
    movlw DIRPORTB ; Direction PORTB
    movwf TRISB ; écriture dans registre direction

    ; Registre d'options (banque 1)
    ; -----------------------------
    movlw OPTIONVAL ; charger masque
    movwf OPTION_REG ; initialiser registre option

    ; registres interruptions (banque 1)
    ; ----------------------------------
    movlw INTCONVAL ; charger valeur registre interruption
    movwf INTCON ; initialiser interruptions
    movlw PIE1VAL ; Initialiser registre
    movwf PIE1 ; interruptions périphériques 1
    movlw VRCONVAL ; charger valeur registre interruption
    movwf VRCON ; initialiser interruptions
    BANK0 ; sélectionner banque 0
    movlw CMCONVAL ; charger valeur registre interruption
    movwf CMCON ; initialiser interruptions

    ; Effacer RAM banque 0
    ; ---------------------
    BANK0 ; sélectionner banque 0
    movlw 0x20 ; initialisation pointeur
    movwf FSR ; d'adressage indirect
    init1
    clrf INDF ; effacer ram
    incf FSR,f ; pointer sur suivant
    btfss FSR,7 ; tester si fin zone atteinte (>7F)
    goto init1 ; non, boucler

    ; autoriser interruptions (banque 0)
    ; ----------------------------------
    clrf PIR1 ; effacer flags 1
    bsf INTCON,GIE ; valider interruptions

    ; initialisations variables
    ; -------------------------

    REEPROM eereload ; lire emplacement eeprom 0x00
    movwf variaperso ; placer dans variaperso

    goto start ; sauter programme principal

    -----

  2. #2
    maximilien

    Re : Réduire le temps d’Initialisation d’un PIC

    Citation Envoyé par Raphael2 Voir le message
    moment de l’effacement de la RAM de façon a ce que mon programme démarre beaucoup plus vite.
    Pourquoi faire cela, ça ne sert à rien!!!
    Elle est du type volatile.

  3. #3
    invite7a49d0d5

    Cool Re : Réduire le temps d’Initialisation d’un PIC

    Bonjour,

    non, je ne pense pas que l'effacement de toute la RAM soit obligatoire...

    si après dans votre programme vous n'accédez qu'à des emplacements
    précédemments initialisés à 0 (ou toute autre valeur)...

    vede
    ;O]

  4. #4
    Raphael2

    Re : Réduire le temps d’Initialisation d’un PIC

    d'accord, je n'utilise qu'une variable (8 bites), je fait des choses tres simples (bsf, bcf, movf, btfsc, clrf).

    je n'est donc pas besoin d'effacer la RAM ?
    je doit faire comment pour effacer que ce que j'ai besoin?

    je débute... :-s

    merci !!

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

    Re : Réduire le temps d’Initialisation d’un PIC

    Non pas besoin d'effacer la RAM...
    Je te conseil les cours de bigonoff...

    Citation Envoyé par Raphael2 Voir le message
    d'accord, je n'utilise qu'une variable (8 bits), je fait des choses tres simples (bsf, bcf, movf, btfsc, clrf).

  7. #6
    RISC

    Re : Réduire le temps d’Initialisation d’un PIC

    Salut,

    Qu'appelles-tu temps d'initialisation ?
    A la mise sous tension d'un PIC, l'oscillateur qui démarre le plus vite est l'oscillateur interne. Dans ce cas il n'est pas nécessaire d'activer le bit de configuration POR qui génère une tempo de 72ms.
    Le plus lent est le quartz ou le résonnateur céramique car il faut attendre que l'oscillateur se stabilise. Dans ce cas il faut activer le POR.

    Pour ce qui concerne la RAM, il n'est absolument pas nécessaire de l'inititaliser.

    a+

  8. #7
    sdec25

    Re : Réduire le temps d’Initialisation d’un PIC

    Citation Envoyé par Raphael2 Voir le message
    je doit faire comment pour effacer que ce que j'ai besoin?
    Pourquoi aurais-tu besoin d'effacer quelque chose ?
    De toute façon, si ton programme utilise une variable non initialisée c'est qu'il a un gros problème de conception et qu'il va probablement faire n'importe quoi.

  9. #8
    Raphael2

    Re : Réduire le temps d’Initialisation d’un PIC

    salut et merci!

    RISC pour le bit POR, je ne l’active pas car j’utilise l’oscillateur interne (4Mhz)

    maximilien qu’es qu’il y a de drôle ? dans une variable ont ne peut pas utiliser les 8 bits ? je me trompe ?



    j'ai suivi les cours de Bigonoff, mai je ne voie pas ce que tu appel initialiser une varriable.. tu veu dire déclarer une variable ?
    comme sa ?:

    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)
    variaperso : 1 ; ma variable perso
    ENDC

    sa je l'est fait ^^

    merci
    Dernière modification par Raphael2 ; 12/11/2009 à 08h40.

Discussions similaires

  1. pic 18f452 @ 40Mhz, plantage de temps en temps
    Par nordiste dans le forum Électronique
    Réponses: 27
    Dernier message: 04/04/2008, 20h19
  2. initialisation mémoire mmc et pic
    Par inviteef26fb36 dans le forum Électronique
    Réponses: 0
    Dernier message: 19/06/2007, 10h27
  3. Comment réduire plusieurs photos en même temps
    Par roro123 dans le forum Logiciel - Software - Open Source
    Réponses: 9
    Dernier message: 26/07/2006, 15h22
  4. pic reduire le nombre de port en sortie
    Par nicolasronan dans le forum Électronique
    Réponses: 2
    Dernier message: 20/05/2006, 09h27
  5. PIC et precision du temps
    Par alainav1 dans le forum Électronique
    Réponses: 2
    Dernier message: 28/04/2006, 17h56
Découvrez nos comparatifs produits sur l'informatique et les technologies.