BASCOM a display atm1602b 16*2 èerné ètvereèky nahoøe
Moderátor: Moderátoři
BASCOM a display atm1602b 16*2 èerné ètvereèky nahoøe
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
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
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
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
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
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
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?
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?
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).
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).
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
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
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.
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
![Wink ;-)](./images/smilies/icon_wink.gif)
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...
Jsem zvìdav, jak to dopadne...protože už to trápí pìknou chvilku
![Smile :)](./images/smilies/icon_smile.gif)
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...
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
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