Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : prob. timer/interruption [ Archives / Les PIC ] (julien__68)

mardi 7 juin 2005 à 15:36:40 | prob. timer/interruption

julien__68

voila , j'ai réaliser une interruption sur rb0 (il fonctionne) mai je ne compren pas a quoi peut servir cette ligne par rapport a l'interruption de rb0 .... :  bsf    PIE1,TMR1IE    pasque normalement c'est pour autoriser l'interruption sur le timer , et en faite je doit enlevé cette ligne pour continuer mon programme ..... mais quand je l'enleve , mon programme ne fonctionne plus ....
que dois-je faire pour enlevé cette ligne ?
merci pour vos réponses ++

voici mon programme :

    list p=18f452, n=48, t=ON, st=OFF
    #include "p18f452.inc"
       
;------------------BIT DEFINITIONS------------------------------------
F                     EQU     0x0001
ptr                    EQU     0x0c
compt                EQU        0x000d
;------------------VECTORS--------------------------------------------

    org    0x000000        ; reset vector
    bra    START
   
    org    0x000008        ; high priority interrupt vector
    bra    TMR1_ISR

;--------------------PROGRAM-----------------------------------
START

    rcall    INIT

       movlw 0x03
    movwf ADCON1

    clrf compt
     clrf TRISB
    CLRF PORTB
     MOVLW B'00000001'     ;RB0=inputs
     MOVWF TRISB         ;RB2-RB7=outputs.


   movlw    B'00000000'        ;initialize USART
   MOVWF     ptr


    bsf    PIE1,TMR1IE    ;enable Timer1 interrupts
;--------------------
;enable rb0 interrupts
   
   
     MOVLW B'01100001'     ;RB0=inputs
     MOVWF INTCON2        ;RB2-RB7=outputs

    bcf        INTCON2,INT1IE         ;clear the rb0 interrupt flag
    bcf        INTCON2,INT1IF         ;clear the rb0 interrupt flag

    bsf        INTCON,RBIE            ;
    bcf        INTCON,RBIF

;---------------------
    bsf    INTCON,GIEH                ;set the global interrupt enable bits
    bsf    INTCON,GIEL                ;    "

MLOOP                                                 
    goto    MLOOP
  
;-------------------------------SUBROUTINES---------------------------------
TMR1_ISR            ; high priority isr                     

    btfsc     INTCON,INT0IE
    goto    int_rb0

    btfsc     INTCON,INT0IF
    goto    int_rb0

    goto fin

int_rb0
    bcf        INTCON,INT0IE ;clear the rb0 interrupt flag
    bcf        INTCON,INT0IF ;clear the rb0 interrupt flag

    btfss     ptr,1
    goto    affon3

    bcf     PORTB,1
    bsf        INTCON2,INTEDG0   
    bcf     ptr,1

    goto fin

affon3
    bcf        INTCON2,INTEDG0   
    bsf     PORTB,1
    bsf     ptr,1
    goto fin


fin

    retfie

INIT
    clrf    PORTB        ; setup portb for outputs
    clrf    DDRB
     
    return

    END   



mardi 7 juin 2005 à 16:48:33 | Re : prob. timer/interruption

phenojeff

allo    tu mélange ca un peu

 list p=18f452, n=48, t=ON, st=OFF
    #include "p18f452.inc"
      
;------------------BIT DEFINITIONS------------------------------------
F                     EQU     0x0001
ptr                    EQU     0x0c
compt                EQU        0x000d
;------------------VECTORS--------------------------------------------

    org    0x000000        ; reset vector
    bra    START
  
    org    0x000008        ; high priority interrupt vector
    bra    TMR1_ISR

;--------------------PROGRAM-----------------------------------
START

   
INIT
    clrf    DDRB
 movlw 0x07  ;desactive A/D pin sur PORTA pin toute en digital
    movwf ADCON1

    clrf compt
    CLRF PORTB
    MOVLW B'00000001'     ;RB0=inputs
    MOVWF TRISB         ;RB2-RB7=outputs.


   movlw    B'00000000'        ;initialize USART
   MOVWF     ptr

;--------------------
;enable rb0 interrupts
  
    bsf        INTCON,INT0IE         ;active interup sur RB0
    bcf        INTCON,INT0IF         ;efface le flag interrupt RB0

    ;---------------------
    bsf    INTCON,GIEH                ;TOUTE interrupt ACTIVE
    bsf    INTCON,GIEL                ;    "

MLOOP                                                
    goto    MLOOP
 
;-------------------------------SUBROUTINES---------------------------------
TMR1_ISR            ; high priority isr                    

    btfsc     INTCON,INT0IF ; si interup sur RB0
    goto    int_rb0

    goto fin

int_rb0
;    bcf        INTCON,INT0IE ;desactive interup sur RB0
    bcf        INTCON,INT0IF ;clear the rb0 interrupt flag

    btfss     ptr,1
    goto    affon3

    bcf     PORTB,1
    bsf     INTCON2,INTEDG0  ; Interrupt on rising edge
    bcf     ptr,1

    goto fin

affon3
    bcf        INTCON2,INTEDG0   ;Interrupt on falling edge
    bsf     PORTB,1
    bsf     ptr,1
    goto fin


fin

    retfie

    END   




Cette discussion est classé dans : goto, rb0, bsf, bcf, intcon


Répondre à ce message

Sujets en rapport avec ce message

Problème d'IRQ avec un PIC18F442 [ par snoopyweb68 ] Dans le cadre d'un stage, je suis amené à établir une communication entre deux PICs (un 16F627 et un 18F442). J'ai choisi de la faire via un port de c progr.pic interruption [ par julien__68 ] bonjours a tous, j'utilise un pic18f4620, je débute dans la programmation, je voulai réaliser une interruption sur rb0 , si quelqu'un pouvai me dire prob interruption timer (pic) [ par julien__68 ] bonjours tout le monde, voici une parti de mon programme, je réalise une interruption avec mon timer, et je voulai mettre une interruption toute les demende de renseignement urgent [ par ya9out ] bonjour,j'ai un programme du pic 16F628 en languge basic et je veux le convertir en assembleur j'ai essayé de le faire en se s'aidant avec les logicie Flags dans le registre INTCON [ par tahiti_bob ] Bonjour,J'ai  trouvé sur cette page une excellente routine de communication RS232 entre un PIC et un PC.http://www.electronic-engineering.ch


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.