Krzy$
Guest
Thu Mar 25, 2004 1:19 am
Witam!
Mam pytanko. Czy w przypadku sterowania wyświetlaczem LCD JM162A za pomocą 4
bitowej magistrali danych (DB4-DB7), pozostale wyprowadzenia (DB0-DB3)
nalezy pozostawic nie podlaczone, czy tez mozna je zewrzec do masy??
Z gory dzieki!!
Pzdr!
BLE_Maciek
Guest
Thu Mar 25, 2004 1:48 am
Wed, 24 Mar 2004 18:19:17 +0100 jednostka biologiczna o nazwie "Krzy$"
<kchrisk1@poczta.onet.pl> wyslala do portu 119
jednego z serwerow news nastepujace dane:
Quote:
Mam pytanko. Czy w przypadku sterowania wyświetlaczem LCD JM162A za pomocą 4
bitowej magistrali danych (DB4-DB7), pozostale wyprowadzenia (DB0-DB3)
nalezy pozostawic nie podlaczone, czy tez mozna je zewrzec do masy??
Rozumiem ze jest to standardowy wyswietlacz oparty o HD44780/klon.
Zazwyczaj zostawia sie w powitrzu, ale podlaczone do masy raczej (na
99%) tez bedzie dzialac. Ale po co sie zastanawiasz ? Zostaw w
powietrzu i juz.
Krzy$
Guest
Thu Mar 25, 2004 2:26 am
Quote:
Rozumiem ze jest to standardowy wyswietlacz oparty o HD44780/klon.
Zazwyczaj zostawia sie w powitrzu, ale podlaczone do masy raczej (na
99%) tez bedzie dzialac. Ale po co sie zastanawiasz ? Zostaw w
powietrzu i juz.
Wlasnie chodzi o to ze podlaczylem je do masy, a wyswietlacz mi nie dziala
dlatego sie zastanawiam czy to wina programu czy tego zwarcia do masy.
Oto programik (uzywam ATMega8) .LCD podlaczony jest nastepujaco: DB4-PD5,
DB5-PD4 , RS-PD3, E-PD2, DB6-PD1, DB7-PD0, R/W-MASA.
Nie wiem co jest grane, chcialem zaczac od tego zeby mi wyswietlil literke
A, a tu nic kompletnie sie nie dzieje. Nigdy wczesniej nie programowalem
mikrokontrolerow, dlatego podejrzewam ze programik ma kilka bledow. Prosze o
jakies uwagi co tu jest nie tak.
..include"8515def.inc"
..equ e=pd2
..equ rs=pd3
..def mp=r16
rjmp main
main:
ldi mp,LOW(RAMEND)
out SPL,mp
ldi mp,HIGH(RAMEND)
out SPH,mp
ldi r17,0xff
out ddrd,r17
ldi r18,0x00
out portd,r18
rcall czek30ms ;czekaj 30ms na wykonanie procedury zerujacej
rjmp inic ;wyslij 3 razy 3-
rcall inic1 ;wyslij 2-
rcall inic2 ;wyslij 28 (wybor interfejsu 4bitowego)
rcall inic3 ;wyslij 08 (wylacz wyswietlacz,kursor i
mruganie)
rcall inic4 ;wyslij 01 (czysc wyswietlacz, kursor na
pozycje poczatkowa)
rcall inic5 ;wyslij 06 (tryb bez przesowania
zawartosci ekranu)
rcall inic6 ;wyslij 0f (wlacz wyswietlacz z
mrugajacym kursorem)
rcall wyslijA ;wyslij 41 (wyswietl a)
wyslijA:
rcall zport
sbi portd,rs
sbi portd,e
sbi portd,pd1 ;ustaw 1 na DB6
nop
nop
cbi portd,e ;wyslij 4
rcall czek5ms ;czekaj 5ms
cbi portd,pd1 ;zeruj DB6
sbi portd,e
sbi portd,pd5 ;ustaw 1 na DB4
nop
nop
cbi portd,e
rcall czek5ms
cbi portd,pd5
ret
inic6:
rcall zport
sbi portd,e
nop
nop
cbi portd,e
rcall czek5ms
sbi portd,e
sbi portd,pd0
sbi portd,pd1
sbi portd,pd4
sbi portd,pd5
nop
nop
cbi portd,e ;wyslij f
rcall czek5ms
ret
inic5:
rcall zport
sbi portd,e
nop
nop
cbi portd,e
rcall czek5ms ;czekaj 5ms
sbi portd,e
sbi portd,pd1 ;ustaw 1 na DB6
sbi portd,pd4 ;ustaw 1 na DB5
nop ;wyslij 6
nop
cbi portd,e
rcall czek5ms
cbi portd,pd1 ;zeruj DB6
cbi portd,pd4 ;zeruj DB5
ret
inic4:
rcall zport
sbi portd,e
nop
nop
cbi portd,e
rcall czek5ms
sbi portd,e
sbi portd,pd5 ;ustaw 1 na DB4
nop
nop
cbi portd,e
cbi portd,pd5 ;zeruj DB4
rcall czek5ms
ret
inic3:
rcall zport
sbi portd,e
nop
nop
cbi portd,e
rcall czek5ms
sbi portd,pd0 ;ustaw 1 na db7
sbi portd,e
nop
nop
cbi portd,e
cbi portd,pd4
rcall czek5ms
ret
inic2: ;wysylanie 28 (interfejs 4bitowy)
rcall zport
sbi portd,e
sbi portd,pd4 ;Ustaw 1 na DB5
nop
nop
cbi portd,e
cbi portd,pd4 ;zeruj DB4
rcall czek5ms
sbi portd,e
sbi portd,pd0 ;ustaw 1 na DB7
nop
nop
cbi portd,e
cbi portd,pd0 ;zeruj DB7
rcall czek5ms
ret
inic1:
rcall zport
sbi portd,e
sbi portd,pd4 ;ustaw 1 na DB5
nop
nop
cbi portd,e
cbi portd,pd4
rcall czek5ms ;czekaj 5ms
ret
inic: ;wysylanie 3x3-
rcall zport
ldi r30,0x00
ldi r19,0x03
abc:
cbi portd,rs
sbi portd,e
sbi portd,pd4 ;ustaw 1 na DB5
sbi portd,pd5 ;ustaw 1 na DB4
nop
nop
cbi portd,e
rcall czek5ms ;czekaj 5ms
dec r19
cp r30,r19
brne abc
ret
czek5ms: ;czekaj 5ms
ldi r17,0x00
ldi r18,0xff
mom15:
ldi r19,0x14
mom25:
dec r19
cp r17,r19
brne mom25
dec r18
cp r17,r18
brne mom15
ret
czek30ms: ;czekaj 30ms
ldi r17,0x00
ldi r18,0xff
mom1:
ldi r19,0x78
mom2:
dec r19
cp r17,r19
brne mom2
dec r18
cp r17,r18
brne mom1
ret
zport:
ldi r30,0x00
out portd,r30
ret
Z gory dzieki!!!
Pzdr!!
Pablo_C
Guest
Thu Mar 25, 2004 2:48 am
różne elcedziaki różnie reagują na podłączenie niewykorzystanych bitów do
masy. ale jest sposób podłączenia prawidłowy dla wszystkich. połącz wolne
bity tylko ze sobą (ale nie łącz do masy ani nigdzie indziej). jeżeli nie ma
babola w sofcie to na 100% zadziała każdy elcedziak.
pozdrawiam
PC
Tadek12
Guest
Thu Mar 25, 2004 7:01 am
Quote:
Wlasnie chodzi o to ze podlaczylem je do masy, a wyswietlacz mi nie dziala
dlatego sie zastanawiam czy to wina programu czy tego zwarcia do masy.
Oto programik (uzywam ATMega8) .LCD podlaczony jest nastepujaco: DB4-PD5,
DB5-PD4 , RS-PD3, E-PD2, DB6-PD1, DB7-PD0, R/W-MASA.
Nie wiem co jest grane, chcialem zaczac od tego zeby mi wyswietlil literke
A, a tu nic kompletnie sie nie dzieje. Nigdy wczesniej nie programowalem
A jak masz ustawiony kontrast. Może coś się dzieje, ale tego nie widać?
Czy chociaż pojawia się widoczne tło (przy maksymalnym kontraście)?
Tadek
Krzy$
Guest
Thu Mar 25, 2004 8:24 am
Quote:
A jak masz ustawiony kontrast. Może coś się dzieje, ale tego nie widać?
Czy chociaż pojawia się widoczne tło (przy maksymalnym kontraście)?
Faktycznie miales racje!!! Kontrast byl zle ustawiony!!! Nie sadzilem ze
mozna kontrastem calkiem wygasic wyswietlacz!!
W kazdym razie dzieki!!!
Pzdr!!
BLE_Maciek
Guest
Fri Mar 26, 2004 7:13 pm
Thu, 25 Mar 2004 01:24:52 +0100 jednostka biologiczna o nazwie "Krzy$"
<kchrisk1@poczta.onet.pl> wyslala do portu 119
jednego z serwerow news nastepujace dane:
Quote:
A jak masz ustawiony kontrast. Może coś się dzieje, ale tego nie widać?
Czy chociaż pojawia się widoczne tło (przy maksymalnym kontraście)?
Faktycznie miales racje!!! Kontrast byl zle ustawiony!!! Nie sadzilem ze
mozna kontrastem calkiem wygasic wyswietlacz!!
Mozna i kontrast zazwyczaj jest najlepszy (optymalny) kiedy jego
wejscie polaczy sie z masa.