Komunikace PIC16F84 s Alfanumerickým displayem

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
paulie2907
Příspěvky: 28
Registrován: 09 úno 2016, 00:00

#16 Příspěvek od paulie2907 »

bum píše:K programování s PIC16F84 vycházel v časopise Radio Plus KTE seriál kde bylo také ovládání znakového LCD displeje 2 * 16 znaků. Seriál....


Chápu, na začítek nic moc. Alespon vím jak se chovat k LCD (nevěděl jsem to, že tam musí být střídavé). No koupil jsem si display na zkoušku. Je to WD-C1602L-7GNNa - je bez podsvícení, ale jde je o to si vyzkoušet zobrazovaní a zpracování nějakého menu.
Naposledy upravil(a) paulie2907 dne 11 úno 2016, 13:44, celkem upraveno 1 x.
Uživatelský avatar
danhard
Příspěvky: 6648
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#17 Příspěvek od danhard »

Musí tam být napětí alternující, aby nedocházelo k elektrolýze.
Problém u toho jednoduchého displeje je, že musíš ošetřit všechny nožičky, to je u toho DE118 celkem 38 výstupů, pokud nepoužiješ na ovládání nějaký kontroler.
Uživatelský avatar
bum
Příspěvky: 290
Registrován: 04 zář 2011, 00:00
Kontaktovat uživatele:

#18 Příspěvek od bum »

Paulie2907 poslal jsem ti SZ.
petrfilipi
Příspěvky: 2902
Registrován: 13 zář 2005, 00:00

#19 Příspěvek od petrfilipi »

Jinak jak tu psal Cowley, na původní LCD displej je možné použít řadič 4543 - viz třeba tady (předposlední obrázek) - pak by Ti stačilo jen 16 vývodů: http://www.qsl.net/ok1cfp/ok1cfp-nastav ... hranim.htm

Obecně je to na Googlu zde:https://www.google.cz/search?q=lcd+4543&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwiiwJzQq_DKAhUCz3IKHTveAsMQsAQILw&biw=1569&bih=763#imgrc=UBJaVsE7w8YJuM%3A

Ale samozřejmě displej 2x16 znaků je sice menší (velikostí znaku), pomalejší, ale "inteligentní", takže Ti stačí 2-11 drátů a můžeš s ním dokázat velké věci.

Petr
Uživatelský avatar
monterjirka
Příspěvky: 2855
Registrován: 14 čer 2003, 00:00
Bydliště: Blížejov

#20 Příspěvek od monterjirka »

Jeejda píše:4543 není žádný řadič, ale úplně tupý plně statický dekodér BCD/7seg.
...

To bylo ve vztahu k tomu displeji...
Má 3 společný Common, takže pokud by se připojoval přímo na procesor, je třeba použít pro 3-místné zobrazení 22 PINů :cry:

Samozřejmě je lepší použít displej, který má nějaký řadič, pokud možno něco, co se běžně používá, k čemu existují knihovny,...
termit256
Příspěvky: 10029
Registrován: 06 pro 2007, 00:00

#21 Příspěvek od termit256 »

Ja na tom proste porad nic sloziteho nevidim. Narozdil od led jen vyvola kazdych 20ms preruseni ve kterem neguje porty na kterych ma displej. Otazka par instrukci.

Kdyz neco zblbne tady, uvidi to pekne na displeji a muze opravit. Pokud zblbne napr. casovani inicializacni sekvenci na displeji s radicem, neuvidi tam nic a muze jen tipovat co je spatne.

Rady typu stahni si knihovnu jsou k nicemu, kdys se chce ucit. Jen by se tak zaradil mezi armadu blbu typu "mam arduino, stah sem si tamto a toto a ono to nefunguje. Co mam delat?"
Naposledy upravil(a) termit256 dne 13 úno 2016, 10:45, celkem upraveno 1 x.
Uživatelský avatar
lesana87
Příspěvky: 4402
Registrován: 20 zář 2014, 00:00

#22 Příspěvek od lesana87 »

S dekodérem 4543 výstupy na displej invertovat nemusí, ten už to má v sobě. Stačí spojit piny PH všech dekodérů a COM pin displeje a zapojit je na výstup časovače (předpokládám, že PIC něco takového taky má) a časovač nastavit na 50Hz a o nic se nemusí starat.
Uživatelský avatar
lesana87
Příspěvky: 4402
Registrován: 20 zář 2014, 00:00

#23 Příspěvek od lesana87 »

Beztak 16F84 nemá na ten displej dost nožiček.
petrfilipi
Příspěvky: 2902
Registrován: 13 zář 2005, 00:00

#24 Příspěvek od petrfilipi »

lesana87 píše:Beztak 16F84 nemá na ten displej dost nožiček.


To sice nemá, ale to přece neva. Tak bude řídit jen jeden, dva nebo tři sedmisegmenty. I na tomhle příkladu se toho může naučit hrozně moc. A navíc - může si, v případě nefunkčnosti, jednoduše ověřit displej (přivedením log. 0/1 na vstupy 4543).
Prostě když už ten displej má, tak ho může vyzkoušet, jen musí dokoupit ty řadiče (pardon, převodíky). Aspoň se s nimi naučí dělat, na LED displej je pak může použít taky.
Jak tady bylo už mnohokrát řečeno - každý běžný displej (LCD segmenty, LED segmenty, LCD 44780) má svoje výhody i nevýhody. Ale když už něco koupil, tak by to vyzkoušet mohl. To je aspoň můj názor.

PF
Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 00:00

#25 Příspěvek od frpr666 »

Já jsem naopak pro, aby začátečníci nezačínali na .asm ale raději na Arduino. Ať čas strávený na učení instrukcí věnuje raději do učení C
Srovnej :D

Kód: Vybrat vše

{
  a=10;
  a=a-2;
}

s 8O

Kód: Vybrat vše

movlw 10
movwf a
movlw 2
subwf a, F

Nakonec i analýzou "cizích" arduino knihoven se může posunout dál a psát si vlastní knihovny.
petrfilipi
Příspěvky: 2902
Registrován: 13 zář 2005, 00:00

#26 Příspěvek od petrfilipi »

Já používám vývojové prostředí od firmy Mikroelektronika včetně "ladící" desky EasyPic. Mrkni na to, mají možnost programovat jak v Basicu, tak Pascalu a i v Céčku.
Vývojová deska je super a má vestavěný programátor, ale Ty bys ji úplně nutné nepotřeboval, bo máš programátor svůj. Takže bys ve vyývojovém prostředí program napsal, přeložil, vygeneroval hex soubor a svým programátorem ho poslal do cílového PICa.

V kompilerech mají kompletní help včetně zapojení (např. displeje včetně příkladu "Hello, World" - posílám ho v příloze a zároveň se omlouvám za kvalitu. Je to dlouhá stránka a musel jsem ubrat na kvalitě, abych se vešel do limitu.

SW:http://www.mikroe.com/compilers/
Ladící desky EasyPic: http://www.mikroe.com/easy-boards/

Compiler je ve zdarma verzi omezen na velikost 2kB, ale ke starším verzím lze najít nějaký ten lék.

Petr

Edit - přikládám vzor obsLuhy displeje s řadičem 44780 v PDF, jak jsem ho "vytiskl" z nápovědy k pascalovskému compileru.
Přílohy
44780-2.jpg
(249.78 KiB) Staženo 151 x
LCD44780.pdf
(164.19 KiB) Staženo 137 x
Uživatelský avatar
mtajovsky
Příspěvky: 3728
Registrován: 19 zář 2007, 00:00
Bydliště: Praha

#27 Příspěvek od mtajovsky »

frpr666 píše:Já jsem naopak pro, aby začátečníci nezačínali na .asm ale raději na Arduino. Ať čas strávený na učení instrukcí věnuje raději do učení C
Já nejsem - IMHO kdo nenapsal aspoň něco malého v assembleru, moc neví, co se v procesoru děje. Otázka je, jestli je z tohoto pohledu architektura PIC to nejvhodnější.

Arduino je skvělé z toho hlediska, že poskytuje HAL, ale programátor je od HW ještě o krok dále, než v holém C.
Uživatelský avatar
Habesan
Příspěvky: 7377
Registrován: 12 led 2009, 00:00
Bydliště: Plzeňsko
Kontaktovat uživatele:

#28 Příspěvek od Habesan »

petrfilipi píše:přikládám vzor obsLuhy displeje s řadičem 44780
Toto ???
JPEG !!!
Sháním hasičák s CO2 "sněhový", raději funkční.
(Nemusí mít platnou revizi.)
(Celkově budu raději, když se to obejde bez papírů.)
paulie2907
Příspěvky: 28
Registrován: 09 úno 2016, 00:00

#29 Příspěvek od paulie2907 »

Přiznám, že teď nevím od čeho se odpíchnout, upřímě, přestože, umím C++ nemám ani trochu ponětí kde začít se stahováním potřebného softwaru (C->ASM->HEX) popřípadě (C->HEX).
Upřímně si myslím, že bych si to měl zkusit v Assembleru abych vůbec pochopil princip komunikace. Jak jste mi psali, že zabere všechny piny u 18F84 - to nevadí, protože se to chci naučit, jen si to zkusit, nějaký text a podobně. Jak jste psali o těch PIC32 že to není RISC co všechno to jakoby umí navíc ?
Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 00:00

#30 Příspěvek od frpr666 »

PIC asm brrr...

Kód: Vybrat vše

banksel
pagesel
goto
xorwf
movwf
movf

C

Kód: Vybrat vše

void *memcpy(void *str1, const void *str2, size_t n)
// zkuste si jen tohle předání tří proměnných na zásobník a zavolání funkce v .asm na PICu...
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“