[Programmation] Programmation PIC - LC METER PIC16F628
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Programmation PIC - LC METER PIC16F628



  1. #1
    CAPLOKI

    Programmation PIC - LC METER PIC16F628


    ------

    Bonjour à tous,

    Je programme des pic 16F en asm depuis quelques temps déjà.
    Sans être un véritable Maître de la programmation, je crois que je comprends pas mal de programmes.
    J'ai optimiser un programme de division (32 bit : 32 bit = 24 bit) plus rapide pour les petites divisions. J'en ai même avec deux octets de décimale... (c'est vous dire !!!)

    Par contre... sniff...pas glop...

    Je voudrais me construire un inductance métre...

    Je suis donc en train de déchiffrer le (les) programme(s) de LC meter avec PIC le 16F628 (sans le LM311).

    Il y a des astuces vraiment bluffantes notamment pour récupérer le contenu du prédiviseur TMR0 avant la division par 256 (ce qui devrait interesser Bigonoff, que je salue au passage pour ses cours très interessants (si ce n'est les plus interessants du net en langue française... Il y a bien sûr les datasheet de microchip qui sont aussi très riches... mais en anglais !!! )).

    Voilà le probléme (il y en a d'autres)

    après un "#define bcc bnc"
    un autre "#define bne bnz"
    et un autre "#define beq bz"

    après avoir examiné les "includes" notamment le "FP.txt" sans rien y trouver.

    Je trouve les instructions :
    bcc cont ; où cont est l'adresse d'un saut ( et non pas "con" pour l'adresse d'un sot... HUMOUR...)
    je trouve du :
    beq PSC1 ; où PSC1 et l'adresse d'un saut.

    Je me doute que ce doit être des goto... Mais pourquoi ces instructions barbares ???

    Vous pourrez trouver n'importe où sur le net les programmes asm de ces lcmeter avec PIC 16F628 (sans LM311 je le souligne).

    Merci de me donner vos lumières sur ce(s) programme(s). Nous pourrions même échanger, pour moi le programme "measure" n'a plus de secret...

    J'en suis à comprendre le RAZ pour les capacités et inductances parasites.

    Cordialement

    -----

  2. #2
    paulfjujo

    Re : Programmation PIC - LC METER PIC16F628

    bonsoir CAPLOKI

    Mais pourquoi ces instructions barbares
    en quoi sont-elles babares ?
    le language d'assemblage a toujours été le plus succint possible.
    L'usage de define ou de macros peuvent aider.
    sinon on passe sur un langage evolué.

    ce ne sont pas des Goto mais des "branch"
    bne branch if not egal .. plus parlant que bnz

    tu aurais pu mettre ton programme en piéce jointe ..
    Dernière modification par paulfjujo ; 08/11/2016 à 17h32.

  3. #3
    freepicbasic

    Re : Programmation PIC - LC METER PIC16F628

    près un "#define bcc bnc"
    Branch Clear Carry
    Branch No Carry

    Pas de flag Carry c est a dir F=0

    un autre "#define bne bnz"
    Branch Not Equal
    Branch Non Zero

    Flag Z=0

    et un autre "#define beq bz"
    Branch Equal
    Branch Zero

    Flag Z = 0

    Sur pic Le flag Zero correspond au Equal car la comparaison se fait avec une soustraction
    A+, pat

  4. #4
    jiherve

    Re : Programmation PIC - LC METER PIC16F628

    Bonsoir,
    Sur pic Le flag Zero correspond au Equal car la comparaison se fait avec une soustraction
    sur tous les processeurs en fait.
    JR
    l'électronique c'est pas du vaudou!

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

    Re : Programmation PIC - LC METER PIC16F628

    BCC MACRO ADRESS
    btfss STATUS,C
    goto Adress
    ENDM


    BEQ MACRO ADRESS
    btfsc STATUS,Z
    goto Adress
    ENDM


    BNE MACRO ADRESS
    btfss STATUS,Z
    goto Adress
    ENDM


    Sur le Pic il n'y a pas de CMP par exemple et le flag Z est parfois pas ou peu utilisé , alors que sur pic c'est impératif.
    Ou alors une Macro

    ; compare W avec une variable RAM
    ; Attention W est détruit , sinon il faut le sauver avant
    CMP MACRO ADRESS
    subwf ADRESS,w
    ENDM

    CPI MACRO valeur
    sublw valeur
    ENDM
    Dernière modification par freepicbasic ; 08/11/2016 à 20h53.
    A+, pat

  7. #6
    CAPLOKI

    Re : Programmation PIC - LC METER PIC16F628

    Bonsoir,

    Merci à vous de m'avoir éclairé.

    Je pense qu'il faut que j'utilise les macros de freepicbasic que je n'ai pas retrouvées dans le programme (y compris les includes).

    Je joindrai le programme dans un prochain envoi.


    Encore merci à vous.

  8. #7
    CAPLOKI

    Re : Programmation PIC - LC METER PIC16F628

    Bonsoir,

    J'ai remplacé les instructions par leur équivalence asm. Ca marche...
    Une question toutefois me taraude.
    Pourquoi avoir mis ces instructions d'un autre microprocesseur dans un programme assembleur microchip.
    C'est comme si j'avais mis du "JRZ", "JRNZ" (assembleur Z80) dans mon programme.

    Nostalgie... quand tu nous tiens...

  9. #8
    antek

    Re : Programmation PIC - LC METER PIC16F628

    Citation Envoyé par CAPLOKI Voir le message
    Pourquoi avoir mis ces instructions d'un autre microprocesseur dans un programme assembleur microchip.
    Quelles instructions d'un autre µC ?

Discussions similaires

  1. [Programmation] programmation d'un pic16f628 pour réaliser un MT8870
    Par zoyou dans le forum Électronique
    Réponses: 4
    Dernier message: 07/03/2016, 16h55
  2. lc meter 16f628
    Par gdisque dans le forum Électronique
    Réponses: 7
    Dernier message: 06/03/2015, 15h32
  3. [Divers] CO meter en panne
    Par roro1111 dans le forum Dépannage
    Réponses: 6
    Dernier message: 18/04/2014, 14h49
  4. Audio level meter ou vu-mètre
    Par invite5c707bf0 dans le forum Électronique
    Réponses: 1
    Dernier message: 15/05/2008, 14h03
  5. Depannage power meter PM800
    Par inviteeeb984bb dans le forum Électronique
    Réponses: 0
    Dernier message: 15/02/2008, 00h12
Découvrez nos comparatifs produits sur l'informatique et les technologies.