skraceni kurs ucenja picbasica

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

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
User avatar
niho
Pravi forumaš
Pravi forumaš
Posts: 1895
Joined: 24-09-2009, 17:26
Location: Brcko, Bosnia and Herzegovina

Re: skraceni kurs ucenja picbasica

Post by niho »

Pozdrav, ima li neko instalaciju za PIC basic da radi pod windows NT tj Windows XP, Verzije koje imam ne mogu instalirati rade samo pod WIn 98. Pa i ona koju sam dobio od mikroelektronike uz programator. Hvala !
Branez
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 457
Joined: 22-04-2008, 16:27
Location: Maribor(SLO) Koprivnica(HR)
Contact:

Re:

Post by Branez »

Imaš na početku link za sve što trebaš.

Image
Real Radios Glow in the Dark!
User avatar
niho
Pravi forumaš
Pravi forumaš
Posts: 1895
Joined: 24-09-2009, 17:26
Location: Brcko, Bosnia and Herzegovina

Re: branez

Post by niho »

Eh nasao sam taj mekanik i instalirao PIC Basic ali na njemu nemam opciju izbora PIC-a samo 16F676 a ja to nemam, treba mi za 16F84 i nista, nasao sam na jednoj adresi (rapidshare) ali mi trazi pasword kod otvaranja datoteke .. sve u svemu nish. Posto sam pocetnik u ovom dijelu rado bih se prebacio na PIC Basic i vjezbao sa ostalima ovako cu morati sam istrazivati u ovom Micro Basicu :ohno:
Branez
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 457
Joined: 22-04-2008, 16:27
Location: Maribor(SLO) Koprivnica(HR)
Contact:

Re: skraceni kurs ucenja picbasica

Post by Branez »

Pa sve ovo ti je ispred pisano u tom programu.
Real Radios Glow in the Dark!
User avatar
WhiteHead
Pravi forumaš
Pravi forumaš
Posts: 1627
Joined: 28-06-2007, 18:36
Location: 75,35k; B&H

Re: skraceni kurs ucenja picbasica

Post by WhiteHead »

@niho pročitaj malo pažljivije oko instalacije programa, radi sa svim pic-evima
Ako kaniš pobijediti, ne smiješ izgubiti
Branez
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 457
Joined: 22-04-2008, 16:27
Location: Maribor(SLO) Koprivnica(HR)
Contact:

Re: skraceni kurs ucenja picbasica

Post by Branez »

Ima na spisku PIC-eva da glava boli. :wink:

Na spisku je 174 PIC-eva i memorija!
Attachments
MCS_pici.jpg
MCS_pici.jpg (67.99 KiB) Viewed 6823 times
Real Radios Glow in the Dark!
User avatar
niho
Pravi forumaš
Pravi forumaš
Posts: 1895
Joined: 24-09-2009, 17:26
Location: Brcko, Bosnia and Herzegovina

Re: skraceni kurs ucenja picbasica

Post by niho »

Branez wrote:Ima na spisku PIC-eva da glava boli. :wink:

Na spisku je 174 PIC-eva i memorija!
Au ljepote, meni nece samo pokaze jedan, kada otvorim padajuci meni nista samo taj jedan. Postoji li kakav nacin da mi posaljes instalaciju ili psw od ovog pro na mail ili slicno. Hvala!!
Branez
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 457
Joined: 22-04-2008, 16:27
Location: Maribor(SLO) Koprivnica(HR)
Contact:

Re: skraceni kurs ucenja picbasica

Post by Branez »

Jesi li ti sve instalirao šta tamo piše?
Real Radios Glow in the Dark!
Branez
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 457
Joined: 22-04-2008, 16:27
Location: Maribor(SLO) Koprivnica(HR)
Contact:

Re:

Post by Branez »

Dobro pročitaj i drži se toga, pa budeš imao sve.
pedja089 wrote:http://rapidshare(dot)com/files/142404491/s ... u.rar.html
e ovako. u raru postoje 2 instalacije setup(instalira microcode studio) i pbp 2.44(to je kompajler). ne bitno kojim redom cete instalirati. samo nakon sto oboje instalirate preostaje vam povezati mcs sa kompajlerom.
uputstvo je na slici. znaci samo pokrenite mcs(micro code studio) i pratite uputstva sa slike.
Slika
Real Radios Glow in the Dark!
User avatar
ShOkRe
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 468
Joined: 10-01-2007, 20:55
Location: Pula

Re: skraceni kurs ucenja picbasica

Post by ShOkRe »

ako su windowsi u rasulu, nekad zna bit problem path-a i lokacije instalacije, a vidim po spashu da nije instalirao ni upgrade.... mene je na starom laptopu zaje*avalo a imao sam na njemu zbog paralelca i primitivnih programatora, a na novom mi je iz šuba upalilo kako i na desktop-pc-u
User avatar
sindja1204
Odlično uznapredovao
Odlično uznapredovao
Posts: 792
Joined: 03-05-2009, 11:57
Location: Beograd

Re:

Post by sindja1204 »

pedja089 wrote: i VAR BYTE
OUTPUT PORTB
FOR i=0 TO 9
Lookup i, [192,249, 164,176,153, 146, 130, 248, 128, 152], portb
PAUSE 500
NEXT i
Program koji ispisuje brojeve od 0-9 na led displeju

Isprogramirao sam pic sa ovim kodom, ali nije radio dok komandu OUTPUT PORTB nisam zamenio sa TRISB = 0 ili TRISB=%11111001.
Zanima me zasto, tj, da li ima pravila kada se upotrebljava jedna a kada druga komanda?

Zanimao bi me i neki najprostiji primer programa u kom bi se pritiskom na taster menjale naredbe, kao kod led chasera :?:

PS. Sve pohvale Pedji za ovaj kurs.
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7874
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

Ne radi zato sto je output naredba koja sluzi za pin, a ne za port.
Ocigledno nisam obracao paznju.
A ceo portb moras proglasiti izlaznim, tako da... trisb=0.
A sto se tice tog "menjanja naredbi", ako sam dobro razumeo onda ovako nesto

petlja1:
nesto radi
if taster=0 then goto petlja2
goto petlja1
petlja2:
nesto radi
if taster=0 then goto petlja3
goto petlja2
petlja3:
nesto radi
if taster=0 then goto petlja4
goto petlja3
petlja4:
nesto radi
if taster=0 then goto petlja1
goto petlja4

sad treba se poigrati sa time da on ne leti po petljama ako je taster stisnut duze vreme vec samo da ide na sledecu petlju itd...
to je jedna opcija, druga je

napraviti brojac koliko je puta taster stisnut
pa zatim koristiti naredbu select case.
jedini fazon je ako nam treba 4 razlicite labele kao gore, mi moramo napraviti i case i=4 i u njega staviti i=0
(i =0,1,2,3,4). nadam se da sam bio jasan
User avatar
sindja1204
Odlično uznapredovao
Odlično uznapredovao
Posts: 792
Joined: 03-05-2009, 11:57
Location: Beograd

Re: skraceni kurs ucenja picbasica

Post by sindja1204 »

pedja089 wrote:Ne radi zato sto je output naredba koja sluzi za pin, a ne za port.

A ceo portb moras proglasiti izlaznim, tako da... trisb=0.
Pedja089 wrote:ova naredba se koristi tako sto se posle nje napise pin koji zelimo proglasiti izlazom, ili cak ceo port.
npr ako napisemo OUTPUT PORTB tada cemo ceo portb proglasiti izlaznim
a ako napisemo OUTPUT PORTB.7 tada cemo samo rb7 proglasiti izlazom a ostali pinovi ce ostati nepromenjeni.
Probao sam u vise programa koje si naveo na kursu da pinove ili ceo port proglasim izlaznim koriscenjem naredbi TRIS i OUTPUT. U nekom programu se ceo port proglasava izlaznim upotrebom komande OUTPUT portb dok sa TRISB = 0 ne funkcionise i obratno, Otud i moja dilema u vezi ovih komandi. Drugi deo sam razumeo, ostaje samo da program isprobam u praksi. Hvala
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7874
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: skraceni kurs ucenja picbasica

Post by pedja089 »

tris uvek radi. Dok za output verovatno zavisi od verzije kompajlera. Ja koristim 2.50, i radi bez ikakvih problema, a zaboravio sam koja je u onom raru. Uglavnom imam naviku da koristim tris registre jer retko kad imam ceo port kao ulazni ili izlazni.
User avatar
sindja1204
Odlično uznapredovao
Odlično uznapredovao
Posts: 792
Joined: 03-05-2009, 11:57
Location: Beograd

Re:

Post by sindja1204 »

pedja089 wrote: evo sada bi mogli pokazati kako se koristi pin kao ulazni...
Image
evo seme. potrebno je samo na prethodnu semu dodati jedan taster i otpornik.

kada je taster stisnut ledica treba da treperi, kada se taster pusti ledica treba da bude ugasena.
Probao sam da napisem neki najprostiji program za pic 12F629 tek toliko da vidim razliku izmedju njega i 16F84A i u startu naisao na problem. Naime led iz ovog prethodnog primera treperi (blinka) bez obzira u kom stanju je taster.

Code: Select all

symbol led=GPIO.0
symbol taster=GPIO.1
output led
input taster
pocetak:
if taster=0   then
high led
pause 200
low led
pause 200
endif
goto pocetak
end

Probao sam i ovako nesto ali bez uspeha

Code: Select all

DEFINE OSC 4
Define   NO_CLRWDT 1
'Fjuzovi
'WDTE - OFF
'PWRTE - ON
'MCLRE - OFF
'BOREN - OFF
'CPD - OFF
symbol led = GPIO.0
symbol taster = GPIO.1

output led
input taster

CMCON = 7
.......................itd
i da negnjavim vise sta sam sve probao, zanima me kako bi izgledao ispravan kod za ovaj primer?
Branez
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 457
Joined: 22-04-2008, 16:27
Location: Maribor(SLO) Koprivnica(HR)
Contact:

Re: skraceni kurs ucenja picbasica

Post by Branez »

Čitaj "Help" i
probaj ovo:

Code: Select all

DEFINE OSC 4
Define   NO_CLRWDT 1
'Fjuzovi
'WDTE - OFF
'PWRTE - ON
'MCLRE - OFF
'BOREN - OFF
'CPD - OFF

symbol led = GPIO.0
symbol taster = GPIO.1

output led
input taster

CMCON = 7

pocetak:
low led
if taster = 0 then gosub blink
goto pocetak

blink:
toggle led
pause 200
return
end
Real Radios Glow in the Dark!
Branez
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 457
Joined: 22-04-2008, 16:27
Location: Maribor(SLO) Koprivnica(HR)
Contact:

Re: skraceni kurs ucenja picbasica

Post by Branez »

Ja primječujem da se narod jako malo služi sa Helpom. Za gornji primjer našao bi:
HELP wrote:
GOSUB Label

Jump to the subroutine at Label saving its return address on the stack. Unlike GOTO, when a RETURN statement is reached, execution resumes with the statement following the last executed GOSUB statement. An unlimited number of subroutines may be used in a program. Subroutines may also be nested. In other words, it is possible for a subroutine to call another subroutine. Such subroutine nesting should be restricted to no more than four levels deep.

RETURN

Return from subroutine. RETURN resumes execution at the statement following the GOSUB which called the subroutine

TOGGLE Pin

Invert the state of the specified Pin. Pin is automatically made an output. Pin may be a constant, 0 - 15, or a variable that contains a number 0 - 15 (e.g. B0) or a pin name (e.g. PORTA.0).
Sa komandom "TOGGLE" je kod kraći i nema veze u kakvom je trenutnom stanju taj port; njegovo stanje će biti promijenjeno!

Pozdrav, Branko
Real Radios Glow in the Dark!
VFDisplay
Odlično uznapredovao
Odlično uznapredovao
Posts: 515
Joined: 01-08-2009, 20:18

Re: skraceni kurs ucenja picbasica

Post by VFDisplay »

oprostite što smetam ( i kasnim) no imam problem s lcd-om....
naime upišem slijedeći program u PIC16F84A te ga spojim s lcd-om kao na shemi ali mi ne radi tj bude mi prazan disp. odnosno "pun" (ovisno o kontrastu)......
pic je ispravan a lcd je nov novcat........

Code: Select all

DEFINE LCD_BITS 4 
DEFINE LCD_DREG PORTA 
DEFINE LCD_DBIT 0 
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 4 
DEFINE LCD_EREG PORTB 
DEFINE LCD_EBIT 3 
DEFINE LCD_LINES 2
pause 100 'cekanje inicijalizacije displeja
lcdout $fe,1, "pozdrav svima" 
end
unaprijed hvala
Attachments
LCD.zip
(33.48 KiB) Downloaded 261 times
Branez
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 457
Joined: 22-04-2008, 16:27
Location: Maribor(SLO) Koprivnica(HR)
Contact:

Re: skraceni kurs ucenja picbasica

Post by Branez »

Code: Select all

DEFINE LCD_BITS 4 
DEFINE LCD_DREG PORTA 
DEFINE LCD_DBIT 0 
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 4 
DEFINE LCD_EREG PORTB 
DEFINE LCD_EBIT 3 
DEFINE LCD_LINES 2
pause 100 'cekanje inicijalizacije displeja
loop;
lcdout $fe,1
lcdout "pozdrav svima"
pause 1000
lcdout $fe,1
lcdout "kolko vas ima"
GOTO loop
end
Čitaj "HELP" :!: :!: :!: :!:

Code: Select all

' PicBasic program to demonstrate operation of an LCD in 4-bit mode
'
' LCD should be connected as follows:
'       LCD     PIC
'       DB4     PortA.0
'       DB5     PortA.1
'       DB6     PortA.2
'       DB7     PortA.3
'       RS      PortA.4 (add 4.7K pullup resistor to 5 volts)
'       E       PortB.3
'       RW      Ground
'       Vdd     5 volts
'       Vss     Ground
'       Vo      20K potentiometer (or ground)
'       DB0-3   No connect

        Pause 500       ' Wait for LCD to startup

loop:   Lcdout $fe, 1   ' Clear LCD screen
        Lcdout "Hello"  ' Display Hello
        Pause 500       ' Wait .5 second

        Lcdout $fe, 1   ' Clear LCD screen
        Lcdout "World"
        Pause 500       ' Wait .5 second

        Goto loop       ' Do it forever
Real Radios Glow in the Dark!
Branez
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 457
Joined: 22-04-2008, 16:27
Location: Maribor(SLO) Koprivnica(HR)
Contact:

Re: skraceni kurs ucenja picbasica

Post by Branez »

Ovo si stavi uvijek u početak programa:

Code: Select all

DEFINE OSC 4  'Oscillator speed in MHz
DEFINE LCD_BITS 4 'izbira ali lcd dela v 4 bitnem ali 8 bitnem modu
DEFINE LCD_DREG PORTA 'izbira se port na kateri so priključeni data biti(d4-d7)
DEFINE LCD_DBIT 0 'začetni bit data porta. 0 ali 4. Če je postavljen na 0 
'se d4 spaja na RA0, d5-RA1, d6-rb2, d7-rb3,a če je postavljen na 4 
'd4 se spaja na rb4 itd.. 
DEFINE LCD_RSREG PORTA 'port na kateri je priključena linija RS
DEFINE LCD_RSBIT 4 'bit porta na katerem je priključena linija RS. V tem slučaju
'je priključena na RA4
DEFINE LCD_EREG PORTB 'port na kateri je priključena E linija displeja
DEFINE LCD_EBIT 0 'bit porta na katerem je priključena E linija.
DEFINE LCD_RWBIT 2 'RW bit 
DEFINE LCD_LINES 2 'število linij displeja. 1,2,4
'DEFINE LCD_COMMANDUS 2000 'kasnjenje ukaza v ms. 
DEFINE LCD_DATAUS 50 'zakasnitev podatkov v ms.
Tako imaš upute uvjek pri ruci. :wink:
Nadam se da budeš razumio komentare, makar su na mojem jeziku.
Real Radios Glow in the Dark!
Post Reply