Stránka 1 z 2
Komunikace PIC16F84 s Alfanumerickým displayem
Napsal: 09 úno 2016, 11:10
od paulie2907
Zdravím,
učím se programovat PIC v Assemberu a mám potíže se komunikací s displayem. Z TME jsem si objednal display - zde je datasheet
http://www.tme.eu/cz/Document/89608f5767275ed7d5af3b5feeec9076/DE118.pdf
a nevím ja s ním mám komunikovat, pro začátečníka jako jsem já není nikde popis pinů a podobně a já nevím zda-li lze komunikovat po pár drátech nebo každý segment jeden pin. Snažím se hledat na internetu, ale vždy najdu jen zapojení grafického nebo 2 řadového 16timístného a omisegmentového . Předem děkuji za pomoc
Napsal: 09 úno 2016, 11:25
od petrfilipi
No nevím, zdali je to hle pro začátečníka to pravé.
Myslím si, že tohle totiž není alfanumerický displej, ale klasický (starý) LCD číslicový displej, něco jako Tesla 4DR821B.
Teoreticky lze požít jakýkoli převodník (třeba BCD/7segment), ale trochu je problém v tom, že aby nedocházelo k polarizaci displeje, tak že se neustále otáčí polarita - frekvence je třeba 50 Hz.
Na webu jsem toho moc nenašel, ale mrkni třeba sem:
http://www.atmel.com/Images/doc2569.pdf
nebo sem:
http://circuitsalad.com/2014/07/31/very ... l-control/
Petr
Napsal: 09 úno 2016, 11:30
od paulie2907
Rozumím, takhle - začínám s PIC - doteď jsem elektroniku pouze opravoval, měřil a pod. Návrhy jsem dělal i v minulosti jen ne s mikroprocesory. Vím co myslíš, jen nerozumím tomu na které piny mám ten převodník zapojit.
Napsal: 09 úno 2016, 11:46
od petrfilipi
Zkus to takhle - když připojíš kostru k vývodu 1 a +5V na vývody 17 a 20, tak by se Ti měla rozsvítit 1 na pravé sedmisegmentovce.
Je to podobné jako klasické LED displeje - mají společnou kostru (v tomto případě vývod č. 1) a jednotlivé segmenty jsou připojeny na vývody 3-18, 20-26 a 38-35.
Jinak zapojení je právě v tom odkazu na pdf, které jsi posílal v úvodním příspěvku.
Petr
Napsal: 09 úno 2016, 13:07
od Zaky
Kup si radši displej s HD44780, tohle není pro začátečníka dobrá volba, s tímhle displejem se nijak nekomunikuje, musíš přímo řídit jednotlivé segmenty a to AC napětím, jinak displej rychle zničíš.
Napsal: 09 úno 2016, 14:27
od termit256
Zapojeni vyvodu mas v tabulce pin assignment, kazdym dratem roznes jeden segment. Musis otacet polaritu jak uz tu nekdo zminil.
Napsal: 09 úno 2016, 14:53
od Cowley
Je to hned v dalsi tabulce v tom PDF. 3V/max.100Hz.
Nekde mam doma schema, jak se to propoji s MCU.
Urcite tam byl ale v multiplexu rizenej nejakej BCD prevodnik, na kterem prave bezela ta stridava slozka pro tento typ displeje.
Nejaka 4543 nebo tak neco. Doplnim pozdeji...
Napsal: 09 úno 2016, 19:07
od monterjirka
Pro tenhle displej je dobré použít převodník z BCD na 7-i segment CMOS 4543, ten umí budit displej "střídaným signálem" (je třeba udělat zdroj cca 50 - 60 Hz), navíc má uvedený obvod možnost zápisu do paměti, takže se to dá provozovat i jako multiplex (postupně zapisovat jednotlivé číslice), takže na zobrazení 3 číslic se dá vystačit se 7 Piny, ale bude to "boj na vlastní pěst", nevzpomínám si, že by pro to bylo pro Arduino nějaké vzorové řešení nebo knihovna
(pro zobrazení 2 číslic ve spojení s PIC mám vyzkoušené podobné řešení)
Napsal: 09 úno 2016, 19:36
od termit256
Nekdy je 7segment lepsi nez displej s radicem.
Ja si naopak myslim ze tohle je pekny priklad jak se naucit programovat v asm. Aspon se vyhraje a ne ze buhvi odkud postahuje hromadu vselijakych knihoven pro arduino, splaca je dohromady a pak tu fnuka ze mu to nefunguje protoze nic nez arduino nezna.
Napsal: 09 úno 2016, 22:44
od termit256
Pokud na to sviti prime slunko, ledky nejsou videt. Pak je jedine reseni LCD. To ovladani uplne je stejne jako u ledek, jen se musi cca 50x za sekundu obratit polarita. Zadny radic netreba, pokud mas dost volnych portu. MCU to skoro nijak nezatizi, da se to napsat na par radku kodu v asm. U multiplexu je to slozitejsi nez u LED, ale to neni tento pripad.
Napsal: 09 úno 2016, 23:51
od Zaky
Já si tedy hrál ve svých začátcích s 89C2051 a assemblerem s LED displejem v multiplexu a vyhrál jsem si s tím moc hezky

Dnes bych nevolil ani 89C2051, ani assembler, ale nějaký MCU, co podporuje HW debug a kódovat od začátku v C, k tomu klidně LED displej v multiplexu nebo raději ten HD44780, od číňana je to jeden z nejlevnějších displejů. Je ale fakt, že jsem nejdřív nabral alespoň nějaké ty znalosti z elektrotechniky a programování se dlouho bránil, takže HW stránka věci mi nikdy nečinila větší potíž, programováním se prokousávám tak nějak stále dál, ale pomalu

A jak jsem již mnohokrát zmiňoval, na stole programátora jednočipů je sakra potřeba slušný osciloskop, bez něj je hodně věcí duchařina o štěstí, HW debug není všemocný.
Napsal: 09 úno 2016, 23:57
od termit256
Ono je treba hlavne myslet, pri navrhu zarizeni. Pokud bude funkcni jen v unoru a vecer, je ti takova vec naprd. Ver mi, ze jsou lidi kteri si tohle uvedomi driv nez to postavi.
Napsal: 10 úno 2016, 06:55
od termit256
No prece o tom co si chce paulie2907 s tim LCD postavit.
Napsal: 10 úno 2016, 19:07
od bum
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 psal p.Hron jeho e-mail poplatný době psaní článků byl v každém čísle čásopisu
milan.hron@tiscali.cz v případě opravdového zájmu zkus kontaktovat. Jinak na webu mám pro inspiraci dva články jeden článek je s uvedeným PIC16F84 název "NĚŘENÍ S PIC" a druhý článek je k otestování LCD využívající ke komunikaci PC na sběrnici I2C článek je " LCD 2 *16 A 2 * 20 ZNAKŮ NA I2C S PCF8574". V příloze je PDF k dvořádkovému znakovému LCD displeji 2 * 16 a k řadiči HD44780U kde je i popsána inicializace a komunikace s LCD displejem.
Napsal: 11 úno 2016, 08:28
od petrfilipi
Stáhni si toto:
http://ulozto.cz/x2ruwtw/komunikace-mik ... rbacek-pdf
Je tam popsaná komunikace jak s LED displeji, tak s displejem na bázi 44780.
PF