Forum: Mikrocontroller und Digitale Elektronik Mega8 resetet wenn INT ausgelöst wird


von Daniel (Gast)


Lesenswert?

Hallo zusammen,

schaut auch doch mal bitte folgenden Code an:

'$sim
$crystal = 16000000
$regfile = "m8def.dat"

On Int0 Int0serv
On Int1 Int1serv

Ddrb = &B00000111                                           'Port B
Ddrc = &B00110000                                           'Port C
Ddrd = &B11100000                                           'Port D
Portd = &B00001100

Enable Int0
Enable Int1
Enable Interrupts
Config Int0 = Falling
Config Int1 = Falling

Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.1 , Db6 = Portd.5 ,
Db7 = Portd.6 , Rs = Portb.0 , E = Portd.7
Config Lcd = 16 * 2
Cursor Off

Waitms 100
Cls
Wait 1
Lcd "Start"

Do
Waitms 100
Portc.4 = Not Portc.4
Loop

End
'----------------------------------------------------------
' Interruptroutine Int0
'----------------------------------------------------------
Int0serv:
Portc.5 = 0
Return
'----------------------------------------------------------
' Interruptroutine Int1
'----------------------------------------------------------
Int1serv:
Portc.5 = 1
Return


Ich ziehe die INTs per Taster auf Masse.
Wenn ich diese Taster drücke, wird zwar der INT ausgelöst (LED geht an
oder aus), jedoch resetet sich der Mega8...soll heißen, das LCD geht
kurz aus, ist dann leer und dann steht dort wieder Start.
Kann sich das jemand erklären??

Daniel

von Daniel (Gast)


Lesenswert?

PS: die LED an Port C4 hört dann beim Auslösen des INT auch kurz auf zu
blinken.

von Tobi (Gast)


Lesenswert?

könnte das nicht viel eher an deiner aussenbeschaltung liegen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.