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 

AVR - Tipkovnica - LCD

 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
miran23
Novinec


Pridružen/-a: Čet Mar 2010 10:57
Prispevkov: 9

PrispevekObjavljeno: Čet Jul 01, 2010 6:06 pm    Naslov sporočila: AVR - Tipkovnica - LCD Odgovori s citatom

Pozdravljeni vsi skupaj.
No,nisem ravno začetnik imam pa problem.Ne znam napisati program ki bi podatke z matrične tipkovnice prenašal na LCD.
Imam

Lowerline
LCD "080|____|____"

za številko 080 je štirimestno (y) polje ločeno z pokončno črto in potem zopet štiri (y) polja, na ta polja pa bi rad vpisoval poljubna števila.
vrstica LCD "080|____|_____" Pa naj ostane nespremenjena.

Za pomoč se vam zahvaljujem.
Pozdrav Miran
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Profesionalec


Pridružen/-a: Ned Jan 2004 16:11
Prispevkov: 556
Kraj: Ljubljana

PrispevekObjavljeno: Čet Jul 01, 2010 7:06 pm    Naslov sporočila: Odgovori s citatom

Miran, za konkretno pomoč moraš podati malo več podatkov, povej kje se zatika, ali pri branju tipkovnice ali pa samo pri vpisu na LCD?

Kako narediš pokončno črto, poglej ukaz "Deflcdchar" v Bascom Help-u.
Številko ki jo vneseš prek tipkovnice enostavno z ukazom "Locate x,y" postaviš na želeno lokacijo na LCD-ju, seveda lahko lokacije ki jih imaš za tvoje številke tudi z ukazom LOCATE pobrišeš tako da tam vpišeš " " (toliko praznih polj koliko imaš karakterjev).
Vlado
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
miran23
Novinec


Pridružen/-a: Čet Mar 2010 10:57
Prispevkov: 9

PrispevekObjavljeno: Pet Jul 02, 2010 9:02 am    Naslov sporočila: Odgovori s citatom

Lowerline
lcd "080|____|____"

Tole sem že naredil v Bascom-u in se mi tudi izpiše na LCD-ju.Pravzaprav potrebujem namig oz.nasvet kako napisati program kateri bi na y pozicije(namesto črtic) izpisal poljubno štirimestno število _ na obeh straneh druge vertikalne črtice.
Najlepša hvala.
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: Pet Jul 02, 2010 12:04 pm    Naslov sporočila: Odgovori s citatom

miran23 je napisal/a:
Pravzaprav potrebujem namig oz.nasvet kako napisati program kateri bi na y pozicije(namesto črtic) izpisal poljubno štirimestno število _ na obeh straneh druge vertikalne črtice.
Najlepša hvala.


Uporabi ukaz Locate. Npr: Locate 2,5, bo v 2. vrstici na 5. mestu izpisal tisto, kar želiš.

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


Pridružen/-a: Ned Jan 2004 16:11
Prispevkov: 556
Kraj: Ljubljana

PrispevekObjavljeno: Pet Jul 02, 2010 5:50 pm    Naslov sporočila: Odgovori s citatom

Miran,
če prav zastopim tvoj problem je v tem kako štirimestno število vpisati na dve lokacije na LCD-ju tako da bodo stotice in tisočice vpisane v eno polje, desetice in enice v drugo polje.
Za to potrebuješ malo enostavne matematike:

Primer:
tvoja številka 1234

Tisoč= 1234/100 'rezultat 12 to številko vpišeš v eno lokacijo na LCD-ju

12*100=1200
deset= 1234-1200 '34 to številko vpišeš na drugo lokacijo na LCD-ju
Locate 2,5
lcd tisoč
locate 2,8
LCD deset

Če pa težava ni v tem bodi malo bolj natančen z vprašanjem.
Vlado
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
miran23
Novinec


Pridružen/-a: Čet Mar 2010 10:57
Prispevkov: 9

PrispevekObjavljeno: Pet Jul 02, 2010 8:22 pm    Naslov sporočila: Odgovori s citatom

Bom jaz malce spremenil.Na Lcd-ju imam konstantno postavljeno število
080 za temi stevili pa bi moral s tipkovnico (matrix 3x4)napisati poljubno število ki naj bo za četrtim številom ločeno z pokončno črto

Lowerline
Lcd "080|3241|7869"

Poiskusil bom obe varianti,(Juretovo in Vladino)
Se oglasim ponovno jutri
Pozdrav in lep vikend vsem.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
miran23
Novinec


Pridružen/-a: Čet Mar 2010 10:57
Prispevkov: 9

PrispevekObjavljeno: Pon Jul 12, 2010 3:30 pm    Naslov sporočila: Odgovori s citatom

Program je sledeči:

$regfile =
$crystal =
$hwstack =
$swstack =
$framesize =
$baud =

$sim

config lcd = 16 * 2
config lcdbus = 4
config lcdpin = Pin , Db7 = PORTC.7 ,Db6 = PORTC.6,.............

Dim I As Byte
Dim keycode As Byte

Config kbd = PORTC , Debounce = 30 , Delay = 100

Cls

Do
Keycode = getkbd()
if keycode <> 16 then
keycode = keycode + 1
print Keycode
waitms 200
Lowerline
Lcd "080| | "
Locate 2 , 5
Lcd Keycode
End if
Loop
End

Program mi piše v spodnjo vrstico na peto mesto,vendar mi piše samo na to mesto,jaz pa bi rad da mi na to mesto napiše prvo odtipkano številko na pozicijo 2 , 6 drugo številko, na pozicijo 2 , 7 tretjo številko in tako naprej do 16-tega polja.
Zahvaljujem se vam za pomoč.
pozdrav Miran
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Vlado
Profesionalec


Pridružen/-a: Ned Jan 2004 16:11
Prispevkov: 556
Kraj: Ljubljana

PrispevekObjavljeno: Pon Jul 12, 2010 6:54 pm    Naslov sporočila: Odgovori s citatom

Miran,
enostavno, v svoj program dodaj še eno spremenljivko katero boš po vsakem novem znaku povečal za ena (in če je večja od recimo 4 postavil na 1).
Potem ko ugotoviš da je pritisnjena tipka in povečeaš svojo novo spremenljivko z ukazom select case nov znak vpišeš na pravo mesto na LCD-ju.

select case mesto:
case 1: Locate 2,5
LCD X
Case2: Locate 2,6
LCD x
Case 3:LOCATE 2,8 ' če preskočiš eno mesto
. . . .

Vlado
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
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
Stran 1 od 1

 
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