mam już od dłuższego czasu problem
mianowicie generator częstotliwości
dzisiaj bardzo się zdziwiłem
gdy nie ładuje do timera wartosci początkowej
wszystko jest ok, dioda sobie miga
co ok 2 sek i jest spoko
gdy natomiast załaduje do timera1 16Bit
np 1000 co w zauważalny sposób nie powinno
zmienić częstotliwości migania diody
ona zaczyna migać jak oszalała
z tego co zauważyłem pierwszy cykl mojego
licznika jest ok
dopiero po pierwszym d.2=1 zaczyna działać
jak oszalały
pomocy
używam bascom,atmega8, oscylator 8MHz połączony przez
C 16pF FS ustawione jako 1111:1111 external Xtal
program (tylko sie nie śmiejcie
)
$regfile = "m8def.DAT"
$crystal = 8000000
Dim Licznik As Integer
Dim I As Integer
Dim C As Integer
Dim P As Integer
Config Pind.2 = Output
Config Timer1 = Timer , Prescale = 64
Enable Interrupts
Enable Timer1
On Timer1 Co1us
Portd.2 = 1
Portd.5 = 1
Portd.6 = 1
Portd.7 = 1
Portb.0 = 1
Cls
Cursor Off Noblink
I = 3
P = 2
Do
If Pind.5 = 0 Then
Incr P
Cls
End If
If Pind.6 = 0 Then
Decr P
Cls
End If
If Pind.7 = 0 Then
Incr I
Cls
End If
If Pinb.0 = 0 Then
Decr I
Cls
End If
C = P + I
Home
Lcd "P=" ; P ; "us"
Lowerline
Lcd "I=" ; I ; "us " ; Licznik
If Licznik = P Then
Portd.2 = 0
End If
If Licznik >= C Then
Portd.2 = 1
Licznik = 0
End If
Loop
End
Co1us:
Load Timer1 , 1000
Incr Licznik
Return
mianowicie generator częstotliwości
dzisiaj bardzo się zdziwiłem
gdy nie ładuje do timera wartosci początkowej
wszystko jest ok, dioda sobie miga
co ok 2 sek i jest spoko
gdy natomiast załaduje do timera1 16Bit
np 1000 co w zauważalny sposób nie powinno
zmienić częstotliwości migania diody
ona zaczyna migać jak oszalała
z tego co zauważyłem pierwszy cykl mojego
licznika jest ok
dopiero po pierwszym d.2=1 zaczyna działać
jak oszalały
pomocy
używam bascom,atmega8, oscylator 8MHz połączony przez
C 16pF FS ustawione jako 1111:1111 external Xtal
program (tylko sie nie śmiejcie
$regfile = "m8def.DAT"
$crystal = 8000000
Dim Licznik As Integer
Dim I As Integer
Dim C As Integer
Dim P As Integer
Config Pind.2 = Output
Config Timer1 = Timer , Prescale = 64
Enable Interrupts
Enable Timer1
On Timer1 Co1us
Portd.2 = 1
Portd.5 = 1
Portd.6 = 1
Portd.7 = 1
Portb.0 = 1
Cls
Cursor Off Noblink
I = 3
P = 2
Do
If Pind.5 = 0 Then
Incr P
Cls
End If
If Pind.6 = 0 Then
Decr P
Cls
End If
If Pind.7 = 0 Then
Incr I
Cls
End If
If Pinb.0 = 0 Then
Decr I
Cls
End If
C = P + I
Home
Lcd "P=" ; P ; "us"
Lowerline
Lcd "I=" ; I ; "us " ; Licznik
If Licznik = P Then
Portd.2 = 0
End If
If Licznik >= C Then
Portd.2 = 1
Licznik = 0
End If
Loop
End
Co1us:
Load Timer1 , 1000
Incr Licznik
Return