Stap 3: Knoppen en interrupts
Een interrupt doet, zoals de naam suggereert, het programma om te doen een beetje routine onderbreken. Wanneer de interrupt wordt gedaan, blijft het programma waar het werd onderbroken. Er zijn veel verschillende interrupts gestart door interne gebeurtenissen veroorzaakt door timers, comparatoren... maar we zullen 2 externe interrupts veroorzaakt door de twee knoppen te gebruiken.
De knoppen verbinden de interrupt-pinnen met grond, terwijl een weerstand van 1K 5 pullup de pin hoog houdt (de interrupt wordt geactiveerd wanneer de pin laag gaat).
Aan het begin van onze code moet wij opstelling de interrupts.
config INT0 = Falling de interrupt wordt geactiveerd op de dalende rand.
Op INT0 button1 wanneer de interrupt wordt geactiveerd het programma zal gaan naar
Label button1.
Inschakelen van INT0 maakt deze interrupt
config INT1 = Falling
Op INT1 button2 wanneer de interrupt wordt geactiveerd het programma zal gaan naar
Label button2.
INT1 inschakelen
Inschakelen interrupts maakt het gebruik van alle interrupts
Aan het einde van de code, na het einde - verklaring, zullen wij de 2 benodigde labels met de routine.
Button1:
code om het uur
Terugkeer
Button2:
code om de minuten te regelen
Terugkeer
Een belangrijk ding om te onthouden is dat je kan niet leiden een interrupt in de routine van een ander tot!
Nu zijn wij in staat om de tijd, we kunnen kijken onze display aka de numitrons in de volgende stap.