Witam wszystkich pisze ponieważ mam problem z obsługą wyświetlacza w moim układzie wyświetlacz 2x8znaków Programuje układ w Bascomie Avr mam pytanie dotyczące opcji konfiguracji wyświetlacza a opcjach Bascomu nie mam tam wyboru wyświetlacza 2x8znaków i jeszcze jest tam opcja konfigurowania portów procesora potrzebnych do komunikacji z wyświetlaczem czy muszę je skonfigurować Jeszcze mam jedno spostrzeżenie po zaprogramowaniu na wyświetlaczu pojawia się co prawda dużo znaków zapytania a po odłączeniu zasilania i podaniu na nowo już wyświetlacz nic nie reaguje.W załączniku przesyłam program napisany w Bascomie.
Proszę stosować znaczniki code
And!
Config Portd = &B1100001
Config Portb = &B11111111
Portd.4 = 1
Portd.3 = 1
Portd.2 = 1
Dim Dfd As Byte
Set Portb.7
Config Timer1 = Timer , Prescale = 8
Stop Timer1
Dim Odleglosc As Long
Dim Predkosc As Long
Dim Odl As Word
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Dim Maksymalna As Byte
Dim Maxs As Byte
Dim Liczba As Byte
Dim Rodzajpomiaru As Bit
Dim Czas_off As Word
Dim Odlegla As Byte
Dim Flaga As Bit
Dim Dane As Word
A = 2
B = 50
Set Portb.1
Set Portb.3
Readeeprom Predkosc , 5
Cls
Lcd "EdW"
Wait 2
If Predkosc < 1000 Then Predkosc = 3400
Gosub Predkosci
Czas_off = 19800
Ala:
Do
Gosub Wylaczenie
Reset Portb.4
Reset Portb.5
If Pind.4 = 0 Then
Incr Maxs
If Maxs > 3 Then Maxs = 0
Waitms 100
End If
Waitms 100
Cls
If Maxs = 0 Then Lcd "1m?"
If Maxs = 1 Then Lcd "3m?"
If Maxs = 2 Then Lcd "10m?"
If Maxs = 3 Then Lcd "predkosc"
If Pind.2 = 0 Then Exit Do
Loop
Liczba = 10
If Maxs = 2 Then Liczba = 200
If Maxs = 0 Or Maxs = 3 Then Set Portb.4
If Maxs = 1 Then Set Portb.3
Do
Gosub Wylaczenie
If Pind.3 = 0 Then
Goto Ala
End If
If Pind.2 = 0 Then
Czas_off = 0
Cls
Start Timer1
For C = 1 To Liczba
Set Portd.0
Waitus 12
nop
nop
Reset Portd.0
Waitus 10
nop
nop
Next C
Waitms 1
If Maxs > 0 Then
Waitms 2
End If
If Maxs = 2 Then
Waitms 5
End If
A_1:
If Pind.1 = 0 Then
If Timer1 < 65000 Then
Goto A_1
End If
Odlegla = 1
End If
Stop Timer1
Timer1 = Timer1 - 18
If Maxs < 3 Then
Odleglosc = Timer1 * Predkosc
Odleglosc = Odleglosc / 20000
If Odlegla = 1 Then
Lcd "blizej !"
Odlegla = 0
Else
Lcd Odleglosc ; "mm" ; " " ; Odl ; "m/s"
End If
Else
Predkosc = 20000000 / Timer1
Gosub Predkosci
Lcd Odl ; "m/s?"
End If
Timer1 = 0
Waitms 250
End If
If Maxs = 3 Then
If Pind.4 = 0 Then
Goto Ala
End If
End If
Loop
Predkosci:
Odl = Predkosc / 10
Return
Wylaczenie:
Waitms 1
Incr Czas_off
If Czas_off > 20000 Then
Czas_off = 0
Writeeeprom Predkosc , 5
Set Portd.5
End If
ReturnProszę stosować znaczniki code
And!
