Potrebna pomoc - TASTERI

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

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
fenix379
Posts: 6
Joined: 07-10-2009, 18:11

Potrebna pomoc - TASTERI

Post by fenix379 »

Imam problema sa programiranjem TASTERA. Naime bilo kakva program da kompajliram sve se isto manifestuje, jednostavno taster ne reagije bez obzira na kome je portu podesen. Evo na primer program iz Milanoviceve knjige o tasetrima, mada i druge koje sam sam uradio ili nasao na istom principu a i ovde sam puno toga procitao ne funkcionise. Da li mi neko moze reci da li je greska u programiranju, mada mi se i kolega zalio da taj probelem nije resio a evidentno ga je imao. Radio sam dosta krupnije stvari tako da mi nije nepoznato ali ovaj problem jednostavno ne mogu resiti pa stoga molim za pomoc. Dakle tasteri ne funkcinisu, nema promena na izlaznim porovima na kojima su vezane LED. Unapred zahvalan svima na pomoci.

___________________________________________________________________
' Program TASTER1 ukljucuje odgovarajuce led diodu na
' na Portu B zavisno od pritisnutog tastera T1, T2 ili T3
' Tasteri su vezani na na Port A preko pull_up otpornika od 10k
' koriscen 16f628A

DEFINE BUTTON_PAUSE 30
B0 var byte

Symbol T1 = PORTA.0
Symbol T2 = PORTA.1
Symbol T3 = PORTA.2

Symbol Led1 = PORTB.0
Symbol Led2 = PORTB.1
Symbol Led3 = PORTB.2

TRISA = $1F
TRISB = $00

Pocetak:
Portb = 0
B0 = 0
button T1,0,255,0,B0,1,Led1on
B0 = 0
button T2,0,255,0,B0,1,Led2on
B0 = 0
button T3,0,255,0,B0,1,Led3on

Led1 = 0
Led2 = 0
Led3 = 0
Goto Pocetak

Led1on:
Led1 = 1
Goto Pocetak
Led2on:
Led2 = 1
Goto Pocetak
Led3on:
Led3 = 1
Goto Pocetak

End
_________________________________________________
' Potom ovaj simpatican i vrlo jednostavan program za dva tastra

B0 var byte

simbol Button0 = PORTA.0
simbol Button1 = PORTA.1
simbol Led = PORTB.0

TRISA = $FF
TRISB = $00
PORTB = $00

Main:
B0 = 0
button Button0,0,255,0,b0,1,LedOn
B0 = 0
button Button1,0,255,0,b0,1,LedOff

LedOn:
LED = 1
goto Main
LedOff:
LED = 0
goto Main
end
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: Potrebna pomoc - TASTERI

Post by DaTi »

probaj koristit ovako,to je bez funkcije button

Code: Select all

Symbol T1 = PORTA.0
Symbol T2 = PORTA.1
Symbol T3 = PORTA.2

Symbol Led1 = PORTB.0
Symbol Led2 = PORTB.1
Symbol Led3 = PORTB.2 

input t1
input t2
input t3

output led1
output led2
output led3

loop:
if t1 = 0 then 
pause 500
gosub Led1on
endif 

if t2 = 0 then
pause 500
gosub Led2on
endif

if t3 = 0 then 
pause 500 
gosub Led3on 
endif

goto loop
end

Led1on:
Led1 = 1
return

Led2on:
Led2 = 1
return

Led3on:
Led3 = 1
return 
a ako hoćeš sa jednim tasterom da pališ i gasiš led radi ovako

Code: Select all

Symbol T1 = PORTA.0
Symbol Led1 = PORTB.0

input t1
output led1


loop:
if t1 =  0 then
pause 500
toggle led1
endif
goto loop
end 
fenix379
Posts: 6
Joined: 07-10-2009, 18:11

Re: Potrebna pomoc - TASTERI

Post by fenix379 »

Zahvaljujem na odgovoru medjutim ne rade ni ovi tvoji iako su besprekonrno napisani. Medjutim shvatio sam jedno da kada kada su tasteri na istim portovima recimo B onda to funkcionise. Dakle u konkretnom slucaju kada su tasteri na B portovima kao i izlazi za led to onda besprekorno radi ali ne radi kada su tasteri na portovima A a led vezani na B portovima. Na taj nacin rade svi ovi programi koje sam i ja postavio a i ti. Da li sada ima neko ideju zasto je to tako.
yt1nvs
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 286
Joined: 30-03-2009, 16:54

Re: Potrebna pomoc - TASTERI

Post by yt1nvs »

Ni u jednom primeru nema :
CMCON = 7 'digitalni I/O
fenix379
Posts: 6
Joined: 07-10-2009, 18:11

Re: Potrebna pomoc - TASTERI

Post by fenix379 »

Probao sam sa iskljucenim komparatorskim modulima tacnije svi su digitalni portovi ali nista. Da li neko ima jos koju ideju.
Post Reply