Pomoc oko led displeja

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: stojke369, pedja089, [eDo], trax

Pomoc oko led displeja

Postby MIKI73 » 19-09-2020, 21:59

Pozdrav.Hteo bih da pitam kako izmeniti program koji je pisan za 7seg displej sa zajednickom anodom da radi na 7seg displeju sa zajednickom katodom.Sema je 16f84A i kolo HCF 4511 RB0 na A , RB1 na B , RB2 na C RB3 na D Imam NPN tranzistore.U proteusu radi sa zajednickom anodom sa IC7447 jer su emitori tranzistora na anodama a kteo bih da napravim sa displejem sa zajednickom katodom gde bi kolektori bili na katodi a emitori na masi medjutim nikako da proradi.Nije mi probrem multipleks tranzistora ali nikako da dobijem cifru na displeju za zajednickom katorom,samo nesto bezveze ispisuje.Evo kako sam nabrzinu sastavio sa zajednickom anodom pa ako moze pomoc oko izmene da radi sa zajednickom katodom.Netreba mi za frekvenciju,to sam stavio samo onako da moze da se vidi da li radi.

TRISB=0
TRISA=255
BROJ VAR WORD
BROJ0 VAR BYTE
BROJ1 VAR BYTE
BROJ2 VAR BYTE
BROJ3 VAR BYTE
I VAR BYTE

POCETAK:
portb=%11110000

COUNT PORTA.0,1000,BROJ ' broji impulse na pinu RA0, u periodu od 1S i rezultat smesta u "BROJ"
BROJ0 = BROJ DIG 3 'izdvajamo hiljde
BROJ1 = BROJ DIG 2' izdvajamo stotine
BROJ2 = BROJ DIG 1'desetice
BROJ3 = BROJ DIG 0'jedinice
FOR I = 1 TO 100 ' u ovom slucaju stavili smo da se ispis na displeju ponovi 100 puta, sto znaci da ce vreme prikazivanja broja na displeju biti oko 2 sekunde

PORTB=BROJ dig 0
HIGH PORTB.7
PAUSE 1
LOW PORTB.7

PORTB=BROJ dig 1
HIGH PORTB.6
PAUSE 1
LOW PORTB.6

PORTB=BROJ dig 2
HIGH PORTB.5
PAUSE 1
LOW PORTB.5

PORTB=BROJ dig 3
HIGH PORTB.4
PAUSE 1
LOW PORTB.4
NEXT I
GOTO POCETAK
MIKI73
 
Posts: 82
Joined: 01-11-2014, 16:57

Re: Pomoc oko led displeja


Re: Pomoc oko led displeja

Postby pedja089 » 19-09-2020, 22:44

Ne moze isti ic za zajednicku katodu i anodu.
Jer da bi dobio segment da sija na jednom treba da bude 0 na drugom 5v na izlazu ic.
User avatar
pedja089
 
Posts: 7733
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pomoc oko led displeja

Postby pedja089 » 19-09-2020, 22:47

I za pocetak spoj samo 1 displej na ic bez multipleksa.
Onda prikazi cifru.
Ako imas dovoljno pinova mozes i bez tog dekodera
User avatar
pedja089
 
Posts: 7733
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pomoc oko led displeja

Postby MIKI73 » 20-09-2020, 10:38

Uredu je to, mislio sam da stavim drugi ic za zajednicku katodu, tranzistore npn, kolektor na katodu, emitor na masu, sve to uredu, samo me interesuje menja li se tad nesto u programu oko izlaznih pinova koji idu na ABCD, tog IC koji je sa zajednickom katodom? Treba li tu promeniti da li ce biti ulazni ili izlazni.
MIKI73
 
Posts: 82
Joined: 01-11-2014, 16:57

Re: Pomoc oko led displeja

Postby pedja089 » 20-09-2020, 21:47

Pa naravno da ne treba.
Ti saljes broj u binarnom obliku, samo IC treba da dekodira to u odgovarajuce signale.
User avatar
pedja089
 
Posts: 7733
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pomoc oko led displeja

Postby MIKI73 » 20-09-2020, 22:03

Samo bih jos nesto pitao uvezi displeja bez drajvera,znaci displej direkno na pic.Da li ovde treba,a mislim da treba prepraviti program za displej sa katodom.

TRISA = %11110000
trisb = %00000000

For i = 0 To 3
x=broj Dig i
GoSub displej
Pause 500
Next i

displej:
porta = $ff
Lookup x, [$40, $79, $24, $30, $19, $12, $02, $78, $00, $18], portb
porta = ~Dcd i

Ovo radi sa displej sa zajednickom anodom ali kad se stavi displej sa zajednickom katodom i treba da ispise broj 1 na displeju se pojavi upaljeno slovo E a diode B i C su ugasene,ispisuje broj ugasenim diodama sto je logicno.Tako radi jer kad je sa zajednickom anodom na pinovima PICa se pojavi nizak nivo za one diode koje svetle a visok nivo za one koje nesvetle da se nebi palile,to sam i izmerio.E sad,kako izoktebuti portb da na displeju sa zajednickom katodom daje visok nivo diodama koje svetle a nizak nivo diodama koje nesvetle ? Ako moze pomoc za ovo jer dobio sam neke 7seg displeje sa 8 cifara a svi su sa zajednickom katodom i steta je baciti ih jer svi su iz neke masine fabricki bas lepo uradjeni.Sve sam probao i neuspevam nikako da to resim.
MIKI73
 
Posts: 82
Joined: 01-11-2014, 16:57

Re: Pomoc oko led displeja

Postby pedja089 » 20-09-2020, 22:39

$40, $79, $24, $30, $19, $12, $02, $78, $00, $18
Izmeni ove brojeve da budu kako treba.
Mozes ih pisati i u binarnom obliku.
NPR
za nulu %01111111, za 1 pises %01100000, itd. Gde je 0 a gde 1 zavisi iskljucivo od toga kako si vezao displej na pic.
User avatar
pedja089
 
Posts: 7733
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pomoc oko led displeja

Postby MIKI73 » 20-09-2020, 22:50

Hvala puno. Sutra cu to da uradim cim dodajem sposla.
MIKI73
 
Posts: 82
Joined: 01-11-2014, 16:57

Re: Pomoc oko led displeja

Postby MIKI73 » 22-09-2020, 06:17

Sve sad radi kao sat. Kapiram u potpunosti pa mi je sad svejedno koji displej i tranzistor imam. Kvala jos jednom Pedja.
MIKI73
 
Posts: 82
Joined: 01-11-2014, 16:57

Re: Pomoc oko led displeja

Postby pedja089 » 22-09-2020, 08:21

MIKI73 wrote:... Kapiram u potpunosti pa mi je sad svejedno...

E to volim da cujem :)
User avatar
pedja089
 
Posts: 7733
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Re: Pomoc oko led displeja


Re: Pomoc oko led displeja

Postby MIKI73 » 24-09-2020, 18:33

Evo sad sam stigao do nesto slobodnog vremena pa bih nesto da napisem oko displeja jer mozda nekom zatreba,ja nisam nesto daleko otisao sa programiranjem pa sam se malo vise mucio sa LED displejem ali ako jos nekom nije jasno nemora se i on muciti kao ja.

Ako imam displej sa zajednickom anodom i pnp trenzistore onda stavljamo komandu ~DCD da bi
pobuda za pnp tr. bila uvek nizak nivo

Ako su sa zajednickom anodom i imamo npn trenzistore onda je komanda samo DCD jer tad uvek imamo
pozitivan napon pobude tj log.1 na bazi tranzistora

Za displej sa zajednickom katodom i pnp tr. je isto ~DCD samo sto je sad njegov emitor na katodi a kolektor na masi a za npn samo DCD i kolektor na katodi emitor na masi

Evo brojeva za displej sa zajednickom katodom,s-dena na levo ako je displej vezan A na RB0 i tako nadalje.
,

[%0111111,%0000110,%1011011,%1001111,%1100110,%1101101,%1111101,%0000111,%1111111,%1101111], portb
MIKI73
 
Posts: 82
Joined: 01-11-2014, 16:57

Re: Pomoc oko led displeja

Postby MIKI73 » 04-10-2020, 21:47

Pozdrav svima.
Evo opet ja nikako da se snadjem.Ovo sam napisao samo radi probe ali problem je sa ispisivannjem na displeju.
Kako da sredim da mi rezultat merenja prikaze jednu sekundu tj da rezultat bude na displeju dok se vresi merenje ?
Ovako samo trenutno ispise pa onda nista na displeju i tako u krug.


broj var word
n Var Byte
i var byte

TRISA = %11111111
trisc = 0
trisb = %00000000
broj=0
ANSEL = %00000000

pocetak

COUNT PORTA.0,1000,BROJ




For i = 0 To 7
n=broj Dig i
GoSub display1
Pause 100
Next i
next c



display1:
portc = $ff
Lookup n, [%0111111,%0000110,%1011011,%1001111,%1100110,%1101101,%1111101,%0000111,%1111111,%1101111], portb
portc = ~Dcd i


return

end
MIKI73
 
Posts: 82
Joined: 01-11-2014, 16:57

Re: Pomoc oko led displeja

Postby pedja089 » 04-10-2020, 23:32

Dok se izvodi ova komanda
COUNT PORTA.0,1000,BROJ
Ne moze nista da ti bude na displeju.
U tom slucaju moras korititi tajmer za brojanje impulsa, i za generisanje vremena od 1sec.
User avatar
pedja089
 
Posts: 7733
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pomoc oko led displeja

Postby MIKI73 » 07-10-2020, 14:31

Nisam se javljao dok neprobam prvo sam,medjutim neradi kako bi trebalo.Kad se ukljuci preko displeja oko 6 puta protrci nakratko rezultat merenja (povacam pauzu da moze da se vidi) i onda pocnu da blinkaju nule,tako je i u proteusu i uzivo.Razumem da mora ta jedna sekunda da nema nista dok traje komanda COUNT ali kako da uradim da posle bar jednu sekundu mogu da vidim rezultat merenja?
Radim sa 16f883,nebitno ako je ovde nesto drugo pogreseno u brzini
bitan mi je samo rezultat da stoji bar jednu sekundu.

broj var word
n Var Byte
i var byte

TRISA = %11111111
trisc = 0
trisb = %00000000
broj=0
ANSEL = %00000000

pocetak


COUNT PORTA.0,1000,BROJ



For i = 0 To 7
n=broj Dig i
GoSub display1
Pause 2
Next i

display1:
portc = $ff
Lookup n, [%0111111,%0000110,%1011011,%1001111,%1100110,%1101101,%1111101,%0000111,%1111111,%1101111], portb
portc = ~Dcd i
end
MIKI73
 
Posts: 82
Joined: 01-11-2014, 16:57

Re: Pomoc oko led displeja

Postby pedja089 » 07-10-2020, 15:15

U programu nemas return. Velika greska....
Dodas jos jednu petlju oko for i... i sa tom petljom odredjujes koliko traje.
User avatar
pedja089
 
Posts: 7733
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pomoc oko led displeja

Postby MIKI73 » 07-10-2020, 15:57

Nemam RETURN, to je ostalo kako sam pokusavam sve i svasta. Gde bi trebalo da ubacim petlju? Pokusavam sa nesto sa FOR x=1 TO 1000 ali nije mi bilo kako treba ili sam to ubacio na pogrešno mesto.
MIKI73
 
Posts: 82
Joined: 01-11-2014, 16:57

Re: Pomoc oko led displeja

Postby pedja089 » 07-10-2020, 16:32

Bas to treba. Iznad for i...
Al u tom slucaju moras resiti return.
User avatar
pedja089
 
Posts: 7733
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija


Return to Mikrokontroleri - PIC

Who is online

Users browsing this forum: No registered users and 3 guests

GOOGLE