skraceni kurs ucenja picbasica
Moderators: pedja089, stojke369, [eDo], trax
Re: skraceni kurs ucenja picbasica
opet lupeta brojeve jojjjjjjjjjjjjjjjjjjjjjjjjjj
kako je moguce da se simulacija razlikuje od projekta realnog?????
kako je moguce da se simulacija razlikuje od projekta realnog?????
Re: skraceni kurs ucenja picbasica
Sigurno ti nestno oscilira . Jesu li ti ulazi stabilni ? Je li si stavio pull down ili pull up otpor na ulaz ? Provjeri sve konekcije i sve napone. U krajnjem slucaju je program .
Re: skraceni kurs ucenja picbasica
Program sam zezno ito momacki a skontao sam i gde tako malo da moram sve nanovo a 8k skoro je bio hex.al tako proteus da me zezne neverujem
-
- Posts: 11
- Joined: 15-01-2013, 09:44
Re: skraceni kurs ucenja picbasica
Evo mene opet.
Sada sam sa PIC-em povezao 16 LED dioda i 16 tastera. Logika je ista kao u prethodnom pitanju. Svaki prekidač pali i gasi svoju diodu i zadržavanje bilo kojeg prekidača na 5 sec. gasi sve diode. Još sam dodao da taster T16 pali i gasi zajedno D1, D2 i D3, uz uvjet da ih ne gasi ako su iste upaljene tasteriam T1 ili T2 ili T3. Tasteri su spojeni matrično 4x4 na PORTB. Ovo sve radi na proteusu. Kod i shema su u prilogu. Već mi dolazi inspiracija upravljanja kućnom rasvjetom i drugim potrošačima na ovaj način, pa da postavim par pitanja:
1. Bi li ovako izvedena matrična tipkovnica pouzdano radila u praksi kad bi tasteri bili raspoređeni svugdje po kući kao prekidači svjetala. Bi li kapacitet između vodova ometao multipleksiranje?
2. Može li netko dati primjer upravljanja ovim LED diodama spojenim samo na PORTE preko 2 x 74HC595 i korištenjem komande SHIFTOUT ? Ovim bi oslobodio PORTC i PORTD, koje bi mogao kasnije iskoristit za druge dodatke kao npr LCD display i slično ...
3. Postoji li nekakav mini web server koji bi se mogao povezati naprimjer na PORTD i programirati da prikazuje parametre dobivene preko PORTD? Ovo bi dalo mogućnost upravljanja čitavim sistemom preko pametnog telefona. (ovo je pitanje iz čiste znatiželje i inspiracije )
Sada sam sa PIC-em povezao 16 LED dioda i 16 tastera. Logika je ista kao u prethodnom pitanju. Svaki prekidač pali i gasi svoju diodu i zadržavanje bilo kojeg prekidača na 5 sec. gasi sve diode. Još sam dodao da taster T16 pali i gasi zajedno D1, D2 i D3, uz uvjet da ih ne gasi ako su iste upaljene tasteriam T1 ili T2 ili T3. Tasteri su spojeni matrično 4x4 na PORTB. Ovo sve radi na proteusu. Kod i shema su u prilogu. Već mi dolazi inspiracija upravljanja kućnom rasvjetom i drugim potrošačima na ovaj način, pa da postavim par pitanja:
1. Bi li ovako izvedena matrična tipkovnica pouzdano radila u praksi kad bi tasteri bili raspoređeni svugdje po kući kao prekidači svjetala. Bi li kapacitet između vodova ometao multipleksiranje?
2. Može li netko dati primjer upravljanja ovim LED diodama spojenim samo na PORTE preko 2 x 74HC595 i korištenjem komande SHIFTOUT ? Ovim bi oslobodio PORTC i PORTD, koje bi mogao kasnije iskoristit za druge dodatke kao npr LCD display i slično ...
3. Postoji li nekakav mini web server koji bi se mogao povezati naprimjer na PORTD i programirati da prikazuje parametre dobivene preko PORTD? Ovo bi dalo mogućnost upravljanja čitavim sistemom preko pametnog telefona. (ovo je pitanje iz čiste znatiželje i inspiracije )
Code: Select all
ADCON1 = 7 'Turn off ADC
CMCON = 7 'Turn off comparator
define button_pause 30
trisb=%11110000
trisc=$00
trisd=$00
portb=0
portc=0
portd=0
symbol t1=portb.7
symbol t2=portb.7
symbol t3=portb.7
symbol t4=portb.7
symbol t5=portb.6
symbol t6=portb.6
symbol t7=portb.6
symbol t8=portb.6
symbol t9=portb.5
symbol t10=portb.5
symbol t11=portb.5
symbol t12=portb.5
symbol t13=portb.4
symbol t14=portb.4
symbol t15=portb.4
symbol t16=portb.4
symbol led1=portc.0
symbol led2=portc.1
symbol led3=portc.2
symbol led4=portc.3
symbol led5=portc.4
symbol led6=portc.5
symbol led7=portc.6
symbol led8=portc.7
symbol led9=portd.0
symbol led10=portd.1
symbol led11=portd.2
symbol led12=portd.3
symbol led13=portd.4
symbol led14=portd.5
symbol led15=portd.6
symbol led16=portd.7
bu var byte
b var byte
c var bit
d var bit
e var bit
s var bit
s1 var bit
s2 var bit
s3 var bit
d=0
c=0
e=0
s=0
s1=0
s2=0
s3=0
start:
portb=%0001000
pause 5
b=0
bu=0
button t1,0,255,0,bu,0,led1on
bu=0
button t5,0,255,0,bu,0,led5on
bu=0
button t9,0,255,0,bu,0,led9on
bu=0
button t13,0,255,0,bu,0,led13on
portb=%00000100
pause 5
bu=0
button t2,0,255,0,bu,0,led2on
bu=0
button t6,0,255,0,bu,0,led6on
bu=0
button t10,0,255,0,bu,0,led10on
bu=0
button t14,0,255,0,bu,0,led14on
portb=%00000010
pause 5
bu=0
button t3,0,255,0,bu,0,led3on
bu=0
button t7,0,255,0,bu,0,led7on
bu=0
button t11,0,255,0,bu,0,led11on
bu=0
button t15,0,255,0,bu,0,led15on
portb=%00000001
pause 5
bu=0
button t4,0,255,0,bu,0,led4on
bu=0
button t8,0,255,0,bu,0,led8on
bu=0
button t12,0,255,0,bu,0,led12on
bu=0
button t16,0,255,0,bu,0,led16on
goto start
led1on:
toggle led1
s1=led1
if s=1 then
s1=0
endif
goto test
led5on:
toggle led5
goto test
led9on:
toggle led9
goto test
led13on:
toggle led13
goto test
led2on:
toggle led2
s2=led2
if s=1 then
s2=0
endif
goto test
led6on:
toggle led6
goto test
led10on:
toggle led10
goto test
led14on:
toggle led14
goto test
led3on:
toggle led3
s3=led3
if s=1 then
s1=0
endif
goto test
led7on:
toggle led7
goto test
led11on:
toggle led11
goto test
led15on:
toggle led15
goto test
led4on:
toggle led4
goto test
led8on:
toggle led8
goto test
led12on:
toggle led12
goto test
led16on:
toggle s
if (s1=0) and (s=1) then
high led1
endif
if (s1=0) and (s=0) then
low led1
endif
if (s2=0) and (s=1) then
high led2
endif
if (s2=0) and (s=0) then
low led2
endif
if (s3=0) and (s=1) then
high led3
endif
if (s3=0) and (s=0) then
low led3
endif
goto test
gasisve:
PORTc=0
portd=0
pause 2000
GOTO start
test:
if (t1=1) or (t2=1) or (t3=1) or (t4=1) or (t5=1) or (t6=1) _
or (t7=1) or (t8=1) or (t9=1) or (t10=1) or (t11=1) or (t12=1) _
or (t13=1) or (t14=1) or (t15=1) or (t16=1) and (b<50) then
b=b+1
pause 100
goto test
endif
if b=>50 then
goto gasisve
else
goto start
endif
end
Re: skraceni kurs ucenja picbasica
Da, je odgovor na sve...
Web server mozes napraviti sa picem,i za to ti preporucujem mikrobasic od mikroelektronike.
Nije preterano komplikovano, jer su oni ubacili ceo tcpip stack od microchipa u svoje programske jezike.
A da radis web server u picbasicu, mozes... Ali sa nekim externim tcp/ip-om. Ima od rowing network(ili tako nesto) wifi modula koji imaju serisku komunikaciju, i implementiran tcp/ip stack i gomila opcija.
Web server mozes napraviti sa picem,i za to ti preporucujem mikrobasic od mikroelektronike.
Nije preterano komplikovano, jer su oni ubacili ceo tcpip stack od microchipa u svoje programske jezike.
A da radis web server u picbasicu, mozes... Ali sa nekim externim tcp/ip-om. Ima od rowing network(ili tako nesto) wifi modula koji imaju serisku komunikaciju, i implementiran tcp/ip stack i gomila opcija.
Re: skraceni kurs ucenja picbasica
Nadopunit ću Peđu, koji je sve rekao u jednoj riječi
2. Isto kao i pod 1.
3. Peđa je na ovo opširnije odgovorio, pa se ja neću zamarat ponavljanjem
1. Ako misliš koristit prekidače po kući, moraš koristit neke filtere u najmanju ruku, a preporuka je svakako stavit optocouplere. Tu imaš još mogućnost multipleksiranja ulaza, i možeš koristiti 74xx595! Razmisli kako to izvesti, shiftout je opet u igri.Da, je odgovor na sve...
2. Isto kao i pod 1.
3. Peđa je na ovo opširnije odgovorio, pa se ja neću zamarat ponavljanjem
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
Re: skraceni kurs ucenja picbasica
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
Re: skraceni kurs ucenja picbasica
Pozdrav svima moze mala pomoc uneo sam kod u pic al ima par gresaka kako da izbegnem ovo:
kad iz glavnog programa stisnem jedan taster program ode u pauzu i ceka nanovo stiskanje tastera pauza da bi izasao iz nje ili stiskanje tastera za vracanje da ode u labelu vracanje e sada meni to radi tako ali jedno neznam kako da prepravim
kad je program u pauzi kad stisnem taster za vracanje treba jednom da ode u labelu vracanje i da neide vise sve dok opet nestisnem taster vracanje a meni sad radi sve dok drzim stisnut taster vracanje on ide u labelu vracanje
evo tog dela koda:
kad iz glavnog programa stisnem jedan taster program ode u pauzu i ceka nanovo stiskanje tastera pauza da bi izasao iz nje ili stiskanje tastera za vracanje da ode u labelu vracanje e sada meni to radi tako ali jedno neznam kako da prepravim
kad je program u pauzi kad stisnem taster za vracanje treba jednom da ode u labelu vracanje i da neide vise sve dok opet nestisnem taster vracanje a meni sad radi sve dok drzim stisnut taster vracanje on ide u labelu vracanje
evo tog dela koda:
Code: Select all
:zaustavi
do while Pauza = 0
loop
do
'************
if Test=0 then portb.4=1
if test=1 then portb.4=0
portb.6=1
if Nazad = 0 then
call vracanje
do while Nazad=0
loop
endif
'***************
loop until Pauza = 0
do while Pauza = 0
loop
portb.6=0
return
vracanje:
if x4>1 then x4=x4/2 'deli a4
if x4=0 then x3=x3/2 'deli a3 ako je a4=0
-
- Posts: 7
- Joined: 24-02-2013, 00:49
Re: skraceni kurs ucenja picbasica
Divna tema svaka cast Pedja,ja sam pocetnik procitao sam dosta tog i skoro ceo forum imam programator pickit2 i sad cu da krenem imam pbp i micro cod editor,ali imam jedan problem
zamolio bi nekog dali moze da mi pomogne sledece sta sve osim izlaznih ili ulaznih pinova treba definisati za pic12f683,znam za dataseet ali neide neide...Unapred hvala,za pocetak mi je cilj da palim i gasim ledicu to znam kako cu al neznam sta treba da definisem kristal....
zamolio bi nekog dali moze da mi pomogne sledece sta sve osim izlaznih ili ulaznih pinova treba definisati za pic12f683,znam za dataseet ali neide neide...Unapred hvala,za pocetak mi je cilj da palim i gasim ledicu to znam kako cu al neznam sta treba da definisem kristal....
-
- Posts: 7
- Joined: 24-02-2013, 00:49
Re: skraceni kurs ucenja picbasica
jer moze neki primer za pic 12f683 koji pali i gasi ledicu
Re: skraceni kurs ucenja picbasica
Na stranici od ME Labs-a imaš sve, samo malo truda....
http://melabs.com/samples/LABX4-12F68x/
i kod baš koji tražiš:
http://melabs.com/samples/LABX4-12F68x/
i kod baš koji tražiš:
Code: Select all
' Name : BLINKX4.pbp
' Compiler : PICBASIC PRO Compiler 2.6
' Assembler : PM or MPASM
' Target PIC : PIC12F683
' Hardware : LAB-X4 Experimenter Board
' Oscillator : 4MHz internal
' Keywords :
' Description : PICBASIC PRO program to blink an LED connected
' to GPIO.0 about once a second.
'
LED Con 0 ' Alias GPIO.0 to LED
ANSEL = 0 ' Set all digital
CMCON0 = 7 ' Analog comparators off
mainloop:
Low LED ' Turn on LED connected to GPIO.0
Pause 500 ' Delay for .5 seconds
High LED ' Turn off LED connected to GPIO.0
Pause 500 ' Delay for .5 seconds
Goto mainloop ' Go back to mainloop and blink LED forever
End
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
-
- Posts: 7
- Joined: 24-02-2013, 00:49
Re: skraceni kurs ucenja picbasica
Samo jedno pitanje ovo mi nije jasno sta je:
LED Con 0 ' Alias GPIO.0 to LED
buni me radi ovog jer moglo mesto ovog dase napise
simbol led=gpo.0
LED Con 0 ' Alias GPIO.0 to LED
buni me radi ovog jer moglo mesto ovog dase napise
simbol led=gpo.0
-
- Posts: 7
- Joined: 24-02-2013, 00:49
Re: skraceni kurs ucenja picbasica
ili...
con0,con1,con2 su pinovi
ako bi napisao
taster con1
input taster definiso bi taster?
con0,con1,con2 su pinovi
ako bi napisao
taster con1
input taster definiso bi taster?
-
- Posts: 7
- Joined: 24-02-2013, 00:49
Re: skraceni kurs ucenja picbasica
ukapirao sam za ledice samo kako bi taster definisao ili su svi pinovi izlazni
Re: skraceni kurs ucenja picbasica
GPIO i TRISIO, menjas sa PORTx i TRISx u svim onim mojim primerima.
-
- Posts: 7
- Joined: 24-02-2013, 00:49
Re: skraceni kurs ucenja picbasica
aha ukapiro sam te pedja samo zasto nema
trisi0 da odredi pin izlaznin
kako bi taster definisao
trisi0 da odredi pin izlaznin
kako bi taster definisao
-
- Posts: 7
- Joined: 24-02-2013, 00:49
Re: skraceni kurs ucenja picbasica
Sve mi jasno hvala
Re: skraceni kurs ucenja picbasica
Pozdrav svima jedno pitanje treba mi pausa u trajanju od 10 minuta dali ima neka druga komanda sem pause
Re: skraceni kurs ucenja picbasica
Mozes sa petljom for . Npr.
On ce (program) 600 puta vrtiti petlju s pauzom od 1 sekunde. To znaci da ce ta sve ukupna pauza trajat 600 sekundi , 10 min.
Code: Select all
FOR i = 1 TO i = 600
pause 1000
next i