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
Potrebna pomoc oko pisanja koda za led displej bez dekodera
Moderators: pedja089, stojke369, [eDo], trax
Re: Potrebna pomoc oko pisanja koda za led displej bez dekod
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
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