Hallo,
ich habejetzt mal versucht eine LED mittels interrupt blinken zu lassen.
auf die art und weiße will ich später damit mal eine uhr bauen. deswegen der interrupt, sonst könnte ich ja auch wait 1 nehmen.
nur leider blinken die an portd angeschloßenen led nicht. entweder die blinken zu schnell so das ich es nicht sehen kann, oder der interrupt funktioniert nicht (was ich eher denke).
findet ihr ein fehler?
hier mein programm:
Code:
'******************************
'* Atmega8 mit 8MHz *
'* Interupt-testprogramm *
'******************************
$regfile "m8def.dat"
$crystal = 8000000
Config Portd = Output
Dim A As Byte , N As Byte
N = 0
A = 0
On Timer1 Ontimer1 'Interrupt-Routine für Timer1-Overflow
Config Timer1 = Timer , Prescale = 256 'Takt: Quarz/256
Enable Timer1 'Timer1-Overflow-Interrupt einschalten
Enable Interrupts 'Interrupts global zulassen
'---------------------------------------------------------
Do 'Hauptschleife
Loop
'---------------------------------------------------------
Ontimer1: 'Interrupt-Routine
N = N + 1
If N = 255 Then
A = A + 1
If A = 255 Then
Toggle Portd.0
A = 0
End If
End If
Return
wie kann man die frequenz berechnen.
weil 8MHz/256 = 31,25KHz / 256 = 122Hz /256 = 0,5Hz.
also müsste meine led aller 2 sekunden an und aus gehen. macht sie aber nicht.
danke für die hilfe
arno
Lesezeichen