Télécharger Imprimer la page

Picaxe 14M Mode D'emploi page 6

Publicité

Programmation
.
Interruptions.
Une interruption est une procédure qui est traitée dès qu'une entrée particulière es tactivée. C'est la
façon la plus rapide de réagir au changement d'état d'une entrée.
Les ports d'interruptions sont lus entre chaque ligne du programme, entre chaque note de la
commande TUNE, et de façon continu pendant les pauses.
La commande SETINT doit être suivie de deux nombres au format binaire : les valeurs attendues des
entrées suivi du masque des numéros des pin.
Exemples.
Pour interrompre au passage au niveau haut du pin 1 seulement
setint %00000010 ;%00000010
Pour interrompre au passage au niveau bas du pin 1 seulement
setint %00000000, %00000010
Pour interrompre aux passages simultanés au niveau haut du pin 0, au passage au niveau haut du pin 1
et au passage au niveau bas de pin 2
setint %00000011, %00000111
Notes :
Chaque programme utilisant la commande SETINT doit avoir une procédure d'interruption
se terminant par la commande return. La commande SETINT doit être située au tout
début du programme.
Après que le traitement du code de la procédure d'interruption ait été exécuté, l'exécution
du programme reprend à la ligne suivante dans le corps du programme principal.
L'étiquette de la procédure doit impérativement être interrupt:
Exemple :
setint %10000000, %10000000
' activer l'interruption lors du passage au niveau haut du pin7
debut:
interrupt:
Dans cet exemple, la LED sur la sortie pin1 s'illumine immédiatement après que l'entrée pin7 soit
passée au niveau haut.
Avec la programmation standard if pin7 = 1 then ..., le programme peut prendre plus de 2
secondes avant d'éclairer la LED si la commande if n'est pas exécutée durant la pause du programme
principal . Voici le programme standard pour comparaison.
debut:
eclaire:
http://henri.lichiere.free.fr/electronique/picaxe-14m/
Microcontrôleur PICAXE-14M (PIC16F684)
low 1
pause 2000
goto debut
high 1
if pin7 = 1 then interrupt
setint %10000000, %10000000
pause 2000
return
low 1
pause 2000
if pin7 = 1 then eclaire
goto debut
high 1
if pin7 = 1 then éclaire
pause 2000
goto debut
' désactiver la sortie pin1
' attendre 2 secondes
' recommencer
' ÉTIQUETTE RESERVÉE
' activer
la sortie pin1
' continuer la procédure
' jusqu'à la fin
' réactiver l'interruption
' attendre 2 secondes
' retourner au programme
' désactiver la sortie pin1
' attendre 2 secondes
' recommencer
' activer sortie pin1
' continuer la procédure
' jusqu'à la fin
' attendre 2 secondes
' recommencer
hL – 2009
Page 6/8

Publicité

loading

Ce manuel est également adapté pour:

Pic16f684