Forum » Šola » 7 segmentni LCD prikazovalnik...
7 segmentni LCD prikazovalnik...
206freak ::
Najprej lep pozdrav Vsem...stvar je namreč sledeča.
v petek 10.2.2006 imam zagovor izpita Elektronika 1 na Pef-u, in ker bom vprašan tisto česar nisem znal na izpitu me zanima naslednje...
Koliko bitov potrebujemo za krmiljenje 7 segmentnega LCD prikazovalnika, ki izpisuje številke od 0-9? ..odgovor naj bi bil 7
Koliko bitov najmanj pa potrebujemo, če damo vmes dekoder?...odgovor naj bi bil 4
Zdj me pa zanima če se da komu na dolgo in široko mal več razložit kako ta svar sploh deluje...nekaj se mi sanja, sam pol me tista pravilnostna tabela sestavljena iz 0 in 1 zmede, tako da ne vem kako vse skupaj sploh dela...v knjigi pa tud kr nekaj na malo napišejo..
HVALA in LP
v petek 10.2.2006 imam zagovor izpita Elektronika 1 na Pef-u, in ker bom vprašan tisto česar nisem znal na izpitu me zanima naslednje...
Koliko bitov potrebujemo za krmiljenje 7 segmentnega LCD prikazovalnika, ki izpisuje številke od 0-9? ..odgovor naj bi bil 7
Koliko bitov najmanj pa potrebujemo, če damo vmes dekoder?...odgovor naj bi bil 4
Zdj me pa zanima če se da komu na dolgo in široko mal več razložit kako ta svar sploh deluje...nekaj se mi sanja, sam pol me tista pravilnostna tabela sestavljena iz 0 in 1 zmede, tako da ne vem kako vse skupaj sploh dela...v knjigi pa tud kr nekaj na malo napišejo..
HVALA in LP
Kami ::
Klik
No tu maš tabelo.
a, b, c, d, e, f, g so vhodi (nogice na elementu).
Na začetku prvi stolpec pa maš vrednost (številko) katera bo prikazana.
1 v tabeli pomeni, da je tam tok, 0 pa da ga ni.
Torej če hočeš, da sveti številka 4, bo mogo bit tok na vhodih (nogicah) a, d in e
To vidiš iz tabele (pri a, d, in e so enke).
Torej, če hočeš, da sveti št. 4 npr. pač pripeleš na te vhode (a, d in e) nek tok.
No tu maš tabelo.
a, b, c, d, e, f, g so vhodi (nogice na elementu).
Na začetku prvi stolpec pa maš vrednost (številko) katera bo prikazana.
1 v tabeli pomeni, da je tam tok, 0 pa da ga ni.
Torej če hočeš, da sveti številka 4, bo mogo bit tok na vhodih (nogicah) a, d in e
To vidiš iz tabele (pri a, d, in e so enke).
Torej, če hočeš, da sveti št. 4 npr. pač pripeleš na te vhode (a, d in e) nek tok.
Zgodovina sprememb…
- spremenil: Kami ()
cojss ::
LCD deluje tako, da za vsak segment potrebuješ en bit, ki določa ali bo ta vklopljen ali ne. Tabela ti pove kateri biti morajo biti postavljeni za prikaz določene cifre. Podatek o tem kakšna napetost je potrebna da je segment vklopljen ali ne najdeš v karakteristiki displaya.
Če vmes daš dekoder potrebuješ manj bitov, ker ti poveš dekoderju, katero cifro želiš izpisati v binarni obliki 0000 = 0, 0001 = 1 pa do 1001 = 9 - torej za zapis vseh možnih cifer rabiš 4 bite. Dekoder pa potem pretvori (odkodira) štiri bite na vhodu obliko, ki je potrebna za predstavitev na displayu (7 bitov, za vsak segment enega).
Če vmes daš dekoder potrebuješ manj bitov, ker ti poveš dekoderju, katero cifro želiš izpisati v binarni obliki 0000 = 0, 0001 = 1 pa do 1001 = 9 - torej za zapis vseh možnih cifer rabiš 4 bite. Dekoder pa potem pretvori (odkodira) štiri bite na vhodu obliko, ki je potrebna za predstavitev na displayu (7 bitov, za vsak segment enega).
Zgodovina sprememb…
- spremenil: cojss ()
BluPhenix ::
V bistvu tisto ni dekodirnik ampak je prekodirnik. Prekodira kodo iz 8bitne binarne v 4 bitno BCD kodo:
0000 - 0
0001 - 1
0010 - 2
0011 - 3
0100 - 4
0101 - 5
0110 - 6
0111 - 7
1000 - 8
1001 - 9
Medtem ko ti z 8bitno kodo krmiliš vsak LED ali LCD element posebej (torej vsako črtico krmili en bit) z BCD kodo pošiljaš displayu v bistvu številke, ki jih prikažeš. Ampak pazi, display mora tudi vsebovati prekodirnik, ki prekodira iz BDC->bimarno, saj LCD elemente se da krmiliti samo na tak način.
Pač zadeva je uporabna za zmanjšanje podatkovnih linij.
Vedno govorim o 8 bitnem, ker imajo LCD displayi ponavadi še piko.
0000 - 0
0001 - 1
0010 - 2
0011 - 3
0100 - 4
0101 - 5
0110 - 6
0111 - 7
1000 - 8
1001 - 9
Medtem ko ti z 8bitno kodo krmiliš vsak LED ali LCD element posebej (torej vsako črtico krmili en bit) z BCD kodo pošiljaš displayu v bistvu številke, ki jih prikažeš. Ampak pazi, display mora tudi vsebovati prekodirnik, ki prekodira iz BDC->bimarno, saj LCD elemente se da krmiliti samo na tak način.
Pač zadeva je uporabna za zmanjšanje podatkovnih linij.
Vedno govorim o 8 bitnem, ker imajo LCD displayi ponavadi še piko.
Podpisa ni več, ker so me poskušali asimilirati.
206freak ::
OK, torej prekodirnik ti iz BCD kode npr. 1001-9 to kodo prekodira v 7 oz. 8 bitno kodo npr za številko 9 (če je 1 lučka gori) v 1111011.
Dekodirnik ti pa iz BCD kode npr 1001 naredi kaj?
LP
Dekodirnik ti pa iz BCD kode npr 1001 naredi kaj?
LP
BluPhenix ::
Imaš dva prekodirnika:
binarno->BCD: 11010011 -> 1001 torej iz 8 bitnega zapisa vrednosti za vsako črtico zapis skrajšaš v 4 bitni, pač manj podatkovnih linij porabiš.
BCD->binarno: 1001 -> 11010011 torej obratna funkcija prejšnji.
Dva dekodirnika rabiš recimo v poti mikrokontroler->(binarno->BCD)-> ..(pot)... ->(BCD->binarno)->7segmenni LED display. Pač mikrokontroler in LED displey oba delujeta z binarno kodo, ki pa jo po poti prekodiramo, da uporabimo manj podatkovnih linij, torej manj povezav med dvema. Prekodirnika sta lahko že integrirana, se pravi prvi v mikrokontrolerju, drugi v LED displayu.
Op. vrednost 11010011 verjetno ni 9, ampak se mi ne da sedaj razmišljati kakšna je točna vrednost. Torej oba pretvorita 9 v 9, vsak v svoj zapis. V bistvu imaš vedno prekodirnike, saj le spreminjaš kodo iz enega zapisa v drugega.
Imeni kodirnik in dekodirnik se navadno uporabljajo za elementa multiplekser in demultiplekser v določeni izvedbi/vezavi. Oz gre za enak element (kodirnik=multiplekser; dekodirnik=demultiplekser).
binarno->BCD: 11010011 -> 1001 torej iz 8 bitnega zapisa vrednosti za vsako črtico zapis skrajšaš v 4 bitni, pač manj podatkovnih linij porabiš.
BCD->binarno: 1001 -> 11010011 torej obratna funkcija prejšnji.
Dva dekodirnika rabiš recimo v poti mikrokontroler->(binarno->BCD)-> ..(pot)... ->(BCD->binarno)->7segmenni LED display. Pač mikrokontroler in LED displey oba delujeta z binarno kodo, ki pa jo po poti prekodiramo, da uporabimo manj podatkovnih linij, torej manj povezav med dvema. Prekodirnika sta lahko že integrirana, se pravi prvi v mikrokontrolerju, drugi v LED displayu.
Op. vrednost 11010011 verjetno ni 9, ampak se mi ne da sedaj razmišljati kakšna je točna vrednost. Torej oba pretvorita 9 v 9, vsak v svoj zapis. V bistvu imaš vedno prekodirnike, saj le spreminjaš kodo iz enega zapisa v drugega.
Imeni kodirnik in dekodirnik se navadno uporabljajo za elementa multiplekser in demultiplekser v določeni izvedbi/vezavi. Oz gre za enak element (kodirnik=multiplekser; dekodirnik=demultiplekser).
Podpisa ni več, ker so me poskušali asimilirati.
Mikron ::
Mislim da¸sta izraza dekodirnik in prekodirnik enaka.
stvar je v tem:
V vezju imaš števec (npr. 4793 - bin counter) temu števcu na vhod pripelješ takt in ta prične šteti po šesnastiško (hexadecimalno)...
a b c d
0 0 0 0 = 0
0 0 0 1 = 1
0 0 1 0 = 2
0 0 1 1 = 3
0 1 0 0 = 4
0 1 0 1 = 5
0 1 1 0 = 6
0 1 1 1 = 7
1 0 0 0 = 8
1 0 0 1 = 9
1 0 1 0 = A
1 0 1 1 = B
1 1 0 0 = C
1 1 0 1 = D
1 1 1 0 = E
1 1 1 1 = F
za štetje od 0 do 9 je treba na števcu naredit pri resetu mal sprememb in sicer da ga resetira A oziroma koda 1010. To narediš tako da vzameš enice in jih povežeš na IN vrata izhod vrat pa na reset števca
Nato vzameš BCD/7SEG dekoder ta ti prekodira bcd kodo v 7segmentno kodo (npr. 4511) ter vhode dekoderja povežeš na izhode števca.
7 segmentni display sestavlja 7 segmentov vsak ima svojo črko. Na izhode dekoderja pripelješ vhode displaya (čez upore seveda)
koda, ki ti jo BCD/7SEG dekoder naredi pa mora delovati tako, da ti pri vsaki BCD kodi, na displayu gorijo segmenti, ki tvorijo določeno številko.
V tvojem primeru od 0 - 9 bi izgledala logična tabela takole:
a b c d_____A B C D E F G (te velike črke so oznake na displayu)
0 0 0 0 = 0__1 1 1 1 1 1 0
0 0 0 1 = 1__0 1 1 0 0 0 0
0 0 1 0 = 2__1 1 0 1 1 0 1
0 0 1 1 = 3__1 1 1 1 0 0 1
0 1 0 0 = 4__0 1 1 0 0 1 1
0 1 0 1 = 5__1 0 1 1 0 1 1
0 1 1 0 = 6__1 0 1 1 1 1 1
0 1 1 1 = 7__1 1 1 0 0 0 0
1 0 0 0 = 8__1 1 1 1 1 1 1
1 0 0 1 = 9__1 1 1 0 1 1 1
nekaj takšnega
Se pa zadeve malce spremenijo zaradi dveh tipov prikazovalnika CA (common anode ali skopna anoda) in CK (common katode ali skupna katoda). Verjetno te to zaenkrat ne zanima, če pa te pa vprašej.
stvar je v tem:
V vezju imaš števec (npr. 4793 - bin counter) temu števcu na vhod pripelješ takt in ta prične šteti po šesnastiško (hexadecimalno)...
a b c d
0 0 0 0 = 0
0 0 0 1 = 1
0 0 1 0 = 2
0 0 1 1 = 3
0 1 0 0 = 4
0 1 0 1 = 5
0 1 1 0 = 6
0 1 1 1 = 7
1 0 0 0 = 8
1 0 0 1 = 9
1 0 1 0 = A
1 0 1 1 = B
1 1 0 0 = C
1 1 0 1 = D
1 1 1 0 = E
1 1 1 1 = F
za štetje od 0 do 9 je treba na števcu naredit pri resetu mal sprememb in sicer da ga resetira A oziroma koda 1010. To narediš tako da vzameš enice in jih povežeš na IN vrata izhod vrat pa na reset števca
Nato vzameš BCD/7SEG dekoder ta ti prekodira bcd kodo v 7segmentno kodo (npr. 4511) ter vhode dekoderja povežeš na izhode števca.
7 segmentni display sestavlja 7 segmentov vsak ima svojo črko. Na izhode dekoderja pripelješ vhode displaya (čez upore seveda)
koda, ki ti jo BCD/7SEG dekoder naredi pa mora delovati tako, da ti pri vsaki BCD kodi, na displayu gorijo segmenti, ki tvorijo določeno številko.
V tvojem primeru od 0 - 9 bi izgledala logična tabela takole:
a b c d_____A B C D E F G (te velike črke so oznake na displayu)
0 0 0 0 = 0__1 1 1 1 1 1 0
0 0 0 1 = 1__0 1 1 0 0 0 0
0 0 1 0 = 2__1 1 0 1 1 0 1
0 0 1 1 = 3__1 1 1 1 0 0 1
0 1 0 0 = 4__0 1 1 0 0 1 1
0 1 0 1 = 5__1 0 1 1 0 1 1
0 1 1 0 = 6__1 0 1 1 1 1 1
0 1 1 1 = 7__1 1 1 0 0 0 0
1 0 0 0 = 8__1 1 1 1 1 1 1
1 0 0 1 = 9__1 1 1 0 1 1 1
nekaj takšnega
Se pa zadeve malce spremenijo zaradi dveh tipov prikazovalnika CA (common anode ali skopna anoda) in CK (common katode ali skupna katoda). Verjetno te to zaenkrat ne zanima, če pa te pa vprašej.
BluPhenix ::
Splošno izraza nista enaka. Dekodirnik je "črna škatla" ki ima n vhodov in 2^n izhodov. Prekodirnik je črna škatla ki ima i vhodov in j izhodov (i,j=1, ...). Torej je dekodirnik podvrsta prekodirnika tako kot kodirnik.
Sej lahko rečeš za BCD->binarno rabiš dekodirnik, za binarno->BCD kodirnik. Pač enostavneje je če stvar poimenuješ prekodirnik saj prekodira iz ene kode v drugo.
Recimo binarno->gray ne moreš reči ne kodirnik ne dekodirnik, ker imaš enako vhodov in enako izhodov, pač rečeš prekodirnik.
Sej včasih je fanj stvari enostavno poimenovat, ampak kaj ko potem folk meče napačne stvari v isti koš.
Sej lahko rečeš za BCD->binarno rabiš dekodirnik, za binarno->BCD kodirnik. Pač enostavneje je če stvar poimenuješ prekodirnik saj prekodira iz ene kode v drugo.
Recimo binarno->gray ne moreš reči ne kodirnik ne dekodirnik, ker imaš enako vhodov in enako izhodov, pač rečeš prekodirnik.
Sej včasih je fanj stvari enostavno poimenovat, ampak kaj ko potem folk meče napačne stvari v isti koš.
Podpisa ni več, ker so me poskušali asimilirati.
206freak ::
Ja sj delovanje teh bitov sem že dojel, nisem bil samo prepričan kako je s tem pre/de/ kodirnikom...v eni knjigi to tko čudno piše, pa pol sploh ne dojameš kaj želijo povedat.Zdj pa samo še naučit pa bo za 10
Hvala za vse odgovore
LP
Hvala za vse odgovore
LP
mte ::
Imam dvomestni led displej (+ pika za vsakim), ki ima 12 pinov. Se komu sanja, kako razvozlati vezavo in kodiranje? Kakega datasheeta ne najdem..
hvala,
lp matej
hvala,
lp matej
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Java] razlaga kodeOddelek: Programiranje | 1989 (1575) | Sergio |
» | Binarna UraOddelek: Kaj kupiti | 4124 (3372) | Bethrezen |
» | Iskanje podvojenih zaporedijOddelek: Programiranje | 1844 (1624) | Gundolf |
» | e. motorji kontrolirani prek COM vrataOddelek: Elektrotehnika in elektronika | 1884 (1609) | radiator |
» | cene permutacij help pleaseOddelek: Programiranje | 2053 (1660) | Sergio |