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

Programme assembleur



  1. #1
    anas_11

    Programme assembleur

    Bonsoir.
    je voudrais généré 2 signaux carré déphasé de 1/4 .mon problème c'est de gérer ce déphasage pouvez vous m'aider et merci d'avance.je travaille avec un Pic 16F887 en assembleur

    -----


  2. Publicité
  3. #2
    PIXEL

    Re : Programme assembleur

    hello , nous ne faisons pas les devoirs.

    mais montre ce que tu as déjà fait

  4. #3
    antek

    Re : Programme assembleur

    Tu as donc généré un premier signal
    Fais voir le code

    EDIT : encore grillé !

  5. #4
    anas_11

    Re : Programme assembleur

    Code:
    Ginclude <p16f887.inc>
    __config 2007h,23E4h
    __config 2008h,3FFFh
    ;fosc=4Mhz
    BANK0 macro
    Bcf STATUS,RP0
    Bcf STATUS,RP1
    endm
    BANK1 macro
    Bsf STATUS,RP0
    Bcf STATUS,RP1
    endm
    BANK2 macro
    Bcf STATUS,RP0
    Bsf STATUS,RP1
    endm
    BANK3 macro
    Bsf STATUS,RP0
    Bsf STATUS,RP1
    endm
    org   0
    goto main
    
    org  4
    movlw B'00000001'
    xorwf PORTD,f
    goto $+1 ; j'utilise ces goto juste pour avoir un decalage entre mes 2 signaux 
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    goto $+1
    movlw B'00000001'
    xorwf PORTC,f
    bcf   PIR1,TMR2IF
    retfie
    main:
    BANK1
    movlw 61h
    movwf OSCCON ; horloge 4MHz
    bsf  TRISA,0
    clrf TRISC
    clrf TRISD
    movlw 80h   ; vr+
    movwf ADCON1
    BANK0
    clrf PORTD
    BANK3
    movlw B'00000001'
    movwf ANSEL
    clrf  ANSELH
    BANK0
    movlw 0x41 ; 01 0000 01
    movwf ADCON0 ; DIV=8 ,TAD=2ms
    nop
    nop
    nop
    nop
    nop
    ici:
    bsf ADCON0,GO
    btfsc ADCON0,GO
    goto $-1
    btfss ADRESH,0
    goto  test1
    btfss ADRESH,1
    goto  freq3
    goto  freq1
    test1:
    btfsc ADRESH,1
    goto  freq2
    goto  freq4
    freq3:
    BANK1
    movlw .200
    movwf PR2
    goto  labas
    freq2:
    movlw .100
    movwf PR2
    goto labas
    freq1:
    movlw .45
    movwf PR2
    goto  labas
    freq4:
    movlw .12
    movwf PR2
    labas:
    bsf PIE1,TMR2IE
    BANK0
    movlw B'00101100'
    movwf T2CON
    bsf  INTCON,GIE
    bsf  INTCON,PEIE
    goto  ici
    
    END
    Dernière modification par gienas ; 29/03/2015 à 09h23. Motif: Ajouté balises code obligatoires pour les programmes

  6. #5
    jiherve

    Re : Programme assembleur

    Bonsoir
    Il n'y a pas de timer et de générateurs PWM sur un PIC ?
    JR
    l'électronique c'est pas du vaudou!

  7. A voir en vidéo sur Futura
  8. #6
    antek

    Re : Programme assembleur

    Configurations pénibles à lire
    Tu choisis une fréquence en fonction d'une tension lue par le CAN. C'est ça ?
    Dans les freq1, freq2, etc introduit une variable correspondant au retard voulu et tu t'en sers pour une durée de comptage que tu déclenches dans l'interruption
    et qui positionnera la deuxième sortie par une autre interruption

    Tu peux aussi utiliser le pwm pour le 1er signal et décaler le 2e avec un timer

    Tu peux montrer le programme qui génère uniquement le 1er signal ?

  9. Publicité
  10. #7
    DAUDET78

    Re : Programme assembleur

    Avec un timer, tu génères une interruption à une fréquence quatre fois plus grande que celle que tu veux .
    - Première interruption : Out 00
    - Deuxième interruption : Out 01
    - Troisième interruption : Out 11
    - Quatrième interruption : Out 10
    etc etc
    L'age n'est pas un handicap .... Encore faut-il arriver jusque là pour le constater !

Sur le même thème :

Discussions similaires

  1. programme pic assembleur
    Par mega-dead dans le forum Électronique
    Réponses: 9
    Dernier message: 05/04/2012, 00h12
  2. help!!un programme C en assembleur (PIC16F877)
    Par solid_sneak06 dans le forum Électronique
    Réponses: 13
    Dernier message: 22/02/2010, 00h13
  3. programme en assembleur
    Par electroinfo dans le forum Électronique
    Réponses: 1
    Dernier message: 06/08/2007, 11h22
  4. programme assembleur
    Par DID2000 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 29/05/2006, 21h33