[PPE] Fonctionnement d'une interruption pour un microcontroleur
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

[PPE] Fonctionnement d'une interruption pour un microcontroleur



  1. #1
    invite257289a6

    [PPE] Fonctionnement d'une interruption pour un microcontroleur


    ------

    Bonjour tout le monde,


    Eleve de terminale SSI dans le cadre de mon projet de bac je dois réaliser un garde pâté automatisé pour chat s'ouvrant aux heures programmées par l'utilisateur en présence du chat.

    Entre membres du groupe nous nous sommes répartis le travail et ma partie porte sur le microcontroleur et sa programmation.

    J'ai réalisé un algorithme sous flowcode dans lequel différentes macros interviennent (réglage de l'heure actuelle, du repas 1, du repas 2 et un dernier pour un fonctionnement normal du système). Et alors que je m'apprêtais à programmer la macro du fonctionnement normal je me suis rendu compte que cette macro ne pourrait s'exécuter en même temps que la macro qui calcule l'heure actuelle.

    Le professeur m'a alors conseillé d'utiliser une interruption pour calculer l'heure qui pourrait s'exécuter en même temps que les autres macro et ainsi pour comparer l'heure du début du repas 1 et l'heure de fin de repas 1 (début+30minutes) alors que la macro du repas 1 s'exécute. De même pour le repas 2.

    Mon problème réside dans le fait que je connais très peu de chose sur cette fonction. Si vous pouviez me donner quelques pistes où des explications, je suis preneur!

    Merci

    -----

  2. #2
    alainav1

    Re : [PPE] Fonctionnement d'une interruption pour un microcontroleur

    bonjour,
    quand on actionne un switch (raccordé sur la broche du µ qui gère les interruptions ) le µp arrête tout ce qu'il fait et exécute un sous programme .(il faut bien sur ecrire ce sous programme
    (un peu quand on arrete ce que l'on fait quand le telephone sonne ).
    quand le sous programme est executé le programme reprend .

    cordialement
    Alain

  3. #3
    invite257289a6

    Re : [PPE] Fonctionnement d'une interruption pour un microcontroleur

    Salut

    Actuellement mon algorithme se présente sous la forme d'une boucle qui vérifie successivement la position de mon switch 4 positions et ordonne le mode de fonctionnement (réglage heure repas 1, repas 2, actuelle, fonctionnement normal).

    J'ai compris qu'il fallait associer à la fonction int une fréquence qui inversé et multiplié par 1024 et un rapport allant de 1 à 256 me donnait la période de déclenchement du macro associé à cette fonction.

    Par exemple avec un quartz de 10KHz, t=(1/10000)*1024*256=26s (environ). Je m'arrangerai plus tard pour avoir une valeur dont la partie décimale est presque nulle.


    En gros dans mon exemple toutes les 26secondes la macro associé à la valeur int se déclenche.

    J'avais aujourd'hui créé en classe dans le test d'un exemple simple un calcul s'exécutant dans la macro associé à la variable int qui était

    seconde_actuelle = seconde_actuelle + 26

    je testais ensuite une condition : si seconde_actuelle >= 60

    - si vrai : minute_actuelle = minute_actuelle + 1
    seconde_actuelle = seconde_actuelle - 60

    - si faux : rien ne se passait


    Ensuite je retournais à mon algorithme principal qui était le test de la condition minute_actuelle = 2 pour allumer une LED.

    Cette LED ne s'est jamais allumé :/


    Voilà vous savez à peu près tout ce que j'ai sur la fonction interruption.


    Je ne sais pas ce qu'est la branche µ peut être que c'est cela qui pose problème dans ma programmation. J'ai peut être fait une petite erreur dans les calculs que j'ai fait exécuter dans la macro appelé par la fonction int car je les ai réalisé assez précipitamment.

    Aussi je réalisé une boucle durant laquelle je test sans condition de fin si la valeur de minute_actuelle = 2 (comme je l'ai expliqué précédemment) et j'aimerai savoir où placer la variable int par rapport à cette boucle (en dehors ou dedans).


    Si vous voyez des anomalies ou avez des conseils je suis preneur ^^'

  4. #4
    alainav1

    Re : [PPE] Fonctionnement d'une interruption pour un microcontroleur

    bonjour,
    voila une explication détaillé d'une nterruption
    http://p.may.chez-alice.fr/inter.html
    cordialement
    Alain

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

    Re : [PPE] Fonctionnement d'une interruption pour un microcontroleur

    Bonjour,
    Un exemple en Basic :

    Code:
    ;*************************************************************
    ;		ROUTINE D'INTERRUPTION DU TIMER1
    ;*************************************************************		
    		
    IRQ_TMR1:       
    		ASM
    		
    		bcf		PIR1,TMR1IF			;flag irq TMR1 = 0
    		movlf		11000000b,TMR1H			;0C0h
    		
    		incf		RAM_INTER,f
    		cljne		25,RAM_INTER,RESTORER_CONTEXTE
    		clrf		RAM_INTER
    		
    		jb		LED_SEC,RAZ_LED			;LED_SEC = RE2
    		bsf		LED_SEC
    		GoTo		RESTORER_CONTEXTE
    
    RAZ_LED:	
    		bcf		LED_SEC		
    		incf		SEC,f				;seconde + 1
    	 	cljne		60,SEC,RESTORER_CONTEXTE
    		clrf		SEC
    	 	
    		incf		MN,f
    		cljne		60,MN,RESTORER_CONTEXTE
    		clrf		MN
    		
    		incf		HR,f
    		cljne		13,HR,RESTORER_CONTEXTE
    		movlf		1,HR
    		
    		ENDASM
    				
    RESTORER_CONTEXTE:
    		
    		Context Restore
    Context Restore est une Macro de Proton+ (compilateur Basic)
    les instructions type "cljne, jb, movlf ..." sont des Macros que j'ai écris pour me simplifier la vie.
    La routine est en asm pour éviter les conflits en RAM.
    Le Qz est un 3,2768MHz, il pilote également TMR1.

    Si tu as des questions, n'hésite pas.

Discussions similaires

  1. PPE robot suiveur de ligne: cablage CNY-70 avec microcontroleur
    Par invitec1dd046b dans le forum TPE / TIPE et autres travaux
    Réponses: 11
    Dernier message: 23/10/2010, 20h06
  2. Réponses: 41
    Dernier message: 10/08/2009, 01h11
  3. [PPE] Fonctionnement d'une interruption pour un microcontroleur
    Par invite257289a6 dans le forum TPE / TIPE et autres travaux
    Réponses: 0
    Dernier message: 25/03/2008, 18h32
  4. Besoin d'aide pour le fonctionnement d'une structure
    Par invite3a464913 dans le forum Électronique
    Réponses: 10
    Dernier message: 04/06/2007, 08h42
  5. PPE terminale fonctionnement led IR + ne556
    Par invite45a5c0d5 dans le forum Électronique
    Réponses: 0
    Dernier message: 02/02/2007, 17h31
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...