 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
LukaK Član

Pridružen-a: Ned 18 Okt 2009 11:51 Prispevkov: 18 Aktiv.: 0.09 Kraj: Škofja Loka
|
Objavljeno: Čet Mar 04, 2010 8:36 am Naslov sporočila: |
|
|
No, po krajšem premoru (namenjen je bil preizkušanju vseh možnih kombinacij) sem prišel do nekih spoznanj, a še ne do dokončne rešitve. Če na tiskanini prispajkam na podnožje mega8 ploščati kabel in ga povežen z 20pin podnožjem za attiny2313, krmilnik zaprogramiram mi zaslon normalno deluje. Torej lahko sklepam, da je konstrukcija vezja in priljučkov ustrezna. Sedaj moram samo še prepričati mega8, da mi izvede inicializacijo. Mislim, da se težava skriva v PORTD mikrokrmilnika mega8. Sedaj pa spet veselo na delo.
_________________ LP Luka |
|
Nazaj na vrh |
|
 |
stursc Član

Pridružen-a: Tor 08 Jun 2004 14:29 Prispevkov: 323 Aktiv.: 1.36
|
Objavljeno: Čet Mar 04, 2010 6:55 pm Naslov sporočila: |
|
|
LukaK je napisal/a: |
Mislim, da se težava skriva v PORTD mikrokrmilnika mega8. Sedaj pa spet veselo na delo. |
Mislim, da portd.0 in portd.1 ne delujeta na ldc-ju, vsaj meni ni uspelo.
Prestavi pine od d2 naprej in mora delovati tudi M8.
LP, stursc
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.94 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Čet Mar 04, 2010 7:43 pm Naslov sporočila: |
|
|
stursc je napisal/a: |
LukaK je napisal/a: |
Mislim, da se težava skriva v PORTD mikrokrmilnika mega8. Sedaj pa spet veselo na delo. |
Mislim, da portd.0 in portd.1 ne delujeta na ldc-ju, vsaj meni ni uspelo.
Prestavi pine od d2 naprej in mora delovati tudi M8.
LP, stursc |
Ne vidim hardwerskega razloga, da ne bi delala. Pina sta čisto običajna. Morda kak višjenivojski jezik daje prednost USAR-tu. Pina sta še lahko RX-TX. Displej bo delal na vsakem IO pinu.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
LukaK Član

Pridružen-a: Ned 18 Okt 2009 11:51 Prispevkov: 18 Aktiv.: 0.09 Kraj: Škofja Loka
|
Objavljeno: Čet Mar 04, 2010 11:53 pm Naslov sporočila: |
|
|
Tudi če je najnižji pin d.2 (izpustil sem d.1 in d.0) zaslon prek m8 ne deluje-na tiny2313 pač. Na izhodih (pinih LCD-ja) dobivam "enake" pulze prek m8 in pa prek 2313, samo s to razliko, da se na m8 LCD ne inicializira pa pika. Program je enak, v prevajalniku so pini prav tako nastavljeni vsakokrat posebej, frekvenca enaka...poizkusil sem že z dvema m8-v primeru, če bi bil prvi slučajno zanič, pa je efekt isti.
_________________ LP Luka |
|
Nazaj na vrh |
|
 |
LukaK Član

Pridružen-a: Ned 18 Okt 2009 11:51 Prispevkov: 18 Aktiv.: 0.09 Kraj: Škofja Loka
|
Objavljeno: Pet Mar 05, 2010 8:43 pm Naslov sporočila: |
|
|
No pa še eno novo poučno spoznanje, ki pa še ne pomeni rešitve!
Torej: v helpu od bascoma sem našel (sicer že davno tega) knjižnjico "lcd4busy.lib" in jo prevedel za "štos" na tiny2313. Pa je LCD deloval brez problema-naj opomnim, da je potrebno R/W priključek zaslona vezati na krmilnik. Ko pa sem vse skupaj prestavil na mego8 in simetrično zamenjal oznake portb->portd pa je bilo uspeha kaj hitro konec. Zaslon se spet ni več inicializiral. Do tega prebliska sem prišel na nekem nemškem forumu, kjer je bilo omeneno, da je mogoče, da je kontroler prehiter pri inicilaizaciji za LCD. Pa sem omogočil še "busy" linijo. Pa je pesem spet ista.
_________________ LP Luka |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.94 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pet Mar 05, 2010 8:59 pm Naslov sporočila: |
|
|
Luka,
Kako imaš povezano? - bom dal na testno eno Mego8 pa na hitro spisal testni program. (sicer v assemblerju), da boš lahko preveril, če ni slučajno težava hardware.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.94 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pet Mar 05, 2010 10:10 pm Naslov sporočila: |
|
|
Tukaj imaš na hitro napisano (v prilogi je tudi hex)
Data linije PD0-PD3 RS-PD4 EN-PD5 R/W vežeš na maso.
Testirano na enovrstičnem displeju, ki je bil ravno pri roki. Dela brez programske spremembe pri oscilatorju od 1M-8M (uporabljen je bil interni oscilator)
Koda: |
.include "m8def.inc"
;.equ RST=0
;.equ ENB=1
.equ RST=4
.equ ENB=5
#define RS PortD,RST
#define EN PortD,ENB
.def tmp=r16
.def tmp2=r17
.org 0x0
rjmp GlProg
.org 0x13
GlProg:
ldi tmp,low(ramend)
out SPL,tmp
ldi tmp,high(ramend)
out SPH,tmp
ldi tmp,0b111111
out DDRD,tmp
; sbi DDRC,RST
; sbi DDRC,ENB
rcall LcdInt
ldi tmp,0b10000000
rcall PosljiUkaz
ldi tmp,'T'
rcall PosljiZnak
ldi tmp,'e'
rcall PosljiZnak
ldi tmp,'s'
rcall PosljiZnak
ldi tmp,'t'
rcall PosljiZnak
ldi tmp,0b11000000 ;vrstica 2
rcall PosljiUkaz
ldi tmp,'E'
rcall PosljiZnak
ldi tmp,'l'
rcall PosljiZnak
ldi tmp,'e'
rcall PosljiZnak
ldi tmp,'k'
rcall PosljiZnak
ldi tmp,'t'
rcall PosljiZnak
ldi tmp,'r'
rcall PosljiZnak
ldi tmp,'o'
rcall PosljiZnak
ldi tmp,'n'
rcall PosljiZnak
ldi tmp,'i'
rcall PosljiZnak
ldi tmp,'k'
rcall PosljiZnak
ldi tmp,'.'
rcall PosljiZnak
ldi tmp,'s'
rcall PosljiZnak
ldi tmp,'i'
rcall PosljiZnak
nop
rjmp PC-1
LcdInt:
ldi tmp,150
rcall XPavza
ldi tmp,0b11
out PortD,tmp
rcall Poslji
ldi tmp,41
rcall XPavza
rcall Poslji
rcall Pavza100uS
rcall Poslji
ldi tmp,41
rcall XPavza
ldi tmp,0b10
out PortD,tmp
rcall Poslji
rcall Pavza100uS
rcall Poslji
ldi tmp,0b1000
out PortD,tmp
rcall Poslji
rcall Pavza100uS
clr tmp
out PortD,tmp
rcall Poslji
ldi tmp,0b1000
out PortD,tmp
rcall Poslji
rcall Pavza100uS
clr tmp
out PortD,tmp
rcall Poslji
ldi tmp,0b1101
out PortD,tmp
rcall Poslji
ldi tmp,17
rcall XPavza
clr tmp
out PortD,tmp
rcall Poslji
ldi tmp,0b110
out PortD,tmp
rcall Poslji
rcall Pavza100uS
clr tmp
out PortD,tmp
rcall Poslji
sbi PortD,0
rcall Poslji
ldi tmp,200
rcall XPavza
ret
PosljiZ:
sbi RS
Poslji:
sbi EN
rcall Pavza100uS
cbi EN
cbi RS
ret
Xpavza:
rcall Pavza100uS
dec tmp
brne Xpavza
ret
;----------------------------------------------------------
;procedura poslje znak katerega dobi v tmp
;----------------------------------------------------------
PosljiZnak:
swap tmp
push tmp
andi tmp,0b1111
in tmp2,PortD
andi tmp2,0b11110000 ;
or tmp,tmp2
out PortD,tmp
rcall PosljiZ
pop tmp
swap tmp
andi tmp,0b1111
or tmp,tmp2
out PortD,tmp
rcall PosljiZ
ret
;----------------------------------------------------------
;procedura poslje ukaz katerega dobi v tmp
;----------------------------------------------------------
PosljiUkaz:
swap tmp
push tmp
andi tmp,0b1111
in tmp2,PortD
andi tmp2,0b11110000 ;
or tmp,tmp2
out PortD,tmp
rcall Poslji
pop tmp
swap tmp
andi tmp,0b1111
or tmp,tmp2
out PortD,tmp
rcall Poslji
ret
;-----------------------------------------------------------
;Pavza 100uS Oscilator 4Mhz
;-----------------------------------------------------------
Pavza100uS:
push r20
ldi r20,129
P_zanka:
dec r20
brne P_zanka
pop r20
nop
nop
ret
|
Opis: |
|
 Download |
Ime datoteke: |
LCDM8.ZIP |
Velikost datoteke: |
7.03 KB |
Downloadano: |
2 krat |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
stursc Član

Pridružen-a: Tor 08 Jun 2004 14:29 Prispevkov: 323 Aktiv.: 1.36
|
Objavljeno: Sob Mar 06, 2010 8:26 am Naslov sporočila: |
|
|
LukaK je napisal/a: |
Ko pa sem vse skupaj prestavil na mego8 in simetrično zamenjal oznake portb->portd pa je bilo uspeha kaj hitro konec. |
Luka, v prilogi imaš delujočo kodo v Bascomu.
Poglej tudi print screen.
LP, stursc
Opis: |
|
 Download |
Ime datoteke: |
LCD.ZIP |
Velikost datoteke: |
65.06 KB |
Downloadano: |
21 krat |
|
|
Nazaj na vrh |
|
 |
lbozo Član

Pridružen-a: Pet 18 Jan 2008 23:51 Prispevkov: 71 Aktiv.: 0.33 Kraj: Vodice
|
Objavljeno: Sob Mar 06, 2010 10:44 am Naslov sporočila: |
|
|
Poglej še pri fuse bitih, če imaš omogočen USART. Če je, te to zeza. TAko sem jaz enkrat mislil da je pokvarjen en port od atmege32, dokler nisem v fuse bitih umaknil kljukico iz JTAG-enabled. Težave z LCD-jem so čudežno izginile.
_________________ Lep pozdrav, Božo |
|
Nazaj na vrh |
|
 |
LukaK Član

Pridružen-a: Ned 18 Okt 2009 11:51 Prispevkov: 18 Aktiv.: 0.09 Kraj: Škofja Loka
|
Objavljeno: Sob Mar 06, 2010 3:48 pm Naslov sporočila: |
|
|
Ja, težava je bila res v uart-u , natančneje v pinih pd.0 in pd.1. Kot mi je namignil lbozo, sem poiskušal izključiti USART, a ga prek fuse bitov na mega8 ni možno. Zato sem vzel ponovno v roke podatkovni list, stran 155, prečital par deset strani in dojel da:
"...• Bit 4 – RXEN: Receiver Enable
Writing this bit to one enables the USART Receiver. The Receiver will override normal port operation
for the RxD pin when enabled. Disabling the Receiver will flush the receive buffer
invalidating the FE, DOR and PE Flags.
• Bit 3 – TXEN: Transmitter Enable
Writing this bit to one enables the USART Transmitter. The Transmitter will override normal port
operation for the TxD pin when enabled. The disabling of the Transmitter (writing TXEN to zero)
will not become effective until ongoing and pending transmissions are completed (i.e., when the
Transmit Shift Register and Transmit Buffer Register do not contain data to be transmitted).
When disabled, the Transmitter will no longer override the TxD port..."
napisal sem ukaz:
ter upošteval knjižnjico "lcd4busy.lib" zagnal in deluje. Sedaj preskušam še druge kombinacije, o rezultatih bom poročal. Hvala vsem, ki ste mi poiskušali pomagati.
_________________ LP Luka |
|
Nazaj na vrh |
|
 |
žrepko Član

Pridružen-a: Tor 23 Mar 2010 20:12 Prispevkov: 700 Aktiv.: 3.77 Kraj: Ptuj-Maribor
|
Objavljeno: Pon Mar 29, 2010 7:19 pm Naslov sporočila: |
|
|
se muči kdo v Codevision AVR in z LCD-jem?
Sem začetnik in poiskušam izpisovat na LCD pa mi sploh ne grata. Vem da mam drugače priključen LCD ampak sem v zmedi kje nastavit v programu kako imam zvezano..
Lahko kdo pomaga prosim?
Uporabljam pa C jezik.
|
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 493 dni
Powered by phpBB © 2001, 2005 phpBB Group
|