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


Pridružen-a: Pet 23 Jan 2004 20:42 Prispevkov: 4034 Aktiv.: 16.32 Kraj: Črnuče
|
Objavljeno: Pet Apr 22, 2011 9:35 am Naslov sporočila: Risanje grafa na LCD |
|
|
Iščem idejo kako na 2 vrstični LCD narisati v eno vrstico graf, ki bi bil odvisen od vrednosti ene 1 bajtne spremenljivke. Spremenljivka je v bistvu vrednost za glasnost digitalnega potenciometra, graf pa naj bi ponazarjal glasnost.
Graf naj bi se večal, oziroma manjšal glede na vrtenje potenciometra.
Izdelal sem lastne znake, s katerimi lahko zapolnim poljubno široko polje prostora za zank na LCD-ju, zatika se mi ideji kako "izračunati" funkcijo, ki mi bo omogočala, da bo dolžina grafa sledila nastavitvi za glasnost.
Graf naj bi se risal nekako takole:
| Koda: |
Glasnost:
1
Prikaz:
|
10
||||||||||
25
|||||||||||||||||||||||||
|
Navpične črtice se grupirajo po pet za eno pozicijo znaka na LCD displeju.
Tako
| Koda: |
||||| zaseda 1 karakter
|||||| zaseda 2 karakterja , ||||| prvi karakter, | drugi karakter
|
Imam namen porabiti kompletno vrstico LCD displeja, ki ima 16 znakov. (Oziroma rahlo manj, da se izide lepo na okroglo)
Programiram sicer v basicu trenutno, samo iščem samo idejo kako se zadeve lotiti. _________________ If at first you don't succeed, destroy all evidence that you tried. |
|
| Nazaj na vrh |
|
 |
jvolk Član



Pridružen-a: Ned 05 Mar 2006 1:14 Prispevkov: 737 Aktiv.: 3.01 Kraj: okolica Divače
|
Objavljeno: Pet Apr 22, 2011 9:46 am Naslov sporočila: |
|
|
| Za C imam eno tako knjižnico. |
|
| Nazaj na vrh |
|
 |
gumby Član


Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 17.60
|
Objavljeno: Pet Apr 22, 2011 10:00 am Naslov sporočila: |
|
|
En "stolpec" pri 16 znakih znese 3.2 bita, torej boš moral malo več računat za točen prikaz. Najbolj enostavno bo, da spremenljivko spraviš v 16 bitov, nato jo množiš z 5 in deliš z 16. Ta cifra potem pove število stolpcev (0-79).
Za prikaz boš moral definirat 5 znakov, enega za vsako širino stolpca. Izračunaš še, koliko polnih znakov je za izpis (vrednost deliš z 5) in kateri pride na konec (modul z 5). Nato pa znake samo namečeš na display...
 _________________ Tule nisem več aktiven. |
|
| Nazaj na vrh |
|
 |
matjazkariz Član


Pridružen-a: Sre 03 Nov 2004 18:09 Prispevkov: 1026 Aktiv.: 4.15
|
Objavljeno: Pet Apr 22, 2011 4:57 pm Naslov sporočila: |
|
|
Če imaš kak CD od KEIL, ki ga dobiš zraven kakšne njihove demo plošče, imaš kodo, ki dela točno to na (vsaj) enem od primerov za MCB2300 board. Žal ne vem kateri example je to, sigurno ga pa dobiš med primeri za ta board. _________________ LP, Matjaž |
|
| Nazaj na vrh |
|
 |
Highlag Član


Pridružen-a: Pet 23 Jan 2004 20:42 Prispevkov: 4034 Aktiv.: 16.32 Kraj: Črnuče
|
Objavljeno: Pet Apr 22, 2011 6:10 pm Naslov sporočila: |
|
|
Gumbyjeva metoda za izračunavanje znakov vsekakor deluje. Sem v bistvu imel že nekaj sestavljeno na malček drugačen način...
Ne vem kaj potem. Razmišljal sem, da naredim string, in ga za število polnih znakov zapolnim s polnimi znaki, nato dodam znak ostanka, in preostal prostor zapolnim z praznimi znaki.
Tako bi dobil string, ki je 16 znakov dolg in ga prikažem.
Ali bi bilo bolje LCD prikazovalniku pošiljat kar posamezne znake?
Bo treba kar poizkusit.
Se pa drugače s picem ukvarjam.. _________________ If at first you don't succeed, destroy all evidence that you tried. |
|
| Nazaj na vrh |
|
 |
SimonS Član



Pridružen-a: Čet 01 Jul 2004 11:18 Prispevkov: 4882 Aktiv.: 19.76 Kraj: Kobarid
|
Objavljeno: Pet Apr 22, 2011 7:00 pm Naslov sporočila: |
|
|
Cypress ima že napisano knjižnico, ki popolnoma ustreza tvojim željam. _________________ Lep dan
Simon |
|
| Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 38.07 Kraj: Kranj - struževo
|
Objavljeno: Pet Apr 22, 2011 7:10 pm Naslov sporočila: |
|
|
| Highlag je napisal/a: |
Tako bi dobil string, ki je 16 znakov dolg in ga prikažem.
Ali bi bilo bolje LCD prikazovalniku pošiljat kar posamezne znake? |
Vseeno. Itako moraš med pošiljanjem posameznega znaka počakat, da LCD sprosti BUSY signal. _________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
| Nazaj na vrh |
|
 |
Highlag Član


Pridružen-a: Pet 23 Jan 2004 20:42 Prispevkov: 4034 Aktiv.: 16.32 Kraj: Črnuče
|
Objavljeno: Sob Apr 23, 2011 1:23 pm Naslov sporočila: |
|
|
No sem spesnil tole kodo, ki očitno deluje.
| Koda: |
Sub Procedure Graf
dim Preracun as word
dim Polni_znaki as byte
dim Ostanek as byte
dim stevec as byte
dim Os as byte
dim glasnost_old as byte
If glasnost_old <> glasnost then ' obnova izpisa, če je potrebno
Os=0 ' če je ostanek, je potrebno izbris povečati
Preracun = (glasnost * 5 ) /16 ' preracun števila navpičnic grafa
Polni_znaki = Preracun / 5 ' število polnih znakov
Ostanek = Preracun mod 5 ' nepopolni znaki
for stevec=0 to Polni_znaki ' Izpis popolnih znakov
LCD_CHR (2, (stevec+1),4) ' 0=I, 1=II, 2=III, 3=IIII, 4=IIIII
next stevec
if ostanek > 0 then ' Izpis ostanka
LCD_CHR (2, (Polni_znaki+1), Ostanek)
Os=1
end if
for stevec=(Polni_znaki+1+Os) to 16 ' brisanje praznih znakov na LCD
LCD_CHR (2, stevec, 160)
next stevec
glasnost_old=glasnost
end if
end sub
|
Program zahteva byte vrednost Glasnost, s katero nato zapolni 2 vrstico LCD displeja. _________________ If at first you don't succeed, destroy all evidence that you tried. |
|
| 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: 233 dni
Powered by phpBB © 2001, 2005 phpBB Group
|