Bonsoir à tous et à toutes,
voilà, depuis peu je me suis mis à la programmation des microcontroleurs PIC 16F en ASM avec le logiciel MPLAB. J'utilise pour cela le cours de bigonoff et j'en suis arrivé au chapitre sur les interruptions, mais j'ai un problème avec l'interruption sur la pin RB0 (pourtant j'arrive à utiliser les autres), en simulation avec stimulus et le "special function register". J'observe l'évolution du programme qui semble correcte. Celui-ci est censé allumer la led sur RB1 lors d'un clic sur RB0 puis l'éteindre lors d'un autre clic ainsi de suite. Mais quand je fais la simulation sur Proteus cela ne fonctionne pas et je ne vois pas pourquoi. Pourriez-vous m'aider :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 list p=16F84;microcontroleur cible #include <p16F84.inc>;bibliotheque contenant l'ensemble des definitions __CONFIG _WDT_OFF & _XT_OSC;desactivation du WDT #define BOUTON PORTB,0 #define LED PORTB,1 org 0x000 goto init org 0x004 goto int0 init bsf INTCON,GIE;activation des interruptions bsf INTCON,INTE;activation de l'interruptions bsf STATUS,RP0 bsf TRISB,0 bcf TRISB,1 bcf STATUS,RP0 clrf PORTB goto start int0 btfss LED goto allumerLED goto eteindreLED allumerLED bsf LED bcf INTCON,INTF retfie eteindreLED bcf LED bcf INTCON,INTF retfie start goto start end
Partager