Vyuzitie MHB2501 pri riedeni LED matice

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

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
kajsmentke
Příspěvky: 160
Registrován: 30 srp 2014, 02:00

Vyuzitie MHB2501 pri riedeni LED matice

#1 Příspěvek od kajsmentke »

Zdravim,
Je mozne vyuzit stary obvod MHB2501 pri riadeni led matice na zobrazovanie alfanumerickych znakov ?

Hladam nieco ako stary znamy prevodnik z BCD na 7seg D147 (SN7447) ale pozuitelny aj pre alfanumericke znaky.


Datasheet
https://elparts.mekweb.eu/ds/MHB2501.pdf

Uživatelský avatar
kajsmentke
Příspěvky: 160
Registrován: 30 srp 2014, 02:00

#2 Příspěvek od kajsmentke »

zaujal ma napriklad tento display ktory obsahuje aj dekoder, ale ta cena je sialena

https://sk.farnell.com/broadcom-limited ... dp/1175587

tak hladam nejake lacnejsie ale pritom pouzitelne riesenie[/url]

Uživatelský avatar
Cowley
Příspěvky: 3087
Registrován: 04 úno 2005, 01:00

#3 Příspěvek od Cowley »

Jednoduše to nepůjde. Tento pracuje v multiplexu, zatímco D147D staticky.
Vybraná adresa na vstupu 4-9 zvolí znak, hodiny na vstupu 1-3 pak rotují změny vertikální banky.

S jakým displejem bys chtěl pracovat?

Uživatelský avatar
kajsmentke
Příspěvky: 160
Registrován: 30 srp 2014, 02:00

#4 Příspěvek od kajsmentke »

v podstate mi to je jedno

mozno by stacili aj tieto segmentovky no nieje to najkrajsie

Obrázek

alebo radsej nieco na tento styl a prave pri tomto som uvazoval o pouziti MHB2501

Obrázek

Prenos informacie z mikrokontrolera by mal byt paralelny, pre zobrazenie viac znakov multiplexny

Uživatelský avatar
Cowley
Příspěvky: 3087
Registrován: 04 úno 2005, 01:00

#5 Příspěvek od Cowley »

Pak raději MAX7219 spolu s LED MATRIXem.

Uživatelský avatar
Hill
Administrátor
Administrátor
Příspěvky: 18898
Registrován: 10 zář 2004, 02:00
Bydliště: Jičín, Český ráj

#6 Příspěvek od Hill »

Jestli ti jde o šuplíkové součástky, pak pro maticový displej použij jako generátor znaků paměť třeba 27C64, má 8x 8k kapacitu. I kdybys multiplexoval jeden znak pro 64 LEDek, tedy na jeden každý použil 8 bajtů, pořád tam máš k dispozici místo na 1024 znaků, které vybereš příslušnými čtyřmi adresami. A můžeš tam mít i smajlíky, řeckou abecedu i jiné symboly, sanskrt, kurent, prostě nač si vzpomeneš.
Dál už je to jen záležitost organizace displeje (8 paralelních linek) a jeho multiplexování v návaznosti na adresování paměti (10 paralelních linek).
Když to mohlo obsluhovat Zajícovu digitální stupnici, může i toto.

Uživatelský avatar
kajsmentke
Příspěvky: 160
Registrován: 30 srp 2014, 02:00

#7 Příspěvek od kajsmentke »

Cowley píše:Pak raději MAX7219 spolu s LED MATRIXem.
Ten nieje paralelny. Popravde pre mna je pochopitelnejsie a lahsie na ladenie prave to paralelne rozhranie.

Hill píše: Jestli ti jde o šuplíkové součástky, pak pro maticový displej použij jako generátor znaků paměť třeba 27C64, má 8x 8k kapacitu.
Nejako specialne mi o suplikove suciastky nejde ale ta MHB2501 sa da kupit za par centov napriklad tu
https://www.elektronickesuciastky.sk/el ... d35169.htm tak som chcel vyuzit to ze uz ma tie znaky naprogramovane v sebe.

Inak vyuzit EPROMku je asi fajn napad, len treba navrhnut mapu pamate co da celkom dost prace. Idealne by sa hodila asi pamat z aspon 5bit adresou a 16bit datami slo by tak pohodlne ovladat maticu 8x8 no cena tych pamati mi pride vyssia

Uživatelský avatar
Mahoney
Příspěvky: 347
Registrován: 26 říj 2019, 02:00

#8 Příspěvek od Mahoney »

Akorát že ten MHB2501 potřebuje ještě i -12V, ne?

Uživatelský avatar
kajsmentke
Příspěvky: 160
Registrován: 30 srp 2014, 02:00

#9 Příspěvek od kajsmentke »

ano to mi nedoslo, tak cez tento svab naozaj cesta nevedie...

napada niekoho vobec nejake vyuzitie kde by sa mohol hodit ?

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#10 Příspěvek od rnbw »

Ked chces zobrazovat text, tak tam snad mas procesor. Znaky si vytvoris v jeho pamati a nepotrebujes ziadne obskurne generatory znakov.

Ten IO je vhodny do muzea, resp. na opravu nejakeho historickeho zariadenia, kde je pouzity (ak take vobec existuje).

Uživatelský avatar
kajsmentke
Příspěvky: 160
Registrován: 30 srp 2014, 02:00

#11 Příspěvek od kajsmentke »

ano to mas pravdu ... ak pouzijem AT89C55WD ktory ma 4x 8bit I/O porty tak mozem pokojne ovladat 8 led matic kazda 8x8 led .... a este mi jeden 8 bit port zostane ako vstup

Uživatelský avatar
Cowley
Příspěvky: 3087
Registrován: 04 úno 2005, 01:00

#12 Příspěvek od Cowley »

rnbw: SAPI-1

Uživatelský avatar
nostalcomp
Příspěvky: 43
Registrován: 09 lis 2022, 01:00

#13 Příspěvek od nostalcomp »

MHB2501/02 bych nechal spát. To už je lepší naprogramovat generátor znaků do nějaké EPROM a zobrazovat v celém rastru 8x8. Pak se mohou zobrazovat i znaky s diakritikou. Navíc je to P-MOS a tudíž vyžaduje i záporné napájení (zde -12V), které nesmí vypadnout dříve, než +5V.

Ale jako mentální cvičení (a protože už jsem hóóódně dlouho nic nebastlil) jsem si zkusil (pouze teoreticky) navrhnout autonomní zobrazovací obvod pro běžně prodávanou LED matici 8x8 a to bez použití jednočipu (mikrokontroléru).

Ústřední součástkou je naprogramovaná ROM paměť sloužící jako generátor znaků: MHB2501 (latinka), nebo 2502 (azbuka). Každý obvod umí zobrazit 64 znaků v matici 5x7 bodů. Obvody jsou sice P-MOS, ale TTL kompatibilní. Vstupem zobrazovadla je 6-bitový kód, odpovídající jednomu ze 64 znaků (viz tabulka v datasheetu). Kód je zaveden přímo do paměti na I4-I9. O multiplex se stará čítač 7493 pacující v 3-bitovém módu. Čítač vybírá jeden z 8 řádků znakového rastru v paměti (I1-I3) a zároveň pomocí dekodéru 1z8 74238 aktivuje jeden řádek na maticovém displeji. Využívá se ale jen 7 řádků, osmý řádek MHB2501/2 nepoužívá.

Jako zdroj hodin slouží (TTL) oscilátor (není zakreslen), který by měl mít takovou frekvenci, aby byl celý displej obsloužen za max. 10 mS.
Čili minimální kmitočet by měl být asi 800Hz, lépe 1kHz. Maximální kmitočet je omezen vybavovací dobou dobou ROM, která může být dle typu až 1uS! Výhodné je, pokud bude poměr log.0 ku log.1 asi 1:4. Pak můžeme hodiny zavést do vstupu E3 na dekodéru 74238 a nízkou úrovní hodin blokovat dekodér a tím i zobrazení. Zobrazení bude povoleno až s vysokou úrovní hodin. V té době už je výstup asynchronního čítače a ROM stabilní a na displeji tudíž nebudou nevzhlední duchové a obraz bude čistý.
Nízká úroveň by měla mít minimální délku odpovídající ustálení výstupů čítače a vybavení ROM, tedy s jistou rezervou volíme min. 1,2uS.
Jako oscilátor může posloužit třeba NE555 v zapojení s upravenou střídou.

Výstup dekodéru 74238 spíná jednotlivé řádky matice LED přes "PNP" tranzistorové pole TBD62783. Matice LED musí být se společnou anodou v řádcích. Například typ 788ASR s 8x8 LED, ale využijeme jen 5x7. Výstup sloupců jde z paměti (zapojení s organizací 512 slov po 5 bitech) a katody sloupců jsou spínány pomocí tranzistorového pole ULN2003 (využito jen 5 kanálů ze 7). Předřadné odpory jsem střelil od oka, ale těch 68R by mělo vyhovět.

Celé zapojení se pak chová jako ten zmiňovaný 7447 (D147), jen se vyžaduje 6-bitový kód na vstupu a zobrazuje to 64 ASCII znaků. Jeden ze vstupů E1 nebo E2 dekodéru 74238 by mohl sloužit na zatemňování displeje (podobně jako BI z D147). Log.0 zobrazuje, log.1 nezobrazuje.

Dekodér 74238 lze nahradit běžnějším 74138 (MH3205), ale pak je nutné jeho výstupy ještě invertovat. Taktéž tranzistorová pole lze nahradit diskrétními tranzistory, ale s poli je práce jednodušší.

Jako čítač může sloužit i třeba 74193, jen bacha, že čítá na náběžku a nikoliv na sestupku, jako 7493. Pokud by vadilo, že čítač čítá 8 řádků, ale využíváme jen 7, může za stavu 7 (HHH) nulovat. Možností řešení tohoto zobrazovadla jsou mraky...

Celý obvod může sloužit třeba jako (naprosto zbytečný) tester MHB2501/2. Pokud to někdo zkusí, dejte vědět :) Byla to rychlovka a tudíž si vyhrazuji právo na chybu :) Ale jistou zkušenost mám. Před pár lety jsem MHB2501 zkusil osadit do vlastnoručně zkonstruované TV zobrazovací karty s I8275 a šlapalo to jako fík :)
Přílohy
2501_zobr_led.pdf
MHB2501/2 a LED matice
(297.73 KiB) Staženo 62 x

Uživatelský avatar
nostalcomp
Příspěvky: 43
Registrován: 09 lis 2022, 01:00

#14 Příspěvek od nostalcomp »

kajsmentke píše:Inak vyuzit EPROMku je asi fajn napad, len treba navrhnut mapu pamate co da celkom dost prace.
Připravit si pro EPROM generátor (mapu) znaků pro rastr 8x8 je práce na (doslova) pár minut. Stačí si ho "vypůjčit" z výpisu ROM nějakého osmibitu. Já používám ZX SPECTRUM a ZX81. Výpisy zdrojáků ROM jsou v textovém formátu k nalezení na netu. Ze Spectra metodou COPY/PASTE vezmu znaky 20h-7Fh a znaky 00h-1Fh vezmu ze ZX81. Vše vložím do nového textového souboru a v PS_Padu upravím syntaxi tak, aby vyhovovala mému oblíbenému překladači TASM. Tedy nechám automaticky nahradit řetězec DEFB za .DB a pak to jen přeložím do binárky. A mám hotový generátor znaků o velikosti 1KB (128 znaků). Tvorba vlastních znaků je snadná, viz zdrojový kód generátoru, kde jsou i odkazy na zdrojáky ZX81 a ZXS a další poznámky. Máš to dole v ZIPu. Ten ZX font se sice někomu nemusí líbit, ale na blbnutí to stačí.

Hotovou binárku pak proženu ještě utilitou na invertování jednotlivých bajtů a mám dalších 128 znaků, které jsou shodné, ale invertované.
Obojí se pak vleze třeba do klasické EPROM 2716 a oproti 2501 je to fakt pokrok. A když ne za 2, tak za 3 minuty je to hotové :)

kajsmentke píše:Idealne by sa hodila asi pamat z aspon 5bit adresou a 16bit datami slo by tak pohodlne ovladat maticu 8x8 no cena tych pamati mi pride vyssia
Paměť s 16-bitovou datovou šířkou nic neřeší. Tu matici 8x8 LED stejně musíš ovládat multiplexně a na to klasická 8-bitová šířka dat plně postačuje. Pokud bys to chtěl řídit staticky, jako segmentovky, musel bys mít přístup ke katodě každé ze 64 LED (pro displej 8x8 se spol. anodou). Takový zobrazovač by musel mít minimálně 65 vývodů a bitová šířka slova řídící paměti s mapou znaků by musela mít těch 64 bitů :) Bez multiplexu to fakt nejde.
Přílohy
genznak.zip
Generátor 128 znaků 8x8 ze ZX
(3.29 KiB) Staženo 25 x

Uživatelský avatar
Mahoney
Příspěvky: 347
Registrován: 26 říj 2019, 02:00

#15 Příspěvek od Mahoney »

Mě by zajímalo, jestli sem kajsmentke pak hodí výsledek své práce… Ostatně bylo by to hezké i obecně kdyby si lidi zvykli se pak pochlubit, ti co radili a spolupracovali by pak věděli jestli to k něčemu bylo a mohli by mít lepší pocit :)

Odpovědět

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