UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET KATEDRA ZA ELEKTRONIKU ČITAČ HALO KARTICA. Student: Miljan Ilić 10811

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET KATEDRA ZA ELEKTRONIKU ČITAČ HALO KARTICA. Student: Miljan Ilić 10811"

Transcript

1 UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET KATEDRA ZA ELEKTRONIKU ČITAČ HALO KARTICA Student: Miljan Ilić 10811

2 SADRŽAJ 1.UVOD Sigurnost na internetu Šta je u čipu? Sigurnost kod smart kartica 5 2. Mikrokontroleri Mikroprocesori u odnosu na mikrokontrolere Mikroprocesori Mikrokontroleri Razlike izmedju mikroprocesora i mikrokontrolera Terminologija Mikroracunar Ostala kola za podrsku rada sistema Mikrokontroler PIC16F877A Osnovne karakteristike mikrokontrolera PIC16F877A Kratak opis mikrokontrolera PIC16F877A Raspored nozica Generator takta (Oscilator) Takt/instrukciski ciklus Reset Watchdog timer Prekidi U/I Portovi A/D konverzija Strujna,naponska i temperaturna ogranicenja Organizacija memorije Tajmeri CCP moduli Ostale periferne jedinice Set instrukcija mikrokontrolera PIC16F877A Deo za povezivanje LCD-a MIKROC KOMPAJLER ZA PIC MIKROKONTROLERE Instalacija Kreiranje koda PROGRAMIRANJE MIKROKONTROLERA PIC18F AllPic programator Softvare Ic-Prog HARDVERSKA REALIZACIJA SOFTVER Softver mikrokontrolera 89 1

3 7. PRILOZI ALLPIC programator Opis uredjaja Listing koda u asmebleru ZAKLJUCAK LITERATURA BIOGRAFIJA AUTORA 149 2

4 1. UVOD Smart kartica je plastična kartica, koja po izgledu podseća na običnu kreditinu ili debitnu karticu stim da poseduje jedan detalj koji je odvaja od njih, a to je integrisano kolo ili čip, na kome se nalazi procesor i memorija. Na čipu se na siguran način mogu čuvati određeni podaci. Najveća snaga Smart Card tehnologije jeste u raznovrsnosti mogućih primena. Zahvaljujući inteligenciji kartice, moguće je razviti raznovrsne sigurnosne aplikacije u oblastima kao što su: zaštita pristupa računaru ili mreži, identifikacija, mobilna telefonija, elektronski novac, vozačka dozvola, zdravstveni karton, zaštita podataka, digitalni potpis, kuponi, zaštita autorskih prava, elektronska trgovina itd. Trenutno su u opticaju desetine miliona smart kartica u raznim oblastima sa tendencijom daljeg razvitka. slika Sigurnost na internetu Naglo širenje Interneta u poslednjoj deceniji i njegovo sve veće korišćenje u poslovne svrhe nametnuli su potrebu za promenama u funkcionisanju svetske mreže. Sve veći broj poverljivih podataka koji se prenose mrežom kao i porast trgovine preko Interneta stavili su u prvi plan problem sigurnosti komunikacije. Naročito je aktuelan problem sigurnosti u komunikaciji web servera i klijenata. Standardni protokoli za komunikaciju među računarima ne nude rešenje za ove probleme ni TCP/IP ni protokoli višeg nivoa http, smtp, pop3, imap,... Zato je razvijeno više protokola koji obezbeđuju sigurnu komunikaciju pre svega na Internetu. Neki od njih su na aplikativnom nivou poput secure HTTP-a (HTTPS-a), ili Secure Socket Layer (SSL) protokol koji je defakto standard za sigurnu komunikaciju na Internetu radi na transportnom sloju neposredno iznad TCP. To znači da ga mogu koristiti svi protokoli aplikativnog nivoa koji za transport imaju TCP, a to su na primer http, ftp, smtp, pop3, imap... Problem tajnosti u računarskim komunikacijama rešava se kriptovanjem podataka na izvoru i dekriptovanjem na odredištu. Savremene metode kriptovanja zasnivaju se na javno dostupnim algoritmima, a tajnost podataka garantovana je tajnošću ključa. Za 3

5 kriptovanje se mogu koristiti različiti algoritmi koji se dele u dve velike grupe algoritme sa simetričnim ključem i algoritme sa javnim ključem (odnosno asimetričnim ključevima, od kojih je jedan javni a jedan tajni). Svaka od ovih grupa ima svoje prednosti i mane. Secure Socket Layer (SSL) protokol 2.0 i 3.0 kao i na njemu zasnovan TLS (Transport Layer Securiti) koristi prednosti i simetričnog i asimetričnog kriptovanja. Naime asimetrično kriptovanje javnim i dekriptovanje tajnim ključem, koristi se samo za razmenu simetričnih ključeva koji se generišu za svaku sesiju. Na taj način izbegnut je problem razmene simetričnih ključeva, na najmanju meru smanjena je opasnost od razbijanja simetričnog ključa, a zadržana je efikasnost tog algoritma Centralno pitanje svakog postupka za šifrovanje je mogućnost njegovog razbijanja odnosno njegova snaga. Snaga postupka zavisi od primenjenog algoritma i od dužine ključa. Najjači trenutno dostupan algoritam koji se koristi u okviru SSL-a je triple DES sa dužinom ključa od 168 bita. Njegova snaga je izuzetna i najjači savremeni računari ne mogu razbiti taj algoritam ni za nekoliko milijardi godina neprekidnog rada. Drugi takođe vrlo snažan i zbog svoje brzine najviše rasprostranjen protokol je RC4-MD5 koji ima dužinu ključa od 128 bit-a. Oba ova postupka međutim zaštićena su američkim izvoznim zakonima. Ti propisi ne dozvoljavaju izvoz algoritama za kriptovanje čija je dužina ključa veća od 56* bita. Kako ovi algoritmi nisu dovoljni za zaštitu veoma poverljivih podataka. To su kompanije izvan Sjedinjenih država i Kanade naterane da koriste manje poznate načine kriptovanje npr. SSLeay protokol ili StrongHold server. Najvažnije mesto svake strukture sa javnim ključem je ono na kome se čuvaju privatni ključevi. Bezbednost čitavog sistema ugrožena je činjenicom da su najosetljiviji podaci pohranjeni na hard diskovima radnih stanica i servera gde su izloženi mogućim zloupotrebama. Druga velika slabost je što proces kriptovanja i dekriptovanja obavlja operativni sistem ili aplikativni softver koji je podložan najrazličitijim bagovima i neotporan na iole snažnije napade. Rešenje ovih ključnih problema pronađeno je u upotrebi specijalizovanih hardverskih komponenti koje na sebi imaju dovoljno memorije za pohranjivanje svih kriptografski bitnih informacija i dovoljno procesorske snage da obavljaju osnovne kriptografske operacije nezavisno od operativnog sistema i aplikacija. Takvo rešenje je smart kartica Šta je u čipu? Smart kartica je ništa drugo nego PC u malom. To uključuje: procesor (CPU), pomoću koga se vrše izračunavanja; Read-Only Memory (ROM), memorija na kojoj se nalazi operativni sitem, Random Access Memory (RAM), memorija koja se koristi za privremeno skladištenje prilikom rada procesora i Electronically Erasable and Programmable Read-Only Memory (EEPROM), memorija u kojoj su smešteni podaci od interesa (broj tekućeg računa, sertifikati, ključevi i sl.). Zatim tu je Clock i ulazno izlazni sklop preko koga se komunicira ca okolinom (čitačem). Tipična smart kartica može imati 4

6 8-bit procesor koji radi na 5 MHz, 256 do 1024 B RAM-a, 6 do 24 KB ROM-a, 1 do 16 KB EEPROM-a. Daleke godine Philips-ova smart kartica sadržala je DES algoritam na čipu, koristeći ne više od 700 bajtova za to. Malo bliže godine IBM-ova multifunkcionalna kartica na 16 KB EEPROM-a sadrži DES i triple-des algoritam, omogućava RSA generisanje ključa (do 2048 bita), implementiran je SHA1 hash algoritam kao i mogućnost za DSA kao i RSA potpisivanje Sigurnost kod smart kartica Najjači adut smart card tehnologije je upravo sigurnost. Vratimo se na čas unutrašnjoj strukturi smart kartice. Da bi se sprečilo kopiranje i zloupotreba, smart kartica se oslanja na kontrolu pristupa podacima koji se nalaze na EEPROM-u pomoću sopstvenog sigurnosnog operativnog sistema smeštenog na ROM-u. Dobro dizajnirani sistemi koriste višestruke mere sigurnosti. Da bi se koristila kartica neophodno je znati odgovarajući kod za aktiviranje PIN (Personal Identification Number). Postojanje PIN a eliminiše mogućnost zloupotrebe kartice u slučaju krađe ili gubitka. Identifikacija pomoću PIN koda višestruko je bezbednija od bilo kog drugog načina identifikovanja pre sveg iz sledećih razloga: PIN kod nikada ne putuje mrežom i otporan je na napade tipa brutforce ili dictonary; polise koje regulišu dužinu i učestanost promene PIN-a mogu biti manje restriktivne od onih za password, na taj način se izbegava ugrožavanje bezbednosti sistema od strane osoblja pisanjem identifikacionih kodova na papire ili u datoteke. Umesto PIN-a, za identifikaciju vlasnika kartice moguće je u nekim slučajevima koristiti otisak prsta. Korišćenjem ove metode povećava se nivo sigurnosti i sam proces identifikacije je tehnički jednostavniji. Jedini problem je što je potrebno obezbediti čitač koji to podržava. Podaci koji se nalaze na kartici nikada ne napuštaju njeno bezbedno okruženje, otporni su na sve napade na operativni sistem. Smart kartice su prenosne i zato su idealne za bezbednu distribuciju privatnih ključeva u slučaju njihovog centralizovanog generisanja. Čitač kartice ( spoljni svet ) takođe može da proveri autentičnost smart kartice šaljući slučajno odabranu reč smart kartici. Od kartice se tada zahteva da potpiše poslatu reč svojim privatnim ključem, koji samo ona poseduje, vrati tako potpisanu reč spoljnom svetu gde se uz pomoć javnog ključa kartice, vrši verifikacija. Kako će podaci na kartici biti zaštićeni zavisti dosta od procesorske snage i slobodnog memorijskog prostora. Što je veći procesor i što je više memorije mogućnosti su veće pa je samim tim i zaštita sigurnija. 5

7 Naravno, nijedna zaštita nije savršena. I obične novčanice se relativno lako falsifikuju i hiljadama puta su bile zloupotrebljene pa se ipak još uvek koriste. Stim u vezi možemo reći da smart card tehnologija povećava nivo sigurnosti na zavidan nivo. 2. Mikrokontroleri 2.1. Mikroprocesori u odnosu na mikrokontrolere Da bi ukazali na to kakva razlika postoji izmedju mikroprocesora i mikrokontrolera analiziracemo sliku 1.1 koja predstavlja jedan detaljan blok dijagram mikroracunarskog sistema. Dok je mikroprocesor (CPU) na jedinstvenom cipu sam, mikrokontroler, na jedinstvenom cipu, sadrzi CPU, RAM i ROM memoriju i ostale ulazno-izlazno orijentisane gradivne blokove (paralelni i serijski interfejsi,tajmeri, logika za prihvatanje prekida, A/D i D/A konvertore i dr.). Sl.1.1 Detaljni blok dijagram mikroracunarskog sistema 2.2. Mikroprocesori Na slici 1.2 prikazan je blok dijagram mikroprocesora. CPU cine sledeci blokovi: ALU, PC, SP, odredjeni broj radnih registara, kola za taktovanje i sinhronizaciju i kola koja se koriste za prihvatanje zahteva za prekid. 6

8 Sl.1.2 Blok dijagram mikroprocesora(cpu-a) Da bi se kompletirao mikroracunarski sistem pored mikroprocesora potrebno je dodati ROM, RAM memorijske dekodere, oscilator, odredjeni broj ulazno-izlaznih uredjaja, kakvi su paralelni i serijski portovi za podatke, A/D i D/A konvertori i drugo. Pored ulazno-izlaznih uredjaja specijalne namene, cesto se javlja i potreba da se ugrade i kontroleri prekida, DMA kontroleri, kao i brojaci/tajmeri ciji je zadatak da oslobode CPU od obavljanja U/I aktivnosti. Kada se u sistem instaliraju i uredjaji za masovno memorisanje (hard disk, CD drajver), kao i tastatura, mis i CRT displej tada se taj ''mali racunar'' moze koristiti za razlicite aplikacije opste namene. Osnovna namena CPU-a je da pribavlja podatke, obavlja izracunavanja nad podacima i memorise rezultate izracunavanja na disku kao i da za potrbe korisnika prikaze te rezultate na displeju (CRT, TFT, LED i dr.). Programi koje koristi mikroprocesor 7

9 memorisani su na disku odakle se citaju i smestaju u RAM. Deo programa, najcesce malog obima, se obicno smesta i u ROM-u Mikrokontroleri Blok dijagram mikrokontrolera prikazan je na slici 1.3. Mikrokontroler je u sustini pravi ''mali racunar'' na cipu, koji sadrzi sve gradivne blokove CPU-a (ALU, PC, SP, registre i dr.), ali takodje i RAM, ROM, paralelne i seriske U/I portove, generatore takta i dr. Kao i mikroprocesor, i mikrokontroler je uredjaj opste namene, koji pribavlja podatke, obavlja ogranicenu obradu nad tim podacima, i upravlja svojim okruzenjem na osnovu rezultata izracunavanja. Mikrokontroler u toku svog rada koristi fiksni program koji je smesten u ROM-u i koji se ne menja u toku zivotnog veka sistema. Sl.1.3 Blok dijagram mikrokontrolera 8

10 Mikrokontroler koristi ogranicen skup jedno- ili dvo-bajtnih instrukcija koje se koriste za pribavljanje programa i podataka iz interne memorije. Veliki broj ulaznoizlaznih pinova mikrokontrolera se moze koristiti za vise namena sto se softverski definise. Mikrokontroler komunicira sa spoljnim svetom (pribavlja i predaje podatke) preko svojih pinova, pri cemu je arihitektura i skup instrukcija projektovan za manipulisanje podacima obima bajt ili bit Razlike izmedju mikroprocesora i mikrokontrolera Razlike su brojne ali one koje su najvaznije su sledece: 1. Mikroprocesori su najcesce CISC tipa. Za kopiranje podataka iz spoljne memorije u CPU koriste veci broj op-kôdova, dok mikrokontroleri jedan ili dva. 2. Za manipulisanje sa podacima tipa bit, mikroprocesori koriste jedan ili dva tipa instrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi prenos podataka iz programa sa spoljno adresiranih lokacija u cip, dok se kod mikrokontrolera brzi prenos bitova obavlja u okviru cipa. 4. Mikrokontroler moze da funkcionise kao racunar bez dodataka spoljnih gradivnih blokova (memorije i U/I uredjaja), dok operativnost mikroprocesora bez spoljne memorije i U/I podsistema nije moguca Terminologija Kako bi opis mikrokontrolera bio jasni dacemo, pre svega, objasnjenja za neke osnovne termine koje cemo koristiti u daljem tekstu: U/I pin spoljni pin prema spoljasnjem svetu koji se moze konfigurisati kao ulazni, odnosno izlazni. U/I je neophodan u vecini slucajeva da omoguci mikrokontroleru da komunicira, upravlja ili cita informacije. Softver informacije koje su mokrokontroleru potrebne za rad. Ovaj softver kreira onaj koji odredjuje kako ce mikrokontroler raditi. Bez softvera mikrokontroler nije upotrebljiv. Softver se moze kreirati u raznim jezicima kao sto su: C, Paskal, Asembler, Basic. Programator uredjaj koji omogucava da program bude upisan u memoriju mikrokontlolera. Postoje razni programatori za PIC mikrokontrolere. Nabrojimo samo neke koji se najcesce koriste: AllPIC programator, TAIT programator, PONY programator. Ovi programatori u stanju su da programiraju pored PIC mikrokontrolera i dosta drugih tipova kola slicnih funkcionalnosti (sto zavisi uglavnom od tipa programatora), kao sto su recimo Atmel mikrokontroleri ili serijski EEPROM. U nasem 9

11 projektu smo koristili TAIT programator i softver za njega Icprog. Nesto vise o ovom programatoru recicemo kasnije. Izvorna datoteka program napisan u asemblerskom jeziku koji mi razumemo. Izvorna datoteka se mora prvo obraditi (iskompajlirati) kako bi je mikrokontroler razumeo. Asembler / kompajler softverki paket koji prevodi izvornu datoteku u objektnu. Provera gresaka je vec ugradjena i ona je veoma korisna mogućst u trazenju gresaka u programu posto se greske markiraju za vreme procesa asembliranja. MPASM je najnovija verzija asemblera firme Microchip koji podrzava celu PIC familiju. Objektna datoteka ovo je datoteka koju generise asembler / kompajler.. Ekstenzija ove datoteke je.obj ili.hex zavisno od direktive u asembleru. Mi cemo u nasem projeku i za nas programator koristiti datoteke sa ekstenzijom.hex. Bagovi greske koje mi kreiramo nenemerno u toku pisaja programa. Ovde spadaju greske od jednostavnih u kucanju do pogresnog koriscenja sintakse jezika. Vecinu ovih gresaka ce pronaci kompajler Mikroracunar Mikroracunar je sastavljen od tri osnovna dela: Procesor (CPU), U/I podsistem i memoriski podsistem. Svaki deo moze varirati u kompleksnosti, od osnovnog pa do jako slozenog. Ako je procesor realizovan na jedninstvenom cipu, tada se on naziva mikroprocesor. Kada na jedinstvenom cipu postoji mikroprocesor, i ograniceni iznos memorije i ulaza izlaza tada se to integrisano kolo naziva mikrokontroler. Na slici 1.4 prikazan je jedan tipican mikroracunarski sistem. 10

12 Sl.1.4 Tipican mikroracunarski sistem Ukazimo sada u kratkim crtama na strukturu i funkcije koje obavljaju osnovni gradivni blokovi mikroracunarskog sistema: Centralna procesorska jedinica (CPU) srce sistema i moze biti realizovana kao 4, 8 ili16-bitna procesorska jedinica. Memorija moze biti RAM, ROM, EPROM, EEPROM i FLASH tipa ili bilo koja njihova kombinacija. Memorija se koristiti za cuvanje programa i podataka. Ulaz/Izlaz (U/I) cine ga blokovi koji mogu da obavljaju digitalne, analogne i specijalne funkcije. Preko ulazno-izlaznog podsistema mikrokontroler komunicira sa spoljnim svetom Ostala kola za podrsku rada sistema Oscilator je taktni generator mikroracunar. Njegova uloga je da sinhrono pobudjuje sva kola u okviru mikroracunarskog sistema. Oscilator moze biti napravljen od diskretnih elemenata ili kao gotov modul. Sistem za napajanje- moze biti izveden kao ispravljacka jedinica, autonomna bateriska ili kombinacija. Jedinica za napajanje moze biti izvedena kao linearna (konvertor je tipa AC-DC), kao prekidacki regulator tipa DC-DC konvertor( konverzije tipa AC-DC-DC) ili neka kombinacija. 11

13 Pas-cuvar (watchdog timer)- koristi se kod sistema za rad u realnom vremenu da obavesti procesor o tome da je istekao krajnji rok izvrsenja zadatka ili da aktivira procesor iz stanja HALT u slucaju ako se rad procesora zaustavi kada se procita neki pogresan op-kod ili dr Mikrokontroler PIC16F877A Kao sto je u uvodu naglaseno centralna komponenta naseg sistema je mikrokontoler PIC16F877A firme Microchip. U ovom poglavlju cemo se truditi da detaljnije opisemo ovo integrisano kolo. Mikrokontroleri imaju integrisane sve gore pobrojane gradivne blokove: CPU, memoriju, oscilator, watch-dog timer i U/I, integrisni su unutar samog cipa. I pored prednosti koje se nude integracijom postoji jedan ozbiljan nedostatak koji se ogleda u malom iznosu implementirane memorije (reda kb) i relativno skromnim mogucnostima ulazno-izlaznog podsistema (dva do tri paralelna porta, do tri tajmera,jedan do dva UART-a, jedan ADC). PIC familija mikrokontrolera podrzava rad sa: velikim brojem U/I uredjaja(paralelni portovi,serijski portovi,lcd i dr.); memorijama razlicitog tipa(eeprom,flash,ram,rom) 2.9. Osnovne karakteristike mikrokontrolera PIC16F877A: Visoko performansni RISC CPU 35 instrukcija obima jedne reci Radna frekvencija,f ref = DC-20 MHz Trajanje taktnog intervala t cpu = 200 ns, kada je f ref = 20 MHz Op-kôd obima14bita Harverski magacin sa osam nivoa Tri nacina adresiranja: -direktno -indirektno -relativno Programska memorija kapaciteta 8 kx14-bitnih reci realizovane u FLASH tehnologiji Memorije za podatke tipa RAM kapaciteta 368x8 bita Memorije za podatke EEPROM tipa kapaciteta 256x8 bita Prekidi ( do 14 izvora prekida) U/I portovi: A,B,C,D,E Tri tajmera: -Timer0: 8-bitni tajmer/brojac dogadjaja -Timer1: 16-bit tajmer/brojac dogadjaja -Timer2: 8-bit tajmer/brojac dogadjaja 10-to bitni 8-kanalni Analogno-Digitalni (A/D) konvertor Seriska komunikacija: MSSP,USART 12

14 Paralelna komunikacija: PSP Power-on Reset- reset pri ukljucenju napajanja(por) Power-up timer-unosenje kasnjenja nakon ukljucenja napajanja (PWRT) Oscillator Start-up Timer-unosenje kasnjenja nakon stabilizovanja radne frekvencije oscilatora(ost) Sleep -rezim rada za stednju energije Watchdog timer sa sopstvenim integrisanim RC oscilatorom za nezavisni rad Izbor tipa oscilatora Mala potrosnja,velika brzina rada Radni napon od 2V do 5.5V Mala potrosnja energije: 1. <0.6 ma pri naponu od 3V i radnoj frekvenciji od 4 MHz 2. 20µA pri naponu od 3V i radnom taktu od 32kHz 3. <1µA u standby nacinu rada Kratak opis mikrokontrolera PIC16F877A Kao sto smo vec naglasili mikrokontroler PIC16F877A poseduje tipcnu RISC arhitekturu. Arhitektura poseduje odvojene magistrale za podatke i programski kôd. Obim podataka je 8-bitni, dok je programski kôd 14-bitni. Moguce je protocno izvrsenje (pipelining). Sve insrukcije su istog obima (osim instrukcija grananja) i izvsavaju se za cetiri taktna intervala. Dakle, ako koristimo oscilator npr. od 20 MHz dobijamo da ciklus instrukcuije traje 200 ns. Sa blok dijagrama (slika 1.5) mogu se uociti sledeci gradivni blokovi: Flash programska memorija 8 kiloreci obima 14 bita RAM (File Registers) 368 bajtova Aritmetičko-logička jedinica (ALU) Akumulator (Working Register) Hardverski magacin (Stack) organizivan u 8 nivoa EEPROM memorija podataka obima 256 bajtova Razne periferne jedinice (portovi, tajmeri, A/D konvertor, USART,...) 13

15 Sl.1.5 Blok dijagram mikrokontrolera PIC16F877A 14

16 2.11. Raspored nozica Jezgro mikrokontrolera PIC16F887A pakuje se u 40-pinsko DIP pakovanje ili u 44- pinska kucista QFP i PLCC tipa. Na slici 1.6 prikazan je raspored nozica kod 40-to pinskog DIP pakovanja: Sl.1.6 Raspored nozica mikrokontrolera PIC16F877A Napajanje od +5V se dovodi na pinove VDD (11 i 32) a masa na pinove VSS (12 i 31). Nozice OSC1 i OSC2 (pinovi 13 i 14) sluze za priklucivanje oscilatorskih komponeti (RC-kolo ili kvarc). Pin 1 (MCLR/VPP) ima dvostruku ulogu. Standardno se koristi kao Reset, a u procesu programiranja kao pin za dovodjenje visokog napona (13V). Ostalih 33 pina prestavljaju U/I linije. One su grupisane u pet portova (PORTA- PORTE) i svaki od njih mozemo konfigurisati kao ulazni ili izlazni. Osim opste namene vecina pinova ima i specificnu namenu koju dobija u slucaju koriscenja nekih specijalnih periferija mikrokontrolera (brojaca, ADC, serijske komunikacije). 15

17 2.12. Generator takta (Oscilator) Moguce su cetri varijante u konfiguraciji oscilatora: LP Low Power Crystal XT Crystal / Resonator HS High Speed Crystal / Resonator RC Resistor/Capacitor Kontroler moze da radi i na 32 khz i tada ima jako malu potrosnju. Najednostavnija varijanta je RC oscilator(slika 1.7).Ova varijanta oscilatora moze se koristiti u aplikacijama gde se precizna procena vremenskih intervala ne zahteva. Sl.1.7 Nacin povezivanja RC oscilatora Frekfencja oscilovanja zavisi od napona napajanja, vrednosti R ext i C ext,kao i radne temperature. R ext treba da je u granicama od 5k do 100k. Van ovog opsega rad oscilatora postaje nestabilan i osetljiv na spoljne uticaje. C ext se moze i izostaviti, ali zbog stabilnosti se preporucuje 20pF. Na OSC2/CLKOUT generise se taktni impuls cija je perioda cetiri puta veca od periode oscilatora. Kod vremenski kriticnih aplikacija treba ugradjivati kvarcni oscilator ili keramicki rezonator. Vrednosti kondenzatora C1 i C2 (slika 1.8), treba da su jednaki. Sl.1.8 Nacin povezivanja XT oscilatora 16

18 Preporuka proizvodjaca za vrednosti C1 i C2 kod nekih konfiguracija je: Tabela 1.1 LP 32 khz pF - Kristal 200 khz 15-33pF - Kristal Tabela 1.2 XT 100 khz pF - Kristal 455 khz pF Rezonator MHz 15-33pF Rezonator Kristal 4.0 MHz Rezonator Kristal Tabela 1.3 HS 4.0 MHz 15-33pF - Kristal 8.0 MHz 15-33pF Rezonator Kristal 10.0MHz 15-33pF Rezonator Kristal Moguce je i da se oscilacije dovode iz nekog spoljnjeg izvora kao sto je prikazano na slici 1.9: njeg oscilatora Sl.1. 9.Na cin pove zivan ja spolj Najcesce se koristi spoljni kristalni oscilator (XT) radne frekvencije 4MHz. Bice prikazano kako se spaja kristalni oscilator sa mikrokontrolerom (slika 1.10) i kako izgleda oblik signala generisan iz oscilatora u trenutku ukljucenja (slika 1.11). Oscilatoru treba neko vreme ΔT da se stabilizira na potrebnu frekvenciju i amplitudu 17

19 Sl.1.10 Spajanje kristalnog oscilatora Sl.1.11 Oblik signala pri ukljucenju oscilatora Takt/instrukciski ciklus Takt koji se dovodi na nozice oscilatora OSC1 u mikrokontroleru se deli na cetiri vremenski nepreklapajuca taktna signala nazvana Q1,Q2,Q3 i Q4. Skup ovih signala cine jedan instrukciski ciklus(slika 1.12a). U zavisnosti od trenutka generisanja u okviru ciklusa instrukcija taktni signali Q1-Q4 se koriste za sledece namene: Q1-pribavljanje instrukcije iz programske memorije Q2-dekodiranje naredbe iz prethodnog instrukciskog ciklusa Q3-izvrsenje naredbe iz prethodna dva instrukciska ciklusa Q4-prenos op-kôda naredbe pozvane u Q1 u instrukcijski registar. Uzmimo za primer instrukciski ciklus TCY2 (slika 1.12a). U toku taktnog impulsa Q1 instrukcijskog ciklusa TYC2, stanje programskog brojaca (PC) se uvecava za 1 i pribavlja naredna instrukciju iz programske memorije. U toku intervala Q2 dekodira se instrukcija pribavljena u TCY1, a u toku Q3 se izvrsava instrukcija pribavljena u TCY0. U cetvrtom taktu Q4 instrukciskog ciklusa TCY2 se, instrukcija pribavljena u toku Q1, prebacuje se u instrukciski registar. Sl.1.12 Vremenski dijagram i protocnost kod izvrsavanja instrukcije a).vremenski dijagram 18

20 Sl 1.12 b) Protocnost kod izvrsenja sekvence instrukcije Na slici 1.12b prikazan je protocni nacin izvrsenja sekvence od 5 instrukcija. Kao sto se vidi sa slika 1.12b postoje dva stepena u protocnoj obradi. Prvi se odnosi na pribvljanje, a drugi na izvrsenje. Neka je protocni sistem inicijalno prazan. U toku TCY0 pribavlja se instrukcija sa labele 1 tipa MOVLW 55h. U toku TCY1 izvrsava se instrukcija sa labele 1 i pribavlja instrukcija sa labele 2 tipa MOVWF PORTB. U toku TCY2 pribavlja se instrukcija sa labele 3 koja je tipa CALL SUB_1 i pretstavlja poziv potprograma 1, i izvrsava se instrukcija sa labele 2. U toku TCY3 pribavlja se instrukcija sa labele 4 tipa BSF PORTA, BIT3 i izvrsava insrukcija sa labele 3. Napomenimo da je instrukcija sa labele 3 tipa bezuslovno grananje tako da, u principu, efekat izvrsenja instrukcije sa labele 4 ne treba da bude vidljiv,tj. ona treba da pretstavlja neku operaciju tipa NOP (da ne menja statusne markere procesora kao i stanja procesora). Nakon izvrsenja instrukcije CALL SUB_1 vrednost programskog brojaca se postavlja na adresu insrukcije koja se nalazi na labeli 5. U toku TCY4 pribavlja se instrukcija sa labele 5 tipa address SUB_1 (prva naredba potprograma), a izvrsava instrukcija na labeli 4 koja je sa stanovista procesora i programa operacija tipa NOP. U TCY5 pribavlja se druga naredba potprograma i izvrsava prava Reset Reset sluzi da bi sve registre mikrokontrolera doveli u pocetni polozaj. Ako se mikrokontroler zakoci,ili smo ga tek ukljucili, treba ga resetovati. Da bi sprecili slucajno dovodjenje 0 na MCLR nozicu, porebno ju je preko otpornika povezati na pol napajanja Vdd (slika 1.13) 19

21 Sl Povezivanje kola za reset Postoji vise vrste reseta kod PIC16F877A mikrokontrolera: Power-on reset (POR) MCLR Reset pri normalnom radu MCLR Reset prilikom SLEEP rezima rada WDT Reset pri normalnom radu WDT Wake-up (budjenje iz SLEEP rezima rada) Brown-out Reset (BOR) Power-on reset (POR) impuls se generise u samom kolu kada se detektuje porast napona napajanja (oko 1,2 1,7 V). Da bi se POR iskoristio dovoljno je MCLR nozicu prikljuciti na Vdd direktno ili preko otpornika (sl. 1.10). Ukoliko je porast napona napajnja spor neophodno je na MCLR postaviti spoljnje kolo za reset. Sema kola za POR reset je prikazana na slici

22 Sl.1.14 Spoljasnje kolo za reset Interno POR kolo nece generisati Reset signal kad napon napajanja padne ispod minimuma. Za situacije kada je moguca pojava BROWN-OUT-a (privremeni pad napona ispod Vmin) prebno je napraviti spoljnje Brown-out reset kolo,sto je prikazano na slici Sl.1.15.Kolo za BROWN-OUT reset Varijanta 1 Kolo ce generisati Reset impuls kada napon bude ispod (Vz + 0.7) V Vz napon na Zener diodi. 21

23 Sl Kolo za BROWN-OUT reset Varijanta 2 Uslov da tranzistor iskljuci je: R1 Vdd < 0.7V R2 + R1 Power-up Timer (PWRT) generise impuls fiksne sirine (nominalno 72 msec) od pojave impulsa POR-a. Za to vreme ce kontroler biti je u Reset stanju. Za ovaj vremenski period se obezbedjuje da napon napajanja dostigne nominalnu vrednost.tajmeru PWRT se dozvoljava rad setovanjem PWRTE bita koji pripada konfiguracionoj reci u fazi programiranja cipa. PWRT se taktuje internim RC oscilator. Oscilator Start-up Timer (OST) obezbedjuje kasnjenje od 1024 taktnih intervala nakon isteka kvazistabilne periode PWRT-a (vidi tabelu 1.4). Ovo obezbedjuje da kristalni oscilator ili rezonator startuju stabilnom frekvencijom. OST se aktivira samo kod XT, LP i HS rezima rada i to pri: POR, i budjenju iz SLEEP rezima rada. Mikrokontroler PIC16F877A ima implementiran dvo-bitni statusni registar nazvan PCON (Power Control Register). Prvi bit nazvan POR setuje se kada se aktivira Poweron-Reset a resetuje se kada je se aktivira neki drugi Reset. Drugi bit (BOR)kada je setovan ukazuje da je aktivan Brown-out stanja (nepropisana naponska stajna u napajanju mikrokontrolera), zbog kojeg se takodje može aktivirati Reset. Tabela 1.4 Power-up Konfiguracija oscilatora PWRT omogucen PWRT onemogucen Budjenje iz SLEEP rezima rada XT, HS, LP 72 ms Tosc 1024 Tosc 1024 Tosc RC 72 ms - - Stanja na kojima se postavljaju interni registri CPU-a nakon Reseta zavisi od vrste Reseta i rezima rada u kojima se nalazi procesor (Sleep i normalni). Stanje nekih registara ostaje nedifinisano, neki zadrzavaju svoje stanje, a ostali se postavljaju u unapred definisana stanja (vidi Tabele 1.5 i 1.6). Tabela 1.5: Postavljanje registara nakon reseta Program Counter STATUS reg. Power-on reset (POR) 000h xxx MCLR reset pri normalnom radu 000h 000u uuuu 22

24 MCLR reset prilikom SLEEP rezima rada 000h uuu WDT Reset pri normalnom radu 000h uuu WDT Wake-up (budjenje iz SLEEP rezima rada) PC+1 uuu0 0uuu Interapt 004h uuu1 0uuu Tabela 1.6 Registar Power-on reset MCLR reset pri: -normalnom radu -SLEEP mod WDT reset pri normalnom radu Budjenje iz SLEEP -interapt -WDT time out 00h INDF h TMR0 xxxx xxxx uuuu uuuu uuuu uuuu 02h PCL PC+1 03h STATUS xxx 000q quuu uuuq quuu 04h FSR xxxx xxxx uuuu uuuu uuuu uuuu 05h PORTA ---x xxxx ---u uuuu ---u uuuu 06h PORTB xxxx xxxx uuuu uuuu uuuu uuuu 08h EEDATA xxxx xxxx uuuu uuuu uuuu uuuu 09h EEADR xxxx xxxx uuuu uuuu uuuu uuuu 0Ah PCLATH u uuuu 0Bh INTCON x u uuuu uuuu 80h INDF h OPTION uuuu uuuu 82h PCL PC+1 83h STATUS xxx 000q quuu uuuq uuuu 84h FSR xxxx xxxx uuuu uuuu uuuu uuuu 85h TRISA u uuuu 86h TRISB uuuu uuuu 88h EECON x q uuuu 89h EECON

25 8Ah PCLATH u uuuu 8Bh INTCON x u uuuu uuuu Legenda: x Nepoznato stanje u Nepromenjeno stanje q Stanje zavisi od uslova - - Ne postoji fizicki cita se kao 0 Struktura Reset logike za PIC 16F877A data je na slici 1.17: Sl.1.17 Blok dijagram Reseta Watchdog timer Watchdog timer (WDT) taktuje se nezavisanim RC oscilatorom koji radi cak i kad je zaustavljen rad glavnog oscilatora, u SLEEP rezimu rada, povezan na OSC1/CLKIN i OSC2/CLKOUT pinove. Prekoracenje intervala brojanja WDT-a, prilikom normalnog rada, izaziva RESET kontrolera. Ako je kontroler bio u SLEEP rezimu rada prekoracenje tajmera ce probuditi kontroler i program ce nastaviti sa normalnim radom. 24

26 Iskljucivanje WDT-a se vrsi resetovanjem WDTE bita u konfiguracionoj reci. Nominalno vreme WDT-a je 18 ms bez uptrebe preskalera. Ovo vreme moze da varira od kola do kola zbog temperature i slicno. Ukoliko je potrebno duze vreme moze se WDT-u pridruziti preskaler sa faktorom deljenja do 1:128, tako se vreme moze produziti do 2,3 s. Instrukcije CLRWDT i SLEEP resetuju WDT. TO bit u STATUS registru ce biti 0 nakon isteka WDT Prekidi Mikrokontroler PIC16F877A podrzava tehniku rada sa prekidima (interrupts). Postoji ukupno 14 izvora pekida, neki su interni, a drugi su eksterni. Svaki prekid nema sopstveni vektor-broj.kada se prihvati zahtev za prekid izvrsenje prekidnog programa pocinje od adrese 0x0004. Tada se programskim putem testira stanje markera koji se postavljaju kada se aktivira odgovarajuci prekid (interrupt flags polling).kada se ustanovi koji je od uredjaja generisao zahtev za prekid prelazi se na izvrsenje odgovarajuce rutine za obradu tog prekida. Povratna adresa prekinutog programana cuva se automatski u hardverski magacin.povratak iz prekidnog programa se vrsi instrukcijom RETFIE. Upravljacki registar INTCON se koristi za maskiranje prekida. Pregled sadrzaja marker bitova kojim se generise zahtev za prekid je definisan na slici Znacenje pojedinih markera je sledece: T0IF (INTCON:2) setuje se na prekoracenje Timer0 INTF (INTCON:1) setuje se u slucaju da nastupi spoljni prekid na pinu RBO/INT RBIF (INTCON:0) setuje se kada se dogodi promena stanja na nekom od pinova RB4, RB5, RB6, RB7 PSPIF (PIR1:7) PSP marker bit koji se koristi u opreciji citanja i upisa na PORTD kada je on konfigurisan kao PSP ADIF (PIR1:6) marker koji se koristi za vreme analogno-digitalne konverzije RCIF (PIR1:5) marker koji oznacava da je prijemni bafer koji koji koristi USART blok, pun TXIF (PIR1:4) marker koji pokazuje da je bafer za slanje podataka koji koristi USART prazan SSPIF (PIR1:3) marker koji se koristi za rad sinhronog serijskog porta CCP1IF (PIR1:2) marker koji koristi CCP1 blok TMR2IF (PIR1:1) marker koji setije Timer2 kada dodje do prkoracenja TMR1IF (PIR1:0) marker koji setije Timer2 kada dodje do prkoracenja EEIF (PIR2:4) marker koji se setuje kada se zavrsi upis u interni EEPROM BCLIF (PIR2:3) marker koji koji korist SSP blok kada je konfigurisan da radi u I2C master rezimu rada CCP2IF (PIR2:0) marker koji koristi CCP2 blok. Pored bita za dozvolu rada svih prekida General Interrupt Enable (GIE) i bita za dozvolu rada prekida generisanih os strane periferija (PEIE), ovom registru pripadaju i markeri prekida (interrupt-flags) i bitovi koji dozvoljavaju prekid koji izaziva tajmer0, spoljasnji prekid na pinu RB0/INT i prekida porta B na promenu stanja. Osim ova tri osnovna 25

27 prekida postoji jos 11 periferijskih prekida. Bitovi za njihovo omogucenje nalaze se u registrima PIE1 i PIE2, a korespodentni flegovi,u registrima PIR1 i PIR2. Ovi se flegovi setuju cim se ispuni uslov interapta bez obzira na stanje njihovog bita omogucenja, a po izvrsenju servis rutine potrebno ih je soſtverski resetovati. Na sledecoj slici (sl. 1.18) prikazana je logicka sema svih interrupt-a sa tabelom u kojoj su oni pobrojani: Sl.1.18 Sema logike za prihvatanje zahteva za prekid i sadrzaj U/I Portovi Za vezu mikrokontrolera sa spoljnim svetom zaduzeni su ulazno/izlazni portovi. Ima ih pet i oznaceni kao PORTA, PORTB, PORTC, PORTD i PORTE. Razlicitog su obima. PORTE cine tri pina, PORTA sest, a ostala tri porta su osmopinski. Odredjeni pinovi U/I portova u zavisnosti od rezima rada mogu da imaju fiksne ili promenljive funkcije. Konfiguracija smera prenosa na odgovarajucoj bit poziciji porta vrsi se upisom konfiguracione reci u pripadajuci TRIS registar pri cemu nula konfigurise pin kao izlazni, a jedinica kao ulazni. Svaki port poseduje odgovarajuci registar podataka (PORTX) preko kojeg se programski pristupa U/I pinovima. Upis u neki od tih registara inicirace upis u lec tog porta, a njegovo citanje rezultirace citanjem logickih stanja direktno sa pinova. Sve instrukcije upisivanja su tzv. read-modify-write instrukcije. To znaci da se pri upisu u port prvo ocitaju stanja pinova, izvrsi modifikacija, a potom ispravljena vrednost upise u lec porta. Nema velike razlike u elektricnoj konstrukciji navedenih pet portova. Port B se od ostalih razlikuje posebnom opcijom koju nude cetiri MSB. Ukoliko se setuje bit RBIE u registru INTCON, svaka promena stanja na ovim pinovima generisace prekid mikrokontrolera. 26

28 Port A Port A je 6-to bitni bidirekcioni port i sadrzi pinove od RA0 do RA5. TRISA je direkcioni registar koji odredjuje smer pinova na portu. Ako postavimo TRIS na 1 pin je ulazni, u suprotnom pin je izlazni. Npr. ako je TRISA=0b ceo port A je ulazni, a ako je TRISA=0b000000, ceo port A je izlazni. Moguce je podeliti port A, tako da, na primer, prva 2 bita budu ulazna,a ostala 4 izlazna (TRISA=0b110000). Na slikama 1.19 i 1.20 bice prikazan blok dijagram porta A: Sl.1.19 Port A od RA0 do RA3 i RA5 Sl.1.20 Pin RA4 na portu A Pin RA4 je izlaz sa otvorenim drejnom pa se zahteva od projektanta da veze otpornik odgovarajuce vrednosti za pozitivan napon. Pri tome mora se voditi racuna o strujnom ogranicenju pina o cemu ce biti kasnije reci. Ceo port A ima mogucnost analogno-digitalne konverzije i prvenstveno se korisi u te svrhe. A/D konvertor je 10-to bitni sa 8 ulaznih kanala, jer se u ove svrhe korite i svi pinovi na portu E (i pinovi porta A od RA0 do RA3 i pin RA5). Pin RA4 moze da se izkoristi za ulaznu frekvenciju timer0. Timer0 moze da se okida preko ovog pina na rastucu ili opadajucu ivicu ulaznog signala, sto se odradjuje selekcijom bita T0SE u registru OPTION. Na slici 1.21 dat je tabelarni prikaz funkcija pojedinih pinova porta A i registri koji se koriste za konfigurisanje porta: 27

29 Port B Sl.1.21 tabelarni prikaz registara za konfigurisanje porta A Port B je 8-mo bitni bidirekcioni port. Svi pinovi imaju odgovarajuce bitove u TRISB registru kojim moze da se pinovi konfigurisu kao izlazni ili kao ulazni. 1 u nekom bitu u TRISB registru stavlja odgovarajuci pin u stanje visoke impedanse i on radi kao ulazni pin. 0 u TRISB registru prosledjuje sadrzaj bita iz izlaznog (latch) registra na pin i on radi kao izlazni. Svi pinovi u PORTB imaju pull-up otpornike. Ovi otpornici se mogu ukljuciti jednim kontrolnim bitom. To se radi stavljanjem RBPU' bita na 0. Pull-up otpornici se automatski iskljucuju kad se pin konfigurise kao izlazni. Otpornici su iskljuceni kod Power-on-reset-a. Cetri pina na PORTB (RB7-RB4) imaju mogucnost generisanja interapta. Samo pinovi definisani kao ulazni mogu prouzrokovati interapt. Vrednost na pinovima se poredi sa starom vrednoscu uhvacenoj kod zadnjeg citanja porta B. Nad ovim vrednostima se vrsi OR operacija da bi se generisao interapt na promenu stanaja na PORTB. Ovaj interapt moze probuditi kontroler iz SLEEP rezim rada. Korisnik moze u rutini za obradu prekida ponistiti prekid sledecim postupcima: Citanjem ili pisanjem u PORTB. Ovo ce ukloniti neslaganje na portu i uslov za interapt. Resetovanjem flag bita RBIF. Neslaganje na portu B ce nastaviti da setuje RBIF. Citanje PORTB-a ce prekinuti neslaganje i uslov za interapt i omoguciti resetovanje bita RBIF Kombinacija interapta na promennu stanja PORTB i pull up otpornika se moze iskoristiti za jednostavan interfejs za tastaturu. Da bi promena na U/I pinu bila prepoznata sirina impusa mora da bude majmanje koliko i jedan masinski ciklus (4 * Fosc). Na slikama 1.22 i 1.23 prikazana je struktura PORTB. 28

30 Sl.1.22 Struktura pinova od RB0 do RB3 Sl.1.23 Struktura pinova od RB4 do RB7 Na slici 1.24 su prikazane tabele sa funkcijama pojedinih pinova i registara koji se koriste za konfigurisanje porta B. 29

31 Sl.1.24 Tabela registara koji sluze za konfigurisanje PORTB. Pin RB0 ima mogucnost da izazove prekid mikrokontrolera. Ako je ovaj interapt omogucen (setovan bit 4 (INTE) u INTCON registru) i na RB0/INT pinu se pojavi odgovarajuca ivica (definisana INTEDG bitom OPTION registra) nastupice interapt. Na kraju interapt rutine potrebno je u programu resetovati INTF bit u INTCON registru, kako bi naredni interapt bio moguc. Port C Port C je 8-mo bitni bidirekcioni port. Ovaj port je poseban sto na pinovima RC6 i RC7 ima ugradjen USART modul koji sluzi za serisku komunikaciju (npr. Sa racunarom). Prilikom koriscenja modula za serisku komunikaciju potrebno je softverski konfigurisati pinove RC6 i RC7 tako da budu u funkciji USART modula. Na slikama 1.25 i 1.26 su prikazane blok seme PORTC, a funkcionalna tabela registara koji se koriste za konfigurisanje samog porta data je na slici Sl Struktura pinova od RC0 do RC2 i od RC5 do RC7 30

32 Sl.1.26.Struktura pinova od RC3 i RC4 Sl.1.27 Tabela registara koji sluze za konfigurisanje PORTC 31

33 Port D Port D je 8-mo bitni bidirekcioni port. Ovaj port se moze konfigurisati kao 8-mo bitni paralelni mikroprocesorski port (parallel slave port-psp), podesavanjem konfigurisuceg bita PSPMOTE (TRISC<4>). U tom rezimu rada ulazni bafer je TTL tipa. Na slikama 1.28 i 1.29 je prikazana blok sema PORTD i funkcionalna tabela registara koji se koriste za konfigurisanje samog porta. Sl Struktura porta D Sl.1.29 Tabela registara koji sluze za konfigurisanje PORTD 32

34 Port E Port E je sirine 3 bita.ima mogucnost A/D konverzije.svaki pin porta E moze da se konfigurise softverski kao ulazni ili izlazni. Ulazni bafer je Schmitt Trigger tipa. Pinovi se mogu konfigurisati kao digitalni ili analogni,kao i u slucaju porta A, sto je vec pomenuto. Na slikama 1.30 i 1.31 prikazana je strukturna blok sema PORTE i tabelarni prikaz registara koji sluze za konfigurisanje. Sl.1.30 Struktura porta E 33

35 Sl.1.31 Tabela registara koji sluze za konfigurisanje porta A/D konverzija S obzirom na kontinualnost pojava u spoljasnjem svetu, tesko je upravljati bilo kojim procesom bez digitalizacije analognih velicina. Kao sto smo vec napomenuli PORTA i PORTE imaju mogucnost A/D konverzije sto podrazumeva da se mogu konfigurisati kao analogni ili digitalni. Ako zelimo da koristimo A/D konverziju moramo ukljuciti modul za tu svrhu i podesiti ga na nacin koji nam najvise odgovara. Da bi to uradili potrbno je da pravilno podesimo registre ADCON0 i ADCON1. Zato u nastavku dajemo prikaz tih registara i prikaz tabele koji su potrebni za konfigurisanje. Na slici 1.32 je prikazan je registar ADCON0. Registar ADCON0 sluzi za podesavanje A/D konverzije: frekvencije semplovanja A/D konvertora, kanal koji se koristi za A/D konverziju, pocetak A/D konverzije i ukljucuje se modul za A/D konverziju. Registrom ADCON1 (na slici 1.33) odredjujemo ulogu pojedinih pinova (analogni ili digitalni). Modul za A/D konverziju se bazira na A/D konvertor sa sukcesivni aproksimacijama. 34

36 Sl.1.32 Registar za podesavanje A/D konverzije 35

37 Sl.1.33 Podesavanje tipa kanala (analogni/digitalni) 36

38 2.19. Strujna,naponska i temperaturna ogranicenja U tabeli 1.7 dat je pregled strujnih, naponskih i temperaturnih ogranicenja mikrokontrolera i pojedinih portova. Tabela 1.7: Strujna,naponska i temperaturna ogranicenja mikrokontrolera Radna temperatura ambijenta -55 do +125ºC Napon na pojedinim pinovima u odnosu na Vss (bez Vdd, -0.3V do(vdd+0.3) MCLR i RA4) Temperatura cuvanja mikrokontrolera -65 do +150ºC Napon Vdd u odnosu na Vss -0.3V do +7.5V Napon na MCLR u odnosu na Vss 0 do +14V Napon na RA4 u odnosu na Vss 0 do +8.5 V Ukupna disipacija 1W Maksimalna izlazna struja na pinu Vss 300mA Maksimalna ulazna struja na pinu Vdd 250mA Ulazna struja kroz klamp diode IIK (VI < 0 ili VI > VDD) +/- 20mA Izlazna struja kroz klamp diode IOK (VO < 0 or VO > VDD) +/- 20mA Maksimalna struja koju moze da primi jedan pin 25mA Maksimalna struja koju moze da da svaki pin 25mA Maksimalna struja koju moze port da primi(port A,B,C,D i 200mA E) Maksimalna struja koju moze port da da (port A,B,C,D i E) 200mA Organizacija memorije Strukturu memorije ovog mikrokontrolera cine tri odvojena bloka: 1. Programska memorija 2. Memorija podataka 3. EEPROM memorija podataka Odvojeno od nabrojanoh memorijskih blokova egzistira zasebna struktura magacina (Stack), koji se satoji od osam 13-bitnih registara. Stack pointer se ne moze citati, niti se u njega moze upisivati. Prilikom izvrsenja instrukcije CALL ili prilikom poziva prekida mikrokontrolera, adresa sledece instrukcije se stavlja na magacin. Magacin radi na principu ciklicnog bafera, sto znaci da se u njega mogu staviti osam razlicitih adresa, a da se upisom devete brise prva i tako redom. Programski se ne moze utvrditi da li je doslo do prepunjeja steka. 37

39 Organizcija programske memorije PIC16F877A imaju 13-bitni programski brojac (PC) koji je u mogucnosti da adresira memorijski prostor od 8k programskih reci od 14 bita. Reset vektor je 0x0000 i od njega pocinje izvrsavanje programa. Interapt vektor je 0x0004. Mapa programske memorije i magacin prikazani su na slici Organizacija memorije podataka Sl.1.34 Mapa programske memorije i stack Memorija za podatke je izdeljena u vise celina banki (banks), a sastoji se od registara opste namene (General Purpose Registers) i registara specijalne funkcije (Special Function Registers). U jednom od specijalnih registara, tzv. STATUS registru postoje dva bita RP1 i RP0 koji sluze za odabir zeljene banke podataka po principu prikazanom na slici

40 Sl.1.35.Nacin kodovanja Bank Svaka banka moze da sadrzi do 128 registara (0x7F). Nize lokacije u banci zauzimaju specijalni regisri, a ostatak prostora popunjavaju registri opste namene implementirani kao staticki RAM. Neki specijalni registri koji se cesto koriste mapirani su u sve banke da bi se omogućio brzi pristup i redukcija kôda. Mapa registara mikrokontrolera PIC16F877 prikazana je na slici Nekoliko specijalnih registara su registri jezgra, usko povezani sa funkcionisanjem CPU. Ostali registri su vezani za periferne module i sluze njihovom upravljanju i kontroli statusa. Programski brojač (PC) odredjuje adresu instrukcije u programskom flesu koja ce sledeca biti pribavljena. Rec je o 13-bitnom registru. Simbolicko ime nizeg bajta je PCL. To je registar koji se moze i upisivati i iscitavati. Težih pet bita programskog brojaca smesteni su u izolovani registar PCH kojem se pristupa samo preko leca PCLATH mapiranom u internom RAM-u na adresi 0x0A. STATUS registar je veoma bitan i zato je predvidjeno da se moze adresirati iz bilo koje banke. On pokazuje status aritmeticko-logicke jedinice, reset status mikrokontrolera i sadrzi bite za selekciju banki internog RAM-a. Od navedenih flegova posebno treba izdvojiti Zero bit (Z) koji se postavlja kad je rezultat aritmeticke operacije jednak nuli i bit prenosa/pozajmice Carry (C). Registar OPTION_REG se koristi za konfiguraciju preskalera za tajmer 0 ili Watchdog, za upravljanje tajmerom0, selekciju ivice okidanja eksternog interapta, i za omogucavanje Pull-up otpornika na portu B. Kada je rec o registrima jezgra ne treba zaboraviti par FSR (File Select Register) i INDF (Indirect File), koji sluze za indirektno adresiranje memorije podataka. Bilo koja instrukcija koja se obraca INDF registru ustvari indirektno pristupa onoj lokaciji internog RAM-a cija je adresa trenutno u registru FSR. 39

41 Sl.1.36 Mapa registra PIC16F877 40

42 Interni EEPROM za podatke Ako je potrebno neke podatke sacuvati i po ukidanju napajanja mikrokontrolera, treba ih prethodno zapisati u interni EEPROM. Ova memorija sadrzi 256 bajtova Tajmeri Ove se periferije koriste za merenje vremena i brojanje eksternih dogadjaja. Ugradjena su tri tajmerska modula (TMR 0,1,2) i svaki ima svoje specificnosti. Tajmer0 je jednostavni 8-bitni brojač koji generise interapt pri prelasku sa 0xFF na 0x00 (overflow). Poseduju ga svi nizi PICmicro procesori i ovde je zadrzana kompatibilnost s njima. Izvor takta za tajmer0 moze biti bilo interni sistemski sat (Fosc/4), bilo spoljni generator takta spojen na pin RA4/T0CKI. Moguce je podesiti da se brojac inkrementira na rastucu ili opadajucu ivicu spoljnjeg signala. U kombinaciji sa modulom tajmera 0 moze se koristiti programabilni preskaler (delilac frekvencije) sa odnosima deljenja od 1:2 do 1:256. Ukoliko deljenje nije potrebno preskaler se dodeli watchdog tajmeru. Kada je preskaler u upotrebi maksimalna frekvencija eksternog izvora iznosi 50 MHz sto je vece od maksimalne frekvencije samog mikrokontrolera. Tajmer1 je 16-bitni i takodje je osposobljen da radi kao brojac ili merac vremena. Ima tri izvora takta: sistemski sat (Fosc/4), spoljasnji takt ili spoljasnji kristal. Brojac eksternih dogadjaja moze se sinhronizovati sa internim oscilatorom, a postoji i asinhroni nacin rada koji omogucuje da se brojac inkrementira i u sleep rezimu. Preskaliranje je upotrebljivo sa vrednostima deljenja 1:1, 1:2, 1:4 i 1:8. Tajmer2 je 8-bitni tajmer sa programabilnim preskalerom i postskalerom. Moze biti tajmer/brojac opste namene. Medjutim, potreban je CCP modulu prilikom generisanja PWM signala i modulu za sinhronu serijsku komunikaciju (SSP) kao Baud Rate generator. U kooperaciji sa tajmerom 2 koristi se registar PR2 (Period Register). Kada se vrednost brojaca izjednaci sa vrednoscu upisanom u registar PR2, generise se odgovarajuci interapt CCP moduli CCP je skracenica za Compare/Capture/PWM. PIC16F877A poseduje dva ovakva modula koji mu pomazu da se lakse nosi sa raznim zahtevima real-time aplikacija. U rezimu rada Capture kada se desi dogadjaj na pinu RC2/CCP1 16-bitna vrednost tajmera 1 preslikava se u registre CCPR1H:CCPR1L. Istovremeno se setuje korespondentni interapt fleg u registru PIR1. Da bi ova operacija bila uspesna tajmer1 mora raditi u tajmerskom rezimu ili rezimu sinhronizovanog brojanja. U rezumu rada Compare 16-bitna vrednost registra CCPR1 se stalno poredi sa vrijednoscu para registara tajmera1. Kada dodje do izjednacenja moguce je da se pin RC2/CCP1 setuje, resetuje ili ostane nepromenjen, sto se ranije podesi odgovarajućim konfiguracionim bajtom upisanim u registar CCP1CON. I u ovom slucaju se setuje interapt fleg CCP1IF. U rezimu rada PWM (Pulse Width Modulation) pin RC2/CCP1 proizvodi sirinskoimpulsni modulisani signal rezolucije do 10 bita. Pojednostavljeni blok-dijagram PWM modula dat je na slici

43 Sl.1.37 Pojednostavljeni blok-dijagram PWM modula Period PWM signala odredjuje se upisom u PR2 registar po formuli: PWM_perid = [(PR2)+1]*4*Tosc*TMR2_preskajler Vreme ispune (Duty Cycle Time) menja se upisom u registar CCPR1L i dva bita registra CCP1CON (biti 5 i 4). Time je omogucena maksimalno 10-bitna rezolucija PWM izlaza. Formula za proracun je: PWM_ Duty_Cycle = (CCPR1L:CCP1CON<5:4>)*Tosc*TMR2_preskajler Ostale periferne jedinice Mikrokontroler PIC16F877 poseduje jos nekoliko korisnih periferijskih modula koji ce u ovom odjeljku biti samo kratko spomenuti. Mikrokontroler obicno nije usamljen, nego je deo mreze uredjaja koji trebaju medjusobno komunicirati i razmenjivati podatke. U tu svrhu, on je opremljen sa tri hardverska komunikaciona modula. Prvi od njih je SSP modul (Synchronous Serial Port), koji sluzi za komunikaciju sa serijskim EEPROM-ima, pomerackim registrima, displej-drajverima, itd. Ovaj modul moze raditi u jednom od dva rezima: 1. Serial Peripheral Interface (SPI) 2. Inter-Integrated Circuit (I2C) Drugi serijski komunikacioni modul je USART (Universal Synchronous Asynchronous Receiver Transmiter).On uglavnom sluzi za povezivanje sa personalnim 42

44 racunarom, ali to nije njegova jedina mogucnost primene. USART se moze konfigurisati u neki od sledecih modova rada: 1. Asinhroni rad (full duplex) 2. Sinhroni master rad (half duplex) 3. Sinhroni slave rad (half duplex) Osim serijskih, postoji i jedan paralelni komunikacioni modul. Rec je o modulu PSP (Parallel Slave Port). On sluzi da se PIC16F877 direktno poveze na 8-bitnu magistralu podataka drugog mikroprocesora. Eksterni procesor tada koristeci linije Read (RD) i Write (WR) moze citati i upisivati PORTD registar kao svaki drugi 8-bitni lec Set instrukcija mikrokontrolera PIC16F877A U tabelei 1.8 dat je prikaz instrukcija mikrokontrolera PIC16F877A. Tabela 1.8: Set instrukcija PIC16F877A Instrukcija instr flegovi trajanje ADDWF f, d add W and f C,DC,Z 1 ANDWF f, d AND W with f Z 1 CLRF f Clear f Z 1 CLRW Clear W Z 1 COMF f, d Complement f Z 1 DECF f, d Decrement f Z 1 DECFSZ f, d Decrement f, Skip if 0-1 INCF f, d Increment f Z 1 INCFSZ f, d Increment f, Skip if 0-1 IORWF f, d Inclusive OR W with f Z 1 MOVF f, d Move f Z 1 MOVWF f Move W to f - 1 NOP Operation - 1 RLF f, d Rotate left f through carry C 1 RRF f, d Rotate right f through carry C 1 SUBWF f, d Subtract W from f C,DC,Z 1 SWAPF f, d Swap nibles in f - 1 XORWF f, d Exclusive OR W Z 1 43

45 with f BCF f, b Bit Clear f - 1 BSF f, b Bit Set f - 1 BTFSC f, b Bit Test f, Skip if Clear - 1/2 BTFSS f, b Bit Test f, Skip if Set - 1/2 ADDLW k Add literal and W C,DC,Z 1 ANDLW k AND literal with W Z 1 CALL k Call subrutine - 2 CLRWDT Clear Watchdog Timer TO, PD 1 GOTO k Go to address - 2 IORLW k Inclusive OR literal with W Z 1 MOVLW k Move literal to W - 1 RETFIE Return from interrupt - 1 RETLW k Return with literal in W - 1 RETURN Return from subroutine - 1 SLEEP Go into stanby mode TO, PD 1 SUBLW k Subtract W from literal C,DC,Z 1 XORLW k Exclusive OR literal with W Z 1 1. ADDWF f,d Operandi: f (0-255) d (0-1) Operacija: (W) + (f) (dest) Dodaje sadrzaj registra W sadrzaju registra 'f'. Ako je 'd' = 0 rezultat se smesta u registar W. Ako je 'd'= 1 rezultat se smesta u u registar 'f'. Primer: ADDWF FSR, 0 44

46 Pre instrukcije: W= 0x17 FSR = 0xC2 Posle instrukcije W= 0xD9 FSR = 0xC2 2. ANDWF f,d Operandi: f (0-127) d (0-1) Operacija: (W).AND. (f) (dest) Logicki AND sa sadrzajima reistra W i 'f' Ako je 'd' = 0 rezultat se smesta u registar W. Ako je 'd'= 1 rezultat se smesta u u registar 'f'. Primer 1: ANDWF FSR, 1 Pre instrukcije: W= 0x17 FSR = 0xC2 Posle instrukcije: W = 0x17 FSR = 0x02 Primer 2: Primena ove instrukcije je zgodna ukoliko treba nekoliko bita u nekom registru postaviti da budu 0 a da pritom ostali zadrze svoje stanje. Recimo u PORTB treba ugasiti 2,3 i 6 bit, bez obzira na mjihovo renutno stanje. Ostali bitovi (0,1,4,5,7) treba da zadrze njihovo trenutno stanje.(na izlazu nam treba x0xx00xxb) 45

47 MOWLW b ;u bitove koje gasimo ide 0 ANDWF POTRB, 1 Pre instrukcije: W = b PORTB = b Posle instrukcije: W = b PORTB = b 3. CLRF f Operandi: f (0-127) Operacija: 00h (f) Brise sadrzaj registra 'f' i setuje Z flag. Primer: CLRF FLAG_REG Pre instrukcije: FLAG_REG = 0x5A Posle instrukcije: FLAG_REG = 0x00 Z = 1 4. CLRW Operandi: Operacija: nema 00h (W) Brise sadrzaj registra W i setuje Z.flag Primer: CLRW Pre instrukcije: W = 0x5A Posle instrukcije W = 0x00 Z = 1 46

48 5. COMF f,d Operandi: f (0-127) d (0-1) Operacija: (f) (dest) Pravi komplement sadrzaja registra 'f'. Ako je 'd' = 0 rezultat se smesta u registat W. Ako je 'd'= 1 rezultat se smesta u u registar 'f'. Primer: COMF REG1,0 Pre instrukcije: REG1 = 0x13 Posle instrukcije REG1 = 0x13 W = 0xEC odnosno REG1 = 0b W = 0b DECF f, d Operandi: f (0-127) d (0-1) Operacija: (f) - 1 (dest) Umanjuje zadrzaj registra 'f' Ako je 'd' = 0 rezultat se smesta u registat W. Ako je 'd'= 1 rezultat se smesta u registar 'f'. Primer: DECF CNT,1 Pre instrukcije: 47

49 CNT = 0x01 Z = 0 Posle instrukcije CNT = 0x00 Z = 1 7. DECFSZ f,d Operandi: f (0-127) d (0-1) Operacija: (f) - 1 (dest); preskoci ako je rezultat 0 Umanjuje sadrzaj registra 'f'. Ako je 'd' = 0 rezultat se smesta u registat W. Ako je 'd'= 1 rezultat se smesta u u registar 'f'. Ako je rezultat 0, preskace se operacija koja neposredno sledi. Umesto nje se izvrsava NOP. Instrukcija traje 2 ciklusa. Operacija se koristi za uslovno granjane programa. Primer: OVDE DECFSZ CNT, 1 GOTO PETLJA DALJE Pre instrukcije: PC = adresa OVDE Posle instrukcije CNT = CNT - 1 Ako je CNT = 0 PC = adresa DALJE Ako je CNT <> 0 PC = adresa OVDE

50 8. INCF f, d Operandi: f (0-127) d (0-1) Operacija: (f) + 1 (dest) Uvecava sadrzaj registra 'f' Ako je 'd' = 0 rezultat se smesta u registar W. Ako je 'd'= 1 rezultat se smesta u u registar 'f'. Primer: INCF CNT,1 Pre instrukcije: CNT = 0xFF Z = 0 Posle instrukcije CNT = 0x00 Z = 1 9. INCFSZ f,d Operandi: f (0-127) d (0-1) Operacija: (f) + 1 (dest); preskoci ako je rezultat 0 Uvecava sadrzaj registra 'f'. Ako je 'd' = 0 rezultat se smesta u registar W. Ako je 'd'= 1 rezultat se smesta u u registar 'f'.ako je rezultat 0, preskace se operacija koja neposredno sledi. Umesto nje se izvrsava NOP. Instrukcija traje 2 ciklusa. Operacija se korist za uslovno granjane programa. Primer: OVDE INCFSZ CNT, 1 GOTO PETLJA Pre instrukcije: DALJE

51 PC = adresa OVDE Posle instrukcije: CNT = CNT + 1 Ako je CNT = 0: PC = adresa DALJE Ako je CNT <> 0: PC = adresa OVDE IORWF f,d Operandi: f (0-127) d (0-1) Operacija: (W).OR. (f) (dest) Logicki OR sa sadrzajima reistra W i 'f' Ako je 'd' = 0 rezultat se smesta u registar W. Ako je 'd'= 1 rezultat se smesta u registar 'f'. Primer: IORWF RESULT,0 Pre instrukcije: W = 0x91 RESULT = 0x13 Posle instrukcije: W = 0x13 RESULT = 0x93 Primer 2: Primena ove instrukcije je zgodna ukoliko treba nekoliko bita u nekom registru postaviti da budu 1 a da pritom ostali zadrze svoje stanje. Recimo u PORTB treba ugasiti 2,3 i 6 bit, bez obzira na njihovo renutno stanje. Ostali bitovi (0,1,4,5,7) treba da zadrze svoje trenutno stanje. (Na izlazu nam treba x1xx11xxb) MOWLW b ;u bitove koje palimo ide 1 ANDWF POTRB,1 Pre instrukcije: 50

52 W = b PORTB = b Posle instrukcije: W = b PORTB = b 11. MOVF f,d Operandi: f (0-127) d (0-1) Operacija : (f) (dest) Sadrzaj registra 'f' ce biti stavljen u odredisni registar. Ako je 'd' = 0 rezultat se smesta u registar W. Ako je 'd'= 1 rezultat ce biti smesten u taj isti registar 'f'. Ovo moze da se koristi kao test sadrzaja registra jer ce status Z biti normalno opsluzen. Primer: MOVF FSR,0 Posle instrukcije: W ce imati vrednist FSR registra. 12. MOVWF f Operandi: f (0-127) Operacija: (W) (f) Sadrzaj registra W ce biti stavljen u registar 'f'. Primer: MOVWF OPTION,0 Pre instrukcije: OPTION = 0xFF W = 0x4F Posle instrukcije: OPTION = 0x4F W = 0x4F 51

53 13. NOP Operandi: Nema Operacija: Nema Kontroler jednostavno ne radi nista, osim sto trosi vreme, jer ova instrukcija traje jedan masinski ciklus. Primer: NOP 14. RLF f, d Operandi: f (0-127) d (0-1) Operacija: Rotira sardrzaj registra u levo, i po potrebi setuje C bit u statusnom registru. Ako je 'd' = 0 rezultat se smesta u registar W. Ako je 'd'= 1 rezultat se smesta u u registar 'f'. Primer: RLF REG1,0 Pre instrukcije: REG1 = C = 0 Posle instrukcije REG1 = W = C = RRF f, d Operandi: f (0-127) d (0-1) 52

54 Operacija: Rotira sardrzaj registra u desno, i po potrebi setuje C bit u statusnom registru. Ako je 'd' = 0 rezultat se smesta u registar W. Ako je 'd'= 1 rezultat se smesta u u registar 'f'. Primer: RRF REG1,0 Pre instrukcije: REG1 = C = 0 Posle instrukcije: REG1 = W = C = SUBWF f, d Operandi: f (0-127) d (0-1) Operacija: (f) - (W) (dest) Oduzima sadrzaj registra W od sadrzaja 'f' registra i zavisno od rezultata setuje C bit u statusnom registru.ako je 'd' = 0 rezultat se smesta u registar W. Ako je 'd'= 1 rezultat se smesta u registar 'f'. Primer 1: SUBWF REG1,1 Pre instrukcije: REG1 = 3 W = 2 C =? Posle instrukcije: REG1 = 1 W = 2 C = 1 ; rezultat je pozitivan 53

55 Primer 2: Pre instrukcije: REG1 = 2 W = 2 C =? Posle instrukcije Primer 3: REG1 = 0 W = 2 C = 1 ; rezultat je nula Pre instrukcije: REG1 = 1 W = 2 C =? Posle instrukcije REG1 = FF W = 2 C = 0 ; rezultat je negativan 17. SWAPF f, d Operandi: f (0-127) d (0-1) Operacija: (f <3:0>) (dest <7:4>), (f <7:4>) (dest <3:0>) Visi i nizi nibl u registru 'f' ce zameniti mesta.ako je 'd' = 0 rezultat se smesta u registar W. Ako je 'd'= 1 rezultat se smesta u registar 'f'. Primer: SWAPF REG1,0 Pre instrukcije: 54

56 REG1 = A5 Posle instrukcije: REG1 = A5 W = 5A 18. XORWF f, d Operandi: f (0-127) d (0-1) Operacija: (W).XOR. (f) (dest) Logicki ekskluzivni OR sa sadrzajima reistra W i 'f'ako je 'd' = 0 rezultat se smesta u registar W. Ako je 'd'= 1 rezultat se smesta u registar 'f'. Primer: XORWF REG,1 Pre instrukcije: W = B5 RESULT = AF Posle instrukcije: W = B5 RESULT = 1A 19. BCF f, b Operandi: f (0-127) b (0-7) Operacija: 0 (f<b>) Resetuje bit 'b' u registru 'f'. Primer: BCF FLAG_REG, 7 55

57 Pre instrukcije: FLAG_REG = C7 Posle instrukcije: FLAG_REG = BSF f, b Operandi: f (0-127) b (0-7) Operacija: 1 (f<b>) Setuje bit 'b' u registru 'f'. Primer: BSF FLAG_REG, 7 Pre instrukcije: FLAG_REG = 0A Posle instrukcije FLAG_REG = 8A 21. BTFSC f, b Operandi: f (0-127) b (0-7) Operacija: Preskoci ako je (f<b>) = 0. Ako je bit 'b' u registru 'f' nula tada ce naredna instrukcija biti preskocena.ako je bit 'b' nula, instrukcija koja neposredno sledi se ne izvrsava. Umesto nje se izvrsava NOP i u tom slucaju instrukcija traje dva ciklusa. Primer: OVDE BTFSC FLAG,1 NIJE GOTO RUTINA1 NASTAVI Pre instrukcije: 56

58 PC = adresa OVDE Posle instrukcije Ako je FLAG<1> = 0 PC = adresa NASTAVI Ako je FLAG<1> = 1 PC = adresa NIJE 22. BTFSS f, b Operandi: f (0-127) b (0-7) Operacija: Preskoci ako je (f<b>) = 1. Ako je bit 'b' u registru 'f' setovan tada ce naredna instrukcija biti preskocena.ako je bit 'b' setovan, instrukcija koja neposredno sledi se ne izvrsava. Umesto nje se izvrsava NOP i u tom slucaju instrukcija traje dva ciklusa. Primer: OVDE BTFSC FLAG,1 NIJE GOTO RUTINA1 NASTAVI Pre instrukcije: PC = adresa OVDE Posle instrukcije: Ako je FLAG<1> = 0 PC = adresa NIJE Ako je FLAG<1> = 1 PC = adresa NASTAVI 23. ADDLW k Operandi: k (0-255) 57

59 Operacija: (W) + k (W) Sadrzaju registra W bice dodata osmobitna vrednost literala 'k', i rezultat ce biti smesten u registar W. Primer: ADDLW 15 Pre instrukcije: W = 10 Posle instrukcije W = ANDLW k perandi: k (0-255) Operacija: (W).AND. (k) (W) Sa sadrzajem registra W i osmobitnom vrednosti literala 'k' bice izvrseno logicko.and. i rezultat ce biti smesten u registar W. Primer: ADDLW 5F Pre instrukcije: W = A3 Posle instrukcije: W = 03 Primer 2: Primena ove instrukcije je zgodna ukoliko treba nekoliko bita u nekom registru postaviti da budu 0 a da pritom ostali zadrze svoje stanje. Recimo u PORTB treba ugasiti 1,4 i 5 bit, bez obzira na njihovo renutno stanje. Ostali bitovi (0,2,3,6,7) treba da zadrze svoje trenutno stanje. (Na izlazu nam treba x0xx00xxb) ANDLF b ; u bitove koje gasimo ide 0 58

60 Pre instrukcije: W = b Posle instrukcije: W = b 25. CALL k Operandi: k (0-2047) Operacija: (PC) + 1 TOS k (PC<10:0>), (PCLATH<4:3>) (PC<12:11>) Poziv podprograma. Najpre se adresa povratka (PC+1) smesta na stek.jedanaest bitova direktne adrese smestaju se u PC<10:0> a visi bitovi PC-a se ucitavaju iz PCLATH. Ova instrukcija traje dva ciklusa. Primer: OVDE CALL TAMO Pre instrukcije: PC = adresa OVDE Posle instrukcije PC = adresa TAMO TOS = adresa OVDE 26. CLRWDT Operandi: Operacija: nema 00h WDT 0 WDT preskaler 1 TO 1 PD Resetuje watchdog tajmer. Takodje resetuje preskaler za WDT isetuje bitove TO' i PD'. Primer: CLRWDT 59

61 Pre instrukcije: WDT =? Posle instrukcije WDT = 0 WDT preskaler = 0 TO' = 1 PD' = GOTO k Operandi: k (0-2047) Operacija: k (PC<10:0>) (PCLATH<4:3>) (PC<12:11>) Naredba bezuslovnog skoka (granjanja). Jedanaest bitova adrese neposredno iza instrukcije bice upisano u PC<10:0>, visi bitovi PC-a ce biti upisani iz PCLATCH<4:3>. Instrukcija traje dva ciklusa. Primer: GOTO TAMO Posle instrukcije PC = adresa TAMO 28. IORLW k Operandi: k (0-255) Operacija: (W).OR. (k) (W) Sa sadrzajem registra W i osmobitnom vrednosti literala 'k' bice izvrseno logicko.or. i rezultat ce biti smesten u registar W. Primer: IORLW 35 Pre instrukcije: W = 9A 60

62 Posle instrukcije W = BF Primer 2: Primena ove instrukcije je zgodna ukoliko treba nekoliko bita u nekom registru postaviti da budu 1 a da pritom ostali zadrze svoje stanje. Recimo u PORTB treba ugasiti 1,4 i 5 bit, bez obzira na njihovo renutno stanje. Ostali bitovi (0,2,3,6,7) treba da zadrze svoje trenutno stanje. (Na izlazu nam treba x1xx11xxb) IORLF b ; u bitove koje gasimo ide 1 Pre instrukcije: W = b Posle instrukcije: W = b 29. MOVLW k Operandi: k (0-255) Operacija: (k) (W) Osmobitna vrednost 'k' bice smestena u registar W. Primer: MOVLW 5A Posle instrukcije W = 5A 30. RETFIE Operandi: Operacija: nema TOS (PC) 1 GIE Uzima se vrednost sa vrha steka (TOS) i stavlja u PC. Dalji interapt je omogucen automatskim setovanjem bita GIE (Global Interapt Enable). Instrukcija traje dva ciklusa. Primer: RETFIE 61

63 Posle instrukcije PC = TOS GIE = RETLW k Operandi: k (0-255) Operacija: k W TOS (PC) Registar W uzima osmobitnu vrednost literala 'k'. PC uzima vrednost sa vrha steka (adresa povratka) Instrukcija traje dva ciklusa. Primer: CALL TABELa ;W sadrzi offset vrednost tabele -- ;W sada zahtevanu ima vrednost iz -- ;tabele TABELA ADDWF PC ;W = offset RETLW k1 ;Pocetak tabele RETLW k2 RETLW k3 RETLW k4 Pre instrukcije W = 04 Posle instrukcije W = k4 32. RETURN Operandi: Operacija: nema TOS (PC) Povratak iz podprograma. Uzima se vrednost sa vrha steka (TOS) i stavlja u PC. Instrukcija traje dva ciklusa. Primer: RETURN 62

64 Posle instrukcije PC = TOS 33. SLEEP Operandi: Operacija: nema 00h WDT 0 WDT preskaler 1 TO 0 PD Power down bit (PD ) se resetuje. Setuje se bit Time-out (TO ). Watchdog Timer i njegov preskaler se resetuju i procesor ide u SLEEP mod sa zaustavljenim oscilatorom. Primer: SLEEP 34. SUBLW k Operandi: k (0-255) d (0-7) Operacija: (W) - k (W) Od sadrzaja registra W bice oduzeta osmobitna vrednost literala 'k',i rezultat ce biti smesten u registar W. Primer: SUBLW 02 Pre instrukcije: W = 1 C =? Posle instrukcije W = 1 C = 1 ; rezultat je pozitivan 63

65 Pre instrukcije: W = 2 C =? Posle instrukcije W = 0 C = 1 ; rezultat je nula Pre instrukcije: W = 3 C =? Posle instrukcije W = FF C = 0 ; rezultat je negativan 35. XORLW k Operandi: k (0-255) Operacija: (W).XOR. (k) (W) Sa sadrzajem registra W i osmobitnom vrednosti literala 'k' bice izvrseno logicko.xor. i rezultat ce biti smesten u registar W. Primer: XORLW AF Pre instrukcije: W = B5 Posle instrukcije W = 1A 64

66 2.25. Deo za povezivanje LCD-a Siroku primenu u savremenim mikrokontrolerskim sistemima postigli su LCD displeji koji pored prikaza numerickih karaktera imaju u sebi implementiran ceo ASCII alfabet, kao i razne specijalne znake. Postoje razliciti tipovi alfanumerickih LCD displeja, ali najveci procenat se bazira na istom cip-setu tipa Hitachi HD Iz tog razloga displeji koji su kompatibilni sa HD44780 mogu koristiti iste softverske rutine, bez obzira na tip ili proizvidjaca. U konkretnom resenju za povezivnje LCD-a koriscena su sledeca tri konektora: 1. konektor za prenos podtaka, LCD_DATA; 2. konektor kojim se predaju komande LCD-u, LCD_DATA1; 3. konekor za napajanje, LCD_NAP. LCD displej je instaliran na gornjrm desnom uglu osnovne ploce. Regulacija osvetljaja LCD displeja ostvarena je preko potenciometra R24 nominalne vrednosti 10k. Nacin povezivanja LCD displeja na napajanje i interfejsa, za regulaciju osvetljaja prikazan je na slici na slici sl.1.38.: Sl Povezivanje LCD displeja na napajanje i interfejsa za regulaciju osvetljaja LCD displej je formata 2x16 karaktera. Svaki karakter moze da prikaze maksimalno 7x9 osnovnih elemenata. Format prikaza karaktera je programabilan i definise se na pocetku prikaza informacije u redu. Pristup displeju radi upisa karaktera ostvaruje se preko 14-to pinskog konektora, paralelnim pristupom 8-mo bitnog podatkana nozicama od D7 do D14 (vidi sliku 1.39 i 1.40 ). 65

67 Sl Fizicki izgled organizacije prikaza LCD-a i adresne organizacije memorije za prikaz Funkcija i namena svakog od pina na konektoru LCD displeja je definisana na slici Sl Raspored i funkcije pinova konektora LCD-a Ukazacemo sada na princip rada LCD displeja. Sa mikrokontrolerom LCD displej komunicira preko sledece dve magistrale: 66

68 dvosmerne magistrala za podatke, D0 do D7, preko ovih linija mikrokontroler moze da upisuje u ili cita podatke iz LCD displeja jednosmerne upravljacke magistrale cine je linije RS, R\W i E. Signal E kada je aktivan (E=1) dozvoljava rad displeja. Signal R\W definise operaciju citanja ili upisa (R\W=1 obavlja se operacija citanja, u suprotnom je upis). Signalom RS definise se kom se registru vrsi pristup, kada je RS =1 registrima za podatke nazvanih DDRAM-a (Display Data Ram) i CGRAM-a (Character Generator Ram), a kada je RS=0 pristupa se komandnom registru. Upisom u DDRAM podaci se prikazuju na ekranu LCD-a. CGRAM prikazuje karaktere na displeju u matricno tackastoj formi. Sadrzaj CGRAM-a je moguce softverski menjati, tako da se mogu prikazati forme karaktera kreiranih po zelji korisnika. Internu memoriju LCD displeja koja se koristi za prikaz karaktera cine dva reda od po 40 lokacija(vidi sliku 2.14). U svakoj lokaciji se memorise po jedan karakter, a ukupno je vidljivo 16 karaktera, a nevidljivo 24. To znaci da je moguce ostvariti horizontalno pomeranje informacija u toku prikaza. Na slici prikazane su adrese vidljivih lokacija na LCD displeju, pri cemu se pocetna adresa prikaza definise komandom za prikaz u fazi inicijalizacije. Sl Dvoredni smart LCD U cilju ustede broja pinova kojim se LCD displej povezuje na mikrokontroler projektanti cesto koriste cetvorobitni rezim rada komuniciranja. Naime, umesto da se vrsi istovremeni prenos svih osam bitova karaktera prenos se ostvaruje na nivou niblova, i to tako sto se prvo prenosi MS a nakon toga LS nibl. Treba pri ovome naglasiti da se cetvorobitni rezim komuniciranja definise odgovarajucom komandom u fazi inicijalizacije. Na ovaj nacin umesto da se povezivanje ostvari sa 11, realizuje se sa 7 linija. Ako se LCD koristi samo za prikaz poruka, pin RW se može povezati na masu i broj potrebnih pinova je tako smanjen na 6. Na slici je pikazno povezivanje LCD-a sa PIC16F877A u 4-bitnom rezimu komuniciranja. U konkretnoj realizaciji koriscen je PORT D i to tako da su za prenos podataka iskorisceni pinovi od RD4 do RD7, a za upravljanje radom displeja pinovi RD2 i RD3. 67

69 Sl Nacin povezivanja LCD-a i mikrokontrolera LCD displej je programibilna periferija, pa kao takva podrzava odredjeni skup komandi. Spisak komandi i funkcije koje obavljaju te komande prikazan je na slici

70 Sl Tabela instrukcija LCD-a 3. MIKROC KOMPAJLER ZA PIC MIKROKONTROLERE MikroC prestavlja mocan softverski alat, koji je razvila beogradska Mikroelektronika, i namenjen je pisanju koda za Microchip-ove PIC mikrokontrolere. Koristeci mikroc, programeru je omogucen jednostavan nacin da kontrolise proces programiranja i napravi kvalitetan firmware. Osnovne karakteristike programa mikroc su sledece: Pisanje C koda koriscenjem kvalitetnog editora, sto se ogleda automatskom kontrolom i upozorenjima vezanim za sintaksu koda, koriscenih parametara, kao i automatskoj korekciji pojedinih gresaka Preglednost strukture programa (koda), promenljivih i funkcija omogucava Code explorer Jasan asemblerski kod i standardna kompatibilnost generisanih HEX datoteka toka progra-ma preko ugrađeg debagera (debugger) Programer ima na raspolaganju veliki broj integrisanih biblioteka i rutina, koje znacajno ubrzavaju pisanje programa Detaljan izvestaj i graficko predstavljanje RAM i ROM mape, statistike koda i slicno. Moramo da napomenemo kako mikroc odstupa od ANSI standarda u nekoliko segmenata. Neka odstupanja su nacinjena su u cilju da se olaksa programiranje, dok su druge rezultat hardverskih ograni-cenja PIC mikrokontrolera. Pomenucemo neke specificnosti: Rekurzivne funkcije (function recursion) su podrzane sa izvesnim ogranicenjima, koja su posledica nesto slozenijeg pristupa magacinu (stack) i ogranicenja vezana za memoriju Pokazivaci (pointers) promenljivih i pokazivaci konstanti nisu kompatibilni, tj. nije moguca međusobna dodela ili upoređivanje mikroc tretira oznacavanje const kao true constans (kod C++), sto omogucava koris-cenje const objekta na mestima gde ANSIC ocekuje constant izraz.ukoliko se tezi ka pre-nosivosti programa, treba koristiti tradicionalno pretprocesorsko definisanje konstanti mikroc dozvoljava C++ stil jednolinijskih komentara, koristeci dve kose crte (//). Komentar moze da pocne bilo gde i traje do sledece nove linije programskog koda Brojne standardne C biblioteke (ctype, math, stdlib, string ) implementirane su u mikroc, uz individualna odstupanja Napominjemo da mikroc podrzava gotovo sve PIC mikrokontrolere serija 12, 16 i 18. Izuzetak su mikrokontroleri koji imaju staro hardversko jezgro kao na primer PIC12C508, PIC12F508, PIC12C509, PIC12F509 itd. Inace, ogranicena verzija (do 2KB programa) moze da s preuzme sa sajta Mikroelektronike ( U 69

71 slicaju ako se zeli potpuna verzija (neogranicen kapacitet programa), mora da se plati licenca od 250$ Instalacija Ovde cemo preko Slika ilustrovati proces instaliranja mikroc-a. Inace, instalacija traje 30 sekundi. Posle instalacije treba pokrenuti mikroc, a to se najjednostavnije ostvaruje klikom na ikonicu: Sl Pocetak procesa instalacije se ostvaruje klikom na izvrsni fajl mikroc_..._.exe 70

72 Sl Sada treba kliknuti na komandno dugme NEXT Sl Prihvatanje uslova licenciranja i zatim treba kliknuti na komandno dugme NEXT 71

73 Sl Izbor programatora (PicFlash), gotovih primera i zatim klik na komandno dugme NEXT 72

74 Sl Izbor foldera za smestanje programa i klik na komandno dugme NEXT 3.2. Kreiranje koda U narednim redovima bice ilustrovan postupak kreiranja koda u mikroc-u (Slike 32-39). 73

75 Sl Izgled editora po startovanju programa mikroc Sl Kreiranje novog projekta preko opcije Project New Project 74

76 Sl Podesavanje parametara novog projekta (naziv, tip mikrokontrolera, takt, parametri kontrolera) Sl U editor treba uneti program (kod) mikrokontrolera 75

77 Sl U editor je unet za primer Soft_UART program Sl Sada treba izvrsiti prevođenje (compile) programa preko opcije Project Build 76

78 Sl Izgled prozora posle kompilacije sa izvestajem (Messages) Sl Kao produkti prevođenja (kompilacije/kompajliranja) generise se nekoliko fajlova: asemblerski kod (ASM), heksadecimalni kod (HEX), izvestaji itd 77

79 4. PROGRAMIRANJE MIKROKONTROLERA PIC18F AllPic programator Da bi se heksadecimalni kod dobijen iz kompilatora/kompajlera (compiler) upisao u mikrokon-troler, neophodno je posedovati programator. Programator cine dve celine: bootstrap loader (hardver-ski deo) i softver (za programiranje firmware-a). Uloga bootstrap loader-a je da transformise naponske nivoe porta (DB9, DB25 ili USB) na nivoe standardne logike, dok je uloga softvera da upise heksadecimalni kod u programsku (najcesce: EPROM ili flash) memoriju mikrokontrolera. Za potrebe ovog rada korisceni su bootstrap loader ALLPIC i softver IC-Prog Elektricna sema bootstrap loader-a, ciji je autor Danijel Dabic, prikazana je na slici 1.57, a izgled plocice i gotov uređaj na slikama 1.58 i 1.59, respektivno Sl Elektricna sema ALLPIC bootstrap loader-a Sl Izgled stampane plocice ALLPIC-a 78

80 Sl Izgled ALLPIC-a 4.2.Softvare Ic-Prog Za programiranje mikrokontrolera PIC18F4550 moze da se koristi softver IC- Prog. Inace, ovaj softver je kompatibilan sa mnogim bootstrap loader-ima, kao sto su JDM Programmer, TAFE Programmer, TAIT Programmer, Conquest Programmer, ProPIC 2 Programmer itd. IC-Prog poseduje mogucnost citanja, upisa i verifikacije (Read, Write, Verify) sadrzaja mikrokontrolera. Narav-no, softver dozvoljava mogucnost podesavanja parametara (WDT, PWRT, BODEN, LVP, CPD, CO, Debugger), kao i izbor oscilatora (RC, LP, XT, HS). Program IC-Prog se ne instalira na racunaru, vec se pokrece direktno tacnije, klikom na fajl ICPROG.EXE (Sl. 1.60). Sl Pokretanje softvera IC-Prog Ako programer ima racunar sa verzijom Windows-a «visom» od Windows-a 98, odmah po star-tovanju progra-ma IC-Prog na ekranu ce se pojaviti prozor sa upozorenjem, koji je prikazan na Sl Razlog je sto su kod svih Windows-a sa platformom NT zasticeni portovi. Zbog toga je neophodno da se instalira odgovarajuci drajver. Sl Upozorenje prilikom pokretanja programa 79

81 Ulaskom u podmeni Misc, koji se nalazi u meniju Options, ostvaruje se instaliranje/ukljucivanje drajvera icprog.sys (Settings Options Misc: Enable 2000/NT/XP), sto je ilustrovano na Sl Na taj nacin omogucava se pristup serijskom portu racunara. Isto tako, neophodno je da se prioritet programiranja postavi ili na High ili na Realtime, a nikako na Normal. Ovo potonje je veoma bitno. Naime, program po startovanju automatski podesi normalan prioritet i ukoliko se ne promeni na High ili Realtime, racunar ne moze da pristupi PIC mikrokontrolerima preko serijskog porta. Sl Ukljucivanje drajvera i prioriteta Nakon sto je instaliran/ukljucen drajver, program ce se restartovati i ponudice opciju podesavanja hardverskih parametara, koji treba da budu postavljeni kao na Sl IC-Prog ima slicnu konfigura-ciju kao JDM Programmer, signali su bez inverzije dok se komunikacija obavlja preko, na primer, serijskog porta COM2. Ako racunar ima samo jedan serijski port, podrazumeva se da je to COM1. 80

82 Sl Podesavanje parametara programa Najpre treba izabrati mikrokontroler PIC18F4550 (obelezeni padajuci meni u gornjem desnom uglu osnovnog prozora programa), a potom ucitati heksadecimalni kod klikom na opciju Open File iz menija File - sto je ilustrovano na Slikama 1.64, 1.65 i (Napomena: Heksadecimalni kod se dobija kompilacijom programa koji je napisan na nekom visem programskom jeziku (C, Pascal, Basic itd.) ili na asembleru. Visi programski jezici za mikrokontrolere imaju izvesne specificnosti u odnosu na stan-dardne programske jezike, ali ovde te specificnosti nece biti razmatrane.) 81

83 Sl Upisivanje/ucitavanje koda u bafer programa Sl Upisivanje/ucitavanje fajla projekat.hex koji sadrzi kod 82

84 Ulaskom u meni Command i startovanjem opcije Program All (Sl. 49). Zapravo, proces pro-gramiranja podrazumeva da se sadrzaj bafera programa (Sl. 48) upise u flash memoriju naseg mikro-kontrolera. Naravno program ce postaviti pitanje, tj. mogucnost da se izabere da li da otpocne proces progra-miranja ili da se od njega odustane (Sl. 1.67). Ukoliko se izabere programiranje, program ce obrisati prethodni sadrzaj flash memorije mikrokontrolera i u nju prepisati sadrzaj bafera programa, ciji se je-dan deo vidi na Sl Napredak proces programiranja, a potom i verifikacije programiranja je ilustrovan na Sl Ukoliko je proces uspesno okoncan, na ekranu ce se pojaviti prozor kao na Sl u suprotnom, izgled prozora ce biti kao na Sl Sl Startovanje programiranja mikrokontrolera Sl Mogucnost da se prekine proces programiranja 83

85 Sl Proces programiranja, a zatim i verifikacije Sl Poruka nakon uspesnog programiranja Sl Poruka nakon neuspesnog programiranja 84

86 5. Hardverska realzacija Za hardversku realizaciju koriscen je programski paket Protel 99 Se. Sistem se sastoji od mikrokontrolera PIC16F877, kao centralnog elementa, koji ima ulogu da opslužuje komunikaciju sa karticom i kontrroliše LED koja signalizira čitanje kartice. Sistem koristi napajanje sa adaptera. Za ovakvo rešenje smo odlučili iz razloga što sistem nije veliki potrošač. Na slici 1.71 prikazana je elektična šema celokupnog sistema. Na LCD displeju prikazujemo informacije koje se nalaze na kartici. Tu se misli na serijski broj kartice i kredit koji je preostao na kartici. Pored toga na njemu ispisujemo pratece poruke koje pomazu korisniku tokom rukovanja sa sistemom. Na ploci sistema postoji mikro taster koji sluzi za resetovanje celog sistema kada je to potrebno. Tranzistor Q3 sluzi kao prekidac napona napajanja kartice. Napon na kartici je prisutan samo za vreme iscitavanja. Prisustvo napona napajanja kartice signalizira dioda D4. 85

87 Dioda D5 signalizira napon napajanja celog sistema. Sistem radi sa oscilatorom od 8MHz, sto je sasvim dovoljno za brzo citanje kartice. Brzina citanja karice moze i da se poveca, frekvencija isčitavanja kartica može da bude od 3,57 MHz pa sve do 12 MHz, ali mislimo da je ova brzina dovoljna za laboratorijske potrebe, jer neke kartice novije generacije ipak ne mogu izdržati na naponu od 5v veće frekvencije rada tako da na ovaj način se i kartice štite od pregorevanja. Potenciometar R2 sluzi za regulaciju kontrasta LCD-a. Kontrast se povecava smanjivanjem napona na pinu VEE LCD-a a smanjuje povecavanjem napona na pinu VEE-LCD-a. Na slici 1.72 prikazan je izgled stampane ploce sistema. Prilikom projektovanja stampane ploce vodjeno je racuna o bezbednosti prilikom koriscenja sistema, o malim gabaritima ploce kao i o funkcionalnosti sistema, tj. da bude jednostavan i praktican za rukovanje. 86

88 Sl

89 Na slici 1.73 je prikazan raspored elemenata na gornoj strani plocice. Sl

90 6. SOFTVER 6.1. Softver mikrokontrolera Kao sto je vec napomenuto ranije softver za mikrokontroler je radjen u MikroC-u. Algoritam programa prikazan je: Na početku programa definišemo parametre odznačaja za izvršenje programa i definišemo promenjive koje kasnije koristimo. 89

91 Potprogram lcdkredit prikazuje tekući kredit na alfanumeričkom displeju. Algoritam potprograma je: Potprogram vrši izdvajanje cifre iz decimalnog broja i prikazuje je na alfanumeričkom displeju. 90

92 Potprogram shift_in vrši konverziju binarnog broja u decimalni. Ovaj potprogram ima ulogu kod čitanja serijskog broja kartice. Potprogram shift_in_kredit broji broj jedinica u isčitanm bajtu podataka. Njegova uloga je na osnovu broja jedinica u bajtu sračuna preostali kredit na kartici. Potprogram cip_card_read vrsi čitanje kartice i prikaz preostalog kredita na alfanumeričkom displeju. Njegov algoritam je: 91

93 Njegov listing sa komentarina prikazan je: #define nap PORTC.F4 #define clk PORTD.F0 #define res PORTD.F1 #define out PORTD.F2 #define det PORTD.F3 unsigned char kartica, det_jednom,q,broj,privremeno; unsigned char eep_sifra_temp[4]={0x33,0x44,0x21,0x55}; char text[4], text1[7]; void interrupt() { if(intcon.t0if) //prvi put ubacena kartica { if(det==1) // kada ima kartice det=1 { kartica=1; } else { kartica=0; } INTCON.T0IF=0; } } void Lcd_kredit(unsigned int kred) { int temp; if(kred>10000) { temp=(kred/10000); Lcd_Chr(2,1,temp+48); kred=kred temp*10000; } else { Lcd_Chr(2,1,0+48); } if(kred>1000) 92

94 { temp=(kred/1000); Lcd_Chr_Cp(temp+48); kred=kred temp*1000; } else { Lcd_Chr_Cp(0+48); } if(kred>100) { temp=(kred/100); Lcd_Chr_Cp(temp+48); kred=kred temp*100; } else { Lcd_Chr_Cp(0+48); } Lcd_Chr_Cp(46); if(kred>10) { temp=(kred/10); Lcd_Chr_Cp(temp+48); kred=kred temp*10; } else { Lcd_Chr_Cp(0+48); } Lcd_Chr_Cp(kred+48); Lcd_Chr_Cp(32); } unsigned char shift_in() { unsigned char n,k,dat; k=128; dat=0; for(n=1;n<=8;n++) 93

95 { clk=1; if(!out) { dat=dat+k; } Delay_ms(2); clk=0; k=k>>1; } return(dat); } unsigned char shift_in_kredit() { unsigned char n,g; g=8; for(n=1;n<=8;n++) { clk=1; if(!out) { g ; } Delay_ms(2); clk=0; } return(g); } void chipcard_read() { unsigned int kredit, temp_kredit, m; unsigned char i; if(kartica) { if(det_jednom) { Lcd_Cmd(Lcd_CLEAR); det_jednom=0; 94

96 nap=0; Delay_ms(100); Delay_ms(100); clk=0; res=0; Delay_ms(100); clk=1; res=1; Delay_ms(2); res=0; clk=0; Delay_ms(2); for(i=1;i<=32;i++) // preskacemo prva 4 bajta { clk=1; Delay_ms(1); clk=0; Delay_ms(1); } for(i=0;i<=3;i++) //citamo serijski broj { eep_sifra_temp[i]=shift_in(); } for(i=0;i<=3;i++) { ByteToStr(eep_sifra_temp[i],text); Lcd_Out(1,((i*4)+1),text); } kredit=0; m=4096; for(i=0;i<=4;i++) { kredit=kredit+m*shift_in_kredit(); m=m/8; } temp_kredit=(kredit*2); Lcd_kredit(temp_kredit); Lcd_Out_Cp("Dinara"); nap=1; broj=1; clk=0; res=0; 95

97 } } else { } if((!det_jednom)&&(broj==1)) { Lcd_Cmd(Lcd_CLEAR); Lcd_Out(1,1,"Ubacite"); Lcd_Out(2,1,"Karticu"); broj=broj+1; if(broj>2) broj=2; } det_jednom=1; nap=1; } void main(void) { INTCON.GIE=0; OPTION_REG=0x00; INTCON.T0IE=1; TRISA=0x00; PORTA=0X00; TRISB=0x00; PORTB=0x00; TRISC=0x00; PORTC=0x00; TRISD=0xFC; PORTD=0x00; det_jednom=1; Lcd_Config(&PORTB,2,3,1,7,6,5,4); //rs,en,wr,d7,d6,d5,d4 Lcd_Cmd(Lcd_CLEAR); Lcd_Cmd(Lcd_CURSOR_OFF); broj=1; clk=0; res=0; nap=1; //iskljucujemo napajanje Lcd_Out(1,1,"Dobrodosli"); Delay_ms(500); Delay_ms(500); Delay_ms(500); Lcd_Cmd(Lcd_CLEAR); 96

98 Lcd_Out(1,1,"PROJEKAT"); Lcd_Out(2,1,"MIPS"); Delay_ms(500); Delay_ms(500); Delay_ms(500); Lcd_Cmd(Lcd_CLEAR); Lcd_Out(1,1,"Ubacite"); Lcd_Out(2,1,"Karticu"); INTCON.GIE=1; } while(1) { //test(); chipcard_read(); } 97

99 7. PRILOZI 7.1. ALLPIC programator Univerzalni programator Microchip PIC mikrokontrolera Programator je namenjen programiranju većine serijskih PICmikrokontrolera. Pomenućemo samo neke od najpoznatijih: PIC16F8x, PIC16F62x, PIC16F87x, PIC12C50x, PIC12F6xx itd. Hardver je zasnovan na već oprobanom i veoma popularnom serijskom programatoru Pony Prog OPIS UREĐAJA Sa šeme veza (Slika 1) vidi se jednostavnost, kao i kompaktnost uređaja. Uređaj se povezuje sa PC računarom putem RS232 serijskog porta, koji standardno postoji na većini današnjih PC računara. Za rad programatora potreban je i slabiji izvor napona napajanja oko 15 V. Dioda Dl na ulazu za napajanje je predviđena kao zaštita od pogrešnog priključenja polariteta izvora za napajanje. Izvor može biti i naizmenični napon, ukoliko vam je takav pri ruci. Stabilizator napona 78L05 obezbeđuje 5 V napon potreban za napajanje mikrokontrolera, dok se Vppnapon (aprox. 13V) generiše pomoću zener diode D3. Ostatak kola čine tranzistori NPN i PNP, univerzal nog tipa, kao i propratne zener diode D5 i D6 i otpornici R4 i R5 koji obezbeđuju TTL logičke nivoe (5V) potrebne za programiranje mikrokontrolera. Razlika u odnosu na postojeće programatore koji se mogu sresti na internetu (Pony prog, JDM) je upravo u delu kola koga čine T3, T4 i JPl sa pratećim elementima. Kod starih modela programatora (Pony, JDM,...) javlja se problem ako je potrebno reprogramirati PIC koji je prethodno programiran sa uključenim ;INT/RC; i uključenim internim MCLR, u FUSES podešavanjima. U tom slučaju PONY programator ne može ni da obriše PIC jer nije ispoštovana procedura preporučena od strane proizvođača mikrokontrolera, koja se odnosi na to da se Vdd (+5 V) napon sme pojaviti tek nakon uspostavljanja MCLR (+13 V) programskog napona. Jedino je sa ovakvim sistemom moguće da PIC uđe u programski mod i da se ponovno reprogramira. Sve navedene osobine poseduje AllPIC. Međutim stari 98

RAZVOJNI SISTEM ZA MIKROKONTROLER PIC 16F877A

RAZVOJNI SISTEM ZA MIKROKONTROLER PIC 16F877A Elektronski fakultet u Nisu Mikroprocesorski sistemi RAZVOJNI SISTEM ZA MIKROKONTROLER PIC 16F877A Mentor: Prof.Dr Mile Stojcev Studenti: Branislav Dimirijevic, Slobodan Aleksic, Ivan Antic Sadrzaj: UVOD------------------------------------------------------------------------------------

Διαβάστε περισσότερα

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET Goran Stančić SIGNALI I SISTEMI Zbirka zadataka NIŠ, 014. Sadržaj 1 Konvolucija Literatura 11 Indeks pojmova 11 3 4 Sadržaj 1 Konvolucija Zadatak 1. Odrediti konvoluciju

Διαβάστε περισσότερα

PROGRAMABILNI POJAČAVAČ

PROGRAMABILNI POJAČAVAČ Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku PROGRAMABILNI POJAČAVAČ Mentor: Student: Prof. Dr Mile Stojčev Ivan Mitić 10553 Sadržaj 1. Mikrokontroleri... 4 1.1 Mikroprocesori i mikrokontroleri...

Διαβάστε περισσότερα

3.1 Granična vrednost funkcije u tački

3.1 Granična vrednost funkcije u tački 3 Granična vrednost i neprekidnost funkcija 2 3 Granična vrednost i neprekidnost funkcija 3. Granična vrednost funkcije u tački Neka je funkcija f(x) definisana u tačkama x za koje je 0 < x x 0 < r, ili

Διαβάστε περισσότερα

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA ELEKTROTEHNIČKI FAKULTET U BEOGRADU KATEDRA ZA ELEKTRONIKU OSNOVI ELEKTRONIKE SVI ODSECI OSIM ODSEKA ZA ELEKTRONIKU LABORATORIJSKE VEŽBE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA Autori: Goran Savić i Milan

Διαβάστε περισσότερα

nvt 1) ukoliko su poznate struje dioda. Struja diode D 1 je I 1 = I I 2 = 8mA. Sada je = 1,2mA.

nvt 1) ukoliko su poznate struje dioda. Struja diode D 1 je I 1 = I I 2 = 8mA. Sada je = 1,2mA. IOAE Dioda 8/9 I U kolu sa slike, diode D su identične Poznato je I=mA, I =ma, I S =fa na 7 o C i parametar n= a) Odrediti napon V I Kolika treba da bude struja I da bi izlazni napon V I iznosio 5mV? b)

Διαβάστε περισσότερα

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju RAČUN OSTATAKA 1 1 Prsten celih brojeva Z := N + {} N + = {, 3, 2, 1,, 1, 2, 3,...} Osnovni primer. (Z, +,,,, 1) je komutativan prsten sa jedinicom: sabiranje (S1) asocijativnost x + (y + z) = (x + y)

Διαβάστε περισσότερα

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti). PRAVA Prava je kao i ravan osnovni geometrijski ojam i ne definiše se. Prava je u rostoru određena jednom svojom tačkom i vektorom aralelnim sa tom ravom ( vektor aralelnosti). M ( x, y, z ) 3 Posmatrajmo

Διαβάστε περισσότερα

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI) IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI) Izračunavanje pokazatelja načina rada OTVORENOG RM RASPOLOŽIVO RADNO

Διαβάστε περισσότερα

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012 Iskazna logika 3 Matematička logika u računarstvu Department of Mathematics and Informatics, Faculty of Science,, Serbia novembar 2012 Deduktivni sistemi 1 Definicija Deduktivni sistem (ili formalna teorija)

Διαβάστε περισσότερα

IZVODI ZADACI (I deo)

IZVODI ZADACI (I deo) IZVODI ZADACI (I deo) Najpre da se podsetimo tablice i osnovnih pravila:. C`=0. `=. ( )`= 4. ( n )`=n n-. (a )`=a lna 6. (e )`=e 7. (log a )`= 8. (ln)`= ` ln a (>0) 9. = ( 0) 0. `= (>0) (ovde je >0 i a

Διαβάστε περισσότερα

III VEŽBA: FURIJEOVI REDOVI

III VEŽBA: FURIJEOVI REDOVI III VEŽBA: URIJEOVI REDOVI 3.1. eorijska osnova Posmatrajmo neki vremenski kontinualan signal x(t) na intervalu definisati: t + t t. ada se može X [ k ] = 1 t + t x ( t ) e j 2 π kf t dt, gde je f = 1/.

Διαβάστε περισσότερα

Elementi spektralne teorije matrica

Elementi spektralne teorije matrica Elementi spektralne teorije matrica Neka je X konačno dimenzionalan vektorski prostor nad poljem K i neka je A : X X linearni operator. Definicija. Skalar λ K i nenula vektor u X se nazivaju sopstvena

Διαβάστε περισσότερα

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A Ime i prezime: 1. Prikazane su tačke A, B i C i prave a,b i c. Upiši simbole Î, Ï, Ì ili Ë tako da dobijeni iskazi

Διαβάστε περισσότερα

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo Elektrotehnički fakultet univerziteta u Beogradu 7.maj 009. Odsek za Softversko inžinjerstvo Performanse računarskih sistema Drugi kolokvijum Predmetni nastavnik: dr Jelica Protić (35) a) (0) Posmatra

Διαβάστε περισσότερα

numeričkih deskriptivnih mera.

numeričkih deskriptivnih mera. DESKRIPTIVNA STATISTIKA Numeričku seriju podataka opisujemo pomoću Numeričku seriju podataka opisujemo pomoću numeričkih deskriptivnih mera. Pokazatelji centralne tendencije Aritmetička sredina, Medijana,

Διαβάστε περισσότερα

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno. JŽ 3 POLAN TANZSTO ipolarni tranzistor se sastoji od dva pn spoja kod kojih je jedna oblast zajednička za oba i naziva se baza, slika 1 Slika 1 ipolarni tranzistor ima 3 izvoda: emitor (), kolektor (K)

Διαβάστε περισσότερα

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, PARCIJALNI IZVODI I DIFERENCIJALI Sama definicija parcijalnog ivoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, naravno, naučiti onako kako vaš profesor ahteva. Mi ćemo probati

Διαβάστε περισσότερα

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović Novi Sad April 17, 2018 1 / 22 Teorija grafova April 17, 2018 2 / 22 Definicija Graf je ure dena trojka G = (V, G, ψ), gde je (i) V konačan skup čvorova,

Διαβάστε περισσότερα

Teorijske osnove informatike 1

Teorijske osnove informatike 1 Teorijske osnove informatike 1 9. oktobar 2014. () Teorijske osnove informatike 1 9. oktobar 2014. 1 / 17 Funkcije Veze me du skupovima uspostavljamo skupovima koje nazivamo funkcijama. Neformalno, funkcija

Διαβάστε περισσότερα

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo IZVODI ZADACI ( IV deo) LOGARITAMSKI IZVOD Logariamskim izvodom funkcije f(), gde je >0 i, nazivamo izvod logarima e funkcije, o jes: (ln ) f ( ) f ( ) Primer. Nadji izvod funkcije Najpre ćemo logarimovai

Διαβάστε περισσότερα

Operacije s matricama

Operacije s matricama Linearna algebra I Operacije s matricama Korolar 3.1.5. Množenje matrica u vektorskom prostoru M n (F) ima sljedeća svojstva: (1) A(B + C) = AB + AC, A, B, C M n (F); (2) (A + B)C = AC + BC, A, B, C M

Διαβάστε περισσότερα

MERNO-AKVIZICIONI SISTEMI U INDUSTRIJI A/D KONVERTORI SA SUKCESIVNIM APROKSIMACIJAMA

MERNO-AKVIZICIONI SISTEMI U INDUSTRIJI A/D KONVERTORI SA SUKCESIVNIM APROKSIMACIJAMA MERNO-AKVIZICIONI SISTEMI U INDUSTRIJI A/D KONVERTORI SA SUKCESIVNIM APROKSIMACIJAMA 1 1. OSNOVE SAR A/D KONVERTORA najčešće se koristi kada su u pitanju srednje brzine konverzije od nekoliko µs do nekoliko

Διαβάστε περισσότερα

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x Zadatak (Darjan, medicinska škola) Izračunaj vrijednosti trigonometrijskih funkcija broja ako je 6 sin =,,. 6 Rješenje Ponovimo trigonometrijske funkcije dvostrukog kuta! Za argument vrijede sljedeće formule:

Διαβάστε περισσότερα

STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA

STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA Katedra za elektroniku Elementi elektronike Laboratorijske vežbe Vežba br. 2 STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA Datum: Vreme: Studenti: 1. grupa 2. grupa Dežurni: Ocena: Elementi elektronike -

Διαβάστε περισσότερα

41. Jednačine koje se svode na kvadratne

41. Jednačine koje se svode na kvadratne . Jednačine koje se svode na kvadrane Simerične recipročne) jednačine Jednačine oblika a n b n c n... c b a nazivamo simerične jednačine, zbog simeričnosi koeficijenaa koeficijeni uz jednaki). k i n k

Διαβάστε περισσότερα

Računarska grafika. Rasterizacija linije

Računarska grafika. Rasterizacija linije Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem

Διαβάστε περισσότερα

INTELIGENTNO UPRAVLJANJE

INTELIGENTNO UPRAVLJANJE INTELIGENTNO UPRAVLJANJE Fuzzy sistemi zaključivanja Vanr.prof. Dr. Lejla Banjanović-Mehmedović Mehmedović 1 Osnovni elementi fuzzy sistema zaključivanja Fazifikacija Baza znanja Baze podataka Baze pravila

Διαβάστε περισσότερα

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1 Strukture podataka i algoritmi 1. kolokvij Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Predajete samo papire koje ste dobili. Rezultati i uvid u kolokvije: ponedjeljak,

Διαβάστε περισσότερα

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović Univerzitet u Nišu Elektronski fakultet RAČUNSKE VEŽBE IZ PREDMETA (IV semestar modul EKM) IV deo Miloš Marjanović MOSFET TRANZISTORI ZADATAK 35. NMOS tranzistor ima napon praga V T =2V i kroz njega protiče

Διαβάστε περισσότερα

18. listopada listopada / 13

18. listopada listopada / 13 18. listopada 2016. 18. listopada 2016. 1 / 13 Neprekidne funkcije Važnu klasu funkcija tvore neprekidne funkcije. To su funkcije f kod kojih mala promjena u nezavisnoj varijabli x uzrokuje malu promjenu

Διαβάστε περισσότερα

Ispitivanje toka i skiciranje grafika funkcija

Ispitivanje toka i skiciranje grafika funkcija Ispitivanje toka i skiciranje grafika funkcija Za skiciranje grafika funkcije potrebno je ispitati svako od sledećih svojstava: Oblast definisanosti: D f = { R f R}. Parnost, neparnost, periodičnost. 3

Διαβάστε περισσότερα

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola. KVADRATNA FUNKCIJA Kvadratna funkcija je oblika: = a + b + c Gde je R, a 0 i a, b i c su realni brojevi. Kriva u ravni koja predstavlja grafik funkcije = a + b + c je parabola. Najpre ćemo naučiti kako

Διαβάστε περισσότερα

SISTEMI NELINEARNIH JEDNAČINA

SISTEMI NELINEARNIH JEDNAČINA SISTEMI NELINEARNIH JEDNAČINA April, 2013 Razni zapisi sistema Skalarni oblik: Vektorski oblik: F = f 1 f n f 1 (x 1,, x n ) = 0 f n (x 1,, x n ) = 0, x = (1) F(x) = 0, (2) x 1 0, 0 = x n 0 Definicije

Διαβάστε περισσότερα

OSNOVI ELEKTRONIKE VEŽBA BROJ 2 DIODA I TRANZISTOR

OSNOVI ELEKTRONIKE VEŽBA BROJ 2 DIODA I TRANZISTOR ELEKTROTEHNIČKI FAKULTET U BEOGRADU KATEDRA ZA ELEKTRONIKU OSNOVI ELEKTRONIKE ODSEK ZA SOFTVERSKO INŽENJERSTVO LABORATORIJSKE VEŽBE VEŽBA BROJ 2 DIODA I TRANZISTOR 1. 2. IME I PREZIME BR. INDEKSA GRUPA

Διαβάστε περισσότερα

Osnovne teoreme diferencijalnog računa

Osnovne teoreme diferencijalnog računa Osnovne teoreme diferencijalnog računa Teorema Rolova) Neka je funkcija f definisana na [a, b], pri čemu važi f je neprekidna na [a, b], f je diferencijabilna na a, b) i fa) fb). Tada postoji ξ a, b) tako

Διαβάστε περισσότερα

Zavrxni ispit iz Matematiqke analize 1

Zavrxni ispit iz Matematiqke analize 1 Građevinski fakultet Univerziteta u Beogradu 3.2.2016. Zavrxni ispit iz Matematiqke analize 1 Prezime i ime: Broj indeksa: 1. Definisati Koxijev niz. Dati primer niza koji nije Koxijev. 2. Dat je red n=1

Διαβάστε περισσότερα

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 Matrice - osnovni pojmovi (Matrice i determinante) 2 / 15 (Matrice i determinante) 2 / 15 Matrice - osnovni pojmovi Matrica reda

Διαβάστε περισσότερα

IZVODI ZADACI (I deo)

IZVODI ZADACI (I deo) IZVODI ZADACI (I deo Najpre da se podsetimo tablice i osnovnih pravila:. C0.. (. ( n n n-. (a a lna 6. (e e 7. (log a 8. (ln ln a (>0 9. ( 0 0. (>0 (ovde je >0 i a >0. (cos. (cos - π. (tg kπ cos. (ctg

Διαβάστε περισσότερα

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA : MAKSIMALNA BRZINA Maksimalna brzina kretanja F O (N) F OI i m =i I i m =i II F Oid Princip određivanja v MAX : Drugi Njutnov zakon Dokle god je: F O > ΣF otp vozilo ubrzava Kada postane: F O = ΣF otp

Διαβάστε περισσότερα

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost M086 LA 1 M106 GRP Tema: CSB nejednakost. 19. 10. 2017. predavač: Rudolf Scitovski, Darija Marković asistent: Darija Brajković, Katarina Vincetić P 1 www.fizika.unios.hr/grpua/ 1 Baza vektorskog prostora.

Διαβάστε περισσότερα

Sortiranje prebrajanjem (Counting sort) i Radix Sort

Sortiranje prebrajanjem (Counting sort) i Radix Sort Sortiranje prebrajanjem (Counting sort) i Radix Sort 15. siječnja 2016. Ante Mijoč Uvod Teorem Ako je f(n) broj usporedbi u algoritmu za sortiranje temeljenom na usporedbama (eng. comparison-based sorting

Διαβάστε περισσότερα

Otpornost R u kolu naizmjenične struje

Otpornost R u kolu naizmjenične struje Otpornost R u kolu naizmjenične struje Pretpostavimo da je otpornik R priključen na prostoperiodični napon: Po Omovom zakonu pad napona na otporniku je: ( ) = ( ω ) u t sin m t R ( ) = ( ) u t R i t Struja

Διαβάστε περισσότερα

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log = ( > 0, 0)!" # > 0 je najčešći uslov koji postavljamo a još je,, > 0 se zove numerus (aritmand), je osnova (baza). 0.. ( ) +... 7.. 8. Za prelazak na neku novu bazu c: 9. Ako je baza (osnova) 0 takvi se

Διαβάστε περισσότερα

Καταχωρητής STATUS. IRP: Bit επιλογής περιοχής μνήμης (Bank) για την έμμεση διευθυνσιοδότηση 1= Bank2, Bank3 0= Bank0, Bank1

Καταχωρητής STATUS. IRP: Bit επιλογής περιοχής μνήμης (Bank) για την έμμεση διευθυνσιοδότηση 1= Bank2, Bank3 0= Bank0, Bank1 Καταχωρητής STATUS bit 7 IRP: Bit επιλογής περιοχής μνήμης (Bank) για την έμμεση διευθυνσιοδότηση 1= Bank2, Bank3 0= Bank0, Bank1 bit 6-5 RP1:RP0: Bit επιλογής περιοχής μνήμης (Bank) για την άμεση διευθυνσιοδότηση

Διαβάστε περισσότερα

ΠΑΡΟΥΣΙΑΣΗ ΤΟΥ ΕΡΓΑΣΤΗΡΙΑΚΟΥ ΜΑΘΗΜΑΤΟΣ «ΣΥΣΤΗΜΑΤΑ ΨΗΦΙΑΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ» ή ΠΡΟΓΡΑΜΜΑΤΙΖΟΝΤΑΣ ΤΟΝ ΜΙΚΡΟΕΛΕΓΚΤΉ PIC16F877 ΤΗΣ MICROCHIP TECHNOLOGY INC

ΠΑΡΟΥΣΙΑΣΗ ΤΟΥ ΕΡΓΑΣΤΗΡΙΑΚΟΥ ΜΑΘΗΜΑΤΟΣ «ΣΥΣΤΗΜΑΤΑ ΨΗΦΙΑΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ» ή ΠΡΟΓΡΑΜΜΑΤΙΖΟΝΤΑΣ ΤΟΝ ΜΙΚΡΟΕΛΕΓΚΤΉ PIC16F877 ΤΗΣ MICROCHIP TECHNOLOGY INC ΠΑΡΟΥΣΙΑΣΗ ΤΟΥ ΕΡΓΑΣΤΗΡΙΑΚΟΥ ΜΑΘΗΜΑΤΟΣ «ΣΥΣΤΗΜΑΤΑ ΨΗΦΙΑΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ» ή ΠΡΟΓΡΑΜΜΑΤΙΖΟΝΤΑΣ ΤΟΝ ΜΙΚΡΟΕΛΕΓΚΤΉ PIC16F877 ΤΗΣ MICROCHIP TECHNOLOGY INC ΗΛΕΚΤΡΟΝΙΚΟΣ ΤΟΜΕΑΣ ΕΠΑΛ ΣΕΙΡΑ ΠΑΡΑΓΩΓΗΣ MICROCONTROLLERS

Διαβάστε περισσότερα

Merenje vremena treperenja tastera pomoću mikrokontrolera AT89S8253

Merenje vremena treperenja tastera pomoću mikrokontrolera AT89S8253 UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET KATEDRA ZA ELEKTRONIKU Merenje vremena treperenja tastera pomoću mikrokontrolera AT89S8253 Studenti: Milan Radenković 11280 Aleksandar Stevanović 11313 2 SADRŽAJ

Διαβάστε περισσότερα

Antene. Srednja snaga EM zračenja se dobija na osnovu intenziteta fluksa Pointingovog vektora kroz sferu. Gustina snage EM zračenja:

Antene. Srednja snaga EM zračenja se dobija na osnovu intenziteta fluksa Pointingovog vektora kroz sferu. Gustina snage EM zračenja: Anene Transformacija EM alasa u elekrični signal i obrnuo Osnovne karakerisike anena su: dijagram zračenja, dobiak (Gain), radna učesanos, ulazna impedansa,, polarizacija, efikasnos, masa i veličina, opornos

Διαβάστε περισσότερα

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu Trigonometrijske jednačine i nejednačine. Zadaci koji se rade bez upotrebe trigonometrijskih formula. 00. FF cos x sin x

Διαβάστε περισσότερα

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto Trigonometrija Adicijske formule Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto Razumijevanje postupka izrade složenijeg matematičkog problema iz osnova trigonometrije

Διαβάστε περισσότερα

Računarska grafika. Rasterizacija linije

Računarska grafika. Rasterizacija linije Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem

Διαβάστε περισσότερα

Elementarna memorijska kola

Elementarna memorijska kola Elementarna memorijska kola gmemorijska kola mogu da zapamte prethodno stanje gflip-flop je logička mreža a koja može e da zapamti samo jedan bit podatka (jednu binarnu cifru) flip - flop je kolo sa dva

Διαβάστε περισσότερα

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f 2. Nule i znak funkcije; presek sa y-osom IspitivaƬe

Διαβάστε περισσότερα

Linearna algebra 2 prvi kolokvij,

Linearna algebra 2 prvi kolokvij, Linearna algebra 2 prvi kolokvij, 27.. 20.. Za koji cijeli broj t je funkcija f : R 4 R 4 R definirana s f(x, y) = x y (t + )x 2 y 2 + x y (t 2 + t)x 4 y 4, x = (x, x 2, x, x 4 ), y = (y, y 2, y, y 4 )

Διαβάστε περισσότερα

Hardverska struktura plc-a

Hardverska struktura plc-a Hardverska struktura plc-a 2.1 Hardverska struktura PLC-a 2.2 Procesorski modul 2.3 Memorija 2.4 Ulazno-izlazni (I/O) moduli 2.5 Specijalni, funkcijski i tehnološki moduli 2.6 Komunikacioni interfejs 2.7

Διαβάστε περισσότερα

HEMIJSKA VEZA TEORIJA VALENTNE VEZE

HEMIJSKA VEZA TEORIJA VALENTNE VEZE TEORIJA VALENTNE VEZE Kovalentna veza nastaje preklapanjem atomskih orbitala valentnih elektrona, pri čemu je region preklapanja između dva jezgra okupiran parom elektrona. - Nastalu kovalentnu vezu opisuje

Διαβάστε περισσότερα

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla XI dvoqas veжbi dr Vladimir Balti 4. Stabla Teorijski uvod Teorijski uvod Definicija 5.7.1. Stablo je povezan graf bez kontura. Definicija 5.7.1. Stablo je povezan graf bez kontura. Primer 5.7.1. Sva stabla

Διαβάστε περισσότερα

Obrada signala

Obrada signala Obrada signala 1 18.1.17. Greška kvantizacije Pretpostavka je da greška kvantizacije ima uniformnu raspodelu 7 6 5 4 -X m p x 1,, za x druge vrednosti x 3 x X m 1 X m = 3 x Greška kvantizacije x x x p

Διαβάστε περισσότερα

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011. INTEGRALNI RAČUN Teorije, metodike i povijest infinitezimalnih računa Lucija Mijić lucija@ktf-split.hr 17. veljače 2011. Pogledajmo Predstavimo gornju sumu sa Dodamo još jedan Dobivamo pravokutnik sa Odnosno

Διαβάστε περισσότερα

ASIMPTOTE FUNKCIJA. Dakle: Asimptota je prava kojoj se funkcija približava u beskonačno dalekoj tački. Postoje tri vrste asimptota:

ASIMPTOTE FUNKCIJA. Dakle: Asimptota je prava kojoj se funkcija približava u beskonačno dalekoj tački. Postoje tri vrste asimptota: ASIMPTOTE FUNKCIJA Naš savet je da najpre dobro proučite granične vrednosti funkcija Neki profesori vole da asimptote funkcija ispituju kao ponašanje funkcije na krajevima oblasti definisanosti, pa kako

Διαβάστε περισσότερα

Najjednostavnija metoda upravljanja slijedom instrukcija:

Najjednostavnija metoda upravljanja slijedom instrukcija: 4. Upravljačka jedinica Funkcija upravljačke jedinice Prijenos upravljanja između programa Rekurzivni programi LIFO ili stožna struktura Uporaba stoga AIOR, S. Ribarić 1 Funkcije upravljačke jedinice:

Διαβάστε περισσότερα

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI 21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE 2014. GODINE 8. RAZRED TOČNI ODGOVORI Bodovanje za sve zadatke: - boduju se samo točni odgovori - dodatne upute navedene su za pojedine skupine zadataka

Διαβάστε περισσότερα

OSNOVI ELEKTRONIKE. Vežbe (2 časa nedeljno): mr Goran Savić

OSNOVI ELEKTRONIKE. Vežbe (2 časa nedeljno): mr Goran Savić OSNOVI ELEKTRONIKE Vežbe (2 časa nedeljno): mr Goran Savić savic@el.etf.rs http://tnt.etf.rs/~si1oe Termin za konsultacije: četvrtak u 12h, kabinet 102 Referentni smerovi i polariteti 1. Odrediti vrednosti

Διαβάστε περισσότερα

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA. KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI NEUTRALNI ELEMENT GRUPOIDA 1 Grupoid (G, ) je asocijativa akko važi ( x, y, z G) x (y z) = (x y) z Grupoid (G, ) je komutativa akko važi ( x, y G) x y = y x Asocijativa

Διαβάστε περισσότερα

Algoritmi zadaci za kontrolni

Algoritmi zadaci za kontrolni Algoritmi zadaci za kontrolni 1. Nacrtati algoritam za sabiranje ulaznih brojeva a i b Strana 1 . Nacrtati algoritam za izračunavanje sledeće funkcije: x y x 1 1 x x ako ako je : je : x x 1 x x 1 Strana

Διαβάστε περισσότερα

Simulacija PLC kontrolera preko mikrokontrolera PIC16F877A

Simulacija PLC kontrolera preko mikrokontrolera PIC16F877A VISOKA POSLOVNA ŠKOLA STRUKOVNIH STUDIJA ČAČAK MASTER RAD Simulacija PLC kontrolera preko mikrokontrolera PIC16F877A Mentor: Profesor: Student: Br.Indeksa: Mesto, mesec, godina ELEKTRONSKI FAKULTET Katedra

Διαβάστε περισσότερα

Poglavlje 7. Blok dijagrami diskretnih sistema

Poglavlje 7. Blok dijagrami diskretnih sistema Poglavlje 7 Blok dijagrami diskretnih sistema 95 96 Poglavlje 7. Blok dijagrami diskretnih sistema Stav 7.1 Strukturni dijagram diskretnog sistema u kome su sve veliqine prikazane svojim Laplasovim transformacijama

Διαβάστε περισσότερα

5. Karakteristične funkcije

5. Karakteristične funkcije 5. Karakteristične funkcije Profesor Milan Merkle emerkle@etf.rs milanmerkle.etf.rs Verovatnoća i Statistika-proleće 2018 Milan Merkle Karakteristične funkcije ETF Beograd 1 / 10 Definicija Karakteristična

Διαβάστε περισσότερα

S t r a n a 1. 1.Povezati jonsku jačinu rastvora: a) MgCl 2 b) Al 2 (SO 4 ) 3 sa njihovim molalitetima, m. za so tipa: M p X q. pa je jonska jačina:

S t r a n a 1. 1.Povezati jonsku jačinu rastvora: a) MgCl 2 b) Al 2 (SO 4 ) 3 sa njihovim molalitetima, m. za so tipa: M p X q. pa je jonska jačina: S t r a n a 1 1.Povezati jonsku jačinu rastvora: a MgCl b Al (SO 4 3 sa njihovim molalitetima, m za so tipa: M p X q pa je jonska jačina:. Izračunati mase; akno 3 bba(no 3 koje bi trebalo dodati, 0,110

Διαβάστε περισσότερα

Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom.

Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom. 1 Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom. Pravilo 2. Svaki atribut entiteta postaje atribut relacione šeme pod istim imenom. Pravilo 3. Primarni ključ entiteta postaje

Διαβάστε περισσότερα

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori MATEMATIKA 2 Prvi pismeni kolokvijum, 14.4.2016 Grupa 1 Rexea zadataka Dragan ori Zadaci i rexea 1. unkcija f : R 2 R definisana je sa xy 2 f(x, y) = x2 + y sin 3 2 x 2, (x, y) (0, 0) + y2 0, (x, y) =

Διαβάστε περισσότερα

L E M I L I C E LEMILICA WELLER WHS40. LEMILICA WELLER SP25 220V 25W Karakteristike: 220V, 25W, VRH 4,5 mm Tip: LEMILICA WELLER. Tip: LEMILICA WELLER

L E M I L I C E LEMILICA WELLER WHS40. LEMILICA WELLER SP25 220V 25W Karakteristike: 220V, 25W, VRH 4,5 mm Tip: LEMILICA WELLER. Tip: LEMILICA WELLER L E M I L I C E LEMILICA WELLER SP25 220V 25W Karakteristike: 220V, 25W, VRH 4,5 mm LEMILICA WELLER SP40 220V 40W Karakteristike: 220V, 40W, VRH 6,3 mm LEMILICA WELLER SP80 220V 80W Karakteristike: 220V,

Διαβάστε περισσότερα

Linearna algebra 2 prvi kolokvij,

Linearna algebra 2 prvi kolokvij, 1 2 3 4 5 Σ jmbag smjer studija Linearna algebra 2 prvi kolokvij, 7. 11. 2012. 1. (10 bodova) Neka je dano preslikavanje s : R 2 R 2 R, s (x, y) = (Ax y), pri čemu je A: R 2 R 2 linearan operator oblika

Διαβάστε περισσότερα

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET Riješiti jednačine: a) 5 = b) ( ) 3 = c) + 3+ = 7 log3 č) = 8 + 5 ć) sin cos = d) 5cos 6cos + 3 = dž) = đ) + = 3 e) 6 log + log + log = 7 f) ( ) ( ) g) ( ) log

Διαβάστε περισσότερα

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića Verovatnoća i Statistika I deo Teorija verovatnoće zadaci Beleške dr Bobana Marinkovića Iz skupa, 2,, 00} bira se na slučajan način 5 brojeva Odrediti skup elementarnih dogadjaja ako se brojevi biraju

Διαβάστε περισσότερα

ELEKTROTEHNIČKI ODJEL

ELEKTROTEHNIČKI ODJEL MATEMATIKA. Neka je S skup svih živućih državljana Republike Hrvatske..04., a f preslikavanje koje svakom elementu skupa S pridružuje njegov horoskopski znak (bez podznaka). a) Pokažite da je f funkcija,

Διαβάστε περισσότερα

Novi Sad god Broj 1 / 06 Veljko Milković Bulevar cara Lazara 56 Novi Sad. Izveštaj o merenju

Novi Sad god Broj 1 / 06 Veljko Milković Bulevar cara Lazara 56 Novi Sad. Izveštaj o merenju Broj 1 / 06 Dana 2.06.2014. godine izmereno je vreme zaustavljanja elektromotora koji je radio u praznom hodu. Iz gradske mreže 230 V, 50 Hz napajan je monofazni asinhroni motor sa dva brusna kamena. Kada

Διαβάστε περισσότερα

Program testirati pomoću podataka iz sledeće tabele:

Program testirati pomoću podataka iz sledeće tabele: Deo 2: Rešeni zadaci 135 Vrednost integrala je I = 2.40407 42. Napisati program za izračunavanje koeficijenta proste linearne korelacije (Pearsonovog koeficijenta) slučajnih veličina X = (x 1,..., x n

Διαβάστε περισσότερα

Kaskadna kompenzacija SAU

Kaskadna kompenzacija SAU Kaskadna kompenzacija SAU U inženjerskoj praksi, naročito u sistemima regulacije elektromotornih pogona i tehnoloških procesa, veoma često se primenjuje metoda kaskadne kompenzacije, u čijoj osnovi su

Διαβάστε περισσότερα

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1. Pismeni ispit iz matematike 0 008 GRUPA A Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: λ + z = Ispitati funkciju i nacrtati njen grafik: + ( λ ) + z = e Izračunati

Διαβάστε περισσότερα

APROKSIMACIJA FUNKCIJA

APROKSIMACIJA FUNKCIJA APROKSIMACIJA FUNKCIJA Osnovni koncepti Gradimir V. Milovanović MF, Beograd, 14. mart 2011. APROKSIMACIJA FUNKCIJA p.1/46 Osnovni problem u TA Kako za datu funkciju f iz velikog prostora X naći jednostavnu

Διαβάστε περισσότερα

KOMUNIKACIJA MIKROKONTROLERA PIC18F4550 I RAČUNARA PREKO SERIJSKOG I USB PORTA

KOMUNIKACIJA MIKROKONTROLERA PIC18F4550 I RAČUNARA PREKO SERIJSKOG I USB PORTA ELEKTRONSKI FAKULTET NIŠ Katedra za elektroniku Mikroprocesorski sistemi KOMUNIKACIJA MIKROKONTROLERA PIC18F4550 I RAČUNARA PREKO SERIJSKOG I USB PORTA Studenti: Ana Andrejić 10434 Magdalena Ranđelović

Διαβάστε περισσότερα

5 Ispitivanje funkcija

5 Ispitivanje funkcija 5 Ispitivanje funkcija 3 5 Ispitivanje funkcija Ispitivanje funkcije pretodi crtanju grafika funkcije. Opšti postupak ispitivanja funkcija koje su definisane eksplicitno y = f() sadrži sledeće elemente:

Διαβάστε περισσότερα

Konstruisanje. Dobro došli na... SREDNJA MAŠINSKA ŠKOLA NOVI SAD DEPARTMAN ZA PROJEKTOVANJE I KONSTRUISANJE

Konstruisanje. Dobro došli na... SREDNJA MAŠINSKA ŠKOLA NOVI SAD DEPARTMAN ZA PROJEKTOVANJE I KONSTRUISANJE Dobro došli na... Konstruisanje GRANIČNI I KRITIČNI NAPON slajd 2 Kritični naponi Izazivaju kritične promene oblika Delovi ne mogu ispravno da vrše funkciju Izazivaju plastične deformacije Može doći i

Διαβάστε περισσότερα

I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa?

I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa? TET I.1. Šta je Kulonova sila? elektrostatička sila magnetna sila c) gravitaciona sila I.. Šta je elektrostatička sila? sila kojom međusobno eluju naelektrisanja u mirovanju sila kojom eluju naelektrisanja

Διαβάστε περισσότερα

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011. Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika Monotonost i ekstremi Katica Jurasić Rijeka, 2011. Ishodi učenja - predavanja Na kraju ovog predavanja moći ćete:,

Διαβάστε περισσότερα

Skup svih mogućih ishoda datog opita, odnosno skup svih elementarnih događaja se najčešće obeležava sa E. = {,,,... }

Skup svih mogućih ishoda datog opita, odnosno skup svih elementarnih događaja se najčešće obeležava sa E. = {,,,... } VEROVTNOĆ - ZDI (I DEO) U računu verovatnoće osnovni pojmovi su opit i događaj. Svaki opit se završava nekim ishodom koji se naziva elementarni događaj. Elementarne događaje profesori različito obeležavaju,

Διαβάστε περισσότερα

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. a b Verovatno a da sluqajna promenljiva X uzima vrednost iz intervala

Διαβάστε περισσότερα

MIKRORAČUNAR. Sl.1. - Sklop mikroračunara kao crna kutija

MIKRORAČUNAR. Sl.1. - Sklop mikroračunara kao crna kutija MIKRORAČUNAR Mikroračunar je sastavljen od četiri osnovna bloka (Sl.) - to zovemo hardver: -mikroprocesora -memorije -ulaznog međusklopa -izlaznog međusklopa Programska podrška (to zovemo softver) je vezivna

Διαβάστε περισσότερα

STANDARDNA ARHITEKTURA MIKROPROCESORA

STANDARDNA ARHITEKTURA MIKROPROCESORA STANDARDNA ARHITEKTURA MIKROPROCESORA UVOD Svaki sastavni deo, a time i celi mikroprocesor, najbolje je opisan skupom registara i njihovom funkcijom, putevima između registara, nizom operacija koje se

Διαβάστε περισσότερα

Algoritmi i strukture podataka - 1.cas

Algoritmi i strukture podataka - 1.cas Algoritmi i strukture podataka - 1.cas Aleksandar Veljković October 2016 Materijali su zasnovani na materijalima Mirka Stojadinovića 1 Složenost algoritama Približna procena vremena ili prostora potrebnog

Διαβάστε περισσότερα

3. STRUKTURE PODATAKA

3. STRUKTURE PODATAKA 3 STRUKTURE PODATAKA Osnovni ili primitivni tipovi podataka sa kojima se instrukcijama mikroprocesora C68020 direktno operiše, su označene i neoznačene celobrojne vrednosti, BCD celobrojne vrednosti i

Διαβάστε περισσότερα

ΠΕΡΙΦΕΡΕΙΑΚΑ ΤΟΥ PIC16F887

ΠΕΡΙΦΕΡΕΙΑΚΑ ΤΟΥ PIC16F887 ΠΕΡΙΦΕΡΕΙΑΚΑ ΤΟΥ PIC16F887 EEPROM: H μνήμη EEPROM (Εlactrically Erasable Programmable Read Only Memory) είναι μία μνήμη η οποία εγγράφεται ηλεκτρικά και διατηρεί τα δεδομένα της ακόμα και μετά την απομάκρυνση

Διαβάστε περισσότερα

1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II

1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II 1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II Zadatak: Klipni mehanizam se sastoji iz krivaje (ekscentarske poluge) OA dužine R, klipne poluge AB dužine =3R i klipa kompresora B (ukrsne glave). Krivaja

Διαβάστε περισσότερα

ANALIZA RADA 6T_SRAM I 1T_DRAM MEMORIJSKE ĆELIJE

ANALIZA RADA 6T_SRAM I 1T_DRAM MEMORIJSKE ĆELIJE KATEDRA ZA ELEKTRONIKU Laboratorijske vežbe DIGITALNA ELEKTRONIKA (smer EL) ANALIZA RADA 6T_SRAM I 1T_DRAM MEMORIJSKE ĆELIJE NAPOMENA: Prilikom rada na računaru mora se poštovati sledeće: - napajanje na

Διαβάστε περισσότερα

Elektronske memorije

Elektronske memorije Elektronske memorije A. VRSTE ELEKTRONSKIH MEMORIJA Registri; RAM (Random Access Memory); ROM (Read Only Memory); PROM (Programmable ROM); EPROM (Erasable PROM); EEPROM (Electrically EPROM). B. RAM RAM

Διαβάστε περισσότερα

OM2 V3 Ime i prezime: Index br: I SAVIJANJE SILAMA TANKOZIDNIH ŠTAPOVA

OM2 V3 Ime i prezime: Index br: I SAVIJANJE SILAMA TANKOZIDNIH ŠTAPOVA OM V me i preime: nde br: 1.0.01. 0.0.01. SAVJANJE SLAMA TANKOZDNH ŠTAPOVA A. TANKOZDN ŠTAPOV PROZVOLJNOG OTVORENOG POPREČNOG PRESEKA Preposavka: Smičući napon je konsanan po debljini ida (duž pravca upravnog

Διαβάστε περισσότερα

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

KVADRATNA FUNKCIJA.   Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola. KVADRATNA FUNKCIJA Kvadratna funkcija je oblika: a + b + c Gde je R, a 0 i a, b i c su realni brojevi. Kriva u ravni koja predstavlja grafik funkcije a + b + c je parabola. Najpre ćemo naučiti kako izgleda

Διαβάστε περισσότερα

Protočnost 1. PROTOČNOST. 1.1 Osnovne tehnike za eksploataciju paralelizma

Protočnost 1. PROTOČNOST. 1.1 Osnovne tehnike za eksploataciju paralelizma SADRŽAJ 1. PROTOČNOST...2 1.1 Osnovne tehnike za eksploataciju paralelizma...2 1.2 Protočna obrada na nivou instrukcije osnovni koncepti...3 1.3 Performansne mere... 1.4 Tehnika projektovanja protočnog

Διαβάστε περισσότερα

Matematička analiza 1 dodatni zadaci

Matematička analiza 1 dodatni zadaci Matematička analiza 1 dodatni zadaci 1. Ispitajte je li funkcija f() := 4 4 5 injekcija na intervalu I, te ako jest odredite joj sliku i inverz, ako je (a) I = [, 3), (b) I = [1, ], (c) I = ( 1, 0].. Neka

Διαβάστε περισσότερα