Stránka 1 z 2

BASCOM a display atm1602b 16*2 èerné ètvereèky nahoøe

Napsal: 28 črc 2009, 07:22
od michalino
Dobrý den,

prosím Vás o radu. Mám display atm1602b a když ho zapojím dle dostupných schématek, tak po zapnutí proudu mi v horním øádku
se objeví ètvereèky po celém tomto øádku.
Už jsem 1000x kontroloval drátky, tisíckrát si hrál s knihovnama v BASCOMU, 1000x zkoušel nastavit napìtí a nic...
Používám ATMEGA8

Urèitì se jedná o klasický problém pøi zaèátcích s tímto displayem, poradíte mi nìkdo, co s tím, prosím?


dìkuji

Napsal: 28 črc 2009, 09:26
od ivanko18
skus poslat schemu zapojenia na tu atmegu a inicializaciu v baskome

Napsal: 28 črc 2009, 09:38
od Andrea
Ty čtverečky nemají být černé, ale jen šedivé, tak si taky stáhni kontrast, abys vůbec něco viděl.

Napsal: 28 črc 2009, 09:40
od michalino
dìkuji,

Podle tohoto zapojení jsem se inspiroval k zapojení pouze ATMGEA8 a DISPLAY.
Nepoužívám celé toto zapojení, jen DISPLAY:

http://www.psc-audio.ro/catalog/html/ki ... roller.pdf

a nebo toto:
http://www.qsl.net/pa3ckr/bascom%20and% ... index.html

a program bascom:

$regfile = "tady mam soubor PROatmel"
Config lcd = 16*2
Config lcdpin = PIN, DB4 = PORTB.1,DB5=PORTB.2,DB6=PORTB.3,DB7=PORTB.4,E=PORTB.5,RS=PORTB.6
loop:
Lcd "Hello! "
goto loop
end

pøíkaz config lcd pin neni ted mozna presne podle schematu, protoze to porad menim podle ruznych schematek a na draty a propojeni davam velky pozor, 1000x kontroluju

Napsal: 28 črc 2009, 09:41
od michalino
dekuji, kontrastem to neni...

Napsal: 28 črc 2009, 11:09
od nekmil
Kontrolní otázka: čím ten procesor taktuješ ?
Krystal nebo vnitřní RC oscilátor, dělal jsi něco z fuse bity ?

V programu mi chybí instrukce "$crystal = xxxxxx"

P.S. pozor na instrukci "$sim"

-----------------------------------------
$regfile = "m8def.dat"
$crystal = 1000000 '1MHz taktován vnitřním RC oscilátorem(z výroby)
Config lcd = 16*2
Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.5 , Rs = Portb.6

loop:
Lcd "Hello! "
Wait 1 'pauza 1 sec
Cls 'vymažeme displej
Wait 1 'pauza 1sec
Goto Loop 'znovu na začátek
End 'end program

zde přeložený hex
:1000000012C0189518951895189518951895189563
:100010001895189518951895189518951895189578
:100020001895189518958FE58DBFC0E4E0E44E2E25
:1000300084E08EBFD4E0F4E05F2EEEEFF3E0A0E6C4
:10004000B0E0A89584B7082E877F84BF88E1992700
:1000500081BD91BD88278D933197E9F722D0662421
:10006000E0EBF1E00AD0E1E0F0E012D00CD0E1E00A
:10007000F0E00ED0F5CFF894FFCF96D0802D11F0A0
:1000800052D0FBCF089581E054D008D080E851C011
:1000900088EE93E07AD03197D9F7089583E09927D5
:1000A00074C08AEF90E071D0BC9ABB9ABA9AB99AA0
:1000B000BD9ABE9AC69885E090E067D0C598C4986E
:1000C000C398C29AC19AC59AEF93FF93E5E1F0E015
:1000D00050D0FF91EF91C59855D0C59AEF93FF93FB
:1000E000E5E1F0E046D0FF91EF91C5984BD0C59A7D
:1000F000EF93FF93E5E1F0E03CD0FF91EF91C598DD
:1001000041D0C198C59AEF93FF93E5E1F0E031D07B
:10011000FF91EF91C59836D088E20BD08EE009D0E0
:1001200086E007D00895C69A829505D004D02AD0DB
:100130000895C698F9CF859510F4C19A01C0C19869
:10014000859510F4C29A01C0C298859510F4C39A9F
:1001500001C0C398859510F4C49A01C0C498C59A8B
:10016000EF93FF93E5E1F0E004D0FF91EF91C598A4
:1001700008953197F1F70895689462F80895E89426
:1001800062F8089581E090E000C0EF93FF93EE27BE
:10019000E82BE92B31F0EAEFF0E03197F1F7019726
:1001A000D1F7FF91EF910895C895319600200895F9
:0801B00048656C6C6F21200012
:00000001FF

Napsal: 28 črc 2009, 11:54
od michalino
Nekmile, dìkuji.

Jsem teï mimo pracovní stùl, tak to bemùžu vyzkoušet, nicménì ten program jsem takto už zkoušel....a nefunguje, poøád stejné ètvereèky...

crystal jsem dával interní, stejnì, jak ho máš napsaný v programu---
Externí nepoužívám....prozatím....

Ale jak jsi vzpomenul ty fuse bity....jak mají být prosím správnì nastaveny...v ponyprog 2000? To je vìc, ve které tápu a nevím, zda je to správnì....jak øíkám, jsem mimo pracovní stùl a tak nemohu poslat screenshot...existuje nìkde prosím ukázka nastavení Fuse bitù .. pro atmel atmega8 pøípadnì twento display?

Mùže být problém v inicializaci displeje? èetl jsem nìkde, že to mùže být dùvodem...ale jak inicializovat, to nevím....

Ten display už jsem jednou zapojený mìl podle nìjaké knihy, fungovalo to....jen jsem ji ted vratil do knihovny , z nepajiveho pole to vytahl, ze si to urovnam a zpet to nefunguje....zapojeni proto delam dle PDF uvedenyc výše....rozdíl je v tom, že nepoužívám tranzistor a trimr....jestli tohle muze byt duvod...nevim...prosim pomoc....ty fuse bity?

Napsal: 28 črc 2009, 12:25
od nekmil
Ponyprog nepoužívám tak nevím jestli programuje zvlášť fuse bity a zvlášť program.
Tady je on-line kalkulátor na fuse
http://www.brischalle.de/avr8_burn-o-ma ... nline.html

Předpokládám R/W na displeji je uzemněn a s tím kontrastem by bylo dobré něco udělat (trimr).

Napsal: 28 črc 2009, 12:57
od michalino
To je krasny nastroj, viz tvuj link nahore nekmile, pokud jsem dostal fuses: hfuse=D9 lfuse=E1
to mam prosim nekam vepsat do programu a tak se nastavi fuse bitty?
Pokud ne, zaskrtnu v ponyprog ty nazvy, ktere jsou zaskrtle v Tvem nastroji u ATmega8...

R/w je uzemnìno...ano...

Kontrast jsem menil v jinem zapojeni, taky jsem ho nasel na NETU, nicmene, porad tam byly ctverecky, ktere se zeslabovaly a zesilovaly


je to nejake divne...kdybyste meli jeste prosim navrhy, dychtim

Napsal: 28 črc 2009, 13:22
od nekmil
Zrovna se dívám na ten Ponyprog a ty "fajfky" by měly být stejné jako v tom Burn_O_Mat.
Zkus si nejdříve ty fuse bity přečíst z procesoru.
Fuse se zadávají do programátoru nikoliv do programu.

Napsal: 28 črc 2009, 13:30
od ivanko18
ked pridem domov mozem posat kus kodu na LCD chces to ako zdrojak alebo aj prelozene

Napsal: 28 črc 2009, 15:47
od Zirafka
Jestli jsem tě dobře pochopila, tak po zapnutí displeje se rozsvítí všechny segmenty v horním řádku. Je to tak?

Pokud ano, tak neproběhla inicializace modulu. Takto se totiž chová po startu až do doby, kdy do něj zapíšeš potřebné informace.

U některých modulů je zrada a chtějí mít při 4bitovém ovládání ty nepoužité připojené na zem a ne nechané ve vzduchu.

Zapomenutá direktiva $SIM již tu padla, dovede hezky potrápit ;-) Direktiva $crystal = xxxxxx není vyloženě nutná, ale potom pozor na to, co je nastavená v předvolbách kompileru.

Napsal: 28 črc 2009, 16:14
od michalino
Dìkuji Vám všem za rady...až pøijdu domù, prvnì zkusím pøeèíst fuse bity....a následnì zkusím všechny nožièky LCD zapojit na zem....

Jsem zvìdav, jak to dopadne...protože už to trápí pìknou chvilku :) èlovìk se alespoò pouèí...

Jestli chci program na LCD tak nebo tak?....budu rád za cokoliv, proto nejlépe v klasickém programovém jazyku...bascom je prosím možný?

Dìkuji, zdravím Vás...

Napsal: 28 črc 2009, 16:16
od michalino
A pøípadnì inicializace modulu se dìlá prosím jak, dìkuji...

Napsal: 28 črc 2009, 16:46
od ivanko18
interny oscilator nakonfigurujes cez fusebit
ponyprog2000
zaskrtnute su "BOOTSZ1, BOOTSZ0, SUT1, SUT0, CKSEL3, CKSEL1, CKSEL0
napis ako to dopadlo

$regfile = "m8def.dat"
$lib "mcsbyte.lbx"
$crystal = 8000000

Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portb.0 , E = Portd.3 , Rs = Portd.4
Config Lcd = 16 * 2
Initlcd
Cursor Off
Cls
Cursor Off Noblink

Do
Cls
Locate 1 , 1
Lcd " SKUSKA"
Locate 2 , 1
Lcd " LCD"
Waitms 100
Loop
End