www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

2 LCDja na Mega16
Pojdi na stran Prejšnja  1, 2
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3638
Aktiv.: 17.11

PrispevekObjavljeno: Tor Dec 19, 2017 11:43 am    Naslov sporočila:   Odgovori s citatom

Khmmm.... nimam pojma, kaj storiti s tem .lbx . Ne poznam namena datoteke. V bistvu je skoraj enaka kot .lib, a tisti .OBJ so preveč zame.
Pričakoval sem podoben par datotek kot .h in .cpp pri Arduino knjižnicah, kjer ena vsebuje take funkcije kot ta .lib, druga pa samo imena spremenljivk, funkcij, registrov, ...

Tisto lcd4.lib pa lahko sam predelaš na enak način. Podvojiš in preimenuješ.

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5766
Aktiv.: 25.97
Kraj: Grosuplje

PrispevekObjavljeno: Tor Dec 19, 2017 12:41 pm    Naslov sporočila:   Odgovori s citatom

Če sem prav razumel na Bascomovi strani, nal bi bila lbx prevedena lib.
Pri spreminjanju oz. dodajanju v knjižnjice, je treba biti pozoren na E pin, saj mora imeti vsak LCD svojega, drugače tole ne bo šlo.

_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14551
Aktiv.: 65.53
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Dec 19, 2017 3:31 pm    Naslov sporočila:   Odgovori s citatom

Bascoma sicer ne poznam ampak sam ne bi tako kompliciral. Daj najprej dva displeja paralelno in preveri, če bascom to prebavi.
(sam imam spisane lastne procedure v assemblerju in lahko dam dva displeja paralelno brez problema. ) Problem zna delati edino R/W pin v koliko se koristi.
Potem enostavno daš vmes en upor in s transistorjem potegneš E pin dol na tistem lcd-ju na katerega ne želiš pisat. Boš pač pokuril dva dodatna pina na mikrokontrolerju.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 866
Aktiv.: 3.90
Kraj: Dobrepolje

PrispevekObjavljeno: Tor Dec 19, 2017 8:45 pm    Naslov sporočila:   Odgovori s citatom

@Silvo Sem zvezal dva LCDja paralelno. R/W je stalno na GND, E pa sem prestavljal.

Ko vklopiš napajanje se na enemu pravilno pojavi tekst, na drugemu pa se zatemnijo prva in tretja vrstica. Ko premakneš E pa se pojavijo razni nedefinirani znaki. Tako, da to verjetno ne bo šlo.

Lp,
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14551
Aktiv.: 65.53
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Dec 19, 2017 10:23 pm    Naslov sporočila:   Odgovori s citatom

Na testni imam ravno dva displeja paralelno. Bom jutri preveril kako se obnaša pri meni, če dam eneble na nizek nivo. Vpis se izvede ob padajoči fronti E, tako da bi načeloma na displeju s stalnim nizkim (ali visokim) E moral ostati zadnji prikaz ne glede na stanje data linij. Mora pa biti E ob inicializaciji aktiven. Torej, če displej inicializiraš le ob vklopu morata biti oba E aktivna.
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5766
Aktiv.: 25.97
Kraj: Grosuplje

PrispevekObjavljeno: Tor Dec 19, 2017 10:27 pm    Naslov sporočila:   Odgovori s citatom

V Bascom primerih imaš demo za LCD z dvemi čipi (lcdcustom4bit2e.bas), torej dvema E pinoma.
Poizkusi s tem, vse linije paralelno razen E linij.

_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5766
Aktiv.: 25.97
Kraj: Grosuplje

PrispevekObjavljeno: Sre Dec 20, 2017 3:31 am    Naslov sporočila:   Odgovori s citatom

Sem tudi to probal, s tem, da sem uporabil Atmega328p (Arduino Nano), ker mege16 enostavno nimam pri roki.
Potrebno je bilo malo spremeniti knjižnjico LCD4e2.lib, ker sem uporabil D port na 328p, ker je B zaseden in nima dovolj pinov.
Takole se izpiše:


In še program, ki je tole izpisal:

Koda:
$Regfile="m328pdef.dat"
$Crystal=16000000
$hwstack=32
$swstack=16
$framesize=50
$PROG &HFF,&HFF,&HDE,&HFF' generated. Take care that the chip supports all fuse bytes.
'                          LCDCUSTOM4BITE2.BAS
'                 demo shows 4 bit LCD mode with 2 E lines
'------------------------------------------------------------------


' this is the custom LCD lib
$lib "Lcd4e2.lib"

$crystal = 16000000

Config Lcd = 16x2

'to use 2 E lines we need a way to make a distinct between them
Dim ___lcde As Byte
'___LCDE set to 0 will use E1, set to any other value will use E2


' write to the 2 first lines
___lcde = 0

Cls
Cursor OFF
Lcd "Prvi LCD"
Lowerline
Lcd "2.vrsta 1.LCD"

___lcde = 1
'write to the 2 last lines
Cls
Cursor OFF
Lcd "Drugi LCD"
Lowerline
Lcd "2.vrsta 2.LCD"

End

_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 866
Aktiv.: 3.90
Kraj: Dobrepolje

PrispevekObjavljeno: Čet Dec 28, 2017 6:14 pm    Naslov sporočila:   Odgovori s citatom

Hi
@Jaka57, hvala. Zadeva lepo deluje. Uporabil sem PortB.
Imam pa nekaj vprašanj:

Kje lahko to vidim, če podpira M16? ($PROG &HFF,&HFF,&HDE,&HFF' generated. Take care that the chip supports all fuse bytes. )
Jaz sem sedaj to REMal, pa vseeno deluje.

Glavna stvar pa je ta, da ne znam takole pisati na določen lcd iz programa, iz podprograma, pa spremenljivke itd....

Iščem po internetu kakšen primer, pa ne vem pod kaj naj iščem. Prosim za kakšen primer.

LP,
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5766
Aktiv.: 25.97
Kraj: Grosuplje

PrispevekObjavljeno: Čet Dec 28, 2017 7:14 pm    Naslov sporočila:   Odgovori s citatom

Ne vidim razloga, da ne bi M16 podpirala dveh LCDjev.
Ti Fuse biti veljajo za M328p z Opti bootloaderjem (512Bytov), ker sem programiral preko USB porta na Arduino nano plošči.

Za M16 boš moral nastavit drugačne Fuse bite.
Tukaj imaš Fuse bit calculator za AVR.

Kar se pa pisanja na LCD tiče, mi ni jasno, kaj ti ni jasno.
Na kateri LCD pišeš izbiraš s spremenljivko ___lcde. Če je ta 0 pišeš na en LCD, če je ta >0 potem pišeš na drugi LCD.
Uporabljaš lahko vse ukaze, ki jih uporablja Bascom za LCD, kot so:
Shiftcursor Right(Left), Cursor On, Home, Locate,........
Vse to s primeri imaš na Bascomovi strani.
Malo igranja in vse ti bo jasno Wink .

_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 866
Aktiv.: 3.90
Kraj: Dobrepolje

PrispevekObjavljeno: Tor Jan 02, 2018 3:34 pm    Naslov sporočila:   Odgovori s citatom

Citiram:
Malo igranja in vse ti bo jasno


Hvala, pa mi je uspelo.

lp,
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2
Stran 2 od 2

 
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
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 47 dni


Powered by phpBB © 2001, 2005 phpBB Group