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

Interruption en assembleur sur C167



  1. #1
    Nellie Oleson

    Interruption en assembleur sur C167


    ------

    Bonjour à tous, je suis en train de programmer un microcontroleur C167 de chez SIEMENS en assembleur avec le logiciel µvision.
    Dans le cadre de ce projet je suis obligé de programmer avec des interruptions, j'ai commencé une bonne partie de ce programmer et lorsque je le test avec le simulateur tout ce passe correctement mais au moment de le tester sur la maquette la c'est le drame et les interruptions ne fonctionnent pas alors que le reste du programme fonctionne correctement.

    Quelle est la raison de ce dysfonctionnement ? Est-ce materiel ? Ou cela vient il du programme ?

    Pour info voici le programme :
    NAME Module_1
    $INCLUDE (REG167.INC)
    ASSUME DPP3:system,DPP0:donnees

    donnees SECTION DATA

    Liste DSW 9
    Mesures DSW 9

    donnees ENDS

    prog SECTION CODE

    main PROC
    GLOBAL main

    MOV DP2,#0x0000
    MOV P3,#0x0000
    MOV DP3,#0xFFFF

    MOV CCM0,#0x2111
    MOV CCM1,#0x0011
    MOV CC0IC,#0x0044
    MOV CC1IC,#0x0044
    MOV CC2IC,#0x0044
    MOV CC3IC,#0x0044
    MOV CC4IC,#0x0044
    MOV CC5IC,#0x0044
    AND PSW,#0x0FFF ; forcer à 0 les 4 bits ILVL
    OR PSW,#0x0800 ; forcer à 1 le Interrupt Enable

    MOV R0,#liste
    MOV R1,#Mesures

    fin:
    JMP cc_UC,fin

    main ENDP

    Rentree_Verin PROC INTERRUPT CC3INT=13h

    MOV CC2IC,#0x0044
    ADD R0,#2
    BSET P3.0

    RETI
    Rentree_Verin ENDP

    Verin_Rentre PROC INTERRUPT CC0INT=10h

    BCLR P3.0

    RETI
    Verin_Rentre ENDP

    Sortie_Verin PROC INTERRUPT CC2INT=12h

    MOV CC2IC,#0x0004
    MOV R2,#0x1000
    CALL DELAI
    MOV R3,#0x0000
    MOV [R0],R3
    BSET P3.1

    RETI
    Sortie_Verin ENDP

    Verin_Sortie PROC INTERRUPT CC1INT=11h

    BCLR P3.1

    RETI
    Verin_Sortie ENDP

    Piece_Noire PROC INTERRUPT CC4INT=14h

    MOV R3,#0x00FF
    MOV [R0],R3

    RETI
    Piece_Noire ENDP

    Piece_Metallique PROC INTERRUPT CC5INT=15h

    MOV R3,#0xFFFF
    MOV [R0],R3

    RETI
    Piece_Metallique ENDP

    DELAI PROC

    MOV T3CON,#0x0086
    MOV T3,R2
    BSET T3R
    attente_delai:
    JNB T3OTL,attente_delai
    BCLR T3R

    RET

    DELAI ENDP


    prog ENDS
    END

    -----
    Dernière modification par Nellie Oleson ; 31/01/2008 à 17h29.

Discussions similaires

  1. adresse de retour interruption sur PIC
    Par arzew dans le forum Électronique
    Réponses: 24
    Dernier message: 19/11/2007, 12h12
  2. Interruption C PIC16F877
    Par Melodie Nelson dans le forum Électronique
    Réponses: 2
    Dernier message: 04/10/2007, 22h26
  3. Interruption RB0
    Par Martintin dans le forum Électronique
    Réponses: 5
    Dernier message: 12/04/2007, 10h45
  4. Programmation assembleur sur PIC
    Par Makim dans le forum Électronique
    Réponses: 0
    Dernier message: 19/03/2007, 09h38
  5. Interruption sur PIC18F252 en langage C
    Par induc dans le forum Électronique
    Réponses: 1
    Dernier message: 18/05/2006, 10h24
Découvrez nos comparatifs produits sur l'informatique et les technologies.