nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Probléme avec interruption INTCON.RBIE sur 16F88...

Von: vede (vede31@gmail.com) [Profil]
Datum: 31.10.2009 21:39
Message-ID: <7c19e531-745d-4ba1-974d-138091471a6c@p8g2000yqb.googlegroups.com>
Newsgroup: fr.sci.electronique
Bonjour à tous,

j'essaie d'utiliser l'interruption RBIE pour
compter des impulsions sur le PortB.7

ça fonctionne, mais mal, car chaque impulsion
déclenche 2 fois l'interruption... au lieu d'une...

pour le cablage, j'ai mis un BP sur le PortB.7
configuré en entrée, et 7 leds sur les ports
PortB.0:6 configurés en sorties, leds pour
visualiser en binaire le comptage des impulsions...

ci-dessous, le code complet, en MikroBasic...

si je met les leds sur PortA, ça fonctionne...
mais je veux les garder sur le PortB...

merci d'avance pour tous vos eclaircissements,

vede
;O]

program testint

dim i, compteur as byte

sub procedure interrupt
PortB =compteur              ' allume des leds
inc(compteur)                   ' incrémente le compteur
Delay_ms(200)                 ' délai avant re-activation
interruption
INTCON =%10001000      ' GIE = 1; RBIE = 1; RBIF = 0;
end sub

main:
OSCCON=%1110000                        ' choix oscillateur interne, à
8Mhz
while testbit(OSCCON,IOFS)=0 wend ' attente stabilisation oscillateur

ANSEL =%00000000                ' met tous les ports en numérique
TrisA =%00000000                  ' met tous les ports A en sorties
TrisB =%10000000                  ' met RB7 en entrée, autres ports
RBx en sorties
PortA =%00000000                 ' met tous les ports A à 0
PortB =%00000000                 ' met tous les ports B à 0

i =0
compteur =0                       ' init compteur
INTCON =%10001000        ' GIE = 1; RBIE = 1; RBIF = 0;
while i =0 wend                   ' boucle infinie

end.





[ Auf dieses Posting antworten ]

Antworten