|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Davidf1 Član
Pridružen-a: Pon 12 Nov 2007 16:44 Prispevkov: 53 Aktiv.: 0.26 Kraj: Grosuplje
|
Objavljeno: Pet Jul 10, 2009 8:31 pm Naslov sporočila: Davidf1's problems PIC |
|
|
Evo fantje, sem odprl kar svojo temo, saj zato pa je forum
Sedaj delam diplomo in trenutno delam en kos, kjer imam za sprogramirati PIC 18F452, tako da bo prikazana temperatura na 7SEG LED displayu.
Na začetku imam pač spremenljivko Temp, ki je moja temperatura. Potem sem naredil že vse izračuna za vse možne načine od -99°C pa do 999°C. Sedaj mi program pravilno izračuna spremenljivke enice, desetice, stotice.
Pojavi se mi pa sedaj problem, ko je potrebno spremenljivke hkrati prikazati na štirih 7SEG LED zaslonih. Kot vemo smo pri PIC-U omejeni z izhodi. PORTD mi služi za prižiganje pravih ledic, torej na njega pošiljam 8 bitne vrednosti, da se mi potem izpiše prava številka, znak. Za 5 recimo 0x92. PORTB pa mi služi, da izbiram med 4 tranzistorji, ki mi vklapljajo med LED zasloni.
No problem je ta, ko je potrebno prikazati recimo temperaturo 123°C Kako naj napišem kodo, ali kakšna je finta, da z očesom ne bom videl, da se tranzistorji preklapljajo in s tem tudi zasloni.
Potrebno je poslati enice na prvi zaslon, potem preklopiti na drugega in poslati desetice in tako dalje. Kako naj to rešim?
Nekako je potrebno pretentati oko, torej recimo 100Hz preklapjati in ne bom videl. Načeloma bo gorel le en zaslon hkrati.
Hvala za odgovore!!! |
|
Nazaj na vrh |
|
|
snoopy Član
Pridružen-a: Ned 11 Maj 2003 1:17 Prispevkov: 222 Aktiv.: 1.00 Kraj: Radovljica
|
|
Nazaj na vrh |
|
|
jnz Član
Pridružen-a: Pon 23 Mar 2009 22:11 Prispevkov: 112 Aktiv.: 0.61 Kraj: Ljubljana
|
Objavljeno: Pet Jul 10, 2009 9:06 pm Naslov sporočila: |
|
|
Ja, točno tako, naenkrat gori le en digit oziroma cifra. 100Hz je povsem dovolj, tudi 50 Hz bi še šlo. Seveda pa moraš prilagoditi še segmentne upore, saj bodo segmenti zaradi časovnega multipleksa svetili manj, vendar ne pretiravaj. Upor naj limitira največ do maksimalnega toka za en segment, sicer bi v slučaju, da se ti recimo program zacikla s prižganim digitom, le-tega lahko skuril.
LP |
|
Nazaj na vrh |
|
|
Davidf1 Član
Pridružen-a: Pon 12 Nov 2007 16:44 Prispevkov: 53 Aktiv.: 0.26 Kraj: Grosuplje
|
Objavljeno: Pet Jul 10, 2009 9:09 pm Naslov sporočila: |
|
|
O hvala za tole. Ravno moj problem Upam, da mi rata nekako stuhtat. |
|
Nazaj na vrh |
|
|
Davidf1 Član
Pridružen-a: Pon 12 Nov 2007 16:44 Prispevkov: 53 Aktiv.: 0.26 Kraj: Grosuplje
|
Objavljeno: Pet Jul 10, 2009 9:10 pm Naslov sporočila: |
|
|
Te segmentne upore sem dal 1kE, pomoje bo vredu. |
|
Nazaj na vrh |
|
|
jnz Član
Pridružen-a: Pon 23 Mar 2009 22:11 Prispevkov: 112 Aktiv.: 0.61 Kraj: Ljubljana
|
Objavljeno: Pet Jul 10, 2009 9:39 pm Naslov sporočila: |
|
|
Če uporabljaš displaye s skupno katodo, torej štirje transistorji sklepajo na maso, segmenti pa so vezani na 5-voltne izhode picapotem je izračun uporov naslednji:
U=5V
Iseg=10mA (preveri v datasheetu za display)
Useg=2V (napetost na prižganem segmentu)
Rseg= (U-Useg)/Iseg = (5-2)/0,01 = 300 Ohm
Pri tem sem računal na tipični tok za segment za normalno delovanje in na tipično napetost za diodo, ki pa variira od barve do barve, npr zelena ima preko 2 V, rdeča ima pod 2 V.
Poleg tega pa je tudi še nekaj drugih izgub, kot npr na tranzistorju 0,2V ali več, na izhodu iz PICa tudi verjetno nekaj takega,...
Skratka, na tvojem mesti bi preveril v datasheetu za display preveril, če segment zdrži 30mA in če zdrži, bi dal 100 Ohmske upore, če ne , bi glede na zgornjo formulo upore prilagodil. |
|
Nazaj na vrh |
|
|
Davidf1 Član
Pridružen-a: Pon 12 Nov 2007 16:44 Prispevkov: 53 Aktiv.: 0.26 Kraj: Grosuplje
|
Objavljeno: Pet Jul 10, 2009 9:51 pm Naslov sporočila: |
|
|
Ne vem no. Jaz sem dobil na faxu načrt in naredil, ker zadeva je že bila večkrat probana. Imam 4 upore po 1kE in 8 uporov za prižiganje ledic po 200E. |
|
Nazaj na vrh |
|
|
sortaj Član
Pridružen-a: Sre 23 Jul 2008 21:51 Prispevkov: 812 Aktiv.: 4.24 Kraj: Med Vipavo in Štanjelom
|
Objavljeno: Pet Jul 10, 2009 10:31 pm Naslov sporočila: |
|
|
1k so najbrš upori, ki gredo na baze tranzistorjev(in potem vklapljajo posamezne displeje). Tisti 200 pa so segmentni. 7seg+decimalna pika(na vsak segment).
lp _________________ Svet je bil analogen, dokler ni Planck vsega zafrknil... |
|
Nazaj na vrh |
|
|
jnz Član
Pridružen-a: Pon 23 Mar 2009 22:11 Prispevkov: 112 Aktiv.: 0.61 Kraj: Ljubljana
|
Objavljeno: Pet Jul 10, 2009 10:35 pm Naslov sporočila: |
|
|
Aha, najbrž se nisva razmela. Če je to 7-segmentni display plus decimalna pika, potem se
strinjam da daš 7 plus 1 upor po 200 Ohm in nato še 4 upore za odpiranje tranzistorjev po 1kE. |
|
Nazaj na vrh |
|
|
Davidf1 Član
Pridružen-a: Pon 12 Nov 2007 16:44 Prispevkov: 53 Aktiv.: 0.26 Kraj: Grosuplje
|
Objavljeno: Pet Jul 10, 2009 11:39 pm Naslov sporočila: |
|
|
Jaja, to bo to. No sedaj se razumemo.
Bom jaz jutr mal probal pa naštudiral tisto. Drugače pa mi bo kdo malo bolj po kmečko napisal, da mi bo potegnilo. |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.22 Kraj: Kranj - struževo
|
Objavljeno: Sob Jul 11, 2009 9:12 am Naslov sporočila: Re: Davidf1's problems PIC |
|
|
Davidf1 je napisal/a: |
...Sedaj delam diplomo.... |
Davidf1 je napisal/a: |
...Drugače pa mi bo kdo malo bolj po kmečko napisal, da mi bo potegnilo. |
Hudiča, saj delaš diplomo! Ali sem narobe prebral in v resnici delaš vajo v osnovni šoli??? Potrudi se vsaj malo, no...
P.S. - sedaj vem, zakaj so mi vsi govorili, da sem mojo diplomo preveč zakompliciral in preveč izpilil. Ker sem pač naredil, tako kot je treba in se spodobi, in je bila očitno precej nad povprečjem.
MUX-krmiljenje LED prikazovalnikov je bilo včasih ena od vaj na faksu. A so tudi to že spustili ven iz programa? Ali si samo ti izpustil ta del programa? _________________ I'm going to stand outside, so if anyone asks, I'm outstanding |
|
Nazaj na vrh |
|
|
Slowfly Član
Pridružen-a: Sre 18 Feb 2004 2:07 Prispevkov: 4082 Aktiv.: 18.32 Kraj: Ljubljana
|
Objavljeno: Sob Jul 11, 2009 9:47 am Naslov sporočila: |
|
|
Hmmmm, na katerem faksu praviš, da delaš diplomo? |
|
Nazaj na vrh |
|
|
Davidf1 Član
Pridružen-a: Pon 12 Nov 2007 16:44 Prispevkov: 53 Aktiv.: 0.26 Kraj: Grosuplje
|
Objavljeno: Sob Jul 11, 2009 10:05 am Naslov sporočila: |
|
|
Jah verjetno je bila kdaj, samo jaz je nisem delal. Ker obstaja več vaj in vsak dobi po eno. No saj se že neki trudim, ampak saj veste kako je, ko neki ne gre, pa ti ubistvu čisto malo manjka in potem ti pomaga nekdo, ki ima že iskušnje, kajti jaz jih nimam prav veliko in stvar ti steče.
Hvala vsem za odgovore, zdaj pa grem mal delat, pa da vidmo
Lep dan vsem |
|
Nazaj na vrh |
|
|
Slowfly Član
Pridružen-a: Sre 18 Feb 2004 2:07 Prispevkov: 4082 Aktiv.: 18.32 Kraj: Ljubljana
|
Objavljeno: Sob Jul 11, 2009 10:12 am Naslov sporočila: |
|
|
Torej če začnem oktobra, bi na tem faksu moral konec maja naslednje leto že diplomirati? In obljubim, da na forumu ne bom težil, kako izračunati upore za multipleksiranje LED displejev!
Kaj pravita, aly, Sokrat? |
|
Nazaj na vrh |
|
|
Davidf1 Član
Pridružen-a: Pon 12 Nov 2007 16:44 Prispevkov: 53 Aktiv.: 0.26 Kraj: Grosuplje
|
Objavljeno: Sob Jul 11, 2009 10:30 am Naslov sporočila: |
|
|
Bla, bla, bla. Pa nisem jaz elektronik, da bi sam to delal, kot mogoče vi, zdaj sem pa dobil neko zadevo in je tudi ta problem, pač vseh področij pa res ne moreš poznati. In a ni to dobro, da se nekdo zanima še za kaj drugega. Glede uporov, pa nisem jaz začel z tem.
Pa s tistmu člankom si tud ne da kaj velik pomagati, ker kar je teorije, sem nekako tako vedel tudi že sam. Da bi pa kaj razbral iz kode, pa ne morem, ker so to meni čisto nepoznani ukazi No kakorkoli, bom že, še vedno je šlo. |
|
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: 70 dni
Powered by phpBB © 2001, 2005 phpBB Group
|