Kazalo po Svet elektronike forumu Svet elektronike
Revija za prave elektronike
 
AlbumAlbum   Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil   PrijavaPrijava 

GLCD z ST9720 kontrolerjem
Pojdi na stran Prejšnja  1, 2, 3
 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Silvo
Profesionalec


Pridružen/-a: Tor Jan 2004 19:06
Prispevkov: 234

PrispevekObjavljeno: Ned Apr 15, 2012 9:35 pm    Naslov sporočila: Odgovori s citatom

No mogoče še tole. Proceduro PosljiZnak lahko uporabiš tudi samostojno za pošiljanje posameznega znaka na trenutno mesto displeja. To storiš v dveh korakih. V prvem v tmp2 napolniš vrednost znaka. Potem pa pokličeš proceduro. "P" bi na displej poslal takole.
Citiram:

ldi tmp2,'P'
rcall PosljiZnak


Tole je precej manj programsko potratno kot tisti makro "Znak'

Lahko pa seveda tole daš tudi v makro, kjer boš za pisanje porabil le eno vrstico.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2132
Kraj: Ljubljana

PrispevekObjavljeno: Pon Apr 16, 2012 7:16 am    Naslov sporočila: Odgovori s citatom

Silvo in Protonček,

zanimiva debata - hvala obema! To bi lahko obdelali na naslednjem Bascom seminarju kajne?

Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Pon Apr 16, 2012 8:05 am    Naslov sporočila: Odgovori s citatom

Lahko, čeprav jaz lahko prispevam GLCD, ostalo bo delal Silvo, ker je on mojster tukaj. Moje znanje asemblerja je praktično nično, bascoma pa tudi še ne obvladam preveč. Mogoče bi bilo dobro če bi ti in Silvo skupaj ugotovila, kako tele rutine klicati iz Bascoma, ker, kot sem ugotovil je sam bascom kar prepočasen za tole, bi trajalo predolgo če bi hotel pisati več stvari na LCD, saj frekvenca serijskih pulzov skorajda ne preseže dobrih 100 kHz...
Mogoče lahko nastane nova knjižnica... Smile
Če sta za stvar lahko dam LCD že prej, da se zadeva naredi. Itak imam dva in jih zdaj ne bom takoj uporabil , ker je projekt, kamor naj bi šla že haardversko pripravljen za KS108, program pa tudi. Bosta pač čakala na druge projekte, mogoče nekaj, kjer bo manjkalo pinov na AVR-ju...
Aja---stvar, ki bi jo bilo treba še narediti je risanje po njem. Treba je vklopiti grafični način (napredni ukazi registra) in začeti "kracati"...To pa sploh traja in asembler je tukaj po moje obvezen.

_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Silvo
Profesionalec


Pridružen/-a: Tor Jan 2004 19:06
Prispevkov: 234

PrispevekObjavljeno: Pon Apr 16, 2012 10:10 am    Naslov sporočila: Odgovori s citatom

Zal ne morem obljubit kake udeležbe pri semenarju. Problem je v glavnem kronično pomanjkanje časa ter moj variabilni delavnik. (včasih turnusi po 12 dni skupaj itd...) tako da naprej praktično ne morem nič planirat.

Kot sem že nekje na začetku napisal tole ne bo problem spisati tudi v kakem višje nivojskem jeziku. Morda bo koda zasedla nekoliko več programskega pomnilnika. Hitrost tukaj ne igra posebne vloge, tako da ni nujno, da je koda spisana v zbirniku. Nekako je bil namen tega celotnega sporočila prikaz rabe datasheta. Žal opažam, da velika večina uporabnikov bascoma sploh ne zna uporabljat datasheta. Večina niti ne ve, kako dela zelo razširjen LCD s kontolerjem HD44780 ali kompatibilnem. Ko naleti na težavo, ko je recimo tale pa vrže puško v koruzo. (čaka nekoga, da spiše knjižnico).
Uvoz zbirniške kode v kodo višjenivojskega jezika? Ja sliši se enostavno. A tako zelo enostavno to gotovo ni. Potrebno bo poznati pred vsem višjenivojski jezik. A ima kake registre, sram ... rezervirane za to. Katere instrukcije se sploh lahko uporabljajo. Kako nekontrolirano potiskanje ter pobiranje iz sklada lahko naredi popolno zmešnjavo. Prav tako raba registrov, ki so v rabi drugje.
Jure,
Kot sem napisal zgoraj. Tole oživite v bascomu. Tečajnikom se pokaže kako se uporablja datashet. Pa bo tole zelo zelo koristen tečaj. (pa morda tole assemblersko kodo skušajte stlačit v vaše bascom rutine)
Glede assemblerske kode, ki sva jo skozi sporočilo obdelala s protončkom, pa bom na morebitne nejasnosti odgovoril tukaj na forumu.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2132
Kraj: Ljubljana

PrispevekObjavljeno: Pon Apr 16, 2012 12:43 pm    Naslov sporočila: Odgovori s citatom

Silvo je napisal/a:
Jure,
Kot sem napisal zgoraj. Tole oživite v bascomu. Tečajnikom se pokaže kako se uporablja datashet. Pa bo tole zelo zelo koristen tečaj. (pa morda tole assemblersko kodo skušajte stlačit v vaše bascom rutine)


Se strinjam Silvo, za Bascom seminar bi bilo potrebno to naredit, sicer pa tudi ASM ni "prepovedana tema" na Bascom seminarjih Smile

Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
besoft
Profesionalec


Pridružen/-a: Čet Maj 2010 10:26
Prispevkov: 98

PrispevekObjavljeno: Pon Apr 16, 2012 4:11 pm    Naslov sporočila: Odgovori s citatom

z veseljem bi se udeležil takega seminarja..vendar se bojim, da imam premalo osnovnega znanja..seminar bo pa verjetno že na nivoju bolj izkušenih..
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Pon Apr 16, 2012 4:47 pm    Naslov sporočila: Odgovori s citatom

No, glede bascoma - puške še nisem v koruzo vrgel, to je dejstvo. Samo trenutno me vedno bolj prehlad daje tako da nimam preveč volje do razmišljanja ob glavobolu...par dni bo pavze. Silvo : ja, priznam, sam ne znam brati datasheet, ko pridem do serijske komunikacije, saj mi je tole več ali manj prvi resen projekt raziskovanja tega protokola. Do sedaj sem sicer že delal z DS1820, pa s serijskim EEPROMom, ampak mi je vse kar hitro steklo, ker so rutine že napisane. Tole je pa čisto novo, zato sem definitivno rabil pomoč strokovnjaka.
Sice pa, kot sem že omenil, nekaj deluje, samo timing moram ujeti. Trenutno inicializiram LCD in prižgem utripanje, ne steče pa še pisanje gor ker se zatakne pri tisti 2 ms pavzi, med katero LCD nekako zaspi. Tudi mi še ni jasno zakaj v asemblerju zadeva dela samo preko data in clk, v bascomu moram pa obvezno programsko vključevati in izključevati PSB, drugače ne dela NIČ. Počasi bo že...
Sicer pa - mogoče vprašanje za Jureta: nekje sem zasledil ukaz:
Dim a as Byte At $60. ( primer).
Mar to pomeni tisto, kar jaz mislim in rabim? Namreč da v spremenljivko A v bascomu dam recimo chr$(64), potem pa izvedem strojno kodo za pošiljanje znaka na LCD, tam pa berem isto spremenljivko na lokaciji $60...? Namreč ne vem, kako bi bascom spremenljivko prenesel v asembler rutino.

_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Silvo
Profesionalec


Pridružen/-a: Tor Jan 2004 19:06
Prispevkov: 234

PrispevekObjavljeno: Pon Apr 16, 2012 10:13 pm    Naslov sporočila: Odgovori s citatom

protoncek je napisal/a:
No, glede bascoma - puške še nisem v koruzo vrgel, to je dejstvo. ...


Tisto ni bilo namenjeno tebi... bilo je mišljeno splošno. Marsikdo namreč že čisto na enostavni stvari obupa. Ti si kar neverjetno vstrajen. To se vidi skozi tole sporočilo. Wink

Zakaj sem prej omeni "navaden" displej? Je najpogostejša periferija, ki se zelo pogosto spaja z mikrokontrolerjem, ob enem je tudi največji vir težav. (vsaj po tem kar zasledim po forumih) Ko tisti, ki napiše nekje na forum: "Prilopil sem LCD na mikrokontroler, pa mi ne dela, kaj bi lahko bilo?" , vem da niti ni skušal najti datasheta, kaj da bi ga pogledal. Takemu uporabniku je zelo težko pomagati, kajti vse je potrebno vleči iz njega.

Assembler -> bascom. Bascoma ne pozam. (ok sintakso raznih višjenivojskih jezikov poznam tako, da razumem napisano kodo. Da bi sam nekaj napisal bi rabil nekaj več časa) "Povezava" podatkov bi verjetno bila najlažja preko srama morebiti tudi preko registrov. Skratka v assemblerju točno veš kam pišeš oz. od kot bereš. Ok v skrajni sili tudi preko eeproma, kar pa bi bila bolj slaba rešitev. Torej povejte mi, kam lahko dajete oz. od kot lahko berete podatke pa ti bom kodo pripravil za povezavo.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
besoft
Profesionalec


Pridružen/-a: Čet Maj 2010 10:26
Prispevkov: 98

PrispevekObjavljeno: Pon Apr 16, 2012 10:44 pm    Naslov sporočila: Odgovori s citatom

Se strinjam z napisanim..namreč sam se tak, da če rešitev ni takoj na vidiku ali na inetu.potem gremo na drugo verzijo..ali lažjo ali iskanje kompromisov..je pa tudi res, da za kašne raziskave in poglabljanja nimam časa.
Sem pa v enem prejšnjem postu omenil, da sem dobil v roke kar zanimive GLCD.. bom jih probal spraviti k življenju z Bascom AVR. vendar najprej moram najti razpored pinov za prikop. Ga pa krmili kontroler T6963C. Kolikor sem brskal po netu je ta kontroler kar popularen.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2132
Kraj: Ljubljana

PrispevekObjavljeno: Tor Apr 17, 2012 7:33 am    Naslov sporočila: Odgovori s citatom

protoncek je napisal/a:
Sicer pa - mogoče vprašanje za Jureta: nekje sem zasledil ukaz:
Dim a as Byte At $60. ( primer).
Mar to pomeni tisto, kar jaz mislim in rabim? Namreč da v spremenljivko A v bascomu dam recimo chr$(64), potem pa izvedem strojno kodo za pošiljanje znaka na LCD, tam pa berem isto spremenljivko na lokaciji $60...? Namreč ne vem, kako bi bascom spremenljivko prenesel v asembler rutino.


S tem se nikoli nisem ukvarjal, ker tega nisem potreboval. Mogoče bo Vilko lahko kaj povedal o tem...

Kot vidim iz Help datoteke s tem ukazom definiraš, kje v spominu se ti nahaja spremenljivka, vendar moraš paziti, saj v primeru zasedenosti spominske lokacije Bascom shrani spremenljivko v naslednji prazen prostor. Podobno bi naredil, če bi jo shranil v EEPROM z ukazom Dim A as ERAM byte.

@besoft: Bascom seminarji načeloma niso namenjeni čistim začetnikom - tistim, ki vklapljajo LEDice, vsem ostalim pa, saj predavatelj poskrbi, da je snov vsem jasna.

Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Tor Apr 17, 2012 8:33 am    Naslov sporočila: Odgovori s citatom

OK, to z vgradnjo strojne kode je še v planu...če mi kaj uspe bom gotovo še kaj težil Vilkotu...
za zdaj sem v čistem bascomu uspešno napisal kodo za pisanje na LCD ter vklopil grafični način in ga zbrisal (LCD ima posebej ukaz za CLS teksovnega dela in grafičnega). Naslednje je risanje črte in kroga, potem sem pa že na koncu.
Ukaz CLS se vidi da kar dela ker traja cca pol sekunde da pobriše cel zaslon, tekst napiše hitro, to ni problem, tako da mogoče bi samo nekatere rutine dal v asembler, npr. CLS grafike. Pri tej rutini načeloma niti ne bi rabil vnašati spremenljivk v asembler, saj samo zapolni nule na vse lokacije.

_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2132
Kraj: Ljubljana

PrispevekObjavljeno: Tor Apr 17, 2012 9:02 am    Naslov sporočila: Odgovori s citatom

Protonček,

eden od načinov je pa tudi, da ASM del narediš kot knjižnico in potem to knjižnico vklopiš v program. Na ta način je program bolj pregleden.

Jaz sem podobno naredil takrat, ko sem na SPI vodilu krmilil 3 LCD-je.

Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Silvo
Profesionalec


Pridružen/-a: Tor Jan 2004 19:06
Prispevkov: 234

PrispevekObjavljeno: Tor Apr 17, 2012 10:21 am    Naslov sporočila: Odgovori s citatom

No protonček, lepo, da ti je uspelo.

Glede brisanja displeja. Moje priporočilo. (velja splošno za vse displeje, ne glede na to s čim je koda napisana) Namesto brisanja raje čez celoten vidni del zaslona napiši karakter 32 (presledek) na koncu pa postavi kazalček na željeno mesto. Vgrajena funkcija brisanja je morda primerna za rabo ob inicializaciji, kasneje pa ni preveč primerna. Razlog si že sam ugotovil. Je zelo počasna. Počasna pa je zato, ker briše DDR ram tudi izven vidnega dela. Sam si po navadi napišem makro, ki prejme dva parametra. 1.parametr je vrstica katero želim brisati. 2. parameter pa mesto kam naj se postavi kazalček po brisanju. Na ta način se olajša nadalno programiranje. Brisanje se običajno uporablja pred novim pisanjem na displej in to takrat, ko je željen prikaz krajši od tistega, ki je na displjeju. Na ta način imam po brisanju lokacijo DDR rama že nastavljeno za novo pisanje.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Tor Apr 17, 2012 10:56 am    Naslov sporočila: Odgovori s citatom

Silvo, hvala, zelo uporabna ideja!
Jure, bom tudi to možnost pretehtal. Sicer se še nisem ukvarjal z knjižnicami, ampak vse je enkrat prvič. Samo ustrezna navodila najdem in voljo, pa bo...

_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Pojdi na stran Prejšnja  1, 2, 3
Stran 3 od 3

 
Pojdi na:  
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
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group