|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
igo Član
Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3639 Aktiv.: 17.00
|
Objavljeno: Tor Dec 19, 2017 11:43 am Naslov sporočila: |
|
|
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 |
|
|
Jaka57 Moderator
Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5777 Aktiv.: 25.85 Kraj: Grosuplje
|
Objavljeno: Tor Dec 19, 2017 12:41 pm Naslov sporočila: |
|
|
Č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 |
|
|
Silvo Moderator
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14562 Aktiv.: 65.16 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Tor Dec 19, 2017 3:31 pm Naslov sporočila: |
|
|
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 |
|
|
marko11 Član
Pridružen-a: Ned 14 Dec 2003 17:47 Prispevkov: 866 Aktiv.: 3.88 Kraj: Dobrepolje
|
Objavljeno: Tor Dec 19, 2017 8:45 pm Naslov sporočila: |
|
|
@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 |
|
|
Silvo Moderator
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14562 Aktiv.: 65.16 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Tor Dec 19, 2017 10:23 pm Naslov sporočila: |
|
|
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 |
|
|
Jaka57 Moderator
Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5777 Aktiv.: 25.85 Kraj: Grosuplje
|
Objavljeno: Tor Dec 19, 2017 10:27 pm Naslov sporočila: |
|
|
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 |
|
|
Jaka57 Moderator
Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5777 Aktiv.: 25.85 Kraj: Grosuplje
|
Objavljeno: Sre Dec 20, 2017 3:31 am Naslov sporočila: |
|
|
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 |
|
|
marko11 Član
Pridružen-a: Ned 14 Dec 2003 17:47 Prispevkov: 866 Aktiv.: 3.88 Kraj: Dobrepolje
|
Objavljeno: Čet Dec 28, 2017 6:14 pm Naslov sporočila: |
|
|
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 |
|
|
Jaka57 Moderator
Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5777 Aktiv.: 25.85 Kraj: Grosuplje
|
Objavljeno: Čet Dec 28, 2017 7:14 pm Naslov sporočila: |
|
|
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 . _________________ Lp, Jaka |
|
Nazaj na vrh |
|
|
marko11 Član
Pridružen-a: Ned 14 Dec 2003 17:47 Prispevkov: 866 Aktiv.: 3.88 Kraj: Dobrepolje
|
Objavljeno: Tor Jan 02, 2018 3:34 pm Naslov sporočila: |
|
|
Citiram: |
Malo igranja in vse ti bo jasno |
Hvala, pa mi je uspelo.
lp, |
|
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: 90 dni
Powered by phpBB © 2001, 2005 phpBB Group
|