Złożyłem układ z Atmega8515 i LCD. oraz klawiaturą matrycową. Kwarc 110592Hz.
Tu kod:
Po włączeniu zasilania po kilkunastu sekundach wyświetlacz się inicjalizuje i potem wyświetla jakiś znaczek w lewym górnym rogu i nic się nie dzieje oraz jak wciskam klawiaturę to zero reakcji. Proszę tylko nie pisać że mam użyć asma albo innego C bo nie o to tu chodzi. Schematu nie załączam bo ustawienia (podłączenia, aliasy) kto programuje AVR wie pewnie o co chodzi. są w listingu. Nie wiem może trzeba poustawiać fusebity albo coś. Interesuje mnie żeby ten procek ruszył. Prubuję nawet na początku zaświecać diody podłączone przez tranzystor do portu B2 i pB3. Ale nie świecą. Dziwne wygląda tak jak by się zaraz na początku zawieszało. Acha może to ważne z kwarcem są kondensatory 33pF Może trzeba dać inne. Może jeszcze jakaś linia opuźniająca na początku. Czekam na cokolwiek co będzie mnie w stanie naprowadzić. Dokumentację Atmega przeczytałem całą. Ale po angielsku może czegoś nie pojołem.
Tu kod:
Declare Sub Zklawiatury(byval Klaw As Byte)
Declare Sub Post()
Declare Sub Silxsensor()
Declare Sub Silysensor()
Declare Sub Silzsensor()
Declare Sub Ruchsilx(byval Ilekrokow As Word)
Declare Sub Ruchsily(byval Ilekrokow As Word)
Declare Sub Ruchsilz(byval Ilekrokow As Word)
'Funkcje
Declare Function Petlaklaw() As Byte
'Zmienne
Dim Klaw As Byte
Dim Opuznienie As Byte
Dim Wcisniete As Byte
Dim Ilekrokow As Word
Dim Kier As Bit
'Przypisanie aliasów
'Silnik X przesówający się na boki
Silclkx Alias Portc.7
Sildirx Alias Portc.6
Silenabx Alias Portc.5
Czujniksilx Alias Portd.2
'Silnik Y podnoszący i opuszczający płytkę
Silclky Alias Portc.4
Sildiry Alias Portc.3
Silenaby Alias Portc.2
Czujniksily Alias Portd.3
'Silnik Z poruszający się do przodu i do tyłu
Silclkz Alias Portc.1
Sildirz Alias Portc.0
Silenabz Alias Portd.7
Czujniksilz Alias Portd.4
Config Kbd = Porta
'Config Lcdmode = Port
'Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Portb.6 , Db5 = Portb.7 , Db6 = Portb.0 , Db7 = Portb.1 , E = Portb.5 , Rs = Portb.4
Config Lcd = 20 * 4
Initlcd
Ddrc = &B11111111 'ustawiam
Ddrd = &B10000000
Reset Portb.2
Wait 10
Set Portb.2
Reset Portb.3
Print "henio"
Cls
Lcd "Automatyczne ciecie"
Lowerline
Lcd " Czipow V 0.1 "
Thirdline
Lcd "Pomysl i wykonanie:"
Fourthline
Lcd " Henio"
Wait 2
Cls
Call Post
'Głowna pętla programu
Do
Wcisniete = Petlaklaw()
Cls
If Wcisniete > 16 Then
Wcisniete = Wcisniete - 8
End If
If Wcisniete = 0 Then
Kier = 1
Call Ruchsilx(50)
End If
Lcd "wcisnieto: " ; Wcisniete
Waitms 10
Loop
Function Petlaklaw() As Byte
Do
Klaw = Getkbd()
If Klaw <> 16 Then
Petlaklaw = Klaw
Waitms 10
Exit Do
End If
Loop
End Function
Sub Zklawiatury(byval Klaw As Byte)
If Klaw >= 0 And Klaw < 10 Then
Cls
Fourthline
Lcd Klaw
Waitms 10
End If
End Sub
Sub Post()
End Sub
Sub Silxsensor()
End Sub
Sub Silysensor()
End Sub
Sub Silzsensor()
End Sub
Sub Ruchsilx(byval Ilekrokow As Word )
Dim I As Word
If Kier = 1 Then
Set Sildirx
Else
Reset Sildirx
End If
Set Silenabx
For I = 0 To Ilekrokow
Set Silclkx
Waitms Opuznienie
Reset Silclkx
Next I
End Sub
Sub Ruchsily(byval Ilekrokow As Word)
Dim Ii As Word
If Kier = 1 Then
Set Sildiry
Else
Reset Sildiry
End If
Set Silenaby
For Ii = 0 To Ilekrokow
Set Silclky
Waitms Opuznienie
Reset Silclky
Next Ii
End Sub
Sub Ruchsilz(byval Ilekrokow As Word)
Dim Iii As Word
If Kier = 1 Then
Set Sildiry
Else
Reset Sildiry
End If
Set Silenaby
For Ii = 0 To Ilekrokow
Set Silclky
Waitms Opuznienie
Reset Silclky
Next Iii
End Sub
Po włączeniu zasilania po kilkunastu sekundach wyświetlacz się inicjalizuje i potem wyświetla jakiś znaczek w lewym górnym rogu i nic się nie dzieje oraz jak wciskam klawiaturę to zero reakcji. Proszę tylko nie pisać że mam użyć asma albo innego C bo nie o to tu chodzi. Schematu nie załączam bo ustawienia (podłączenia, aliasy) kto programuje AVR wie pewnie o co chodzi. są w listingu. Nie wiem może trzeba poustawiać fusebity albo coś. Interesuje mnie żeby ten procek ruszył. Prubuję nawet na początku zaświecać diody podłączone przez tranzystor do portu B2 i pB3. Ale nie świecą. Dziwne wygląda tak jak by się zaraz na początku zawieszało. Acha może to ważne z kwarcem są kondensatory 33pF Może trzeba dać inne. Może jeszcze jakaś linia opuźniająca na początku. Czekam na cokolwiek co będzie mnie w stanie naprowadzić. Dokumentację Atmega przeczytałem całą. Ale po angielsku może czegoś nie pojołem.