Witam
Chcę napisać program który wyświetlał by tekst na lcd (program do samego wyświetlania txt działał) ale teraz chciałem zrobić taki co wyświetla tekst i za pomocą przycisku zapala podświetlenie i po ponownym przyciśnięciu by go gasił.
Pojawiły mi się błędy których wczesniej nie miałem ( kody błędów na screenie)
Tutaj załączam sam kod
Wydaje mi się że problem leży w konfiguracji pinów.
Czy ktoś mógłby go poprawić i wytłumaczyć mi jak te porty się konfiguruje.
Czytałem na forum troche o tym i w książce " Mikrokontrolery dla początkujących " ale powiem szczerze że mi troche się już namieszało.
Wiem że jak chcemy nadać pinowi wartość (0 albo 1) to używamy polecenia
Set PortX.X a nie Set PinX.X
Polecenie PinX.X możemy sprawdzić jaki jest stan logiczny danego pinu.
np: if pinb.4 = 1 then ....
Dobrze myślę ?
A początkowa konfiguracja portów/pinów Config portb = output
to wiem że wszystkie piny portu b jako wyjście czyli stan logiczny 1
i teraz nie wiem czyli co jest na nich +5V czy jak.
czy to znaczy że z tak skonfigurowanego portub mogę wysyłąć bity danych
czy jak ?
Chcę napisać program który wyświetlał by tekst na lcd (program do samego wyświetlania txt działał) ale teraz chciałem zrobić taki co wyświetla tekst i za pomocą przycisku zapala podświetlenie i po ponownym przyciśnięciu by go gasił.
Pojawiły mi się błędy których wczesniej nie miałem ( kody błędów na screenie)
Tutaj załączam sam kod
$regfile = "m8def.dat"
$crystal = 1000000
Config Portb.4 = Output 'pinb.4 jako wyjście = config Portb = &B00110000 (piny b.3 i b.4 jako output)
Config Portb.3 = Output 'pinb.3 jako wyjscie
Config Portb.2 = Output
Reset Portb.4 'wartość poczatkowa pinb.4 = 0
Reset Portb.3 'wartosc poczatkowa pinb.3 = 0
Reset Portb.2
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 'połączenie atmegi z LCD
If Portb.4 = 1 'jeśli na porcie portb.4 pojawi sięnapięcie ( czyli logiczne 1 ) to
Then
Do 'pentla DO
Portb.2 = 1 ' na porcie portb.2 zostaje ustawiony bit ( pojawia się napięcie +5V i LCD zostaje podświetlony
Loop Until Portb.3 = 1 'wyjdz z pętli Do..Loop gdy na porcie Portb.3 pojawi sięnapięcie
Else 'gdy na porcie Portb.4 nie ma napięcia (portb.4 = 0) to...
Do
Portb.2 = 0 'na porcie Portb.2 ma być brak napięcia ( portb.2 = 0 )
Loop Until Portb.4 = 1 'wyskocz z pętli jezeli na porcie Portb.4 pojawi sięnapięcie
End If
End
Wydaje mi się że problem leży w konfiguracji pinów.
Czy ktoś mógłby go poprawić i wytłumaczyć mi jak te porty się konfiguruje.
Czytałem na forum troche o tym i w książce " Mikrokontrolery dla początkujących " ale powiem szczerze że mi troche się już namieszało.
Wiem że jak chcemy nadać pinowi wartość (0 albo 1) to używamy polecenia
Set PortX.X a nie Set PinX.X
Polecenie PinX.X możemy sprawdzić jaki jest stan logiczny danego pinu.
np: if pinb.4 = 1 then ....
Dobrze myślę ?
A początkowa konfiguracja portów/pinów Config portb = output
to wiem że wszystkie piny portu b jako wyjście czyli stan logiczny 1
i teraz nie wiem czyli co jest na nich +5V czy jak.
czy to znaczy że z tak skonfigurowanego portub mogę wysyłąć bity danych
czy jak ?