Witam.
Zaprojektowałem schemat, wykonałem płytki, polutowałem, napisałem program na bazie innych i nie działa.
Poniżej przedstawiam schemat:
Zdjęcia należy wklejać tak:
https://www.elektroda.pl/rtvforum/topic1229082.html
Proszę poprawić.
/prezeswal/.
O to schematy

Program:
Otóż, po naciśnięciu przycisku powinie piszczeć głośnik, jednak nic się nie dzieje. Po wpisaniu kodu 123* powinien zaskoczyc przekaźnik, nic. Do uP dochodzi napięcie, dokładnie 4,85V. Jak zewre emiter z kolektorem tranzystora głośnika to piszczy, tak samo z przekaźnikiem.
Generalnie proszę o sprawdzenie programu, czy ma on prawo działać.
Pozdrawiam i dzięki.
EDIT:
Sprawdziłem napięcie między bazą tranzystora a masą w momencie wciśnięcia przycisku. Żadne napięcie się nie pojawia, więc sugeruje, żę to może być wina programu.
Proszę o sprawdzenie, Dziękuje z góry
Zaprojektowałem schemat, wykonałem płytki, polutowałem, napisałem program na bazie innych i nie działa.
Poniżej przedstawiam schemat:
Zdjęcia należy wklejać tak:
https://www.elektroda.pl/rtvforum/topic1229082.html
Proszę poprawić.
/prezeswal/.
O to schematy
Program:
'**********************************************************
'Lejkowski Wojciech
'Projekt zamka cyfrowego
'Procesor ATmega 8
'Kompilator BASCOM AVR
'**********************************************************
$regfile = "m8def.dat"
$crystal = 8000000
Dim Klawisz As Byte , Adm As Byte , Wynik As Byte
Dim Licznik As Byte , Licznik1 As Byte
Dim Kod1 As String * 10 , Kod0 As String * 10
Portd = 255
Portb = &B000100
Licznik = 0
Licznik1 = 0
Kod0 = "[\]"
Kod1 = ""
Wynik = 0
Adm = 0
'**********************************************************
'Petla glowna
'**********************************************************
Do
Reset Pind.3
Klawisz = 60
Gosub Kolumna
Reset Pind.4
Klawisz = 70
Gosub Kolumna
Reset Pind.5
Klawisz = 80
Gosub Kolumna
Reset Pind.6
Klawisz = 90
Gosub Kolumna
Loop
'**********************************************************
'podprogram kolumna
'**********************************************************
Kolumna:
If Pind.0 = 0 Then
Pinb.4 = 1
Klawisz = Klawisz + 1
Waitms 20
Bitwait Pind.0 , Set
Waitms 100
Pinb.4 = 0
Gosub Kod
End If
If Pind.1 = 0 Then
Pinb.4 = 1
Klawisz = Klawisz + 2
Waitms 20
Bitwait Pind.1 , Set
Waitms 100
Pinb.4 = 0
Gosub Kod
End If
If Pind.2 = 0 Then
Pinb.4 = 1
Klawisz = Klawisz + 3
Waitms 20
Bitwait Pind.2 , Set
Waitms 100
Pinb.4 = 0
Gosub Kod
End If
Portd = 255
Return
'**********************************************************
'podprogram kod
'**********************************************************
Kod:
If Adm = 1 Then
If Klawisz = 61 Then
Adm = 0
Wynik = 0
Licznik1 = 0
Gosub Kasuj
Return
End If
Kod0 = Kod0 + Chr(klawisz)
Incr Licznik1
If Licznik1 = 10 Then
Adm = 0
Kod0 = ""
Licznik1 = 0
Gosub Kasuj
End If
Return
End If
If Klawisz = 61 Then
Gosub Porownaj
If Wynik = 1 Then
Gosub Przekaznik
End If
Gosub Kasuj
Return
End If
If Klawisz = 63 Then
Gosub Porownaj
End If
If Klawisz = 63 Then
If Wynik = 1 Then
Adm = 1
Kod0 = ""
Licznik1 = 0
End If
Return
End If
Kod1 = Kod1 + Chr(klawisz)
Incr Licznik
If Licznik = 10 Then
Gosub Kasuj
End If
Return
'**********************************************************
'podprogram porownaj
'**********************************************************
Porownaj:
If Kod0 = Kod1 Then
Wynik = 1
End If
Return
'**********************************************************
'podprogram kasuj
'**********************************************************
Kasuj:
Kod1 = ""
Licznik = 0
Wynik = 0
Return
'**********************************************************
'podprogram przekaznik
'**********************************************************
Przekaznik:
If Pinb.3 = 0 Then
Pinb.2 = Not Pinb.2
Pinb.5 = Not Pinb.5
Return
End If
Pinb.2 = 1
Pinb.5 = 1
Wait 4000
Pinb.2 = 0
Pinb.5 = 0
ReturnOtóż, po naciśnięciu przycisku powinie piszczeć głośnik, jednak nic się nie dzieje. Po wpisaniu kodu 123* powinien zaskoczyc przekaźnik, nic. Do uP dochodzi napięcie, dokładnie 4,85V. Jak zewre emiter z kolektorem tranzystora głośnika to piszczy, tak samo z przekaźnikiem.
Generalnie proszę o sprawdzenie programu, czy ma on prawo działać.
Pozdrawiam i dzięki.
EDIT:
Sprawdziłem napięcie między bazą tranzystora a masą w momencie wciśnięcia przycisku. Żadne napięcie się nie pojawia, więc sugeruje, żę to może być wina programu.
Proszę o sprawdzenie, Dziękuje z góry
