Upload
dellco
View
249
Download
2
Embed Size (px)
Citation preview
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
1/38
TUTORIJAL: PicBasic Pro 3 i PIC16F1827
ta je to mikrokontroler================
Pojava mikroprocesora, ipova koji su mogli da izvravaju neki korisniki program,napravila je revoluciju u elektronici omoguivi izradu raznih uredjaja koji su odjednompostali manji, bri, sa vie mogunosti, pa ak dovela i do pojave prvih kompjutera.
ikrokontroler nije isto to i mikroprocesor, moglo bi da se kae da je mikrokontroler ustvari njihova nadgradnja. ikroprocesor se sastoji od aritmetiko!logike jedinice, netomalo "#!a i adresne magistrale kojom su se povezivali sa spoljnom memorijom iulazno!izlaznim jedinicama. $eki od njih imaju u sebi i programsku memoriju u kojoj senalazi program koji izvravaju, dok ostali zahtevaju spoljnu memoriju.
ikrokontroler takodje sadri aritmetiko!logiku jedinicu, ali ne poseduje adresnu
magistralu jer ima integrisanu programsku memoriju, a uz to ima ugradjene mnoge drugehardverske komponente, kao to su logiki ulazno!izlazni pinovi, brojai, tajmeri,oscilatori, "#, %%P"&, P' moduli, #() i )(# konvertori, komparatori, *atch!dog tajmeri itd. oglo bi da se kae da su mikrokontroleri kompjuteri u malom ! uzdodatak neke ulazne jedinice za komunikaciju sa korisnikom +tastatura, mi i izlazne zaprikaz rezultata +ekran, tampa moe da se napravi kompjuter koji bi daleko prevaziaoper-ormanse nekadanjih kompjutera baziranih na osmobitnim mikropocesorima +npr./0. $aravno da danas ne bi imalo mnogo smisla praviti takve kompjutere, ali samikrokontrolerima moemo da napravimo mnoge zanimljive uredjaje koji mogu da namposlue za zabavu, edukaciju pa ak i zaradu.
1reba imati na umu da se danas mikrokontroleri nalaze svuda2 u digitalnim satovima,digitalnim -otoaparatima, mainama za izradu -otogra-ija, ka-ematima, punjaima baterija+ima ih i u samim baterijama, u depnim baterijskim lampama, pa i u igrakama. 3modernim automobilima ih ima na desetine i veina njih komunicira medju sobom +npr.samo u volanu moe da ih bude nekoliko.
4ilj ovog tutorijala nije da napravimo neki visoko komercijalan uredjaj ve dazainteresovani mogu da naue osnove rada sa njima, jer je poetniku upravo najveiproblem da naui osnove ! ako to nema odakle da savlada, poetni entuzijazam moebrzo da predje u razoaranje.
Postoje mnogi proizvodjai mikrokontrolera, a svaki od njih ima nekoliko -amilija.&dluiti se za nekog proizvodjaa poetniku je jako teko i postoje mnoga miljenja okotoga ta je za poetnika bolje. i neemo da se bavimo tim pitanjima, ovo e biti tutorijalza mikrokontroler proizvodjaa 5icrochip5 i to iz /!bitne -amillije sa unapredjenimjezgrom sa oznakom P647897/:;. 3iemo kako se za njega piu programi uprogramskom jeziku P64
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
2/38
icrochip proizvode ili eli da predje na proizvode drugog proizvodjaa u zavisnosti odpotreba ili nekih drugih razloga.>teo bih da se osvrnem na samu re 5mikrokontroler5 jer bi mogla pogreno da se shvati.$aime, re kontrola nema isto znaenje u naem jeziku kao u engleskom. 3 naem jezikuta re oznaava nadzor, proveru, dok u engleskom jeziku ta re +controll oznaava
upravljanje, tako da bi neki bukvalni prevod rei mikrokontroler bio mikroupravlja.$aravno, u naem jeziku se re mikrokontroler odomaila i svi poznavaoci materije znajuo emu se radi tako da emo i mi ovde da je koristimo, a ona nee biti jedina koja sekoristi u svom izvornom obliku, mada u ja da se trudim da, kad god to ima smisla,koristim nae rei koje su manje!vie odgovarajue za neke pojomove. &vo iskljuivo izrazloga to mislim +a postoje i neki dokazi od pametnih ljudi da mnogi hoe da unite narazne naine naa nacionalna obeleja, a jedno do njih je svakako jezik.
?matram da mi ?rbi treba da budemo samosvesni i da se trudimo da sami ouvamo,koliko god je to mogue, na nacionalni identitet na svim poljima, a jedno od njih je ijezik. @injenica je da ima mnogo mladih koji su proitali vie teksta od svojih drugara
preko raznih drutvenih mrea nego iz knjiga domaih autora i zato ne treba nikomezameriti jer je veoma mogue da za neke rei iz tehnike oblasti mladja populacijajednostavno ne zna domai izraz. $aravno, nisam ni ja lingvista niti poznajem sve te rei,ali u da se trudim koliko znam i umem da koristim domae rei tamo gde to ima smisla.alo sam skrenuo sa teme i to je neka druga pria, za neko drugo mesto, ali sam hteo daobrazloim ukoliko naidjete na neku re za koju smatrate da nije adekvatna za ovuoblasti, ili vam se uini besmislena.
$eke stvari e ovde biti objanjene ukratko, ili moda karikirano i nedovoljno kako se nebi uplitali u neke, bar za poetak, nebitne stvari, a verovatno u negde i da napravimgreku pa molim sve koji smatraju da neto nije napisano kako treba, da se slobodno javei isprave me.Programiranje mikrokontrolera====================ao to smo ve rekli, mikrokontroler ima u sebi programsku memoriju u kojoj se nalaziprogram koji treba da se izvrava i upravlja nekim uredjajima i procesima. Postojemikrokontroleri +u daljem tesku 43 od engleskog izraza 5microcontroller unit5 koji usebi ve imaju -abriki, u toku proizvodnje, upisan neki program, ali oni suspecijalizovani za odredjene namene i nama nisu od neke koristi ! nas zanimaju oni kojemoemo sami da programiramo prema svojim potrebama. Poto takvi 43!i dolaze sapotpuno praznom programskom memorijom, kada bi ih ubacili u nae kolo koje smoprojektovali, nita se ne bi desilo, nae elektronsko edo bilo bi potpuno 5mrtvo5, pa jepotrebno da mi sami napiemo program i smestimo ga u programsku memoriju. P64kontroler koji emo mi da koristimo ima tzv. 9A#?> +ita se -le programsku memoriju,odn. memoriju u koju moemo vie puta da upisujemo na program, briemo ako netonije dobro, i ponovo upiemo drugi program.
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
3/38
postavlja je kako se programira 43.
ainski jezik i asembler================Poto 43 pripada -amiliji digitalniih ipova koji prepoznaju iskljuivo dva stanja !
nema napona to se obeleava sa ci-rom 0, i ima napona to se obeleava sa ci-rom 7, sveto on razume su instrukcije koje se sastoje iz nula i jedinica i te instrukcije se nazivajumainski jezik, to je prirodni 5jezik5 svakog mikroprocesora i mikrokontrolera.
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
4/38
samog programa +tesktualni -ajl i ako su potrebne izmene, prepravi se i ponovokompajlira. 6z izvornog programa uvek moe da se napravi mainski, dok je obrnut sluajmogu samo za asembler +i taj program se zove disasembler.
ao to smo ve rekli, vii programski jezici su se javili zbog potrebe breg pisanja
programa i ogranienih mogunosti mikroprocesora i mikrokontrolera. $pr. jedan prostizraz u nekom viem programskom jeziku kao to je2
a = : G C
bi u P64 asembleru izgledao otprilike ovako2
movl* :addl* Cmov*- a
6ako je ovo najprostiji primer, ve se ovde vidi koliko je za oveka prirodnije napisatiovaj izraz u viem jeziku. a izraz tipa2
a=+: G C H I
ne treba ni troiti vreme, pogotovo to P64 koji emo da koristimo nema instrukciju zamnoenje, tako da bi ceo ovaj program imao desetak linija u asembleru.
oemo da kaemo da danas na tritu postoje praktino C via programska jezika zaP64 43, a to su2 4,
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
5/38
ima neto vie instrukcija i veina programa pisanih u P
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
6/38
bolje razumeli neke stvari.
>m, ako postoje dekadni i binarni, da li postoje jo neki brojni sistemiL $aravno, mogueje napraviti bilo koji brojni sistem, sa bilo kojim brojem ci-ara, samo je pitanje ima liikakve svrhe koristiti brojni sistem sa npr. ; ci-ara +0, 7, :, C, I, M, 8. 6li npr sa 7C ci-ara,
tanije znakova. )odue, sistem sa C ci-re2 0, 7 i : koji bi se zvao +verovatno trinarni biimao primenu u realnom svetu, s tim to bi moda bolje bilo da brojevi budu !7, 0 i 7.Bedan od primera bi bio li-t2 0 bi znailo da li-t stoji, 7 da ide navie, a !7 da ide nanie.$ekada se koristio i oktalni brojni sistem +sa osnovom /, mada ga ja u praksi do sadanisam susreo.
Postoji jo jedan brojni sistem koji se esto koristi u praksi, zove se heksadekadni i koristi70 ci-ara i 8 znakova, a to su2 0, 7, :, C, I, M, 8, ;, /, N, #,
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
7/38
Fidimo da se broj 70 stepenuje sa mestom na kome se nalazi umanjenim za 72 za ci-ru naprvom mestu +krajnjem desnom broj 70 +osnova stepenuje se sa 0, za ci-ru na drugommestu osnova se stepenuje sa 7, za ci-ru na treem mestu osnova se stepenuje sa : i takodalje. 1o znai da npr. broj :MC08/ moemo da predstavimo sledeim izrazom2:H70MG MH70IG CH70CG 0H70:G 8H707G /H700
&vde je ci-ra najvee teine : +na engleskom2 most signi-icant digit, skraeno ?), aci-ra najmanje teine je / +na engleskom2 less signi-icant digit, skraeno A?).
6z svega ovoga proizilazi -ormula kojom moemo da izraunamo dekadnu vrednost bilokog broja zapisanog u bilo kom drugom brojnom sistemu2
DnH
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
8/38
77 = C700 = I707 = M770 = 8777 = ;
7000 = /7007 = N7070 = 70 itd.
Proveriemo sada pomou gore napisane -ormule da li je dekadna vrednost binarnogbroja 7007 zaista N.#ko u -ormuli
DnH
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
9/38
kontrolnih karaktera bilo bi potrebno neto oko 700 kodova. a 700 brojeva treba nam ;bitova +jer sa 8 imamo samo 8I kombinacije2 :8, ali je izabran broj / jer je u svetudigitalne elektronike sve podredjeno stepenu broja :, a / je upravo :C.1akodje treba pomenuti 7000 puta veu jedinicu, a to je kilobajt +pie se
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
10/38
obliku zauzima tano : mesta i da nam onda ak ni zarezi nisu potrebni za odvajanjesusednih brojeva, pa bi gornja tabela izgledala ovako2Code:
7;8M0CC;8900%487)
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
11/38
Pretvoriemo dekadni broj 7N u binarni.
7N(:=N +7N(:=I +7I(:=: +0
:(:=7 +07(:=0 +7
?ada ostatke itamo odozdo na gore i zapisujemo sa leva na desno2700776 eto naeg binarnog broja.
)a bi ste mogli da pratite praktine lekcije koje e da uslede posle teorije bie Fampotreban razvojni sistem na kome ete sve to i da isprobate. &n je u pripremi, uskoro ebiti objavljeni svi -ajlovi potrebni za samogradnju kao i shema. ?ve vezano za ovajrazvojni sistem moete da proitate +a i pitate u ovoj temi2
http2((***.elitesecuritQ.org(tIMI/80!P64!razvojni!sistem#lgoritam=======3 proloj lekciji smo pomenuli algoritam, pa da vidimo ta je to jer moe da nam bude odkoristi kod pisanja programa.Bedna od zvaninih de-inicija glasi2 #lgoritam je konana i precizno de-inisanaprocedura, niz dobro de-inisanih pravila, kojom se ulazne vrednosti trans-ormiu uizlazne, ili se opisuje izvravanje nekog postupka. Bednostavnijim renikom reeno,algoritam predstavlja opis izvravanja nekog postupka razloen na pojedinane korake isvaki korak mora biti potpuno jasan i nedvosmislen. 1o znai da npr. neki kulinarskirecept moemo da smatramo algoritmom jer opisuje sve korake jednog postupka.
$pr. algoritam za peenje palainki moe da izgleda ovako2 7. zamesiti testo zapalainke, :. ostaviti da odstoji pola sata, C. ukljuiti ringlu, I. staviti tiganj na ringlu, M.sipati testo u tiganj, 8. ispei sa obe strane i izvaditi iz tiganja, ;. vratiti se na korak M.a neke je ovo sasvim dovoljan opis, ali za neupuene nije dovoljno precizno jer ne znajuta ide u testo, pa umesto take 7. moe da se napie preciznije taj deo postupka2 uzetibrano, jaja, mleko i pomeati sve zajedno. 6 ovako moemo da razloimo na jopreciznije postupke svaku taku za koju ne znamo dovoljno precizno kako da jeizvedemoJ time olakavamo obavljanje postupka i smanjujemo mogunost greke.edjutim, dobar algoritam ne samo da sadri detaljno opisan kompletan postupak vemora da sadri postupke u sluaju kada nisu svi uslovi ispunjeni, kao i postupke u sluajugreke. $pr. posle take I. moemo da dodamo taku u kojoj proveravamo da li se ringlaugrejala na potrebnu temperaturu, i ako nije onda moemo da proverimo da li ima struje isl. 1akodje taku ;. moemo da modi-ikujemo ovako2 ;. vratiti se na korak M ako ima jotesta, u protivnom iskljuiti ringlu i zavriti postupak.
#lgoritam moe da se predstavi na nekoliko naina, a najei su2 prirodni govorni jezik idijagram toka. #lgoritam opisan prirodnim jezikom smo upravo predstavili na primeru
http://www.elitesecurity.org/t454860-PIC-razvojni-sistemhttp://www.elitesecurity.org/t454860-PIC-razvojni-sistem7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
12/38
peenja palainki, a evo kako bi mogao da izgleda algoritam za popravku neispravnelampe predstavljen dijagramom toka +preuzeto sa *ikipedije2
a programere algoritam moe da bude od velike koristi, pogotovo kada je u pitanju nekasloenija procedura. ada se jednom napie, posle ga je mogue prevesti na bilo kojiprogramski jezik prevodjenjem koraka u odredjene programske komande.a one sa manje programerskog iskustva preporuujem da za poetak piu algoritme zaceo program +ionako su poetniki programi uglavnom jednostavni i kratki jer mogu da
im utede mnogo asova nerviranja i traenja greke u programu samo zato to suprevideli neki korak.&vaj tutorijal nee vie da se bavi ovime pa za vie in-ormacija o pisanju algoritamapogledajte na internetu, npr ovaj link2http2((bs.*ikipedia.org(*iki(P...entarneRalgoritamskeRstrukture
#?466 kodovi=========Fe smo rekli da raunari, tj. procesori, razumeju samo binarni oblik, ne poznaju slova,brojeve, interpunkcijske znakove i sl. pa je bilo potrebno da se svi ti znaci kodiraju, odn.da im se dodele brojevi ! svaki znak jedan broj. Prvi standard je zvanino predstavljen
7N8C. godine, bio je ;!bitni, baziran na engleskom al-abetu, i sluio je za komunikacijupomou teleprintera. $azvan je #?466 +ita se aski to je skranica od engleskog izraza5#merican ?tandard 4ode -or 6n-ormation 6nterchange5 +ameriki kodni standard zarazmenu in-ormacija.
?a ; bitova mogue je ostvariti 7:/ kombinacija to je u ono vreme bilo sasvim dovoljnoza namenu za koju je osmiljen jer je tu bilo mesta za sve znakove engleskog al-abeta i
http://bs.wikipedia.org/wiki/Programiranje#Elementarne_algoritamske_strukturehttp://bs.wikipedia.org/wiki/Programiranje#Elementarne_algoritamske_strukture7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
13/38
jo za nekoliko kontrolnih kodova, tanije NM znakova za prikaz i CC kontrolna karaktera+od kojih je veina zastarela. %vo tabele tih 7:/ znakova +preuzeto sa *ikipedije2
Pomou ove tabele moemo da odredimo heksadekadni broj +kod za svaki prikazanikarakter koji se odredjuje tako to se prvo proita vertikalni, a zatim horizontalni znak.$pr. broj 505 ima kod C0, a veliko slovo 5#5 ima kod I7.
Pojavom raunara koji su radili sa bajtovima +/ bitova pojavilo se 7:/ praznih kodova,od 7:/ do :MM, u koje su smeteni razni gra-iki karakteri koji su se koristili za crtanjejednostavnije gra-ike. irenjem raunara po celom svetu ukazala se potreba za novimznakovima koji su speci-ini za odredjenu zemlju, kao to su naa slova 5S5 ili grkial-abet, pa su izmiljene kodne strane kod kojih je prvih 7:/ znakova identinoprvobitnoj tabeli, a u drugoj polovini tabele su smetani potrebni speci-ini znaci isimobli. $ama kodne strane nisu bitne jer emo uglavnom da koristim kodove koji su
standardizovani po 6
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
14/38
tj. da se menjaju kontinualno kao to su brzina, temperatura, pritisak itd. pa su napravljenisenzori koji tu veliinu pretvaraju u analogni elektrini signal. %vo kako bi mogao daizgleda gra-ik nekog analognog signala2
)igitalna elektronika!!!!!!!!!!!!!!!!!!!!!!!!)igitalna elektronika operie sa diskretnim signalima. )iskretni signali mogu imativrednost amplitude iz tano odreSenog skupa, to je diskretizacija po amplitudi, i bitide-inisani samo u odreSenim vremenskim trenucima, to je diskretizacija po vremenu.)iskretni signal je onaj kod koga je za odredjeni vremenski period amplituda signalakonstantna, a zatim se menja na drugi konstantni nivo.
i smo ve pomenuli da te nivoe obeleavamo sa 0 i 7, ali oni imaju svoje apsolutnevrednosti. )ugo su te dve vrednosti bile 0F i MF, ali su u poslednje vreme veoma estevrednosti od 0F i C,CF.
Postoje i vrednosti koje nisu dozvoljene, odn. ako se napon nadje u nedozvoljenimgranicama kaemo da signal nije de-inisan.a P64 7897/:; maksimalna vrednost napona za logiku nulu se kree od 0,/F do 7,MF,a minimalna za logiku jedinicu je od : do MF, pri naponu napajanja od MF. ?vevrednosti izmedju njih se smatraju nedozovoljenim. Eranine vrednosti bi trebalo dabudu -iksne, ali P64 ima raznovrsne hardverske komponente pa su prema njimaodredjene i granice.
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
15/38
#) i )# konvertori=============Fidimo da su analogna i digitalna elektronika dva potpuno razliita sveta, signali supotpuno drugaiji i zbog toga nije mogue direktno povezivanje ve nam je potrebanprevodilac.
namo da nam je za govorni jezik dovoljan jedan prevodilac jer on moe da prevodi uoba smera ! prvo slua na jednom, a zatim pria na drugom jeziku +jedan smer, nakontoga radi obrnuto.3 svetu elektronike su vam najee potrebna dva prevodioca, po jedan za svaki smer. 1onije zato to je nemogue smestiti oba na isti ip, ve zato to nam najee nisu potrebna
oba istovremeno, vrlo esto je potreban samo jedan i to onaj koji prevodi analogni udigitalni signal.
Prevodilac koji prevodi signal iz analognog u digitalni zove se, sasvim logino, analogno!digitalni konvertor i u tekstovima se predstavlja na jedan od tri naina2 #)4, #)konvertor ili #() konvertor.Prevodilac koji radi suprotnu stvar se, opet sasvim logino, zove digitalno!analognikonvertor i predstavlja se sa2 )#4, )# konvertor ili )(# konvertor.
3 prvim danima digitalne elektronike postojali su samo posebni ipovi, a pojavommikrokontrolera sve je ea praksa da se u njih smeta samo #)4, samo )#4 ili oba.
#) konvertor=========Princip rada!!!!!!!!!!!!!!3proeno gledano, princip rada ovog konvertora je relativno jednostavan ! u nekomtrenutku uzme uzorak analognog signala, zadri ga, i nekom od mnogobrojnih metoda tajuzorak pretvara u digitalni oblik. Fideli smo da analogni signal menja vrednost
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
16/38
kontinualno tokom vremena pa je neophodno uzeti uzorak i zadrati ga tokom pretvaranjakako bi ta vrednost bila na istom nivou dok traje taj proces. 1u ulogu ima ulazni deokonvertora koji se zove 5sample and hold5, odn. 5uzmi i zadri5, i najee se sastoji odkondenzatora spojenog na signal koji 5uzima5 uzorak signala, i prekidaa koji odspajakondenzator od ulaznog signala kako se uzeta vrednost ne bi promenila.
$eke od karakteristika #) konvertora su2 broj bitova +tj. rezolucija, re-erentni napon,brzina konverzije i tip izlaza +serijski ili paralelni.
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
17/38
postavljeni na 7, to znai da mereni napon ne sme da predje re-erentni jer emo imatipogrean rezultat. Postoji i mogunost da je napon koji merimo mnogo manji odre-erentnog pa emo da imamo mali opseg bez obzira na broj bitova samog #)4!a. 6zovoga proizilazi da je najbolje kada je maksimalna vrednost merenog napona jednaka ilineto malo nia od re-erentnog koji je obino jednak naponu napajanja ili nekom drugom
iz spoljnog ili unutranjeg izvora. @esto su to vrednosti jednake stepenu broja :, npr.7,0:IF, :,0I/F ili I,0N8F, mada moe da bude bilo koje vrednosti jer kontroler uz malomatematike sve to lako prerauna, ali je uglavnom praktinije ako su u odnosu sastepenom broja :.
edjutim, retko kada se napon koji merimo poklapa sa re-erentnim i zato ga je potrebnodovesti na odgovarajui nivo. ada je maksimalno oekivani mereni napon vei odre-erentnog, za njegovo smanjenje se veoma esto koristi otporniki razdelnik napona, akada je manji, za poveanje se koristi operacioni pojaava.
Primer upotrebe #)4!a
!!!!!!!!!!!!!!!!!!!!!!!!!Poto je #)4 relativno komplikovan za poetnike, objasniu detaljno kako se koristi naprimeru merenja napona od maksimalnih 70F, sa #)4!om od 70 bitova, i re-erentnimnapon od MF.)a bi mereni napon doveli na nivo re-erentnog upotrebiemo razdelnik napona sa dvaotpornika od po 70. a one koje ne znaju, otporniki razdelnik napona je ovo2
37 je ulazni +vei napon, 3: je izlazni +onaj koji vodimo na #)4, a odnos otpornikaodredjuje odnos izmedju ulaznog i izlaznog napona. 9ormula glasi2
3: = 37 H ": ( +"7 G ":
)a vidimo sada kako da iz rezultata koji dobijemo na osnovu merenja 3:, izraunamokoliki je zaista napon 37 u voltima.
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
18/38
ada je 37 tano 70F, 3: e biti MF to je jednako re-erentnom naponu, pa e rezultatimati maksimalnu vrednost, tj O7777777777 ili 70:C dekadno. Fidimo da dobijenirezultat moramo da podelimo sa 70:,C da bi dobili 70F, tj. da bi izraunali 37. 6ako P
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
19/38
Fe smo rekli da P
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
20/38
brzina konverzije ne predstavlja neku bitnu stvar jer su danas svi #) konvertoripraktino prebrzi za taj zadatak. edjutim, postoji situacija u kojoj bi nam moda veabrzina dobro dola ak i kod signala koji se sporo menja, a to je situacija kada nam jepotrebna veoma velika preciznost pa moramo da upotrebimo #)4 sa velikomrezolucijom. Poto je osteljivost takvog #)4!a prilino velika +moe da izmeri promenu
reda mikrovolti, rezultat izmedju susednih konverzija moe da varira zbog smetnji, iakose vrednost signala nije promenila. 3 tim situacijama se radi uproseavanje signala takoto se sabere vei broj uzoraka pa se dobijena vrednost podeli sa brojem uzoraka, ime sedonekle smanjuje uticaj tih smetnji so-tverskom metodom +postoje i hardverskeupotrebom -itera i sl..
1ip izlaza #)4!a!!!!!!!!!!!!!!!!!!!!)a bi #) konvertor preneo mikrokontroleru vrednost, potrebno je da se povee sa njimodredjenim brojem pinova. #) konvertori koji imaju vie pinova i koji odjednomprenose celu vrednost su kovertori sa paralelnim izlazomJ oni imaju za svaki bit
rezolucije po jedan pin za podatak. $jihova prednost je to se odjednom prenosikompletna vrednost, ali taj nain povezivanja ima vie nedostataka2 potreban je velikibroj pinova mikrokontrolera za povezivanje, zatim kod integralnih kola kuite sa punopinova moe da ima veu vrednost nego sam silicijum na kome je izradjen, a i ip sa viepinova zauzima vie mesta na tampanoj ploi +to takodje ima svoju cenu. ato je brojpinova za prenos podataka smanjen na samo dva i napravljen je serijski tip izlaza gde sevrednost prenosi jedan po jedan bit, tj. serijski, s tim da je jedan pin predvidjen za prenospodatka, a drugi za sinhronizacioni takt. &igledno je da je takav nain prenosa sporiji,ali danas su #) konvertori veoma brzi i za veinu primena to ne predstavlja problem.
&vo vai za sluaj kada koristimo spoljni #) konvertor. &bzirom da P64 koji emo dakoristimo ima ugradjen #)4 i sve potrebne mehanizme za prenos podatka, o ovome netreba da brinemo, nae je samo da nakon konverzije proitamo vrednost iz registra koji jekonstruktor predvideo za tu namenu i odjednom preuzmemo kompletan rezultatkonverzije.
)# konvertor=========&vaj sklop, kao to mu ime kae, pretvara digitalni signal u analogni. oristimo ga u dvasluaja2 kada je potrebno da pomou digitalnog signala generiemo neki proizvoljananalogni signal, ili kada hoemo da vratimo u prvobitni oblik neki analogni signal kojismo prethodno pretvorili u digitalni.
Prvi sluaj je npr. kada hoemo da generiemo signal odredjenog oblika +npr. sinusni,testerasti ili bilo koji koji nam je potreban i u tom sluaju moemo da menjamovrednosti bilo kojim brzinom koja nam odgovara.
)rugi sluaj je kada npr. hoemo da sluamo muziku sa 4)!a. )a bi analogni signal biovraen u prvobitan oblik, neophodno je da brzina menjanja stanja bude identina onojkojom je signal pretvoren u digitalni.
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
21/38
Poto znamo da je digitalni signal diskretan po vremenu i amplitudi, izlazni signal bi biostepenast i ni blizu originalnom. ato )#4 izlaz ima neku vrstu -iltera koji 5pegla5 signalkako bi to vie liio na eljeni, odn. originalni.
?lika 7
?lika :
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
22/38
$a prvoj slici sivom bojom je predstavljen originalni analogni signal, a crvenom trenutakkonverzije i vrednost digitalnog signala.$a drugoj slici je prikazan postupak vraanja digitalnog signala +crvena boja u analogni+siva boja. Fidi se da je analogni signal 5ispeglan5 izmedju : digitalna kako bi se dobio
originalni oblik analognog signala.?ada se verovatno neko pita zato bi uopte pretvarali audio signal u digitalni, pa gapotom opet vraali u analogni jer u tom procesu dolazi do degradacije signala. ao prvo,zaista dolazi do degradacije signala, ali one su tako minimalne da to nae uvo ne moe daregistruje, a i one su izraenije kod visokih -rekvenci koje ionako slabije ujemo.ao drugo, glavni razlog je ouvanje kvaliteta signala jer se analogni signal de-ormievremenom, reprodukcijom i presnimavanjem, dok sa digitalnim takvih problema maltenenema. )igitalni signal, iako praktino u savrenom obliku za uvanje i reprodukciju,podloan je jedino de-ormisanju zbog vremena, a za to je zasluan kvalitet medijuma nakome je snimljen pa je potrebno presnimavati ga na odredjen broj godina.
valitetni 4)!ovi bi trebalo da izdre bez problema i do C0 godina, ali nemojte da seiznenadite ako ne uspete da proitate manje kvalitetan disk koji ste narezali pre svega pargodina.
$eke od karakteristika )# konvertora su2 broj bitova +tj. rezolucija, re-erentni napon ibrzina konverzije.
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
23/38
da brzina konverzije mora da bude jednaka brzini kojom je uradjena #) konverzija.
ada hoemo da rekonstruiemo neki analogni signal vrlo je jednostavno odabrati )#4sa odgovarajuom brzinom konverzije, ali kada hoemo da generiemo neki signal,moramo malo da pripazimo na brzinu.
"ecimo da hoemo da generiemo sinusni signal -rekvence do 70 k>z. ?ledee to trebada odluimo je sa koliko uzoraka +segmenata emo da napravimo tu sinusoidu !generalno gledano, vai pravilo 5to vie, to bolje5, a tu dolazimo do ogranienja kojenam namee brzina )# konvertora. ?a vie uzoraka pravimo precizniji signal, medjutimpitanje je koja nam preciznost treba, i treba uzeti u obzir da se signal moe popraviti-ilterima. Pogledajmo sledeu sliku2
Fidimo da je ovde jedna kompletna sinusoida predstavljena sa C: segmenta pa ako tosada pomnoimo sa -rekvencom signala, vidimo da nam je potreban )#4 koji moe da
uradi C:0 000 konverzija u sekundi. #ko nemamo tako brzi )# konvertor, moraemo dasmanjimo broj segmenata za jednu kompletnu periodu.
&peracioni pojaavai==============3 prethodnim lekcijama pomenuli smo operacioni pojaava +na srpskom skraeno 5&P5,na engleskom 5operational ampli-ier5, ili skraeno 5op amp5, pa da vidimo ta je to.1o je sklop koji je spolja gledano veoma jednostavan, sastoji se od : ulaza, jednog
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
24/38
pozitivnog i jednog negativnog, jednog izlaza i dva izvoda za napajanje. ematski seprikazuje ovako2
Fidi se da se za napajanje koriste i pozitivan +GFcc i negativan napon +!Fcc, ali postojei oni kojima je za rad dovoljan samo pozitivan napon +!Fcc se vezuje na masu.6ako jednostavan, sa njime je mogue ostvariti jako puno razliitih spojeva kao to su2neinvertujui pojaava, invertujui pojaava, integrator, di-erencijali pojaava, sabira
itd. &vde emo samo ukratko da objasnimo njegovu primenu u spoju neinvertujuegpojaavaa jer e nam u praksi uglavnom biti potreban za pojaanje signala malihamplituda. ove se neinvertujui jer je napon na izlazu istog znaka, tj. polariteta kao inapon na ulazu. 1aj spoj izgleda ovako2
6zlazni napon rauna se po -ormuli2Fout = Fin H +7 G ":("7
#ko npr. elimo da #) konvertorom merimo signal maksimalne amplitude 0,M F prire-erentnom naponu od MF, napraviemo ovaj pojaava koji e da ima pojaanje od 70,to znai da otpornike odaberemo tako da njihov odnos bude N. a konkretne vrednostitreba konsultovati tehnike podatke za upotrebljeni &P.
3 digitalnoj elektronici e nam uglavnom biti dovoljni &P sa jednostrukim napajanjem, aprilino dobar izbor je ACM/ koji je u stvari dvostruki &P u )6P/ kuitu. )a ne bi svebilo idealno, &P imaju i neke nepoeljne karakteristike na koje moramo da pazimo i koje
moramo da kompenzujemo, ali vie o tome potraite sami na internetu. )obar tekst nasrpskom jeziku imate na *ikipediji2http2((sr.*ikipedia.org(sr(&peracioniRpojaO4IO/)avaO4IO/)
#ko govorite engleski +to je praktino neophodno za elektroniku pogledajte npr.sledee sajtove2http2((***.electronics!tutorials.*s(opamp(opampR7.htmlhttp2((***.allaboutcircuits.com(volRC(chptR/(:.html
http://sr.wikipedia.org/sr/Operacioni_poja%C4%8Dava%C4%8Dhttp://www.electronics-tutorials.ws/opamp/opamp_1.htmlhttp://www.allaboutcircuits.com/vol_3/chpt_8/2.htmlhttp://sr.wikipedia.org/sr/Operacioni_poja%C4%8Dava%C4%8Dhttp://www.electronics-tutorials.ws/opamp/opamp_1.htmlhttp://www.allaboutcircuits.com/vol_3/chpt_8/2.html7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
25/38
Aogika sonda=========Prethodna lekcija je bila poslednja opta teorijska lekcija, vreme je da predjemo na netokonkrentije.
&bzirom da emo uskoro poeti sa radom na pravom hardveru, trebae vam poneto odinstrumenata radi otkrivanja eventualnih problema.&no to je neophodno je tzv. unimer +ili multimetar i verovatno ga ve posedujete,digitalni ili analogni, svejedno je. &no to bi bilo lepo da imate je osciloskop, ali jeprilino skup. # ono to bi svakako trebalo da imate, a moete i sami da napravite, jelogika sonda.Postoji jako puno ema, ali mnoge od njih imaju neke nedostatke pa preporuujem danapravite onu koju je Foja #ntoni objavio u domaem asopisu 5P45 u broju 7MM. Potosam od Foje dobio dozvolu da objavim ovaj njegov projekat +i bilo koji ako zatreba, naovom linku moete da skinete kompletan lanak2
http2((***.-iledropper.com(logickasonda#rhiva u kojoj je program za P64, i P4< -ajl radjen u P"&1%A!u, prikaena je uz ovuporuku, -ajl pod nazivom pc7MMsko.zip. #ko nemate P"&1%A, moete i sami daprojektujete tampanu plou jer jer ema veoma jednostavna, a ionako je vojina verzijapredvidjena za dvostranu ploicu.
6zgled tampane ploe za logiku sondu. liknite na sliku za veu.
Pored ovog, veoma koristan moe da bude i instrument koji je Foja objavio u istomasopisu u brojevima CM i C8, u lanku pod nazivom 5#latka za digitalnu radionicu5. 4eoprojekat je preveden na engleski i objavljen od strane 64"&4>6P!a pod nazivom5%ngineering #ssistant5J sve potrebne -ajlove kao i ceo projekat moete da pronadjete naovom linku2
http2((***.microchip.com(stell...de6d=7/:ITappnote=en0:;788
3redjaj objedinjuje I instrumenta u jednom2 logika sonda, logiki analizator, analizatorserijskog protokola, i -rekvencmetar do I0 >z. 3 asopisu je napisano da jemaksimalna -rekvenca M0 >z, ali je Foja kasnije, uvidevi neke probleme, smanjio naI0 >z.
"%@$6=====
http://www.filedropper.com/logickasondahttp://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en027166http://217.26.67.168/uploads/3/1/3196467/log_sonda.pnghttp://www.filedropper.com/logickasondahttp://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en0271667/22/2019 PicBasic Pro 3 i PIC16F1827.doc
26/38
3 elektronici se koristi mnogo stranih rei, izraza i skraenica, uglavnom engleskih, odkojih neke imaju odgovarajue domae izraze, ali ima i mnogo onih koji ili nemajuadekvatan i razumljiv prevod, ili su se toliko odomaile da im prevod nije potreban. &vdesu date neke osnovne rei, skraenice i izrazi, a verovatno e biti i naknadnih dopunakako bi sve te rei bile na jednom mestu.
Felikim slovima ispisan je originalni oblik, u zagradi priblian izgovor, a iza crticeprevod ili objanjenje.
H
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
27/38
H P3AA!3P +pul ap ! kao i P3AA!)&'$ s tim da je otpornik jednim krajem vezan napozitivan kraj napajanja ime se ulaz dovodi na visok logiki nivo.H P' +pi vi em ! Pulse 'idth odulation, oznaava vrstu modulacije kod koje semenja odnos izmedju impulsa i pauze pri emu -rekvenca ostaje ista. $ajee se koristiza kontrolu intenziteta A%), regulaciju brzine motora, generisanje razliitih nivoa napona
i sl.H "#6A!1&!"#6A &31P31 +reil to reil autput ! oznaava mogunost da neki izlazmoe da postigne napone jednake najniem i najviem kojim se napaja integralno kolo.#ko nema tu mogunost, izlaz postie napone nie za par desetina mF u odnosu nanapon napajanja.H "# +ram ! vrsta memorije koja se koristi za smetaj podataka +kod raunara i zasmetaj programa, a iji sadraj se gubi nestankom napajanja.H "& +rom ! vrsta memorije koja je unapred popunjena od strane proizvodjaa, njensadraj ne moe da se menja, a esto sadri operativni sistem za manje raunare ili nekedruge vane podatke.H ?6$ 43""%$1 +sink karent ! oznaava struju koja ulazi u neki pin.
H ?A%%P &)% +slip mod ! reim rada mikrokontrolera u kome je privremenozaustavljeno izvravanje programa, eka da ga neto opet pokrene, a potronja jeminimalna.H ?&91'#"% +so-tver ! sve ne-izike komponente, u praksi je to program.H ?&3"4% 43""%$1 +sours karent ! oznaava struju koja izlazi iz nekog pina.H ?1#4 +stek ! skladite koje privremeno uva neke vane in-ormacije, obino je"# tipa i nije veliki, moe da bude jedna "# lokacija ili par desetina.H '#14>)&E +vodog ! bukvalno pas uvarJ u elektronici je to sklop kojim seomoguuje resetovanje, odn. ponovno pokretanje nekog uredjaja koji iz nekog razloga+najee smetnja u naponu napajanja ne radi kako je oekivano.
P647897/:; ! karakteristike==================ikrokontroler koji emo da koristimo proizvod je -irme 564"&4>6P5, nosi oznakuP647897/:;, i sada emo malo da se upoznamo sa njim i nekim od njegovihkarakteristika koje moete da pronadjete u originalnom dokumentu koji moete daskinete sa ove adrese2http2((**7.microchip.com(do*nloads(en()evice)oc(I7CN7).pd-Preporuka je da ga obavezno skinete jer e Fam biti neophodan za ozbiljan rad, a i steiete naviku da itate tehniku dokumentaciju bez ijeg paljivog itanja mogu mnogestvari da Fam ostanu nejasne. nogi ljudi ve znaju za moju izreku 5@itati, itati i samoitati5 tako da je preporuka da se toga pridravate ! nauiete mnogo, neete morati daekate odgovor od drugih, a moda ete nekome i da pomognete svojim znanjem.
?ada emo da nabrojimo vei deo karakteristika navedenog P64!a, a u sledeimporukama emo da objasnimo malo detaljnije neke od njih.! C tipa kuita2 7/!pinski )6P, :0!pinski ??&P i :/!pinski U9$(3U9$.! :M8 bajtova %%P"&!a! / b programske memorije +9A#?> tipa
http://ww1.microchip.com/downloads/en/DeviceDoc/41391D.pdfhttp://ww1.microchip.com/downloads/en/DeviceDoc/41391D.pdf7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
28/38
! C/I bajtova "#!a! ogunost interapta sa automatskim snimanjem vanih registara! ?tek od 78 nivoa! 6nterni oscilator od C7 k>z do C: >z sa 7O preciznosti! "adni napon od 7,/F do M,MF
! Fie vrsta reseta! Fodog tajmer sa periodom od 7ms do :8/ sekundi! atita od isitavanja programa! Programiranje u kolu! 64) -unkcija! Potronja struje u radu od ;M u# +mikroampera pri taktu od 7 >z i naponu 7,/F! Potronja u stanju mirovanja +sleep od C0 n#! Bedan 70!bitni #)4 modul sa 7: kanala! )va analogna komparatora! odul re-erentnog napona sa 7,0:IF, :,0I/F i I,0N8F! 7M ulazno(izlaznih pinova i 7 iskljuivo ulazni pin
! ogunost davanja i primanja po :Mm# po svakom pinu! Pull!up otpornici na nekim pinovima! 1ajmer 02 /!bitni tajmer(broja sa /!bitnim preskalerom! 1ajmer 72 78!bitni tajmer(broja sa preskalerom! 1ri tajmera :2 /!bitni tajmer(broja sa preskalerom i postskalerom! )va P' modula! %3?#"1 modul! odul sa kapacitivnim senzorom2 7: ulaznih kanala
P647897/:; ! detaljnije================?ada emo neke od navedenih karakteristika da upoznamo detaljnije.
! / < programske memorije2 &vaj kontroler ima 7I!to bitno jezgro to znai da se zajednu instrukciju koristi 7I bitova programske memorije, tj. 7 vord od 7I bitova.&bzirom da bajt ima / bitova, to znai da ovaj kontroler ima I ' +kilovord ! oznaava70:I vorda memorije za programske instrukcije, tj u njemu ima mesta za tano I0N8programskih instrukcija. edjutim, taj podatak vai za asmeblerske instrukcije jer svakazauzima tano 7 vord, dok kod viih programskih jezika, kako smo ve rekli, jednainstrukcija moe da se sastoji iz nekoliko desetina asemblerskih.
! ?tek od 78 nivoa2 )ok se izvrava glavni program, esto se namee potreba da sepozove neki potprogram +to je kratak program koji se esto koristi pa se izdvoji kaoposebna celina i kada se on izvri, 43 mora da zna gde treba da se vrati. Pre pozivapotprograma, 43 na stek stavi adresu sledee instrukcije koja treba da se izvri, panakon izvrenja potprograma, on uzme sa steka tu adresu i tako nastavlja tano tamo gdeje stao. &bzirom da stek ima 78 nivoa, to znai da iz jednog potprograma moemo dapozovemo drugi i tako sve do 78, tj. dok se stek ne popuni. edjutim, P
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
29/38
! 6nterni oscilator od C7 k>z do C: >z sa 7O preciznosti2 )a bi 43 mogao da radi,potreban mu je 5dirigent5 koji e da uskladi sva deavanja unutar njega. 1ome sluioscilator koji daje takt sa kojim se sve sinhronizuje. &vaj oscilator moe da bude spoljniili unutranji +interniJ ovaj P64 ima veliki izbor unapred odredjenih -rekvenci koje moeda proizvede, a to su2
H C: >zH 78 >zH / >zH I >zH : >zH 7 >zH M00 k>zH :M0 k>zH 7:M k>zH 8:.M k>z
H C7.:M k>zH C7 k>z
&d svih ovih, jedino C7 k>z nije kalibrisana -rekvenca, ostale imaju preciznost od 7O.?poljni oscilator se koristi kada nam je potrebna velika preciznost i to je obino kristalnioscilator, dok se interni koristi kada nam je odstupanje od 7O prihvatljivo. Postavlja sepitanje koju -rekvencu izabratiL @esto je to najmanja koja nam je dovoljna za odredjeniuredjaj jer se sa poveanjem -rekence poveava potronja.
! Fie vrsta reseta2 "eset predstavlja poetak ili prekid u toku izvravanja programa kada43 poinje da izvrava program od unapred poznate adrese. od P64!a +kao i kodveine 43!a, nakon reseta program se izvrava od samog poetka, tj, od adrese 0+nula. "azlog za reset je situacija kada vie nismo sigurni da bi se dalje izvravanjeprograma odvijalo kako treba pa je potrebno da program krene od poznate lokacije, a kodovog P64!a su to2 reset pri ukljuenju +P&" ! po*er!on reset, reset pri variranju naponaispod dozvoljene granice +
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
30/38
pustili ste ga u prodaju, a onda nakon kratkog vremena vidite da je neko iskopiraouredjaj koji ste razvijali mesecima. )a se to ne bi desilo, moete da ukljuitezatitu od isitavanja program ime onemoguujete kopiranje vaegintelektualnog vlasnitva. &va zatita nije 700!postotna, ali e Fas zatiti odveine 5lopova5.
! Potronja u stanju mirovanja +sleep od C0 n#2 Postoje situacije u kojima nijepotrebno da 43 radi non!stop, ve se on prebacuje u reim spavanja +sleepmod iz koga ga budi odredjeni unapred de-inisani dogadjaj. 3 tom reimupotronja je minimalna tako da se on koristi najee u uredjajima koji se napajajubaterijski.
! Bedan 70!bitni #)4 modul sa 7: kanala2 &vo znai da P64 ima jedan #)4, alisa 7: ulaza s tim da je u jednom trenutku mogue oitati vrednost sa samo jednogulaza. &bzirom da je brzina #) konverzije velika, za veinu potreba ovo jeidealan kompromis jer sa samo jednim #)4!om moemo da oitavamo ak 7:
analognih signala.! )va analogna komparatora2 Fe smo rekli ta je komparator, samo jo da kaemo
da ovi koji su ugradjeni u P64 mogu kao re-erenetni napon da koriste onajproizveden pomou )#4!a, napon iz modula re-erentnog napona ili neki spoljninapon.
! odul re-erentnog napona sa 7,0:IF, :,0I/F i I,0N8F2 ao to smo rekli ulekcijama, za normalan rad #)4 i )#4 modula potreban nam je re-erentni naponto vee preciznosti. ato ovaj P64 ima ugradjen modul koji proizvodi taj napon ividimo da su oni jednaki stepenu broja :, a preciznost je sasvim zadovoljavajuaza veinu primena.
! Pull!up otpornici na nekim pinovima2 &vi otpornici su esto potrebni kada naneki pin prikljuimo prekida, taster, ili bilo koju komponentu koja ima samojedno stabilno stanje pa nam je potrebno, dok komponenta nije u aktivnom stanju,da preko otpornika poveemo pin na pozitivan napon kako bi na pinu uvek imalipoznato stanje. Poto spoljni otpornik zahteva mesta na P4
! 1ajmeri2 ?lue nam za preciznu kontrolu nekih dogadjaja, merenje intervala i sl,a stanje brojaa se uveava dovodjenjem odredjenog impulsa na ulaz. ogu da sesinhronizuju sa taktom oscilatora ili sa nekim spoljnim izvorom -rekvence, odn.impulsa.
! odul sa kapacitivnim senzorom2 7: ulaznih kanala2 &vaj modul omoguavainterakciju sa korisnikom bez mehanikih komponenti kao to su tasteri, prekidaii sl. $ajee se na samom P4
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
31/38
&bzirom da ima 7: ulaza, to znai da moemo da imamo 7: tastera, ali uz pomomultipleksa, mogue je dobiti i vei broj.
$a drugar sa -oruma, oran epanovi poznat na %?!u kao #?077, odluio je da sveprimere koje uradim u P
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
32/38
3 gornjem redu vidite meni, ispod njega ikone, ispod njih levo vidi se polje za izbormikrokontrolera +poetno je odabran P647898:/#, ispod njega sa leve strane nalazi sepolje u kome se vide de-inicije, konstante, promenljive i sl, a desno je veliko polje ukome se pie program. Fidimo da je program sam ubacio zaglavlje u kome se nalazinekoliko linija komentara. &dmah ispod zaglavlja je prostor u kome se pie program.
ada zavrimo pisanje, pritiskom na 9N ili klikom na 4ompile vri se prevodjenje+kompajliranje P
%D -ajlkojim se programira mikrokontroler.
Pre samog programa potrebno je napisati nekoliko stvari kao to su2 kon-iguracija,de-inicije, promenljive i sl.$a sledeoj slici vidi se sam poetak programa za testiranje 6$6 P64 7 razvojnogsistema
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
33/38
?lika :
aglavlje je u zelenoj boji jer je to boja kojom 4? oznaava komentare. 6spod toga je ukomentaru navedeno za koji P64 je program. $i zaglavlje ni komentar o P64!u nisuneophodni, ali mogu da budu zgodni kao in-ormacije.6spod vidimo kon-iguraciju izmedju linija V4&$96E i V%$)4&$96E koja takodje nijeneophodna, ali olakava posao pri programiranju jer bi u protivnom morali runo da jepodesimo u so-tveru za programiranje. 6spod je )%96$% pseudo naredba koja takodje
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
34/38
nije neophodna ako koristimo oscilator na I >z jer je to podrazumevana vrednost zaP%D -ajlu i so-tver za programiranje automatski podesi sve kakoste zamislili.
http://www.elitesecurity.org/t459061-Tutorijal-Proton-PicBasic-PDS-PICFhttp://www.elitesecurity.org/t459061-Tutorijal-Proton-PicBasic-PDS-PICF7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
35/38
P647897/:; ima dva kon-iguraciona registra koji imaju neke podrazumevane vrednostipa je u programu dovoljno podesiti samo one parametre koji se menjaju. on-iguracija senavodi izmedju pseudo!naredbi V4&$96E i V%$)4&$96E +pseudo!naredbe su one kojene menjaju sam program ve slue kao in-ormacija za kompajler i za program kojim se
testira 6$6 P64 7 izgleda ovako2#CONFIG
__config _CONFIG1, _FOSC_INTOSC & _MCLRE_OFF & _WDTE_OFF
__config _CONFIG2, _PLLEN_OFF & _LVP_OFF
#ENDCONFIG
edjutim, bolje je postaviti sve kon-iguracione parametre u ovaj deo programa kako bisvi bili izlistani i kako ne bi morali svaki put da gledamo u tehnike podatke ta supodrazumevane vrednosti. ?ve vrednosti za P647897/:; moete da pronadjete u P
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
36/38
kao to je P#3?%. Frednosti koje P
z2 C +za C,M/ >z, I, /, 70,7:, 78, :0, :I, :M, C:, CC, I0, I/ i 8I.3 sluaju da koristite neku -rekvencu koja ovde nije navedena, moraete sami dapreraunate parametre za vremenski zavisne naredbe. Pretpostavimo da koristite oscilatorna : >zJ u tom sluaju zgodno je upotrebiti )%96$% &?4 I i onda sve vremenske
parametre jednostavno duplirate, pa bi za pauzu od :0 ms trebalo napisati P#3?% I0.Postavka 7=======3 narednim primerima koristiemo sledea podeavanja.
"azvojni sistem2B7 uvek mora da bude postavljen kako bi P64 mogao normalno da radi.B: postavljen na "#8("#;BC postavljen na FBI nebitno
?'7 svi prekidai ukljueni?': svi prekidai iskljueni?'C svi prekidai iskljueniA4) izvadjen64: izvadjen4&$I prazan4&$M prazanD17 nebitno, moe da bude postavljen kristal, a i ne mora jer se koristi interni oscilator
on-iguracija P64!a2#config
__config _CONFIG1 & _FOSC_INTOSC & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF& _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOTEN_OFF & _IESO_OFF &_FCMEN_OFF
__config _CONFIG2, _WRT_!LL & _PLLEN_OFF & _STVREN_OFF & _BORV_1" &_LVP_OFF
#n$config
DEFINE OSC %
Primer 7======Freme je da napiemo na prvi program.3radite stvari koje smo naveli u tekstu 5Prvi koraci5 i nakon toga program bi trebalo daizgleda otprilike ovako2
7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
37/38
&bratite panju da se na slici vidi da je pseudonaredba )%96$% napisana malim slovima,a treba velikim. Problem je u samom editoru koji, kao to je ve reeno, nekim reimasam menja veliinu slova, ali zapamtite da sve )%96$% naredbe &"#B3 da budunapisane velikim slovima, a da e ?4 editor da ih pretvori u mala.
3budue sav programski kod koji budemo pisali bie napisan bez zaglavlja ikon-iguracije jer se podrazumeva da ona ide na poetku svakog programa.
Poeemo sa veoma jednostavnim primeromJ paliemo i gasiti A%) na pinu 0 porta < sapauzom od pola sekunde izmedju. A%) je skraenica za 5Aight %mithing )iode5, odn. zadiodu koja emituje svetlostJ koristi se kao i svaka dioda i kada je polarisana direktno, tj.kada kroz nju protie struja ona svetli nekom bojom koja zavisi od materijala od koga jeizradjeno vlakno. Bo je bitno napomenuti da se A%) napaja strujno, a ne naponski, a zastandardnu A%) je potrebno ograniiti struju na 7M do :0 m#. 1o se radi vezivanjemotpornika na red sa A%), a otpornik se proraunava prema padu napona na A%). $a6$6 P64 7 razvojnom sistemu se ve nalazi otpornik, ali emo radi vebe da uradimojedan proraun.a crvenu, pri struji od oko :0 m#, pad napona je priblino : volta pa emo premaomovom zakonu da izraunamo vrednost otpornika tako to od napona napajanja
oduzmemo pad napona na A%). 3 naem sluaju napon napajanja je MF, pad napona naA%) je :F pa je vrednost za otpornik2
"=3(6 = +M ! : ( 0,0: = C ( 0,0: = 7M0 oma. 1o je vrednost koja postoji u standradnojponudi, a ako se desi da ne postoji, uzima se prva sledea vea vrednost. #ko se koristiA%) sa visokim sjajem, taj otpornik moe da se povea ako je sjaj prejak.
6demo dalje sa programom. 6spod naredbe )%96$% &?4 I kucajte sledee2
Code:
pocetak2 high portb.0 Jukljui A%) na pinu 0 porta < pause M00 Jnapravi pauzu od M00 milisekundi lo* portb.0 Jiskljui A%) pause M00 Jnapravi pauzu od M00 milisekundi goto pocetak Jidi na labelu pocetakend Joznaka kompajleru da je ovde kraj naeg programa
http://217.26.67.168/uploads/3/2/3222574/prvikoraci.png7/22/2019 PicBasic Pro 3 i PIC16F1827.doc
38/38
?ada bi prozor 4?!a trebalo da izgleda ovako2
ao to vidimo, prva linija programa poinje neim to nije naredba i zavravadvotakom, tj.
labelom Wpocetak2W. Pre nego to objasnimo ta je labela, vratiemo se malo unazad, u prvedane