Potrebna pomoc oko pisanja koda za led displej bez dekodera

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

Moderators: pedja089, stojke369, [eDo], trax

MIKI73
Napredujem
Napredujem
Posts: 107
Joined: 01-11-2014, 16:57

Re: Potrebna pomoc oko pisanja koda za led displej bez dekod

Post by MIKI73 »

E napokon je sve proradilo kako treba.Evo celog koda po semi koju je postavio Maki,znaci 100% radi ako nekom treba moze slobodno da napravi i radice.Po ukljucenju na displeju su sve nule,na pritisak tastera tj ra4 na log0 malo zatreperi displej ali su i dalje sve nule,tek na otpustanje tastera se pojavljuje 1 pa ne sledeci pritisak opet zatreperi i stoji 1 idalje pa kad se otpusti pojavi se 2 i td.Jedino ako neko hoce malo ukratko da mi razjasni kako radi ovaj deo koda koji sam oznacio crticama jer ovo je bilo vise na tref nego na razumevanju.Tesko je sve ovo za mene matoru konjinu od 40 i nesto leta da sve ukapira.

cmcon=7
brojac var byte
petlja var byte
taster_uk var bit
n Var Byte
i var byte
Digits Var PORTA
TRISA = %11110000
trisb = %00000000
brojac=0

cekaj_log0:

gosub proveri_ulaz
if taster_uk=0 then cekaj_log0
cekaj_log1:

gosub proveri_ulaz
if taster_uk=1 then cekaj_log1
brojac=brojac + 1
n=brojac
gosub display:
goto cekaj_log0

proveri_ulaz:
taster_uk=0
display:

For i = 0 To 3
n=brojac Dig i ------------------------------------------- sta ovo radi
GoSub display1
Pause 1
Next i

display1:
Digits = $ff
Lookup n, [$40, $79, $24, $30, $19, $12, $02, $78, $00, $18], portb
Digits = ~Dcd i ------------------------------------ i ovo,kako rotira bitove


for petlja=0 to 100
if PORTA.4=1 then return
pauseus 100
next petlja
taster_uk=1
return
end
MIKI73
Napredujem
Napredujem
Posts: 107
Joined: 01-11-2014, 16:57

Re: Potrebna pomoc oko pisanja koda za led displej bez dekod

Post by MIKI73 »

Evo i malo drugacije,broj se pojavljuje odmah kad se taster pritisne i menja se tek kad se taster pusti pa ponovo pritisne.Ako nekom treba evo i probano radi 100% jedino ima malo treperenje na displeju.Meni se smucilo da trazim po internetu pa sad kad ima evo ko hoce.

cmcon=7
brojac var byte
petlja var byte
taster_uk var bit
n Var Byte
i var byte
Digits Var PORTA
TRISA = %11110000
trisb = %00000000
brojac=0

cekaj_log0:

gosub proveri_ulaz
if taster_uk=1 then cekaj_log0
brojac=brojac + 1
n=brojac
gosub display:

cekaj_log1:

gosub proveri_ulaz
if taster_uk=0 then cekaj_log1


goto cekaj_log0

proveri_ulaz:
taster_uk=0
display:

For i = 0 To 3
n=brojac Dig i
GoSub display1
Pause 1
Next i

display1:
Digits = $ff
Lookup n, [$40, $79, $24, $30, $19, $12, $02, $78, $00, $18], portb
Digits = ~Dcd i


for petlja=0 to 100
if PORTA.4=0 then return
pauseus 100
next petlja
taster_uk=1
return
end
Post Reply