skripta pic16f84a cro

Upload: max-tele

Post on 08-Apr-2018

236 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    1/137

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    2/137

    SADRAJ

    1 Uvod................................................................................................................ 5

    2 Podjela raunala ............................................................................................ 6

    2.1 ''Off line'' raunala ............................................................................................... 6

    2.2 ''On line'' raunala................................................................................................ 6

    3 Osnovni sklopovski elementi za ''on line'' nain rada.............................. 10

    3.1 Senzori i izvrni organi.......................................................................................10

    3.2 Analogna obrada signala ...................................................................................11

    3.3 Multipleksori........................................................................................................113.4 Sample & Hold sklop (S&H)................................................................................12

    3.5 Analogno digitalni pretvara..............................................................................13

    3.6 Digitalno analogni pretvara ..............................................................................20

    3.7 Meusklop (Interface) .........................................................................................21

    3.8 Paritetni sklop.....................................................................................................24

    3.9 Povezivanje raunala sa procesima..................................................................24

    3.10 Raunalo..............................................................................................................25

    3.10.1 Mikroprocesor ...............................................................................................253.10.2 Mikrokontroler ...............................................................................................253.10.3 Arhitektura raunala ......................................................................................273.10.4 Razlika izmeu mikroprocesora i mikrokontrolera .........................................293.10.5 Memorijska jedinica.......................................................................................303.10.6 Adresno polje mikroraunala .........................................................................303.10.7 CPU (Central Processing Unit)......................................................................313.10.8 Sabirnica.......................................................................................................323.10.9 U/I jedinica ....................................................................................................333.10.10 Serijska komunikacija....................................................................................33

    3.10.11 Slobodni broja .............................................................................................343.10.12 Sigurnosni broja (Watchdog timer) ..............................................................34

    4 Mikrokontroler PIC 16F84............................................................................ 35

    4.1 Osnovne karakteristike mikrokontrolera PIC 16F84.........................................35

    4.1.1 Karakteristike mikrokontrolera .......................................................................354.1.2 Karakteristike ulazno/izlaznih sklopova .........................................................354.1.3 Specijalne karakteristike mikrokontrolera ......................................................354.1.4 Karakteristike CMOS Flash/EEPROM tehnologije.........................................36

    4.2 Kratak opis mikrokontrolera ..............................................................................36

    4.3 Raspored noica .................................................................................................37

    1

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    3/137

    4.4 Generatori takta ..................................................................................................37

    4.5 Takt / instrukcijski ciklus....................................................................................39

    4.6 Obrada instrukcija ..............................................................................................39

    4.7 Reset....................................................................................................................40

    4.7.1 Reset kod pada napona napajanja (Reset on Brown-Out).............................404.8 Ulazno / izlazni sklopovi .....................................................................................41

    4.8.1 PORTA i TRISA ............................................................................................414.8.2 PORTB i TRISB ............................................................................................41

    4.9 Organizacija memorije........................................................................................42

    4.9.1 Programski broja (Program Counter)...........................................................434.9.2 Stog (Stack) ..................................................................................................444.9.3 Status registar...............................................................................................444.9.4 Direktno adresiranje ......................................................................................45

    4.9.5 Indirektno adresiranje....................................................................................454.9.6 Relativno adresiranje.....................................................................................45

    4.10 Prekidi (Interrupts)..............................................................................................46

    4.10.1 INTCON registar ...........................................................................................47

    4.11 Podatkovna EEPROM memorija ........................................................................48

    4.11.1 EECON1 registar ..........................................................................................49

    4.12 Slobodni broja TMR0 ........................................................................................49

    4.12.1 OPTION registar ...........................................................................................50

    5 Set instrukcija .............................................................................................. 52

    5.1 Prijenos podataka...............................................................................................52

    5.2 Aritmetika i logika...............................................................................................52

    5.3 Bit operacije ........................................................................................................52

    5.4 Upravljanje tokom programa..............................................................................52

    5.5 Opis pojedinih instrukcija ..................................................................................54

    6 Razvojni alati za PIC 16F84......................................................................... 69

    6.1 Asembler .............................................................................................................69

    6.1.1 Elementi programskog jezika asembler.........................................................69

    7 MPLAB IDE v6.60 ......................................................................................... 71

    7.1 MPLAB IDE..........................................................................................................71

    7.2 Zahtjevi sustava..................................................................................................71

    7.3 Izrada jednostavnog projekta.............................................................................71

    7.3.1 Uvod .............................................................................................................717.3.2 Pisanje izvornog koda ...................................................................................717.3.3 Izrada projekta ..............................................................................................73

    2

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    4/137

    7.3.4 Izgradnja projekta..........................................................................................777.3.5 Pokretanje simulatora....................................................................................787.3.6 Provjera rada aplikacije .................................................................................79

    8 Programiranje mikrokontrolera PIC 16F877 .............................................. 90

    8.1 Uvod.....................................................................................................................90

    8.2 Instalacija sustava pri programiranju programskim paketom IC-PROG.........90

    8.3 Programiranje mikrokontrolera programskim paketom IC-PROG...................91

    9 Opis razvojnog sustava............................................................................... 96

    9.1 Napajanje.............................................................................................................96

    9.2 Led diode.............................................................................................................96

    9.3 Tipkala .................................................................................................................97

    9.4 LCD zaslon (display)...........................................................................................989.5 Sedamsegmentni zaslon ....................................................................................99

    9.6 Analogno-digitalni pretvara (A/D converter) .................................................100

    9.7 RS-232 komunikacija........................................................................................101

    9.8 Digitalni termometar - DS1820 .........................................................................102

    9.9 Pull-up/pull-down otpornici na portovima.......................................................103

    9.10 Direktan pristup portovima ..............................................................................105

    10 Primjeri ....................................................................................................... 106

    10.1 Uvod...................................................................................................................106

    10.2 Makro naredbe ..................................................................................................106

    10.3 Potprogrami ......................................................................................................107

    10.4 Primjeri ..............................................................................................................108

    10.4.1 Program za aktiviranje porta B ....................................................................10810.4.2 Nain upisivanja konstanti...........................................................................10910.4.3 Naredbe uvjeta............................................................................................10910.4.4 Zbrajanje i oduzimanje, indirektno adresiranje.............................................109

    10.4.5 Usporedba (komparacija) ............................................................................11010.4.6 Inkrementiranje i dektrementiranje ..............................................................11110.4.7 Inicijalizacija Porta A i Porta E.....................................................................11210.4.8 EEPROM - itanje podataka sa memorije ...................................................11310.4.9 EEPROM - upis podatka u memoriju...........................................................11310.4.10 FLASH programska memorija - itanje podataka ........................................11310.4.11 FLASH programska memorija - upisivanje podataka...................................11410.4.12 Zbrajanje dva 16 bitna broja........................................................................11510.4.13 Oduzimanje dva 16 bitna broja....................................................................11510.4.14 Sortiranje sa indirektnim pristupom .............................................................115

    10.4.15 Interupt........................................................................................................11610.4.16 Preskaler - rad sa TMR0 .............................................................................117

    3

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    5/137

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    6/137

    1 Uvod

    Primjenom mikroprocesorskih i mikrokontrolerskih struktura u elektronikim ureajima postie sesve vie i vie hardverska slinost, dok specifinost funkcija ureaja odreuje programska podrka.

    Pomou sveprisutnih mikrokontrolera i mikroprocesora poveana je pouzdanost i preciznostupravljanja pojedinim sustavom. Sustav oplemenjen mikrokontrolerom moe u potpunosti zamijenitiovjeka, smanjuje dimenzije ureaja i potronju energije. Zbog jednostavnosti i irokog spektrauporabe proirili su krug ljudi koji se bave elektronikom.

    U ovom udbeniku je obraen vei dio predavanja i vjebi iz kolegija Elektronika raunala iraunalna oprema koji se odrava na Elektrotehnikom odjelu Tehnikog veleuilita u Zagrebu.Koristit e studentima s Informatikog odjela TVZ-a, Studija raunarstva na kolegijima slinogsadraja, kao i svima koji ulaze u svijet upravljanja pomou mikrokontrolera. Uz opi prikazmikrokontrolerskih i mikroprocesorskih struktura objanjen je i princip rada sa mikrokontrolerom PIC16F84 tvrtke Microchip koja je jedna od vodeih u proizvodnji mikrokontrolera.

    U drugom dijelu je opisana izrada izvornog kda i njegovo implementiranje u projekt, editiranje iispravljanje pogreaka, kao i simuliranje njegovog rada na raunalu uz mnogo primjera sa vjebi. Zasve to koriten je programski paket MPLAB IDE tvrke Microchip koji je danas jedan od ponajboljih utom podruju i to je jo vanije svima dostupan (freeware).

    5

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    7/137

    2 Podjela raunala

    Na slici 2.1. prikazano je djelovanje ovjeka s obzirom na okolinu, tj. djelovanje s obzirom nainformacije koje dobija od svojih osjetila. Na slinom principu koristimo raunala u procesnoj tehnici.

    Sl.2.1. Naelo djelovanja ovjeka

    Raunalo u procesnoj tehnici moe posluiti samo za njegov nadzor ili za automatsko upravljanjecjelokupnim procesom. Koji od ovih naina e se primijeniti ovisi o nainu unosa podataka u raunalote njihove obrade i nainu upotrebe dobivenih rezultata za upravljanje procesom. Dakle, trebarazlikovati nadzor nad procesom (oitavanje relevantnih parametara) i upravljanje s njim (podeavanjeparametara) bilo izravno (automatski) ili neizravno. Prema nainu unosa podataka u raunalo tenjihove uporabe za upravljanje tijekom procesa razlikuju se:

    Off - line sustaviOn- line sustavi

    Nadzor pojam vezan uz one sustave u kojem prevladavaju otvorene petljeUpravljanje pojam vezan uz one sustave u kojima prevladavaju zatvorene petlje (automatiziranisustavi)

    2.1 ''Off line'' raunala

    Off-line prijenos podataka odvija se u dvije faze. U prvoj se podaci iz izvora zapisuju na nekiprijenosni medij (disketa, priruna memorija, optiki mediji i drugo), pa se tek potom sa tih medijaprenosi ili upisuje u raunalo. Vrijeme izmeu skupljanja podataka i unosa je po potrebi, za sat ili dva,tjedan, mjesec, godinu dana ili nikad. Naravno ovakav sustav nepogodan je za brz i izravan nadzornad procesima.

    2.2 ''On line'' raunala

    Raunala koja rade on line (slika 2.2) unose podatke automatski kada su generirani. Podatke

    generiraju razni senzori koji su elektrinim vodiima spojeni na raunalo. Vrijeme potrebno da se tipodaci prebace u raunalo mjeri se uglavnom u milisekundama. Za takve sustave kaemo da rade urealnom vremenu, zbog toga to je vrijeme potrebno za obradu podataka definirano

    Sl. 2.2. On-line sustav

    6

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    8/137

    Osnovni razlog uporabe on-line sustava jest brzina rada i velike mogunosti obrade podatakakojom raspolae digitalno raunalo. Dakle nadzor sustava gdje se procesi vrlo brzo mijenjaju gotovo jenemogu bez primjene digitalnog raunala. Osim toga u realnom vremenu mogu se pratiti i predvidjetitendencije koje se u procesu mogu pojaviti. Na taj nain lako je intervenirati i izbjei alarmantnesituacije. Za razliku od navedenog, kod off-line obrade koja bi trajala dugo dobiveni rezultati bili bigotovo nekorisni.

    Kvaliteta intervencije u sustavu ovisitie o kvaliteti algoritma koji su razvijeni za upravljanjeprocesom i zatim uneseni u obliku programske potpore u raunalo. Kod vrlo sloenih sustava moe se

    dogoditi da tim programom nisu obuhvaene ba sve mogue situacije do kojih u ivotu i radu moedoi. Ne moe se ba sve predvidjeti. Iz navedenog razloga ponekad se on-line sustav izbjegava, astanje procesa samo se prikazuje voditelju (osobi) koji odluuje to treba uiniti. No moe se dogoditida voditelj donese neadekvatan zakljuak unato kvalitetnim informacijama koje mu se predouju. Dabi se to izbjeglo sve se vie uvode ekspertni sustavi, odnosno digitalna raunala s programskompotporom koja se slue bazom znanja koncipiranom od tima vrhunskih strunjaka za proces koji senadzire. Takav sustav koji moe i ne mora biti on-line pomae voditelju da u kritinim situacijamadonese najbolju odluku. Osnovno naelo rada ekspertnog sustava prikazano je na slici 2.3.

    Sl. 2.3. Naelna shema ekspertnog sustava

    Dakle, neki se procesi ne mogu nadzirati bez on-line sustava nadzora s digitalnim raunalom, jernikakvo drugo sredstvo nema takvu brzinu rada i mo kao raunalo koje moe na brze novonastalepromjene u procesu smjesta reagirati.

    Elementi inteligentnog ponaanja vrlo su znaajno svojstvo ovih sustava. Pod tim se misli naprilagodljivost i snalaenje sustava (raunala) u promijenjenoj situaciji u odnosu na programskiprepoznatljivu i definiranu, a to znai da sustav mora prepoznati promjenu van definiranih okvira,prilagoditi se i donijeti vie ili manje adekvatno rjeenje da bi se sustav ponaao unutar definiranihgranica. Znai u takvim situacijama ne trai se idealno rjeenje ve prvo prihvatljivo.Kao primjer navest emo nekoliko kontrolora procesa:

    1.) SCADA (Supervisory Control And Data Acquisition) razvojni sustavi su tijekom prolih nekolikogodina tehnoloki brzo napredovali i pratili razvoj ostalih segmenata informatike industrije. Napredaktehnologija SCADA sustava je vidljiv u nekoliko segmenata.

    Najznaajniji napredak je napravljen na polju tehnologija veznih uz internet. Dananji SCADArazvojni sustavi omoguavaju povezivanje SCADA sustava s web serverom to omoguava nadzor iupravljanje sustava s udaljenih lokacija koritenjem interneta i web preglednika.

    Veliki problem SCADA sustava je bio u povezivanju raunala s mjernom i upravljakom opremomzbog nestandardnih programskih suelja takve opreme prema SCADA sustavima to je rezultiraloograniavanjem mogunosti odabira opreme, odnosno SCADA razvojog sustava. Uvoenjemstandardnog programskog suelja mjerne i upravljake opreme OPC (OLE for Process Control),baziranog na Microsoft OLE (Object Linking and Embedding) tehnologiji za komunikaciju izmeuprogramskih modula u Windows okolini, omoguena je upotreba ireg spektra mjerne i upravljakeopreme i SCADA sustava uz pojednostavljen rad.

    Daljnji napredak je vidljiv u proirenju postojeih mogunosti i poveavanju pouzdanosti.

    7

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    9/137

    2.) FPGA (field-programmable gate array) je poluvodika naprava koja sadri programabilne logikekomponente i programabilne meuspojeve. Programabilne logike komponente mogu bitiprogramirane da poboljaju funkcionalnost osnovnih logikih operacija (kao to su AND, OR, XOR,NOT) ili sloenijih kombinacijskih sklopova kao to su dekoderi i jednostavne matematike operacije.Veina FPGA sadri i memorijske elemente najee flip-flop (bistabilne multivibratore) ili vie blokovamemorije. Hijerarhija programabilnih meuveza doputa logikim blokovima u FPGA-u da budumeusobno povezani ako je to potrebno i sa sistemskim projektantom, neto kao one-chip

    programabilni model. Ti logiki blokovi kao i meuveze mogu biti programirani i poslije tehnolokeproizvodnje preko projektanta tako da FPGA moe obavljati logike operacije koje se u tom trenutkuod njega zahtjevaju.

    3.) ASIC (application-specific integrated circuit) je integrirani sklop projektiran za za opu upotrebu(npr. ip dizajniran iskljuivo za mobilni telefon bio je ASIC). Kako je tehnologija iz godine u godinunapredovala maksimalna sloenost ASIC-a je takoer rasla (od 5000 logikih vrata do nekolikomilijuna). Moderni ASIC-i esto ukljuuju 32-bitni procesor, memorijske blokove ukljuujui ROM,RAM, EEPROM, Flash itd. Dizajneri ASIC-a koriste se HDL-om (hardware description language) kaoto su Verilog ili VHDL kako bi opisali funkcionalnost ASIC-a.

    4.) PLC Prvi programibilni logiki kontroleri (PLC) razvijali su inenjeri General Motors-a 1968., kadasu pokuali pronai alternativnu zamjenu za sloene relejne kontrolne sustave.

    Novi kontrolni sustav morao je zadovoljiti slijedee zahtjeve:

    Jednostavno programiranje,

    Programske izmjene bez sistemskih intervencija (bez mijenjanja oienja),

    Manje, jeftinije i pouzdanije komponente od relejnih kontrolnih sustava,

    Jednostavno i jeftino odravanje

    Postupnim razvojem dolo se do sustava koji je omoguio jednostavnije povezivanje binarnihsignala. Uvjeti pod kojim su ovi signali trebali biti povezani, bili su odreeni u kontrolnom programu. Snovim sustavima bilo je po prvi puta mogue iscrtati signale na ekranu, te ih pohraniti u vidu datotekeu elektronsku memoriju.

    Po definiciji Programibilni logiki kontroleri su:

    Prema DIN EN61131-1 (1994.) programabilni logiki upravlja (kontroler) jest digitalni elektronikisustav za uporabu u industrijskom okoliu s programabilnom memorijom za internu pohranu u primjeniorijentiranih upravljakih naredbi kod implementiranja specifinih funkcija kao to su npr. logikoupravljanje, slijedno upravljanje, funkcije odbrojavanja, funkcije brojenja i aritmetike funkcije,Osnovna namjena PLCa je upravljanje, putem digitalnih ili analognih ulaznih i izlaznih signala,razliitim vrstama strojeva ili procesa.

    Glavni djelovi PLC-a su:

    mikroprocesor s dodatnim elektrikim sklopovima,

    sklop za opskrbu elektrinom energijom procesora koji pretvori upravljaki istosmjerni napon od24V u takozvani logiki napon (5V),

    kvarc za davanje takta procesoru, prekida za ukljuivanje i iskljuivanje rada procesora,

    memorija (sistemska, radna, programska).

    Preko sabirnog prikljuka spaja se centralna jedinica (mikroprocesor) s ulazno - izlaznimelementima (modulima - karticama).

    Ulazni modul treba osigurati:

    prikljuke na koje se prikljuuju senzori,

    prilagodbu napona,

    zatitu centralne jedinice od napona,

    zatitu centralne jedinice od smetnji, sigurno razlikovanje signala 1/0.

    8

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    10/137

    Izlazni modul takoer posreduje izmeu centralne jedinice i automata. Njegove zadae su:

    povezivanje s izvrnim elementima,

    prilagodba napona,

    zatita centralne jedinice,

    pojaanje snage,

    zatita od kratkog spoja.

    Karakteristike programabilnog logikog kontrolera:

    omoguava direktan prikljuak binarnih senzora i aktuatora,

    odgovara zahtjevima industrijskog okolia u odnosu na otpornost na povienu temperaturu,vibracije i elektro-magnetska zraenja,

    operacijski sustav je razvijen za optimalnu obradu Boolove logike

    operacijski sustav potpomognut programskim i dijagnostikim alatima doputa direktan pristupna binarne ulaze i izlaze kao i na interne binarne i digitalne memorije (flag, registre, brojae,tajmere),

    operacijski sustav omoguava komunikaciju sa raunalom.

    p

    Optoizolacija Optoizolacija

    MEMORIJA

    Program Podaci

    Mreni modul napajanja

    Ulazne

    stezaljke

    Izlazne

    stezaljke

    Komunikacijsko suelje premaureaju za programiranje ilioperatorskom panelu (HMI)

    te mrena komunikacija

    Centralna

    procesorskajedinica

    Sl. 2.4. Blok shema PLC-a

    9

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    11/137

    3 Osnovni sklopovski elementi za ''on line'' nain rada

    Shematski prikaz sustava koji radi u on line nainu rada prikazan je slikom 3.1. Proces je sredinakoja se mjeri te upravlja raunalom. Raunalo slui za obradu podataka prikupljenih iz procesa.Sredinji dio slui za povezivanje procesa i raunala, koji emo sada razmotriti.

    Sl. 3.1. Shematski p az on-line sustava

    3.1 Senzori i izvrni organi

    Senzori mjere razne fizikalne veliine (temperatura, pritisak, vlanost, protok, kut zakreta, brzina,itd.)

    Statika greka - odstupanje izmeu pokazane i stvarne vrijednosti fizikalne veliine kada se

    zor

    u

    e potrebno da se promjene fizikalne veliine ponu iskazivati i

    a promjena fizikalne veliine do koje se na izlazu iz senzora jo uvijek ne

    Od senzora se u osnovi trai da ne djeluju na svojstva ili ponaanje sredine u kojoj se nalaze. Uon-

    u te on odluuje kako erea

    rik

    te ih pretvaraju u odgovarajue elektrine veliine (napon, struja, frekvencija, faza itd.). Mjeriti se

    mogu razliite pojave kao to je vodostaj rijeke, brzina toka iste, temperatura kotla termoelektrane,rastezanje eljeza pri zagrijavanju, itd. Senzori se jo i nazivaju mjerni pretvornici. Osobitosti o kojimatreba voditi rauna pri koritenju senzora je tonost, sposobnost pribliavanja pravoj vrijednostifizikalne veliine, a koja se ogleda u sljedeim parametrima:

    ova ne mijenja. Obino se daje u postocima prema najveoj vrijednosti koja se moe mjeriti.

    Dinamika greka - koliko senzor "kasni" za promjenama fizike veliine. Svaki senposjeduje dinamiku greku. Ova greka nestaje kad se fizikalna veliina prestane mijenjati.

    Greka ponovljivosti - je najvee odstupanje od srednje vrijednosti pri ponovljenom mjerenjnepromijenjene fizikalne veliine.

    Mrtvo vrijeme - predstavlja vrijem

    na izlazu iz senzora.Mrtva zona - je najveoitavaju promijene.

    line sustavima se nalazi mnogo analognih veliina stoga signal treba filtrirati, ispraviti (linearizirati) ikondicionirati da bi se analogni signal mogao digitalizirati u A/D pretvorniku.

    Postoje dva naina rada. Prvi je da se mjerene veliine prikazuju ovjekgirati i drugi nain je kada raunalo samo djeluje u procesu. To znai da raunalo iz samog

    procesa preko senzora uzima eljene informacije te od dobivenih mjernih veliina pomou odreenihalgoritama donosi zakljuke, a nakon tih zakljuaka djeluje na sustav preko izvrnih organa. Izvrniorgani mogu biti prekida, elektromotor koji upravlja ventilom, regulator izgaranja na loitu itd.

    Senzori i izvrni organi za svaki sustav su specifini.Vie o tome smo rekli kod on-line sustava na str.7.

    10

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    12/137

    3.2 Analogna obrada signala

    Elektrini signali koji dolaze iz senzora imaju razliite oblike. S druge strane za analogno-digitalnipretvara signali su standardnh veliina (0 - 5 VDC, 0 - 10 VDC, 10 do +10 VDC, 0 - 20 mA, 4 - 20mA), standardizirani. Da bi se to postiglo potrebna je elektronika obrada signala. Signal je potrebnopropustiti kroz elektroniki sklop koji e mu dati oblik i veliinu, no ne smije se otetiti informacija kojutaj signal nosi. Signal je potrebno linearizirati, pojaati i filtrirati. Da bi signal doveli u eljeno analognopodruje esto koristimo pojaala s poveanjem veim od 1, ali i s poveanjem manjim od 1. Zadatakpojaala je da promjeni vrijednost analognih veliina i prenese ih u novo podru je naponskihvrijednosti, a da ne pokvari njihovu analognu informaciju (normiranje). esto se koriste i razni filtrikojima je zadatak odstraniti um. Karakteristika signala se moe poboljavati i na digitalan nain, takoda se senzoru doda mikroraunalo koje posebnim algoritmima oblikuje signal pa tek tada prenosi uglavno raunalo.

    3.3 Multipleksori

    Da bi se upravljalo procesom potrebno je puno razliitih senzora, rijetko kada nam je dovoljansamo jedan. Mjerena veliina svakog senzora bit e prvo podvrgnuta analognoj obradi. Zatim svakamjerna veliina bi mogla imati svoj A/D pretvara i svoj interface. Takvo rjeenje bi bilo preskupo usustavima gdje se koristi nekoliko desetaka pa i nekoliko stotina senzora, pa se upotrebljava samo jedan A/D pretvara i interface. Kod takvog rjeenja mora postojati multipleksor (slika 3.2b).Multipleksor (engl. Multiplexer) ili selektor (engl. Data selector) je sklop kojim se podatak sa jednog odvie ulaza usmjerava (prenosi) na izlaz. S kojeg ulaza e se odabrati podatak i prenjeti na izlaz ovisi ostanju posebnih ulaza za odabiranje (slika 3.2a). Broj ulaza za podatke N ovisi o broju ulaza zaodabiranje M.

    M2N =

    0D

    1ND

    0 1MS S

    Sl. 3.2a. Opi prikaz djelovanja multipleksora

    Na slici 3.2b. prikazana je logika shema multipleksora s

    etiri ulaza. Kada je potrebno odabratijedan od etiri ulazna podatka tada multipleksor treba imati dva ulaza za odabiranje podataka. Podaci

    sa ulaza dovode se na sklopove I. Koji sklop Ie prenjeti podatak s ulaza na izlaz, preko sklopa

    ILI ovisi o kombinaciji na ulazima za odabiranje podataka i . To se moe prikazati i tablicom

    stanja slika 3.2b.0S 1S

    11

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    13/137

    0D

    1D

    2D

    3D

    Y

    0S

    1S

    Sl. 3.2b. Logika shema i tablica stanja multipleksora

    Naravno postaje upitno kojim redom e se signali obraivati. Samo po sebi se nalae rjeenjeredom kojim dolaze no to se rijetko primjenjuje. Brzina promjene pojedinih mjernih veliina je razliitapa tako i njihova gustoa uzimanja uzoraka ne moe biti ista. Tako se npr. temperatura prostorije nemoe promijeniti u vremenu manjem od desetak sekundi, dok se promjena tlaka u parogeneratorumora mjeriti u milisekudama pa ak i ee (frekvencija uzorkovanja). Stoga se uzorci signala uzimajuprema potrebi obrade mikroraunala. Znai mikroraunalo bira redoslijed obrade podataka premaprogramu koji izvodi, aljui adresu ulaznog podatka multipleksoru.

    3.4 Sample & Hold sklop (S&H)

    Sample & Hold sklop ima zadau da u trenutku uzorkovanja oita vrijednost analognog signala naulazu te da ga zadri sve do sljedeeg uzorkovanja. Na neki nain djeluje kao memorija za pamenjeanalogne vrijednosti izmeu uzorkovanja kako se na ulazu u A/D sklop ne bi mijenjala vrijednosttijekom pretvorbe.

    Stvarni Sample & Hold sklop uz sklopku i kondenzator, sadri i serijski otpor sklopke i vodi a ali iunutarnji otpor izvora signala R1, te paralelni otppor R2 (slika 3.3.). Vremenska konstanta R1C morabiti puno manja od vremena T0N, kada je sklopka S zatvorena, a vremenska konstanta R2C mora bitipuno vea od intervala uzorkovanja TS.

    R1C > TS

    T0N - sklopka zatvorenaTS - interval uzorkovanja

    Sl. 3.3. Stvarna shema Sample&Hold sklopa

    12

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    14/137

    Sl. 3.4. Shema S&H sklopa

    Sl. 3.5. Signal pri S&H obradi

    Kanjenje koje nastaje pri povratku iz stanja zadravanja u stanje praenja ograniava frekvencijuuzimanja uzoraka.

    3.5 Analogno digitalni pretvara

    Digitalni sustavi koji slue za mjerenje, regulaciju ili automatizaciju na svome e ulazu i izlazu upravilu imati analognu veliinu. Najvei je broj procesa u prirodi analogan, a to vrijedi i za mnogeveliine u tehnikim sustavima. Da bi raunalo moglo obraivati te signale potrebno ih je kodirati,diskretizirati po vremenu i amplitudi, tek tada kada su pretvoreni u binarne brojeve mogu se unositi uraunalo. Zbog toga je potrebno imati ureaje za automatsko pretvaranje izmeu tih dvaju nainaprikaza veliina. Proces kvantizacije predstavljat e mjerni proces u kojemu se konstatira kolikostandardnih mjernih jedinica sadri mjerna veliina. Idealna karakteristika A/D pretvorbe prikazana jena slici 3.6. kao i blok shema A/D pretvaraa. Pretvorba analogne veliine u digitalnu (i obratno)inherentno je diskontinuirani proces. Proces pretvorbe sastoji se u tome da se ulaznoj veliini koja senalazi u nekom odreenom naponskom intervalu pridrui odreeni broj n. U idealnom sluaju

    naponski su intervali (ili koraci) jednake irine i ponekad se nazivaju kanalima. Jedna je od

    osnovnih karakteristika A/D i D/A pretvorbe broj koraka odnosno kanala koji odreuju rezoluciju.KU

    13

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    15/137

    Rezolucija ili razluivanje je irina kanala kao postotak maksimalnog ulaznog napona ili jednostavno njihov omjer. Ako je nM maksimalni broj koji odgovara maksimalnom ulaznom naponuUM, onda je irina koraka jednaka UM/nM, pa se rezolucija svodi na 1/nM. Budui da je broj n izraenbinarno sa k bita, maksimalni je broj 2k 1, pa je uobiajeno da se rezolucija jednostavno izraavakao broj bita to ih ima ulazni ili izlazni podatak.

    ua - ulazni naponn - broj bitanM - maksimalni broj bitaUM - maksimalni ulazni naponUK - naponski interval (korak)

    Sl. 3.6. Idealna karakteristika A/D pretvaraa i blok shema

    Analogno-digitalni pretvara ne pretvara u digitalnu vrijednost cjelokupni analogni signal, vesamo njegove uzorke u vremenu (slika 3.7.).

    Sl. 3.7. Uzorkovanje analognog signala u vremenu

    14

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    16/137

    Da ne bi signal previe izobliili A/D pretvorbom potrebno je dobro provesti diskretizaciju. To znaida koraci kojima se uzima signal kod diskretizacije moraju biti gusti po vremenu da se ne izgubi nijedan harmonik ulaznog signala, a po amplitudi treba imati dovoljnu veliku razluivost da bi razlikovalamale promjene amplitude. A/D pretvorba je povremeno mjerenje vrijednosti signala ako se promatrakao proces. Kako je signal promjenjiv moramo u odreenom trenutku uzeti uzorak (sample) signala itu vrijednost privremeno pohraniti (hold). S & H izvodimo jer mjerenje nije mogue izvesti trenutno veima odreeno trajanje.Shannonov teoremgovori da se pri uzimanju uzoraka iz nekog kontinuiranog

    signala uzorci moraju uzimati barem dvostruko veom frekvencijom nego to je frekvencija najviegharmonika koji se uzima u obzir pri razmatranju.

    Imamo dvije osnovne vrste A/D pretvaraa:

    a) A/D pretvarai s vremenskim ekvivalentom

    b) A/D pretvarai sa sukcesivnom aproksimacijom

    c) Sigma-delta A/D pretvarai

    a) A/D pretvarai s vremenskim ekvivalentom

    A/D pretvara s vremenskim ekvivalentom naziva se jo i Wilkinson-ov A/D pretvara.

    au

    pu

    Sl. 3.8. Wilkinson-ov A/D pretvara

    A/D pretvara koji ulazni analogni napon pretvara najprije u odgovarajui vremenski intervalprikazan je na slici 3.8. Ulazna analogna veliina ua nalazi se na jednom od ulaza naponskogkomparatora K. Na drugom ulazu je napon 0, pa je izlaz komparatora na niskoj razini. Procespretvorbe zapoinje impulsom START koji postavlja bistabil u 1. Time se otvara ulaz u brojilo i brojilopoinje brojati impulse iz generatora impulsa. Istovremeno je pobuen i generator pilastog napona kojije spojen na drugi izlaz komparatora. Rad sklopa moe se pratiti pomou dijagrama na slici 3.9. Kada

    pilasti napon naraste do vrijednosti ulaznog napona, izlaz iz komparatora odlazi na visoku razinu ivraa bistabil u stanje 0. Time zavrava pretvorba napona u vrijeme. Za vrijeme T dok je I sklopotvoren impulsi iz generatora pokreu brojilo, a nakon zavretka pretvorbe stanje brojila pokazujetraenu digitalnu veliinu u koju je pretvoren ulazni napon.Treba napomenuti da tonost pretvorbeovisi o stabilnosti frekvencije generatora impulsa i o linearnosti i stabilnosti pilastog napona.

    15

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    17/137

    Sl.3.9. Princip rada Wilkinson-ovog A/D pretvaraa

    b) A/D pretvarai sa sukcesivnom aproksimacijom

    Pretvara radi tako da se produeni ulazni napon iz produivaa usporeuje s naponom u oblikustepenica (slika 3.12.). Pri tome prva stepenica ima veliinu Umax/2, druga Umax/4, trea Umax/8, itd.Gdje je Umax najvei ulazni napon koji se moe pretvarati. Zbog takvog naina rada taj tip A/D

    pretvaraa zove se i A/D pretvara sa sukcesivnom aproksimacijom. Ako je stepeniasti napon, kojipredstavlja sumu svih stepenica, manji od produenog ulaznog napona, onda do tada generiranestepenice ostaju. Kada stepenasti napon postane vei, brie se doprinos stepenice koja se pojavilaposljednja i izazvala prekoraenje ulaznog napona. Tako na kraju usporedbe ostaju samo onestepenice ija je suma priblino jednaka veliini ulaznog napona, odnosno neznatno nia od njega.Generiranjem svake naponske stepenice upravlja jedan bistabil, proputajui kroz zajedniki otpornikstruju proporcionalnu teinskoj vrijednosti toga bistabila u binarnom brojevnom sustavu. Tako bistabilnajmanje teinske vrijednosti B0 upravlja strujom I0 stvarajui najmanju stepenicu napona, sljedei poredu bistabil B1, upravlja strujom 2I0 stvarajui tako dvostruko veu stepenicu, itd. Bistabili sepostavljaju u stanje 1 nizom uzastopnih impulsa. Prvi od tih impulsa postavi u stanje prvi bistabilnajvee teinske vrijednosti, koji ukljui odgovarajuu struju, i napravi najveu stepenicu Umax/2. Zatimse ukljuuje sljedei bistabil po teinskoj vrijednosti, koji stvori stepenicu Umax/4, itd.Kada sumastepeniastog napona prekorai veliinu ulaznog napona, usporeiva poalje signal o

    prekoraenju.Taj signal postavi u nulu bistabil koji je generirao posljednju stepenicu, zbog togaprestane tei ona struja kojom upravlja taj bistabil pa nestane i njegova stepenica. Kada se takoizredaju svi bistabili i njihove stepenice, pretvorba je zavrena, a stanje bistabila u obliku binarnogpodatka predoavaju na digitalni nain veliinu ulaznog napona.

    16

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    18/137

    Sl. 3.12. A/D pretvara sa sukcesivnom aproksimacijom

    Sl. 3.13. Graf signala sukcesivnog A/D pretvaraa

    17

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    19/137

    c) Sigma-delta A/D pretvarai

    Sl.3.13.a Blok shema Sigma-delta A/D pretvaraa

    Na gornjoj slici ulazni naponski signal VIN je doveden na integrator, iji izlaz se preko komparatora

    usporeuje s referentnom naponskom nulom pretvaraa. D-bistabil kontrolira preklopnik s kojimukljuujemo/iskljuujemo referentni napon na ulazu u integrator. Kako ulazni napon raste ili pada,komparator ukljuuje ili iskljuuje referentni napon, koji se oduzima od ulaznog signala, s tenjom dazadri nulu na izlazu integratora.

    Broja C1 konstantno broji impulse dobivene iz generatora takta, dok broja C2 samo brojiimpulse kada je preklopnik zatvoren. Pretpostavimo da je kapacitet brojaa C1 1000. Nakon svakogperioda od 1000 impulsa, broj u brojau C2 je proporcionalan srednjoj vrijednosti ulaznog signala.

    Sigma-delta modulacijska tehnika je vrlo uspjeno u upotrebi u analogno-digitalnoj pretvorbi(ADC) neto vie od 20 godina. Iako sigma-delta postoji od polovice prolog stoljea, tek skoranjeprednosti VLSI tehnologija je omoguila uporabu da protee generiran bit sa 1 bitnim ADC-om.

    Posljedica visoke rezolucije sigma-delte tehnologije je brzina sklopovlje treba funkcionirati saveim brojem uzoraka, mnogo veim od pojasne irine maksimalnog signala, te zahtjeva velikusloenost digitalnih strujnih krugova. Zbog ovih ogranienja, ovi pretvarai tradicionalno prikazujuvisoku rezoluciju, vrlo niskog frekvencijskog zahtjeva, i u zadnje vrijeme govor, zvuk i umjerene brzine(100 kHz i 1 MHz).

    Digitalno filtriranje prikazuje rezultate u dugoj prikrivenosti izmeu poetka ciklusa uzorka i prvogispravnog digitalnog izlaza. Znaajno zaostajanje izmeu digitalnog izlaza i njegovog trenutnogprateeg uzorkovanja. Ove karakteristike sprjeavaju koritenje ovih pretvaraa u sloenim sistemima nakon prebacivanja iz jednog kanala u drugi zahtjeva se mnogo vremenskih ciklusa za postavljanjedigitalnog filtriranja.

    18

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    20/137

    Razlike u odnosu na alternativne tehnologije:

    Veina strujnih krugova u sigma-delta pretvaraima je digitalna. To upuuje da se izvoenje neeznaajnije promjeniti s vremenom i temperaturom. Takoer, izvedivo je postavljanje pretvaraa ujedan integrirani sklop sa dodanim strujnim krugom, kao to su D/A pretvara, DSP (ProcesorDigitalnog Signala), mikrokontroler. Konano, njena izvedba nije skupa i cijena je stalno u padu.

    Oni su sami po sebi monotoni, odnosno promjena digitalnog izlaza je uvijek ista tj. padu ili rastudigitalnog ulaza. To je izrazito znaajno u zatvorenim krunim kontrolnim sustavima, gdjenedostaje interpretacija smjera promjena mjerene varijable, gdje moe uzrokovati nestabilnisustav.

    Oni su sami po sebi linearni, te predoavaju manju diferencijalnu nelinearnost. Ne zahtjevaju dodatni Sample & Hold strujni krug, tijekom velike ulazne brzine uzorkovanja i

    male tonosti A/D pretvorbe. Zahtjevi za analogne protupreklapajue (anti-aliasing) filtere su minimalni, u veini sluajeva je

    dovoljan jednostavni jednopolni RC filter. Za razliku od ostalih gdje su zahtjevi osrednji, za visokerezolutne zahtjeve koriste se druge vrlo sofisticirane (ne preuzorkovane) tehnologije, drugaijedizajnirane, vee i skuplje.

    Razina smetnje, koji odreuje SNR (Signal-To-Noise Ration omjer snage signala i smetnje), jeneovisana o razini ulaznog signala.

    Do tada je stanje digitalnog filtriranja dio nakon A/D pretvaranja, smetnje ubaene krozpretvaraki proces se mogu vrlo uspjeno kontrolirati. Ustvari, filter moe biti podeen dominimalne razine smetnje sa vrlo specifinim karakteristikama (npr. 50 Hz).

    Prije svega, oni sami po sebi ine ove ureaje jeftine i pristupane. U viekanalnoj primjeni,arhitekture jedan pretvara po kanalu, esto e biti efikasniji, ali i skuplji od jednog pretvaraa zamultipleksirane ulaze.

    19

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    21/137

    3.6 Digitalno analogni pretvara

    Digitalni signal ima mnoge svoje prednosti, ali je ipak analogni signal u mnogo sluajeva pogodniji.Na primjer, u regulacijskoj tehnici zbog izvrnog sklopa analogne prirode potrebno je digitalne signalepretvoriti u analogne.

    02

    12

    n

    izU

    Sl. 3.14. D/A pretvara

    D/A pretvara nam je potreban da bi digitalni signal dobiven iz raunala pretvorili u odgovarajuianalogni signal najee napon ili struju. On nam je potreban za prikaz podataka na CRT monitoru.D/A pretvara radi tako da svaki bit binarnog podatka upravlja odreenim iznosom elektrine strujeproporcionalnog teinskoj vrijednosti tog bit-a. Tako bit najmanje teinske vrijednosti B0 upravljastrujnim iznosom I0, B1 upravlja strujom 2I0, B2 strujom 3I0, itd. Sve struje teku u istu toku te jekonaan iznos odreen binarnim brojem zbroj svih struja. Proputanjem te struje kroz otpornik dobijese napon. iljci prijelaznog napona vezani su uz kontinuiranost veliine (slika 3.15.).

    stvarni

    oitani

    iljak prijelaznog napona

    0111

    1000

    n

    t

    Sl. 3.15. Graf signala

    20

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    22/137

    3.7 Meusklop (Interface)

    Meusklop (eng. interface) slui za povezivanje raunala sa vanjskim ureajima. Vanjski sklopoviimaju drugaiji nain rada koji je neovisan o nainu rada digitalnog raunala. Zadatak meusklopovaje da ta dva razliita naina rada uskladi tako da ine cjelinu. Poto su vanjski sklopovi jako razliiti,

    meusklopovi trebaju biti sastavljeni od standardnih elektronikih dijelova. Mikroraunala imajuposebne LSI-komponente za prijenos podataka izmeu mikroprocesora i vanjskih jedinica, koje seprogramski prilagoavaju specifinim vanjskim jedinicama. To omoguava fleksibilnost i jednostavnostmeusklopova. Treba spomenuti da postoje standardni LSI-sklopovi za ulazno izlazni prijenos. TiLSI-sklopovi se rade za standardne vanjske jedinice kao to su disketna jedinica, tipkovnica, itd.Neposredni ulazno izlazni prijenos se vri paralelno, znai da se svi bit-ovi jedne rijei prenose odjednom (to su meusklopovi u uem smislu).

    Ureaji za povezivanje udaljenih jedinica s raunalom koriste serijsku vezu jer paralelna nijepraktina zbog broja vodia, znai prenosi se bit po bit. Najprije treba paralelne podatke pretvoriti userijske te se na prijemnom mjestu opet pretvaraju u paralelne. Svi potrebni sklopovi za povezivanjena daljinu se takoer zovu interface, mada bi bilo prikladnije rei interface u irem smislu, jer onisadre interface u uem smislu, paralelno/serijsku i serijsko/paralelnu pretvorbu.

    Ureaji koji koriste serijsku komunikaciju koriste dvije vrste kabela i to: DCE (DataCommunications Equipment) i DTE (Data Terminal Equipment). DCE koriste modemi, printeri i sl. dokse DTE koristi za vezu izmeu PC korisnika.

    U/I kanali su prikljuci ili ulazno/izlazni sklopovi koji omoguuju povezivanje raunala sa razliitimvanjskim ureajima ili s ureajima unutar kuita sustava.

    Sl. 3.16. Suelje DTE-DCE i komunikacijski kanal

    Dva su osnovna tipa prijenosa podataka putem U/I kanala:

    a) parelelnib) serijski

    a) Paralelni prijenos podataka ukazuje na istovremeni prijenos bitova preko vie komunikacijskihvodova. Sklopovi su standardni i direktno su povezani sa sve tri sabirnice. Sklop ima svoj registar(privremenu memoriju) koja ima svoju adresu pa mikroprocesor lako na njega prenese podatke.Neelo paralelnog prijenosa prikazan je na slici 3.17.

    21

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    23/137

    Sl. 3.17. Naelna shema osam bitnog paralelnog prijenosa

    Prikazani sustav paralelnog prijenosa podataka razvila je tvrtka CENTRONICS, pa se esto tako inaziva. Kako bitovi prolaze istovremeno, prijenos je bri od serijskog prijenosa, ali je neprikladan zaudaljene veze zbog velikog broja vodia u spojnom kabelu. Efikasna duljina je 10 m.

    Sl. 3.18. Shema jedinice za paralelni prijenos

    b) Serijski prijenos podataka. Za razliku od paralenog prijenosa, kod serijskog se podaci alju po jednoj ici. Da bi se podaci sa sabirnice mogli redosljedno poslati preko serijskog suelja, u sklopusuelja obavezno su ugraeni registri posmaka koji omoguavaju pretvorbu paralelnog prihvata userijsko odailjanje i obratno.

    Sl. 3.19. Naelo rada serijskog prijenosa podataka

    22

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    24/137

    Sl. 3.20. UART

    Najei tip prijenosnog puta u procesima je RS-232C. Postoje i RS-422 (baziran na strujnoj petljiod 4 do 20mA). RS-232C baziran je na naponskom prijenosu, ali na izlazu i ulazu su razliiti naponi.Na izlazu se napon kree od -15 do +15V, na izlazu od -3 do +3V. Brzine prijenosa su do 20Kb/s. RS-422 podrava vodove do kilometra i vee brzine prijenosa (do 100Kb/s).

    Postoje dva tipa prijenosa s obzirom na vremensku usklaenost prijenosa:

    Sinkroni

    Asinkroni

    Asinkroni nain prijenosa podataka najee se upotrebljava pri malim brzinama prijenosa tj. kadase prenosi relativno malo bitova u sekundi, jer su tada prihvatljive vee meusobne razlike taktnihsignala, odailjaa i prijemnika. Za vee brzine prijenosa upotrebljava se sinkroni prijenos koji moguprenositi nekoliko puta vie bitova u sekundi. Pri asinkronom nainu prijenosa odailja i prijemnik

    imaju odvojene izvore taktnih signala pa je potrebno relativno velika usklaenost, odnosno tonost tihsignala. Pri sinkronom prijenosu to nije problem jer isti taktni signali odreuju mjesto svakog bita kojise prenosi i u odailjau i u prijemniku. Inae je nain rada pri sinkronom serijskom prijenosu slianradu pri asinkronom prijenosu. Postoji odailja koji paralelne podatke pretvara u serijske, i prijemnikto dolazee impulse prihvaa i formira podatak spreman za daljnji paralelni prijenos.

    Kod asinkronog prijenosa podataka nema informacije o taktu ukljuenog u samoj poruci, ve sekoristi esta resinkronizacija koristei se start i stop bitovima.

    Prijenos podataka poinje start bitom, a zavrava stop bitom. Osim start i stop bita moe se slati iparitetni bit, koji titi od jednostruke pogreke. Takoer ne moe detektirati koji je bit krivo poslan, a nemoe detektirati ni viestruke pogreke.

    Sl. 3.21. Primjer RS-232 signala

    23

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    25/137

    3.8 Paritetni sklop

    Paritetni sklop koristi se kao generator i ispitiva pariteta pri prijenosu digitalnih signala. Zasiguran prijenos kodiranih podataka u digitalnim sustavima vrlo esto se koristi metoda pariteta.Svakoj binarnoj kombinaciji, kojom se pokazuje podatak, dodaje se tzv. paritetni bit kako bi ukupanbroj jedinica bio uvijek paran (metoda parnog broja jedinica) ili neparan (metoda neparnog broja

    jedinica).Na mjestu odakle se odailje digitalni signal paritetni sklop djeluje kao generator paritetnog bita.

    Sklop ispituje broj jedinica u podatku i generira paritetni bit. Ako 4-bitni podatak ima parni broj jedinicagenerator pariteta na izlazu daje stanje 0, ako podatak sadri neparan broj jedinica, generator paritetadaje na izlazu stanje 1. Time se postie da je ukupan broj jedinica podataka i paritetnog bita uvijekparan (slika 3.22.).

    Sl. 3.22. Primjena paritetnog sklopa

    3.9 Povezivanje raunala sa procesima

    Da bi se raunala mogla primjeniti u vezi sa razliitim procesima, karakteristine mjerne veliine(parametri procesa) moraju se unositi u raunalo koje te podatke obrauje, izvodei karakteristineprograme, specifine samo za taj proces. Izvoenje tih programa omoguuje da se pomou raunalanadzire odvijanje procesa, da se mjere izvorne ili izvedene veliine tog procesa ili da se procesomupravlja pomou raunala. Najprije treba razraditi odgovarajue upravljake, mjerne ili nadzorne

    algoritme kojima se na adekvatan (primjeren) nain rjeava postavljeni zadatak. Taj algoritam sezatim ubacuje u raunalo pomou programa napravljenih upotrebom nekog programskog jezika.Tokom rada na procesu ti se programi izvode u raunalu, omoguavajui upravljanje procesom,mjerenje ili nadzor procesa. Da bi raunalo moglo raditi sa procesom, potrebni su i u samom procesuodgovarajui sklopovi, karakteristini upravo za taj proces. To mogu biti razliiti sklopovi. Oni povezujuproces sa elektronikim i raunalnim sustavom i mogu se podjeliti u dvije osnovne kategorije: Senzore(mjerne pretvarae, osjetila) i izvrne organe. Senzori izraavaju razliite parametre procesa, najeeu obliku elektrinih analognih signala (veliina napona ili struje). Izvrni organi slue za djelovanje naproces, ako se obradom ulaznih podataka ustanovi da to treba uiniti. Parametri procesa koji e seupotrijebiti za rad ovise o vrsti procesa i mogu biti razliite fizikalne veliine kao to su tlak, protok,temperatura, radioaktivno zraenje itd. Budui da ima puno razliitih parametara koji se mogu mjeriti, sveom ili manjom tonou, postoji i veliki broj razliitih senzora. Veina tih senzora izraavaparametre (mjerne veliine) procesa u analognom obliku, odnosno u obliku veliine napona ili struje,

    zato ih prvo treba pretvoriti u digitalni oblik koji je pogodan za unos u raunalo. Postoji dakakomogunost, iako manja, da senzori izraavaju neke parametre procesa direktno u digitalnom obliku.Takve veliine nije potrebno pretvoriti u digitalni oblik, nego se mogu bez pretvorbe unositi u raunalo.

    24

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    26/137

    3.10 Raunalo

    Raunalo je ''mozak'' jednog on line sustava. Ono omoguava brzu reakciju i korekciju usustavu. Tako na primjer, na temelju prikupljenih meteorolokih podataka raunalo danas izraunavavremensku prognozu za sutra, za to bi ljudima koristei meteoroloke algoritme trebalo moda mjesecdana i tada bi ti podaci bili nevani. Koristei raunalo ti podaci mogu biti obraeni u vrlo kratkomvremenu pa ta vremenska prognoza postaje upotrebljiva. Raunala tako mogu biti koritena u razliitesvrhe, a to im omoguuje programibilnost. Program koji je unesen u raunalo prilagoava raunaloodreenom sustavu. Gotovo za svaki sustav raunalo je sklopovski isto, mogue su male modifikacije.

    3.10.1 Mikroprocesor

    Mikroprocesor (CPU) je najvaniji elektroniki sklop raunala, koji preuzima programskeinstrukcije i na osnovu njih obrauje podatke. Naziv ''mikro'' koristi se zbog malih dimenzija. Dananjimikroprocesori sadre preko stotinu milijuna tranzistora ukomponiranih na silicijskoj ploici upakiranoju kuite.

    Prvi mikroprocesor proizvela je tvrtka Intel 1971. godine. To je bio 4-bitni mikroprocesor s brzinomod 6000 operacija u sekundi, zvao se 4004. Nakon tog uvia se velika prednost mikroprocesora, te sepoinju naglo razvijati. Prvi jai mikroprocesor bio je Intelov 8008 i Motorolin 6800 koji su bili 8-bitniprocesori. Razvoj mikroprocesora se do danas nije zaustavio, no osnova njihovog rada je u principuista.

    Uz mikroprocesor se moe pridodati i matematiki koprocesor koji procesoru potpomae uraunskim operacijama. Koprocesor radi paralelno s mikroprocesorom i moe preko njemu usmjerenihinstrukcija izvriti vrlo mone operacije s pokretnim zarezom. Svi noviji procesori imaju integrirankoprocesor u kuite s mikroprocesorom.

    Znaajke mikroprocesora:

    velika prilagodljivost (univerzalnost) niska cijena

    male dimenzije

    velika pouzdanost

    3.10.2 Mikrokontroler

    Mikrokontroler je elektroniki ureaj koji, slino kao i raunalo, ima zadau da zamjeni ovjeka ukontroli dijela proizvodnog procesa ili gotovo cijelog proizvodnog procesa. Iz svakodnevne prakse priuporabi raunala ope namijene tip PC-a ve je poznato da je standardni ulaz tipkovnica i mi(eventualno upravljaka palica), dok je standardni izlaz monitor ili pisa. Teko je definirati to e bitistandardni ulaz i izlaz mikrokontroleru. Razlog tome je to su mikrokontroleri uglavnom dizajnirani zaspecifine zadae vrlo raznolike od sluaja do sluaja. Primjera ima mnogo, od jednostavne regulacijeosvjetljenja, alarmnih sustav, pa dao upravljanja robotima u industrijskim pogonima.Ulazi mogu bitivrlo jednostavne izvedbe kao na primjer prekida u sklopu plovka za nadzor najveeg ili najniegnivoa tekuine u spremniku. Mikrokontroler tada ima za obradu samo dva stanja koje opisuje jedan bit.Sloenije je praenje ako treba pratiti stvarnu razinu nivoa tekuine u spremniku. Tada treba definiratikoliko e se nivoa pratiti i tu e se upotrijebiti nekakav potenciometarski sklop koji e mikrokontrolerupredati odreenu analognu vrijednost koju e ovaj potom pomou A/D pretvornika obraditi i isporuitiodreditu. Ako je pak povezan s fotoelijom za brojanje predmeta po naelu prekidanja svjetlosnogsnopa radi se o izravnom brojanju impulsa tijekom rada neovisno o vremenu.

    Dakle, ulazi mogu biti analogne i digitalne prirode i u sutini podatke e isporuivati nekakavmjerni pretvornik (senzor).

    25

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    27/137

    Izlazi iz mikrokontrolera takoer mogu biti analogne i digitalne prirode. Analogni izlazi, bilonaponski ili strujni, mogu se elektromehanikim sklopovima pretvoriti u neku korisnu radnju kaopromjena poloaja nekog predmeta, poveanje brzine vrtnje motora i slino. Najjednostavniji primjer jelampica upozorenja koja upozorava ovjeka na promjenu ili neispravnost. Sloeniji izlaz biti e kadase eli pratiti veliina promjene bilo kao analogni ili digitalni prikaz.

    Naravno, ulaz i izlaz mikrokontrolera nije iskljuivo vezan na komunikaciju sa strojem. Uglavnom

    kontroler ima neki vid komunikacije prema korisniku, na primjer s lampicama ili s digitalnimpokazivaem. No nisu rijetki sluajevi da se za komunikaciju s ovjekom koristi raunalo tipa PC.

    Iz navedenog moe se zakljuiti da se mikrokontroleri prema nainu izrade i komunikacije sokoliem mogu svrstati u jednu od dvije osnovne kategorije:

    Mikrokontroler kao samostalna upravljaka jedinica

    Mikrokontroler kao osobita kartica u jednom od utora PC raunala

    U sutini mikrokontroler radi na naelu vrlo bliskom raunalu. On je uistinu malo raunalo, asloenost mu ovisi o sloenosti zadae koju ima nadzirati.

    Sl. 3.23. Pojednostavljeni model mikroprocesora

    26

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    28/137

    - Aritmetiko-logika jedinica (izvrna jedinica) ALU izvrava osnovne aritmetike i logikeoperacije (+, -, posmak, komplementiranje, logike operacije I i ILI)

    - Akumulator A slui za privremeno pohranjivanje jednog od operanada (podataka nad kojimase obavlja aritmetika ili logika operacija). Rezultat operacije se najee ponovo pohranjujeu akumulator. Akumulator sudjeluje i u prijenosu podataka izmeu procesora i ostalihkomponenti raunala, odnosno vanjskog svijeta.

    - Programsko brojilo PC (engl. Program Counter) je registar koji sadri adresu sljedeeinstrukcije koja e se izvesti. Upravljaka jedinica ga automatski inkrementira.

    - Instrukcijski registar IR je registar u kojem je zapisan operacijski kod ije je izvravanje utijeku. Operacijski kod je binarni kod kojim je pojedina instrukcija prikazana i zapisana umemoriji raunala.

    - DC (engl. Data Counter) je registar u kojem je zapisana adresa memorijske lokacije na kojojse nalazi operand, pa se taj registar naziva brojilo podataka.

    - Privremeni registarWR (Work Registar) je povezan s jednim od ulaza u aritmetiko-logikujedinicu i slui za privremeno pohranjivanje jednog od podataka koji sudjeluju u aritmetikoj ililogikoj operaciji. Ovaj privremeni registar nije element programskog modela mikroprocesora.

    - Interna sabirnica skup linija za prijenos podataka koje su izvedene na samom

    mikroprocesorskom ipu. Omoguava prijenos podataka izmeu pojedinih registara,aritmetiko-logike jedinice i upravljake jedinice. Interna sabirnica je preko meuregistara,odnosno sabirnikog suelja povezana s vanjskom sabirnicom.

    - Upravljaka jedinica sastoji se od sklopova za dekodiranje instrukcije i upravljakihsklopova. Upravljaki sklopovi u skladu s operacijskim kodom instrukcije koja se izvravageneriraju niz upravljakih signala. Ti signali upravljaju prijenosom podataka izmeu registarai aritmetiko-logike jedinice, aktiviraju promjenama vrijednosti programskog brojila,omoguavaju prijenose podataka izmeu procesora i memorije i sl. Sve operacije unutarmikroprocesora sinkroniziraju se signalom vremenskog voenja (takt). Dogaaji umikroprocesoru odvijaju se u tono utvrenim diskretnim vremenskom trenucima.

    Registre u procesoru dijelimo na:

    a) registri ope namjene (slue za privremenu pohranu podataka koji se obrauju, odnosnooperanada, meurezultata, rezultata, pohranjuju kazala koja upuuju na pojedine memorijskelokacije)

    b) namjenski registri (programsko brojilo [program counter], kazalo stoga [stack pointer],registar stanja programa [program status word, statusni registar])

    c) namjenski registri kojima korisnik ne moe pristupiti (IR registar instrukcija, privremeniregistar)

    3.10.3 Arhitektura raunala

    Postoje dvije dominantne arhitekture procesora, a to su:

    CISC (engl. Complex Instruction Set Computer)

    RISC (engl. Reduced Instruction Set Computer)

    CISC arhitektura (slika 3.25.) je starija arhitektura od RISC, osmislio ju je Von Neumann 1945.godine. Sustavno je opisao osnovnu grau i djelovanje raunala, a na njegovom se modelu temelje idananja raunala (slika 3.24.).

    27

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    29/137

    Sl. 3.24. Van Neumannov model raunala

    Da bi popravili performanse CISC arhitektura pokuava smanjiti broj instrukcija koje program morapozivati. Da bi to napravili moraju imati velik broj mikro instrukcija koje pokrivaju velik rasponzadataka. Jedna mikroinstrukcija, kad se dekodira u procesoru moe postati nekoliko zadataka (tasks)koje procesor mora izvriti. Kao posljedica, instrukcije su varijabilne duljine i esto zahtjevaju vie odjednog takta za njihovo izvravanje. Kao to vidimo na slici 3.25. CISC arhitektura koristi samo jednusabirnicu koja slui kao podatkovna i kao adresna sabirnica.

    Sl. 3.25. Pojednostavljena shema CISC arhitekture ili Von Neumann-ove arhitekture

    Najznaajnije karakteristike CISC mikroprocesora:

    proirenje instrukcije

    kompleksne strojne instrukcije

    dekodiranje instrukcija razni naini adresiranja memorije

    relativno malo registara

    vii radni takt

    RISC arhitektura (slika 3.26.) raunala nastala je na Sveuilitu Harvard. RISC arhitekturapokuava poboljati performanse reduciranjem broja taktova potrebnih za izvravanjem zadatka.Imaju mali set pojednostavljenih instrukcija, izvravajui cijeli mikro kd odjednom. Ovo znai dazadatak treba vie instrukcija koje su jednake duljine i obino trebaju jedan takt za izvravanje. Zbogovoga, RISC sustavi su sposobni procesirati vie instrukcija paralelno (pipelining). Procesor radi vieinstrukcija odjednom, poevi drugu instrukciju prije zavretka prve. Ovo znaajno poveavapropusnost i ini RISC brim od CISC-a. Vidimo na slici 3.26. da ova koncepcija koristi dvije sabirnice.

    Time se postie vei protok informacija. Odvajanjem sabirnica omogu

    ava se da instrukcije mogu bitivee od 8 bit-a. PIC16F84 koristi 14 bit-a za instrukcije to dozvoljava da sve instrukcije budu od

    jedne rijei i svaka instrukcija se izvrava u jednom ciklusu osim instrukcija skoka i grananja.

    28

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    30/137

    Sl. 3.26. Pojednostavljena shema RISC arhitekture ili Harvard-ske arhitekture

    Najznaajnije karakteristike RISC mikroprocesora:

    smanjen instrukcijski set

    manje kompleksne, jednostavne instrukcije

    nije potrebna kontrolna jedinica za dekodiranje instrukcija

    maksimalno etiri naina adresiranja memorije

    puno registara

    manji radni takt

    3.10.4 Razlika izmeu mikroprocesora i mikrokontrolera

    Sa rastom snage mikroprocesora rasla je i njegova primjenjivost. Zato se na ip veliinemikroprocesora stavlja cijelo raunalo mikrokontroler. Mikrokontroleri su uglavnom dizajnirani zaspecifine zadatke vrlo raznolike od sluaja do sluaja. U sutini mikrokontroler je malo raunalo, asloenost mu ovisi o sloenosti zadae koju mora obavljati. Od namjene mikrokontrolera ovisiti e brojU/I portova, odnosno broj digitalnih i analognih ulaza/izlaza.

    PODATKOVNASABIRNICA

    MEMOR

    IJA

    Sl. 3.27. Shema mikrokontrolera s njegovim osnovnim elementima

    29

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    31/137

    Svim mikrokontrolerima su zajednika sljedea svojstva:

    Relativno mali radni takt (reda 10 MHz)

    Mali broj jednostavnih instrukcija (red veliine oko 100)

    Radna memorija (RAM - reda KB)

    Stalna memorija s programskim kodom (u EPROM izvedbi)

    Brojai razliitih namjena kao sat, broja impulsa, BCD broja... Broja za nadzor ispravnog rada WDT (Watch Dog Timer)

    Ulazno/izlazni portovi za prihvat i slanje podataka

    A/D i D/A pretvornici razluivosti prema namjeni (uobiajeni 8-bit)

    irok raspon napona napajanja (2V 6V)

    3.10.5 Memorijska jedinica

    Dio mikrokontrolera koji je zaduen za uvanje podataka. Memorija mora biti u mogunosti da itai zapisuje podatke. Zato postoji linija /P, ako je /P = 1 onda se vri itanje u suprotnom vrimo upis.

    Sl. 3.28. Model memorijske jedinice

    3.10.6 Adresno polje mikroraunala

    Adresno polje sve mogue lokacije koje neka procesorska jedinica moe adresirati (ne morajubiti iskoritene ba sve adrese)

    Sa prvi bajt moe se adresirati 256 lokacija, dok se sa dva bajta moe adresirati i do 64 Klokacija

    Mono mikroraunalo mora imati razliite naine adresiranja

    Adresiranje memorije vrimo na vie naina:

    neposredno naredba sadri sam podatak s kojim se radi. Podatak moe biti 8 ili 16 bitni. Zadohvat 2 bajta podatka dovoljna su tri zahvata u memoriju. To je vrlo brz nain adresiranja.

    30

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    32/137

    direktno (izravno) prvi bajt je operacijski kod koji govori koja se operacija radi sa podatkom, adrugi i trei bajt naredbe pokazuju lokaciju memorije gdje se nalazi podatak koji se eli obraditi.Ovakvim nainom adresiranja moe se dodue adresirati bilo koja lokacija u adresnom polju, aliza dobivanje samo adrese operanda potrebna su dva zahvata u memoriju, to je vrlo spor na inadresiranja.

    indirektno (posredno) drugi i trei bajt naredbe pokazuju adresu lokacije(pointera) gdje senalazi adresa podatka koji se obrauje. To je vrlo neekonomino adresiranje, jer za dohvatpodatka treba puno zahvata u memoriju. Prednost je da se stvarna adresa operanda moeprogramski mjenjati, mjenjanjem sadraja pointera tijekom izvoenja programa bez potrebemijenjanja glavnog programa.

    segmentno zasniva se na injenici da se programi veinom vrte u jednom dijelu (segmentu)memorije.

    MMU (jedinica za upravljanje memorijom) - zadatak Memory Management Unit je da podjeli memorijuna vie segmenata. Tako podijeljena memorija se adresira segmentno.

    3.10.7 CPU (Central Processing Unit)

    Mikroprocesor (CPU) je najvaniji elektroniki sklop raunala, koji preuzima programske naredbe ina osnovu njih obrauje podatke. Naziv ''mikro koristi se zbog malih dimenzija. Sadri do nekolikomilijuna tranzistora ukomponiranih na silicijskoj ploici upakiranoj u plastino kuite.

    Vrijeme izvoenja instrukcija je reda mikrosekunde, a broj instrukcija i veliina binarnog podatkaosnovni su parametri koji definiraju kvalitetu mikroprocesora. Mikroprocesori koji se u raunalnimsustavima ope namjene koriste dizajnirani su za rad s podacima duljine 4, 8, 16, 32 i 64 bit-a.

    Sl. 3.29. Primjer centralne procesorske jedinice sa tri registra

    Na slici 3.29. prikazan je primjer centralne procesorske jedinice sa tri registra, registri su daklememorijske lokacije ija je uloga da pomognu pri obavljanju raznih matematikih operacija ili bilo kojihdrugih operacija sa podacima gdje god da se oni nalazili. Imamo dvije nezavisne cjeline (memoriju iCPU) koje nisu meusobno povezane , ime je sprijeena bilo kakva razmijena podataka. Akonaprimjer elimo zbrojiti sadraj dvije lokacije iz memorije i njihov rezultat ponovo vratiti u memorijupotrebna nam je veza izmeu memorije i CPU, tj. moramo imati neki put preko kojeg podaci idu izjednog bloka u drugi, a ti putevi se zovu sabirnice.

    31

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    33/137

    3.10.8 Sabirnica

    Prijenos podataka izmeu sklopova unutar mikroprocesora i unutar raunala vrlo je znaajan dioposla, a obavlja se preko SABIRNICA (BUS), vieilnim prenosnim putevima izmeu pojedinihsklopova. Broj vodova sabirnice ovisi o broju bit-a koji opisuju podatke koje je potrebno prenjeti. Usutini prijenos podataka je paralelan.

    Dakle postoje dva osnovna sustava sabirnica:

    1.) Unutranje sabirnice - veze unutar mikroprocesora.

    2.) Vanjske sabirnice - veze u raunalu izvan mikroprocesora.

    Meusobno su odvojene meusklopovima jer se esto promet na njima ne odvija istom brzinom.Razmjena podataka u mikroprocesoru obavlja se viestruko bre nego izmeu sklopova raunala, teih je stoga potrebno odvojiti. O prijenosu podataka izmeu unutranje i vanjske sabirnice brinu seposebni upravljai (controller).

    Unutarnja i vanjska komunikacija odvija se preko tri odvojene sabirnice:

    1.) Podatkovne sabirnice dvosmjerna2.) Adresne sabirnice jednosmjerna

    3.) Upravljake sabirnice jednosmjerna

    Naravno, komunikacija posredstvom triju sabirnica ubrzava sustav. Podatku, koji je na sabirnicipodataka, preko adresne sabirnice odreuje se mjesto na koje e se uputiti, a upravljaka sabirnica eprijenos odobriti.

    REGISTAR 1

    REGISTAR 2

    REGISTAR 3

    CPU

    MEMORIJSKA LOKACIJA 0

    MEMORIJSKA LOKACIJA 1

    MEMORIJSKA LOKACIJA 2

    MEMORIJSKA LOKACIJA n

    PODACIMEMORIJA

    Kontrolne linije

    /P

    ADRESE

    Sl. 3.30. Primjer komunikacije memorije i centralne procesorske jedinice pomou sabirnica

    Na slici 3.30. prikazana je komunikacija centralne procesorske jedinice sa memorijom. Memorijase sastoji od 16 memorijskih lokacija koja sa centalnom procesorskom jedinicom komunicira prekopodatkovne sabirnice (koja je dvosmjerna). Podatkovna sabirnica sastoji se od onoliko linija kolikomemorije elimo adresirati, a slui za prijenos adrese od CPU do memorije, dok adresna sabirnica

    (koja je jednosmjerna) povezuje sve blokove unutar mikrokontrolera.

    32

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    34/137

    3.10.9 U/I jedinica

    Ove memorijske lokacije se nazivaju portovi. Portovi mogu biti ulazni, izlazni ili dvosmjerni. Kodrada s portovima potrebno je prvo odabrati port s kojim se radi.

    ULAZNIREGISTAR

    U/Ijedinica

    PODACI

    PODACI

    PODACI

    IZLAZNIREGISTAR

    Sl. 3.31. Primjer U/I jedinice

    3.10.10 Serijska komunikacija

    Ovime smo mikrokontroleru omoguili povezivanje na daljinu. Paralelni prijenos nije pogodan zavelike udaljenosti zbog veeg broja vodia. Da bi prijenos funkcionirao treba odrediti skup pravila po

    kojima e se odvijati, skup pravila po kojem se vri prijenos podataka nazivamo protokol. Serijskiprijenos podataka dijelimo na sinkroni i asinkroni. Sinkroni prijenos izmeu dva ureaja radi podzajednikim taktom. Asinkroni prijenos koristimo kad ne znamo frekvencijski takt drugog ureaja, ovuvrstu prijenosa koristimo za slanje manjih podataka.

    Sl. 3.32. Serijska jedinica

    33

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    35/137

    3.10.11 Slobodni broja

    To je registar ija se vrijednost uveava u pravilnim vremenskim razmacima. Omoguava nammjerenje vremena.

    Sl. 3.33. Slobodni broja

    3.10.12 Sigurnosni broja (Watchdog timer)

    Program u njega upisuje 0 svaki put kad kada se pravilno izvri. Ako signal izostane, nee doido upisivanja 0 (znai da se mikrokontroler vrti u beskonanoj petlji ), vrijednost brojaa e sepoveavati do svoje maksimalne vrijednosti kada e sam resetirati mikrokontroler.

    Sl. 3.34. Sigurnosni broja

    Na taj nain onemoguava se dui nepravilan rad mikrokontrolera bez obzira na uzrokneispravnosti. Ova metoda viestruko poveava sigurnost sustava kojeg mikrokontrolernadzire/upravlja.

    34

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    36/137

    4 Mikrokontroler PIC 16F84

    4.1 Osnovne karakteristike mikrokontrolera PIC 16F84

    4.1.1 Karakteristike mikrokontrolera

    samo 35 jednorjenih instrukcija

    sve su instrukcije jednociklusne, osim instrukcija grananja programa i programskog skoka

    radni takt; 4MHz, trajanje instrukcijskog ciklusa: 1s (4 takta vanjskog oscilatora za jednuinstrukciju) mogunost nabave mikrokontrolera koji podnose 10 MHz i 20 MHz vanjski takt

    14 b veliina rijei instrukcijskog koda

    8 b podatkovna sabirnica

    15 registara specijalne namjene

    hardverski stog dubok osam nivoa

    tri naina adresiranja:-direktno

    -indirektno

    -relativno

    1k programske memorije izvedene u Flash tehnologiji

    68 B podatkovne RAM memorije

    64 B podatkovne EEPROM memorije

    etiri izvora prekida:

    - vanjski na noici RB0/INT

    - preljev timer-a TMR0

    - prekid pri promjeni na RB4, RB5, RB6 i RB7 noicama porta B- prekid nakon zavretka procesa upisivanja podataka u EEPROM memoriju

    oko 1 000 pii/brii ciklusa moe podnijeti Flash programska memorija

    oko 10 000 000 pii/brii ciklusa moe podnijeti EEPROM podatkovna memorija

    postojanost podataka u EEPROM podatkovnoj memoriji je vie od 40 godina

    4.1.2 Karakteristike ulazno/izlaznih sklopova

    13 ulazno/izlaznih pojedinano upravljivih noica

    velika struja U/I sklopova za napajanje LED dioda:- maksimalna ulazna struja po noici je 25mA

    - maksimalna izlazna struja po noici je 20mA

    8-bit-ni timer/broja sa 8-bit-nim programibilnim djeliteljem frekfencije

    4.1.3 Specijalne karakteristike mikrokontrolera

    serijsko In-System programiranje preko dvije noice

    Power-on Reset (reset pri ukljuenju)

    Power-up Timer (odreeno kanjenje nakon ukljuenja) Oscilatorski Start-up Timer (odreeno kanjenje od stabilizacije radne frekfencije)

    Watchdog Timer sa vlastitim integriranim RC oscilatorom za neovisan rad

    35

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    37/137

    zatita koda

    SLEEP nain rada ( za tednju energije)

    odabir vrste oscilatora

    4.1.4 Karakteristike CMOS Flash/EEPROM tehnologije

    mala potronja, velika brzina

    radni napon od 2.0V do 6.0V

    mala potronja energije:

    - < 2 mA pri naponu napajanju od 5 V i radnom taktu od 4 MHz

    - 15 A pri naponu napajanju od 2 V i radnom taktu od 32 kHz

    - < 1 A u standby ninu rada pri naponu napajanju od 2 V

    4.2 Kratak opis mikrokontrolera

    PIC 16F84 je 8-bit-ni mikrokontroler niske cijene, izveden CMOS tehnologijom. Izveden je u RISC(Reduced Instruction Set Computer) arhitekturi. To znai da koristi dvije sabirnice, podatkovnu (8-bit-na) i instukcijsku (14-bit-na). PIC 16F84 ima osam nivoa dubok stog i vie prekidnih izvora, tounutarnjih, to vanjskih. Istovremeno izvoenje i prihvaenje slijedee instrukcije omoguuje da sesvaka instrukcija izvri u jednom instrukcijskom ciklusu, osim instrukcija skoka i poziva potprograma(za koje su potrebna dva instrukcijska ciklusa). Takoer obino koriste 2:1 saimanje koda i 4:1 veubrzinu rada (na 20 MHz) od drugih 8-bit-nih mikrokontrolera iste klase. SLEEP nain rada omoguujetednju energije. Iz takvog naina rada mikrokontroler se moe vratiti u aktivno stanje putem prekida,vanjskih ili unutarnjih, i/ili resetom. Te ima Watchdog timer sa vlastitim RC oscilatorom koji titi odsoftverskog zamrzavanja ili sluajne beskonane petlje. Incircuit reprogramibilnost omoguujeoptimiranje programskog koda unutar sklopa, bez odvajanja mikrokontrolera od gotovog sklopa. To jevrlo korisno u razvoju sklopova gdje mikrokontroler nije fiziki dostupan, a prototip zahtjevaoptimizaciju.

    MEM. ZAPODATKE

    RAM

    MEM. ZAPODATKEEEPROM

    PORT A PORT B

    SLOBODNIBROJA

    CPU

    Sl. 4.1. Blok shema mikrokontrolera PIC 16F84

    36

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    38/137

    4.3 Raspored noica

    Sl. 4.2. Raspored noica mikrokontrolera PIC 16F84

    1. RA2 druga noica porta A2. RA3 trea noica porta A3. RA4/TOCKI etvrta noica porta A, moe biti i ulaz takta za timer/broja

    4. MCLR reset ulaz i Vpp napon programiranja mikrokontrolera5. VSS napajanje (masa)6. RB0/INT nulti pin porta B i interrupt ulaz7. RB1 prva noica porta B8. RB2 druga noica porta B9. RB3 trea noica porta B

    10. RB4 etvrta noica porta B11. RB5 peta noica porta B12. RB6 esta noica porta B i ulaz takta u programskom modu13. RB7 sedma noica porta B i linija za ulaz podataka u programskom modu14. Vdd pozitivno napajanje15. OSC1 noica koja slui za spajanje vanjskog oscilatora16. OSC2 noica koja slui za spajanje vanjskog kristalnog oscilatora a ako imamo na OSC1

    RC osvilator tada slui kao djelitelj frekvencije OSC1 sa 417. RA0 nulta noica porta A18. RA1 prva noica porta A

    4.4 Generatori takta

    PIC 16F84 moe raditi sa dvije razliite konfiguracije oscilatora. A to su kristalni oscilator (XT) i RCoscilator, radnog takta 4 MHz, 10 MHz ili 20 MHz ovisno o tipu mikrokontrolera. Slika 4.5. prikazujeoblik signala dobiven iz oscilatora u trenutku ukljuenja, oscilatoru treba neko vrijeme T da sestabilizira na odreenu frekvenciju.

    37

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    39/137

    OSCI 1

    OSCI 2

    C2

    C1

    XTAL

    Sl. 4.3. Spajanje kristalnog oscilatora

    OSCI 1

    OSCI 2

    C

    Vdd

    R

    Sl. 4.4. Spajanje RC oscilatora

    +5

    t

    U

    T

    Sl. 4.5. Oblik signala pri ukljuenju oscilatora

    38

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    40/137

    4.5 Takt / instrukcijski ciklus

    Takt doveden s noice OSC1 u mikrokontroleru se dijeli na etiri nepreklapajua takta kojenazivamo Q1, Q2, Q3 i Q4 koji skupa ine jedan instrukcijski ciklus npr. TCY1.

    Instrukcijske cikluse dijelimo:

    Q1 pozivanje instrukcije iz programske memorije

    Q2 dekodiranje naredbe iz predhodnog instrukcijskog ciklusa

    Q3 izvoenje naredbe iz predhodnog instrukcijskog ciklusa

    Q4 spremanje instrukcije pozvane u Q1 u instrukcijski registar

    Uzmimo za primjer instrukcijski ciklus TCY2. Na Q1 takt u instrukcijskom ciklusu TCY2 programskibroja (PC) se uveava za 1 te poziva instrukciju iz programske memorije. U sljedea dva takta Q2 iQ3 instrukcijskog ciklusa TCY2 instrukcija koja je bila pozvana i spremljena u instrukcijski registar uprijanjem TCY1 instrukcijskom ciklusu se dekodira i izvodi. U etvrtom taktu Q4 instrukcijskog ciklusaTCY2 se instrukcija pozvana na Q1 sprema u instrukcijski registar.

    TCY1 TCY2 TCY3

    PC

    Q1

    Q1 Q1 Q1

    Q2

    Q2 Q2 Q2

    Q3

    Q3 Q3 Q3

    Q4

    Q4 Q4 Q4

    OSC1

    Sl. 4.6. Vremenski dijagram izvravanja instrukcije

    4.6 Obrada instrukcija

    Ciklusi povezivanja i izvravanja instrukcija su tako povezani da je za pozivanje potreban jedaninstrukcijski ciklus a za deifriranje i izvravanje jo jedan. No zbog protone obrade, svaka instrukcija

    se efektivno izvrava u jednom ciklusu.

    39

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    41/137

    4.7 Reset

    Reset slui da bi sve registre mikrokontrolera doveli u poetni poloaj. Znai ako se mikrokontroler

    ''smrzne'' ili smo ga tek ukljuili treba ga resetirati. Da bi sprijeili sluajno dovoenje ''0'' na MCLRnoicu, potrebno ju je preko otpornika spojiti na pozitivan pol napajanja Vdd, slika 4.7.

    Sl. 4.7.

    Vdd

    RA 2

    RA 3

    RA 4

    MCLR

    R

    PIC 16F84 ima vie vrsta resetiranja:

    1. Resetiranje pri dovoenju napajanja (Power-on Reset). Ovaj reset traje isto koliko trebaoscilatoru da stabilizira frekvenciju (T), slika 4.5. odnosno 72 ms

    2. Dovoenje 0 na MCLR noicu

    3. Reset za vrijeme Sleep naina rada

    4. Reset pri prekoraenju Watchdog timera

    4.7.1 Reset kod pada napona napajanja (Reset on Brown-Out)

    Ovaj impuls generira sam mikrokontroler ako napon napajanja padne ispod dozvoljene granicekoja je potrebna za normalan rad mikrokontrolera, te ga dri 72 ms u resetu koliko je potrebno da sefrekvencija stabilizira.

    1.8 V

    U

    t

    T

    Sl. 4.8. Reset pri padu napona

    40

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    42/137

    4.8 Ulazno / izlazni sklopovi

    PIC 16F84 ima dva porta, PORTA i PORTB. Portom nazivamo grupu ulazno/izlaznih noica(pinova) kojima moemo pristupati istovremeno. Fiziki, port je registar koji je povezan s pinovimamikrokontrolera. Svi pinovi portova se mogu definirati kao ulazni ili izlazni, prema potrebama sustava.Definiraju se upisivanjem nule i jedinice u registru TRIS, upisivanjem 1 pin postaje ulazni a

    upisivanjem 0 izlazni. Poto imamo dva porta imamo i dva TRIS registra, TRISA i TRISB. PORTA iPORTB se nalaze u banci 0 a TRISA i TRISB u banci 1.

    4.8.1 PORTA i TRISA

    Ovaj port ima pet pridruenih pinova, od RA0 do RA4. Pin RA4 moe biti samo ulazni, jer se natom pinu nalazi i ulaz takta za broja TMR0. Bitom T0CS u registru OPTION se bira funkcija (ulaztakta ili standardni ulaz porta) ovog pina, tonije reeno bira se izvor takta (vanjski ili nutarnji) brojaaTMR0.

    Primjerkonfiguriranja porta:

    bsf STATUS, RP0 ;bank1movlw b'11111100' ;definiranje ulaznih i izlaznih pinovamovwf TRISA ;upis u TRISA registarbcf STATUS, RP0 ;bank0

    Uprimjerusu pinovi RA0 i RA1 proglaeni kao izlazni a RA2, RA3 i RA4 ulazni.

    1

    RA2

    RA3

    0

    TRISA

    PORTA

    Sl. 4.9. PORTA koristi 5 bitova

    4.8.2 PORTB i TRISB

    PORTB ima 8 pridruenih pinova, od RB0 do RB7. Svaki pin ima pull-up tranzistor i njime se

    definira linija na logiku jedinicu. Svim tranzistorima se upravlja pomou samo jednog bita, RBPUbitom OPTION registra. etiri pina ovog porta mogu izazvati prekid RB4: RB7 i to samo ako sukonfigurirani kao ulazni.

    Primjerkonfiguriranja porta:

    bsf STATUS, RP0 ;bank1

    movlw 0x0F ;definiranje ulaznih i izlaznih pinovamovwf TRISB ;upis u TRISB registarbcf STATUS, RP0 ;bank0

    41

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    43/137

    bsf PORTB, 4 ;PORTB < 7 : 4 > = 0bsf PORTB, 5bsf PORTB, 6bsf PORTB, 7

    Primjerpokazuje kako su pinovi RB0, RB1, RB2 i RB3 proglaeni za ulazne, a pinovi RB4, RB5, RB6 iRB7 za izlazne, te nakon ega su izlazni pinovi postavljeni u jedinicu.

    1

    RB1

    RB3

    RB2

    0TRISB

    PORTB

    Sl. 4.10. PORTB koristi 8 bitova

    4.9 Organizacija memorije

    PIC16F84 ima dva odvojena memorijska bloka, jedan za podatke i drugi za program. Blok za

    podatkeini EEPROM memorija, GPR i SFR registri u RAM memoriji a programski blok

    ini Flashmemorija.

    Programska memorija je izraena u Flash tehnologiji to omoguuje programiranjemikrokontrolera vie puta pa ak i kada bude ugraen u sustav. Ima 1024 lokacije irine 14 bit-a. Nultalokacija je rezervirana za reset a etvrta lokacija za prekid (interrupt).

    Memorija za podatke se sastoji od EEPROM i RAM memorije. EEPROM memorija ima 64 lokacijeirine 8 bit-a (sl. 4.11) kojima se pristupa indirektno preko EEADR i EEDATA registara, sadraj ovememorije se ne gubi pri prekidu napajanja. RAM memorija ima 68 osmobitnih lokacija koje zauzimajuprostor u memorijskoj mapi od 0x0C do 0x4F lokacije. Lokacije RAM memorije se nazivaju GPR(General Purpose Registrers) registri.

    SFR (Special Function Registers) registri zauzimaju prvih 12 lokacija u banci 0 i banci 1. To suregistri specijalne namjene i oni su direktno vezani za rad mikrokontrolera.

    42

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    44/137

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    45/137

    4.9.2 Stog (Stack)

    PIC 16F84 ima 13-bitni hardverski stog dubok 8 nivoa. Memorijski prostor stoga nije dio niprogramske ni podatkovne memorije, a pokaziva stoga nije mogue itati i u njega upisivativrijednosti. Njegova osnovna zadaa je da sauva vrijednost PC-a nakon to se iz glavnog programaskoi na adresu potprograma. Da bi se program znao vratiti odakle je poeo mora sa stoga vratiti

    vrijednost PC-a. Sadraj sa stoga vraa se u programsko brojilo kod izvravanja instrukcija RETURN,RETLW ili RETFIE, koje se izvravaju na kraju potprograma.

    4.9.3 Status registar

    U status registru se upisuju aritmetiki status ALU (C, DC, Z), reset status (TO, PD) i bit-ovi zaodabir memorijske banke (IRP, RP1, RP0). Ovaj registar moe biti odredite za bilo koju instrukciju sbilo kojim drugim registrom. Ako je status registar odredite instrukcije koja utjee na Z, DC ili C bittada je upis u ova tri bit-a je onemoguen.

    IRP RP1 RP0 TO PD Z DC C

    R/W-0 R/W-0 R/W-0 R-1 R-1 R/W-x R/W-x R/W-x

    bit 0bit 7

    R bit koji se moe oitati U neiskoriten bit, ita se kao 0W bit koji se moe upisati n vrijednost nakon reseta

    C (Carry) bit na koji utjeu operacije zbrajanja i oduzimanja, bit je setiran kada se oduzima manjavrijednost od vee

    1 = pojavio se prijenos najvieg bit-a rezultata0 = nema prijenosa najvieg bit-a rezultata

    DC (Digit Carry) isto kao i Carry samo ovaj bit predstavlja prijenos sa etvrtog mjesta1 = pojavio se prijenos na etvrtom mjestu0 = nema prijenosa

    Z (Zero) bit je setiran kada je rezultat aritmetiko logike operacije nula1 = rezultat je nula0 = rezultat nije nula

    PD (Power-down) bit je setiran nakon ukljuenja napajanja i svakog regularnog reseta1 = nakon ukljuenja napajanja0 = izvrenjem SLEEP instrukcije

    TO (Time-out) bit je setiran nakon ukljuenja napajanja i izvrenja CLRWDT i SLEEP Instrukcije, aresetira kad doe do prekoraenja sigurnosnog brojaa

    1 = nije bilo prekoraenja sigurnosnog brojaa0 = dolo je do prekoraenja sigurnosnog brojaa

    RP1, RP0 (Register Bank Select) bit-ovi za izbor memorijske banke, RP1 je uvijek 001 = BANK 000 = BANK 1

    IRP (Register Bank Select) osmi bit za indirektno adresiranje RAM-a, ne koristi se kod PIC 16F84 ine smije biti setiran

    0 = banka 2 i 31 = banka 0 i 1

    44

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    46/137

    4.9.4 Direktno adresiranje

    Vri se preko 9 bit-ne adrese koja se dobije povezivanjem sedmog bit-a direktne adrese izinstrukcije i dva bit-a iz STATUS registra (RP1, RP0).

    BANK 0 BANK 1

    IRP0IRP1

    +

    00

    7F

    00 01

    07

    odabirbanke

    odabirlokacije

    Sl. 4.12 Direktno adresiranje

    4.9.5 Indirektno adresiranje

    Ovaj nain adresiranja ne uzima adresu iz instrukcije, ve je radi pomou IRP bit-a STATUSregistra i FSR registra. Adresiranoj lokaciji se pristupa preko INDF registra koji zapravo nije fizikiregistar ve se njegova adresa nalazi u FSR registru, FSR je pokaziva. Npr. ako memorijska lokacija05h sadri vrijednost 10h i ako memorijska lokacija 06h sadri vrijednost 0Ah, upiemo li vrijednost05h u FSR registar, INDF registar vratit e vrijednost 10h. Inkrementiranjem FSR registra, INDFregistar vratit e vrijednost 0Ah.

    Sl. 4.13. Indirektno adresiranje

    4.9.6 Relativno adresiranje

    Adresa operanda u postupku relativnog adresiranja ovisi o smjetaju same naredbe unutarmemorije. Oblik naredbe koja koristi relativno adresiranje prikazano je na slici 4.14.

    Adresa operanda izrauna se tako, da se adresi, na kojoj se nalazi kod postupka, pribroji pomak.Naziv relativno adresiranje potjee upravo od injenice, da je adresa operanda odreena relativnoprema poloaju, odnosno smjetzaju same naredbe. Relativni pomak rauna se kao dvojnikomplement, a to znai da on moe biti pozitivan i negativan.Budui da na raspolaganju stoji 8 bitova,

    to je mogue adresirati bilo koju memorijsku lokaciju, udaljenu +127 ili -128 memorijskih lokacija odlokacija same naredbe.

    45

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    47/137

    Naredbe koje koriste relativno adresiranje su duine dviju rijei, to ih ini prikladnim za upotrebu.Mana relativnog adresiranja je u relativno kratkom dometu adrese (+127, -128 memorijskih lokacija),te u potrebi za izraunavanjem relativnog pomaka prilikom pisanja programa. Formula po kojoj seizraunava stvarna adresa glasi:

    Stvarna adresa (operanda ili skoka) = adresa naredbe+relativni pomak.

    Sl. 4.14. Oblik naredbe Relativnog adresiranja

    4.10 Prekidi (Interrupts)

    Prekid je mehanizam mikrokontrolera koji omoguava da se na neke dogaaje odgovori u trenutkukada se oni dese, bez obzira to mikrokontroler radi u tom trenutku. Svaki prekid mijenja tokizvravanja programa, prekida ga, te nakon izvrenja prekidnog potprograma nastavlja na istommjestu (Slika 4.15). Kontrolni registar prekida naziva se INTCON i nalazi se na adresi 0Bh. Njegovauloga je da omogui ili zabrani prekide, a u sluaju da su zabranjeni, registrira pojedinane zahtjeveprekida preko svojih bitova.

    Sl. 4.15. Prekid glavnog programa

    PIC 16F84 ima etiri vrste prekida:

    1. Vanjski na noici RB0/INT

    B4, RB5, RB6 i RB7 noicama porta B

    memoriju

    Vdd

    R

    RB0/INTT

    TOKIZVRAVANJAPROGRAMA

    NASTAVAKNORMALNOG

    TOKAIZVRAVANJAPROGRAMA

    PROGRAMU KOM SE

    OBRAUJEPREKID

    2. Preljev timer-a TMR0

    3. Prekid pri promjeni na R

    4. Prekid nakon zavretka procesa upisivanja podataka u EEPROM

    46

  • 8/7/2019 SKRIPTA PIC16F84A CRO

    48/137

    GIE bit moe zabraniti ili omoguiti sve prekide odjednom. To je vrlo korisno kod pisanja programajer omoguuje da se na neko vrijeme zabrane svi prekidi. Prekidi koji su ostali ne rijeeni obrauju senakon ponovnog setiranja GIE bit-a. Ako se obradi bilo koji od ovih prekida mora se resetirati bit koji jeizazvao prekid jere se u suprotnom prilikom povratka u glavni program prekid ponovno obraditi.

    EEIE

    TOIE

    RBIE

    INTE

    EEIF

    TOIF

    RBIF

    INTFGIE

    INTERUPT

    Sl. 4.16. Shema prekida

    Na slici 4.16. prikazana je opa shema prekida pomou sklopki. Pomou GIE sklopkeomoguujemo bilo koji od etiri mogua prekida. Koristei sklopke EEIE, TOIE, RBIF, INTEodreujemo vrste prekida, dok nam sklopke sa desne strane EEIF, TOIF, RBIF, INTF pokazuju koji seprekid dogodio nekom trenutku.

    4.10.1 INTCON registar

    BIF (RB Port Change Interrupt Flag) bit koji nam govori o promjeni na 4,5,6, ili 7-om pinu porta B

    Interrupt Flag) bit koji nam govori da e dolo do vanjskog prekida

    MR0 brojaaaenja

    enja

    ,ina porta B

    0 = onemoguena pojava prekida

    INTE (INT External Interrupt Enable) bit k rekid sa pina RB0/INT

    R

    GIE EEIE T0IE INTE RBIE T0IF INTF RBIF

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-x

    bit 0bit 7

    R bit koji se moe o