Simulacija PLC kontrolera preko mikrokontrolera PIC16F877A

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

Download "Simulacija PLC kontrolera preko mikrokontrolera PIC16F877A"

Transcript

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

2 ELEKTRONSKI FAKULTET Katedra za elektroniku SIMULACIJA PLC KONTROLERA PREKO MIKROKONTROLERA PIC16F877A

3 SADRŢAJ I O RADU 3 II STANDARDI ZA PRENOS PODATAKA 4 TIA/EIA-232-F TIA/EIA-423-B TIA/EIA-422-B TIA/EIA-485 SCSI FireWire USB III KARAKTERISTIKE SERIJSKOG PORTA 8 IV OPIS MIKROKONTROLER PIC16F877A 12 V Zašto baš PIC16F877A? Karakteristike mikrokontrolera Arhitektura mikrokontrolera Organizacija memorije mikrokontrolera Izbor oscilatora mikrokontrolera Portovi mikrokontrolera Periferijske jedinice LOGIĈKA I SEKVENCIJALNA KOLA 26 Realizacija logiĉkih kola Prekidaĉka kola Multiplekseri i demultiplekseri Leĉevi i flip-flopovi VI PLC KONTROLERI 44 Šta predstavlja PLC? PLC v.s. mikroraĉunar Prednosti PLC kontrolera Nedostaci PLC kontrolera Neki primeri primene PLC kontrolera VII SIMULACIJA PLC KONTROLERA 51 Varijante realizacija PLC-a VIII LISTING PROGRAMSKOG KÔDA PLC-a 61 IX LISTING ASEMBLERSKOG KÔDA PLC-a 65 X LABORATORIJSKA VEŢBA 86 XI ZAKLJUĈAK 91 XII LITERATURA 92 XIII KRAĆE BIOGRAFIJE 93 2

4 1- O RADU Seminarski rad koji je realizovan u toku januara i februara godine predstavlja jedan od načina za simulaciju funkcija PLC kontrolera preko mikrokontrolera PIC16F877A. Iako je prvobitna ideja bila da se seminarski rad realizuje sa (industrijskim) PLC kontrolerom, od nje se odustalo zbog visoke cene ovih kontrolera (najjednostavniji PLC kontroleri koštaju preko 200 evra) i nemogućnosti nabavke odgovarajućeg softvera. U drugom i trećem programu dat je kratak pregled prenosa podataka i serijskog porta računara. Četvrto poglavlje sadrži opis mikrokontrolera PIC16F877A, a u petom poglavlju nalazi se kratak pregled logičkih i sekvencijalnih kola. Šesto poglavlje se bavi opisom (industrijskih) PLC kontrolera. U sedmom poglavlju prikazan je projekat PLC kontrolera realizovanog preko standardnog mikrokontrolera, u osmom poglavlju je prikazan listing kôda u C-u i asembleru, a u sledećem poglavlju je opisana laboratorijska vežba za rad studenata. Za programiranje pomenutog mikrokontrolera korišćen je ALLPIC programator i softver IC-Prog, koji su detaljno opisani u seminarskim radovima studenata [3] i [4] (poglavlje LITERATURA). U cilju eventualnog proširenja, po obodu realizovane štampane pločice (PCB) nalaze se kleme, a predviďena je mogućnost serijske komunikacije sa računarom. 3

5 2 STANDARDI ZA PRENOS PODATAKA PARAMETAR EIA 232 RS 423-A RS 422-A RS 485 naĉin rada nebalansirani nebalansirani diferencijalni diferencijalni broj drajvera i prijemnika 1 drajver 1 drajver 1 drajver 32 drajvera 1 prijemnik 10 prijemnik 10 prijemnik 32 prijemnika maksimalna duţina kabla [m] maksimalna brzina prenosa podataka [bps] 20 K 100 K 10 M 10 M maksimalni napon na zajedniĉkim krajevima [V] do do 7 IZLAZNI DRAJVERSKI SIGNALI izlaz drajvera [V] (min) neopterećen 5 3,6 2 3,6 izlaz drajvera [V] (max) opterećen ,6 opterećenje drajvera [Ω] 3 K 7 K 450 (min) 100 (min) 60 (min) ''slew rate'' drajvera [V/µs] 30 (max) spoljna kontrola n.d. n.d. izlazna struja kratkog spoja 150 na GND graniĉna vrednost struje (ma) 500 na Vcc 150 na GND 150 na GND 200 na 7 ili izlazna otpornost ukljuĉeno drajvera [Ω] stanje visoke napajanje iskljuĉeno n.d. n.d. n.d. 12 K impedanse [Ω] napajanje 30 K 60 K 60 K 12 K ulazna impedansa prijemnika [Ω] 3 7 K 4 K(min) 4 K (min) 12 K (min) osetljivost prijemnika [V] 3 V 0,2 0,2 0,2 opseg ulaznog napona prijemnika [V] do 12V Tabela 2-1. Uporedni prikaz ĉetiri standarda za prenos podataka 2-1. TIA/EIA-232-F Uobičajen naziv za ovaj standard je RS-232. Definisan je u ANSI (American National Standards Institute) specifikaciji kao interfejs izmeďu data terminala (DTE data terminal equipment) i data kola (DCE data circuit-terminating equipment), pri čemu se koristi serijski binarni protok podataka. Standard podrazumeva single-ended serijsku prenosnu šemu. Maksimalni protok podataka je 20kbs, mada sada postoji veliki broj softverskih rešenja koja postižu 116 kbps i više. Maksimalna ulazna kapacitivnost je 2500pF, pri kojoj je uz upotrebu običnih standardnih kablova, moguća 15-ak metara duga veza. Za dužu vezu ili veći protok neophodne su diferencijalno balansirane linije za komunikaciju. Električne osobine serijskog porta su definisane EIA (Electronics Industry Association) RS232C standardom, čiji su parametri: 4

6 Logičkoj nuli odgovara stanje "SPACE", koji se nalazi u opsegu napona +3V do +25V, Logičkoj jedinici odgovara stanje "MARK", koji je u opsegu -3V do -25V, Naponski nivo izmeďu -3 do + 3 V nije definisan, Napon na kolu ne sme da preďe 25V u odnosu na masu (GND), Struja kola ne sme preďe vrednost 500 ma. Pored RS232C standarda postoje i novije verzije EIA-232D i EIA-232E, koje su objavljene i godine i to je prikazano u Tabeli 2-1. Slučaj kada nema slanja podatka, tj. linija je slobodna, označena je MARK naponom. Prenos počinje kada linija preďe u SPACE stanje, što predstavlja START bit. Iza start bita dolaze bitovi podataka i to tako da je jedinica predstavljena negativnim naponom, a nula pozitivnim. Ovo je, dakle, u suprotnosti sa logičkim nivoima gde je +5 V logička jedinica, a 0 V logička nula. Konverzija se obavlja preko odgovarajućeg kola (npr. MAX232) Posle bitova podatka može da doďe bit parnosti koji se koristi za detekciju jednostruke greške u prenosu. Iza bita parnosti signal se postavlja u MARK stanje što označava početak STOP bita. Prema RS232 standardu, broj stop bitova može biti: 1, 1.5 ili 2. Nakon završetka STOP bit(ov)a, linija je spremna za slanje novog karaktera. PC računari za podatak (DATA) najčešće koriste 7 ili 8 bitova. IzmeĎu slanja dva karaktera linija se nalazi u MARK stanju, a u toku prenosa više puta prelazi iz MARK u SPACE stanje, u zavisnosti od broja jedinica i nula. To znači da se linija može nalaziti u SPACE stanju najviše u slučaju kada karakter sadrži sve nule. Ova osobina prenosa upotrebljena je za uvoďenje specijalnog znaka nazvanog BREAK (prekid). Ovaj signal se koristi kako bi se prijemniku signaliziralo da je došlo do problema u slanju podataka. Serijski prenos počinje tako da predajna strana šalje prijemnoj strani signal RTS (zahtev za slanje), dok prijemnik, ako je spreman za prijem, odgovara signalom CTS (spreman za prijem). Predajnik zatim šalje podatke prijemniku. Nakon prijema podataka, prijemnik proverava da li su podaci primljeni bez greške i za to vreme javlja predajniku da je zauzet. Ako su podaci primljeni bez greške, prijemnik šalje predajniku signal potvrde ACK (Acknowledgment - ASCII 6), a u slučaju ako se pojavila neka greška, šalje signal negativne potvrde NAK (ASCII 21). Zavisno od upotrebljenog protokola, odgovor predajnika na dobijeni NAK signal može biti ponovno slanje podataka. Protokol za prenos može se izvesti na dva načina i to: hardverski i softverski. Za realizaciju hardverskog protokola neophodno je da postoje linije: RTS, CTS i linija za prenos bitova poruke. Softverska realizacija koristi umesto linija RTS i CTS, ASCII znakove XON i XOFF (nazivaju su i DC1 i DC3), zbog čega je umesto tri dovoljna samo jedna linija. Kada se primenjuje ovaj protokol prijemnici i na predaji i prijemu proveravaju svaki prispeli znak radi utvrďivanja da li je to XON, XOFF ili podatak. Strana koja ne može da primi karakter kao indikator tog stanja drugoj strani šalje XOFF znak. Oblik signala kod RS232 standarda prikazan je na Slici TIA/EIA-423-B (RS-423) Ovaj interfejs koristi nebalansirane linije za prenos. Ipak, samo jedan kraj prenosnog sistema je uzemljen, što onemogućuje pojavu ground loop-a. Prijemna strana RS-423 je diferencijalna. Nebalansirani predajnik i diferencijalni prijemnik se koriste da bi se izbegao uticaj preslušavanja (crosstalk) i različitog (diferentnog) uzemljenja. Kod RS-423 standarda prenos podataka je na 120kbps (za 30 metara dugi kabl), pa sve do 3 kbps (za kabl dug 1300 metara). 5

7 Slika 2-2. Oblik signala kod RS232 standarda 2-3. TIA/EIA-422-B Uobičajen naziv za standard je RS-422. Prenos podataka kod RS-422 je jednosmeran (simplex). Koriščenjem kablova koji su meďusobno upredeni (uvrnuti) i RS-422 prijemnika, čiji je napon minimalno 7V, ovaj način prenosa je manje položan šumovima okoline u kojoj se nalaze dugi prenosni kablovi. Svaki drajver može pokretati do 10 prijemnika. Prenos podataka je do 10Mbps-a pri dužini kabla (linija) do 1200 metara, mada je moguće ostvariti i veće brzine podataka TIA/EIA-485 (RS-485) RS-485 predstavlja poboljšanje RS-422 standarda, koje koristi slične naponske nivoe, ali omogućava polu-dupleks vezu i bidirekcionu komunikaciju. Standard definiše samo nivoe i oblike električnih signala. Kompletan hardver se definiše od strane korisnika proizvoljno. Standard propisuje balansirane linije prenosa čija dužina treba da bude 1200 metara. Maksimalna brzina prenosa je nedefinisana, ali se odreďuje kao odnos vremena uspostavljanja signala i vremena trajanja bita. Slika 2-3. Klasifikacija standarda po brzini 6

8 2-5. SMALL COMPUTER SISTEM INTERFACE (SCSI) SCSI je industrijski standard, koji je definisan od strane ANSI-a, a koji obezbeďuje razmenu podatka izmedju kompijutera i periferije. Standardni SCSI je paralelni interfejs širine jednog bajta, koji omogućuje vrlo velike brzine prenosa podataka na malim razdaljinama. SCSI magistrala (bus) je bidirekcionalna (obostrana) i na oba kraja kabla se nalazi terminator, radi eliminasanja uticaja refleksije u vodu. Kod single-ended interfejsa standard definiše maksimalnu dužinu voda od 6 metara. Maksimalna brzina protoka podataka je 10 miliona transfera po sekundi, što iznosi oko 80 Mbps. Za duže linije (do 25 metara), ovaj standard koristi RS-485 kao fizičku sloj IEEE 1394 (FireWire) Novi standard koji obezbeďuje visoke brzine prenosa na serijskoj magistrali (bus-u). Omogućava izohroni (real time) i asinhroni prenos podataka sa brzinom od 100, 200 i 400 Mbps. Inače, planirane su i veće brzine. Ovaj standard podržava prenos podataka visoke rezolucije za video kao i prenos većeg broja audio kanala pri niskoj ceni. Tipična aplikacije su digitalni audio i video, CD-ROM-ovi, PC računari i periferije, kao i svi oblici vremenski kritičnih (time critical) prenosa podataka UNIVERSAL SERIAL BUS (USB) Ovaj standard može da zameni mnoge postojeće standarde (kao što su RS-232, paralelne portove, MIDI portove) sa samo jednim konektorom. USB omogućava prenos od 1,5 Mbps, 12 Mbps, 120 Mbps i više. Tipične aplikacije su povezivanje sporih periferija na PC računar (tastatura, miš), povezivanje (standardnih i GSM/ GPRS) modema, skenera, štampača, digitalnih i audio ureďaja itd. 7

9 3 KARAKTERISTIKE SERIJSKOG PORTA Serijski port PC računara koristi se za serijski prenos podataka (bit po bit) i samim tim je sporiji od paralelnog porta. UreĎaji koji koriste serijsku komunikaciju koriste dve vrste kablova i to: DCE (Data Communications Equipment) i DTE (Data Terminal Equipment). DCE koriste modemi, ploteri i slično, dok se DTE koristi za vezu izmeďu PC računara. Raspored pinova (1-9) na konektoru DSUB-9 prikazan je na Slici 3-1, dok su opisi i značenja signala dati Tabeli 3-2 i Tabeli 3-3. Slika 3-1. Raspored pinova na konektoru DSUB-9 Postoje sinhroni i asinhoni serijski prenos. Sinhoni prenos podrazumeva da predajnik i prijemnik dele zajednički takt, ili da predajnik obezbedi poseban signal kojim će se obaveštavati prijemnik kada se šalje sledeći podatak. Kod asinhronog prenosa ne postoji poseban signal, već se sinhronizacija vrši preko specijalnih bitova koji se umeću. Slika 3-2. Principijelna blok-šema serijskog porta Tokom serijskog prenosa podataka moguća je pojava sledećih grešaka: Greška uokvirenja ili greška rama podatka (framing error). Do ove greške dolazi u slučaju kada prijemnik očekuje STOP bit, ali se on ne pojavljuje. 8

10 Greška prekoračenja (overrun error). Nastaje kada se pojavljuje novi znak u prijemniku, a prethodni nije upotpunosti primljen. Greška parnosti (parity error). Nastaje kada bit parnosti ne odgovara stanju bitova u bitovima podatka. Signali Tip Opis RX Input Linija za prijem bita serijski ulaz u prijemnik. TX Output Linija za slanje bita serijski izlaz iz predajnika. RST_In Input Reset Input sistemski reset. CLK_In Input Clock Input sistemski takt. WE_In Input Write Enable odreďuje da li je na magistrali ciklus čitanja ili upisa; WE_In=0 => čitanje, WE_In=1 => upis. CYC_In Input Cycle Input govori da je u toku ispravan ciklus na magistrali. Signal je aktivan za sve vreme trajanja cikusa (tj. za vreme trajanja svih ciklusa u slučaju BLOCK čitanja/upisa). STB_In Input Strobe Input indicira da je u toku ispravan ciklus na magistrali. PotvrĎuje spremnost podataka na WE_In, ADR_In, SEL_In ulazima. ACK_Out Output Acknowledge Output aktivna vrednost označava da je normalno završen ciklus na magistrali. RTY_Out Output Retry Output aktivna vrednost govori da interfejs nije spreman da primi/pošalje podatke i da treba ponovo izvršiti ciklus. ERR_Out Output Error Output aktivna vrednost govori da je došlo do greške i da se ciklus prekida. ADR_In (31..0) Input Addres Input array sadrži adresu podatka koji se čita, tj. adresu na koju podatak treba da se upiše. Najznačajniji bit adrese se nalazi na kraju niza označenom najvećom vrednošću. DAT_In (31..0) Input Data Input array linije preko kojih port prima podatke od računarskog sistema. DAT_Out (31..0) Output Data Output array linije preko kojih port šalje podatke računarskom sistemu. SEL_In (3..0) Input Select Input array označava gde na linijama za podatke master očekuje da budu podaci koji su pročitani, tj. gde se nalaze podaci koji treba da budu upisani. TAG0_Out Output Tx_FIFO Full odlazni FIFO red je pun. TAG1_Out Output Rx_FIFO Empty dolazni FIFO red je prazan. TAG2_Out Output Framing Error u prijemniku se desila greška. TAG3_Out Output Overrun Error u prijemniku se desila greška. Tabela 3-1. Spisak signala serijskog porta Kod PC računara serijska komunikacija se ostvaruje preko Intelovog UART kola 8250 (kod XT) ili (kod AT računara). Ova kola su veoma slična, s tim što kolo ima neke naprednije karakteristike. Kolo 8250 sadrži 10, dok kolo16450 ima 12 programibilnih jednobajtnih registara. Svaki port (COM1 i COM2) ima po jedno UART kolo koja se vezuju na linije prekida IRQ3 i IRQ4. Standardno se koriste dva porta, a moguće je i više sa adresama i IRQ prema Tabeli 3-4. Bazne adrese COM portova nalaze se u BIOS-u na adresama datim u Tabeli

11 DSUB-9 Signal Opis signala pin 3 TD Transmit Data pin 2 RD Receive Data pin 7 RTS Request To Send pin 8 CTS Clear To Send pin 6 DSR Data Set Ready pin 5 SG Signal Ground pin 1 CD Carrier Detect pin 4 DTR Data Terminal Ready pin 9 RI Ring Indicator Tabela 3-2. Signali na konektoru DSUB-9 Signal Opis signala Značenje signala TD Transmit Data Serijski izlaz podataka (TXD) RD Receive Data Serijski ulaz podataka (RXD) RTS Request ToSend Indicira da je modem spreman za razmenu podataka CTS Clear To Send Kada modem detektuje signal "Carrier" od modema sa druge strane linije, onda ona postaje aktivna DSR Data Set Ready DCE signalizira da je spreman za rad SG Signal Ground Masa CD Carrier Detect DCE javlja da je uspostavljena veza DTR Data Terminal Ready Indicira DCE ureċaju da je DTE spreman RI Ring Indicator Signalizira detekciju signala "zvona" na telefonskoj liniji Tabela 3-3. Funkcija pojedinih signala Naziv Adresa IRQ COM 1 3F8 4 COM 2 2F8 3 COM 3 3E8 4 COM 4 2E8 3 Tabela 3-4. Adrese COM portova Startna adresa Opis 0000:0400 Poĉetna adresa COM1 0000:0402 Poĉetna adresa COM2 0000:0404 Poĉetna adresa COM3 0000:0406 Poĉetna adresa COM4 Tabela 3-5. Bazne adrese COM portova u BIOS-u 10

12 USART Serijski port sadrži USART (Universal Asynchronous & Synchronous Receiver/Transmitter) kontroler, koji predstavlja najvažniju komponentu za ostvarivanje serijske komunikacije. USART predstavlja interfejs izmeďu mikroprocesora i ulazno-izlaznog periferijskog ure- Ďaja, tako da ima dvojak zadatak: 1. Prihvata bajtove podataka od mikroprocesora, transformiše ih u bitski niz (string) i šalje ka periferiji bit-po-bit. 2. Prihvata niz bitova koji stižu sa periferije, pakuje ih u bajtove i predaje mikroprocesoru (CPU). Unutar USART podsistema integrisane su sledeće komponente: takt generator, delitelji frekvencije, ulazni pomerački registar, izlazni pomerački registar, kontrolna logika čitanja i upisa, kontrolna logika slanja i prijema, bafer prijemnika (opciono), bafer predajnika (opciono), FIFO (opciono). Pored navedenih, USART mora da obavi i dodatne operacije brisanje prethodno poslatog bita ili podatka, kao i pridruživanje dodatnih bitova (start-bit, stop-bitovi i bit parnosti) karakteru koji se šalje. U slučaju da karakter sadrži manje od 8 bitova (5, 6 ili 7), na svaku praznu poziciju se dopisije ili logička 0 ili logička 1, zavisno od proizvoďača. Dodatne mogućnosti podrazumevaju da UART mora da prepoznaje greške koje mogu da nastanu prilikom prijema podataka: grešku prekoračenja (Overrun Error), grešku u ramu podatka (Framing Error) i grešku parnosti (Parity Error). 11

13 4 - OPIS MIKROKONTROLERA PIC16F877A Pre oko jedne decenije firma Microchip je tržištu ponudila mikrokontroler PIC16F877A, koji predstavlja integraciju mikroprocesora (CPU), memorije i periferija. Ovaj mikrokontroler je izraďen u CMOS tehnologiji sa ugraďenom FLASH i EEPROM memorijama, za čuvanje programa i podataka. PIC16F877A ima tipičnu RISC arhtekturu (karakteriše manjim skupom instrukcija koje se brže izvšavaju u odnosu na CISC arhitekturu) Zašto baš PIC16F877A? Microchip proizvodi kontrolere čiji odnos cena/performanse je u samom vrhu trenutno prisutnih kontrolera na svetskom tržištu. Za svoje mikrokontrolere Microchip nudi potpuno besplatan razvojni sistem MPLAB. Microchip prodaje C kompajler za svoje kontrolere, ali zato za edukaciju i neprofesionalnu upotrebu postoje C kompajleri koji se mogu naći na Internetu i koji su besplatni. Arhitektura Microchip-ovih kontrolera je RISC zasnovana sa dobrim konceptom optimizacije u smislu brzine i jednostavnosti projektovanja i performansi. Mikrokontroler PIC16F877A posjeduje većinu potrebnih periferija na samom čipu tako da je podesan za aplikacije na jednom čipu. Koristi ISP (In System Programming) tehniku programiranja, za čiji programator je dovoljno realizovati manji sklop od tri otpornika i imati vezu sa serijskim portom računara. Kompatibilan je sa ostalim mikrokontrolerima iz Microchip-ove familije u smislu instrukcijskog seta i arhitekture tako da je prelazak na bilo koji drugi njihov mikrokontroler veoma jednostavan. 12

14 4-2. Karakteristike mikrokontrolera RISC CPU visokih performansi 35 instrukcija obima jedne reči Radna frekvencija do 20 MHz Sve instrukcije su jednocikluske, sem instrukcija grananja koje su dvocikluske Trajanje taktnog intervala 200 ns (pri frekvenciji 20 MHz) Opkôd je obima 14 bita Hardverski magacin (stack) ima osam nivoa Postoje tri načina adresiranja (direktno, indirektno i relativno) Programska flash memorija je kapaciteta 8 k X 14-bitnih reči Memorije za podatke (RAM) je kapaciteta 368 X 8 bita Memorije za podatke (EEPROM) je kapaciteta 256 X 8 bita Prekidi (maksimalno 14 izvora prekida) šest ulazno-izlaznih portova (A, B, C, D i E) Tri tajmera: - Timer0 (TMR0): osmobitni tajmer/brojač_dogaďaja - Timer1 (TMR1): šesnaestobitni tajmer/brojač_dogaďaja - Timer2 (TMR2): osmobitni tajmer/brojač_dogaďaja Serijska komunikacija: MSSP, USART Paralelna 8-bitna komunikacija: PSP ICSP (In Circuit Serial Programing) preko samo dva izvoda Analogni komparatorski modul sa programabilnim referentnim naponima 8-kanalni 10-bitni ADC (Analog-to-Digital Converter, analogno/digitalni konvertor) Power-on Reset - reset pri uključenju napajanja (POR) Power-up timer - unošenje kašnjenja nakon uključenja napajanja (PWRT) Oscillator Start-up Timer - unošenje kašnjenja neposredno po stabilizovanju radne frekvencije oscilatora (OST) Sleep mode - režim rada sa veoma malim utroškom energije Watchdog tajmer sa sopstvenim integrisanim RC oscilatorom za nezavisni rad Izbor tipa oscilatora (RC, XT, HS, LP) ciklusa Write/Erase programske memorije ciklusa Write/Erase memorije za podatke EEPROM. Trajanje podataka u EEPROM duže od 40 godina. Radni napon može da bude u opsegu od 2V do 5.5V Mala potrošnja energije: - <0.6 ma pri naponu od 3V i radnoj frekvenciji od 4 MHz - 20µA pri naponu od 3V i radnom taktu od 32kHz - <1µA u standby režimu rada Arhitektura mikrokontrolera PIC16F877A Na Slici 4-2 je ilustrovana arhitektura mikrokontrolera PIC16F877A. Ona poseduje odvojene magistrale za podatke i programski kôd. Obim podataka je osmobitni, dok je programski kôd četrnaestobitni. Sve instrukcije su istog obima (osim instrukcija grananja) i izvšavaju se za četiri taktna intervala. Dakle, ukoliko se koristi oscilator od 20 MHz, ciklus instrukcije traje 200 ns, a moguće je protočno izvršenje (pipelining). 13

15 Slika 4-1. Raspored pinova kod mikrokontrolera PIC16F877 u kućištu DIP40 Strukturu mikrokontrolera PIC16F877A čini nekoliko celina: Aritmetičko-logička jedinica (ALU) Akumulator (Working Register) Hardverski magacin (Stack) organizivan u 8 nivoa EEPROM memorija podataka obima 256 bajtova Flash programska memorija 8 kiloreči obima 14 bita RAM (File Registers) 368 bajtova Višekanalni A/D konvertor, USART, SPI interfejs, I2C interfejs, šest U/I portova, tajmere itd Organizacija memorije mikrokontrolera Memorija mikrokontrolera PIC16F877A je organizovan u sledeće tri celine: Programska memorija (FLASH) Memorija podataka (RAM) EEPROM memorija podataka. 14

16 Slika 4-2. Arhitektura mikrokontrolera PIC16F877A 15

17 U mikrokontroleru postoji i magacin (stack), koji radi na principu cikličnog bafera, što znači da se u njega mogu staviti osam različitih adresa, dok se sa upisom devete adrese briše prva i tako redom. Programski se ne može utvrditi da li je došlo do prepunjeja magacina. Programska memorija U mikrokontroler PIC16F877A integrisan je trinaestobitni programski brojač (PC) koji je u mogućnosti da adresira 8K programskih reči od 14 bita. Izvršavanje programa počinje od Reset vektora, a prekidni (interrupt) vektor je 0x0004. Mapa programske memorije i magacin su prikazani na Slici 4-3. Memorija podataka Memorija podataka je podeljena u više banki (banks), a čine je registri opšte namene (General Purpose Registers) i registri specijalne funkcije (Special Function Registers). U jednom od specijalnih registara, tzv. STATUS registru postoje dva bita RP1 i RP0 koji služe za izbor željene banke podataka.. Slika 4-3. Mapa programske memorije i magacin (stack) 16

18 Slika 4-4. Mapa registara mikrokontrolera PIC16F877 17

19 Svaka banka može da sadrži do 128 registara (0x7F). Niže lokacije u banci zauzimaju specijalni registri, a ostatak prostora popunjavaju registri opšte namene implementirani kao statički RAM. Neki specijalni registri koji se često koriste mapirani su u sve banke da bi se omogućio brzi pristup i redukcija kôda. Mapa registara mikrokontrolera PIC16F877 prikazana je na Slika 4-4. Nekoliko specijalnih registara su registri jezgra, uskopovezani sa funkcionisanjem mikroprocesora kontrolera. Ostali registri su vezani za periferne module i služe za njihovo upravljanje i kontrolu statusa Programski brojač (PC) je 13-bitni registar i odreďuje adresu naredne instrukcije u programskoj flash memoriji. Simboličko ime nižeg bajta je PCL i to je registar u koji se može i upisivati i iščitavati. Viših pet bita programskog brojača (PC) smešteni su u izolovani registar PCH kojem se pristupa samo preko latch-a PCLATH, mapiranom u internom RAM-u na adresi 0x0A. STATUS registar je veoma važan i zato je predviďeno da se može adresirati iz bilo koje banke. On pokazuje status aritmetičko-logičke jedinice, reset status mikrokontrolera i sadrži bite za selekciju banki internog RAM-a. Od navedenih flegova posebno treba izdvojiti Zero bit (Z), koji se postavlja kad je rezultat aritmetičke operacije jednak nuli i bit prenosa/pozajmice Carry (C). Interni EEPROM za podatke Kada je potrebno da se upamte neki parametri (podaci) i posle prestanka napajanja mikrokontrolera, treba ih, prethodno, zapisati u interni EEPROM. Ova memorija je obima 256 bajtova. Slika 4-5. Povezivanje oscilatora sa eksternim otpornikom i kondenzatorom 4-5. Izbor oscilatora mikrokontrolera Kod mikrokontrolera PIC16F877A moguće je izabrati jednu od četiri konfiguracije oscilatora: RC Resistor/Capacitor XT Crystal / Resonator 18

20 LP Low Power Crystal HS High Speed Crystal / Resonator. Najjednostavnija varijanta je izbor RC oscilatora (internog ili eksternog), što je i prikazano na Slici 4-5. Ovakav pristup je ispravan u aplikacijama u kojima se ne zahteva precizna procena vremenskih intervala. Slika 4-6. Povezivanje eksternog kvarca (LP, XT, HS) Slika 4-7. DovoĊenje spoljašnjeg takta Pored vrednosti otpornika i kondenzatora (Rext i Cext), frekvencija oscilovanja zavisi i od napona napajanja i radne temperature. Vrednost otpornika Rext treba da bude u opsegu od 3 KΩ do 100K KΩ. Izvan ovog opsega rad oscilatora nije stabilan i osetljiv je na spoljašne uticaje. Kondenzator Cext se može čak i izostaviti. MeĎutim, zbog stabilnosti preporučuje se vrednost oko 20pF. Kod aplikacija koje su vremenski kritične (time critical) treba koristiti kvarcni oscilator ili keramički rezonator. Vrednosti kondenzatora C1 i C2 (Slici 4-6), treba da budu identične. Mikrokontroleru PIC16F877A može da se dovede i spoljašnji takt, što je i pokazano na Slici Portovi mikrokontrolera PIC16F877A poseduje pet portova (PORT_A, PORT_B, PORT_C, PORT_D i PORT_E) i svi oni predstavljaju vezu njegove interne strukture sa spoljašnjim svetom. Svaki od njih može da se konfiguriše kao ulazni ili kao izlazni. Pomenuti portovi su različitog obima: 19

21 6-pinski (PORT_A) 8-pinski (PORT_B, PORT_C, PORT_D) 3-pinski (PORT_E). Svakom pinu bilo kojeg porta, u zavisnosti od režima rada, mogu da se dodele kako fiksne tako i promenljive funkcije. Konfiguracija smera prenosa ostvaruje se upisom na odgovarajuću bit-poziciju u pripadajućem TRIS registru (0 pin je izlazni, 1 pin je ulazni). Svakom portu je dodeljen registar podataka (PORT_X), preko kojeg se programski pristupa U/I pinovima. Upis u neki od tih registara iniciraće upis u latch tog porta, a njegovo čitanje rezultiraće čitanjem logičkih stanja direktno sa pinova. Sve instrukcije upisivanja su tipa read-modify-write.to znači da se pri upisu u port najpre očitaju stanja pinova, zatim izvrši modifikacija, a potom korigovana vrednost upiše u latch porta. Ne postoji velika razlika u konstrukciji pomenutih pet portova. Jedino se Port_B od ostalih razlikuje zbog posebne opcije koju nude četiri MSB. Ukoliko se setuje bit RBIE u registru INTCON, svaka promena stanja na ovim pinovima, generisaće prekid mikrokontrolera. Slika 4-8. Blok-dijagram pina RA4 Port_A Port_A je 6-bitni (RA5-RA0) bidirekcioni port (podaci mogu da se šalju u oba smera). Sadržaj registra TRISA odreďuje smer (ulazni ili izlazni) pinova na portu. Blok-dijagrami za pin RA4 je prikazan na Slici 4-8, a za ostale pinove na Slici

22 Slika 4-9. Blok-dijagram ostalih pinova Porta A Kroz nekoliko primera ćemo ilustrovati kako se definišu smerovi na portu : TRISA = 0b (Port_A je ulazni), TRISA = 0b (Port_A je izlazni), TRISA = 0b (RA5 i RA0 pinovi su ulazni, a RA4-RA1 su izlazni), TRISA = 0b (RA5-RA3 su izlazni, a RA2-RA0 su ulazni) itd. Port_A ima mogućnost analogno-digitalne konverzije i prvenstveno se koristi za te svrhe. A/D konvertor, koji je integrisan u mikrokontroleru, je 10-bitni sa 8 ulaznih kanala, jer se u ove svrhe koriste i svi pinovi Porta E (i pinovi Porta A, osim RA4). Pin RA4 je sa otvorenim drejnom i može da se iskoristi za ulazni takt za tajmer TMR0. Port_B Port _B je 8-bitni bidirekcioni port. Svakom pinu porta korespondira odgovarajući bit u registru TRISB, kojim se definiše smer. Svi pinovi unutar Porta B poseduju pull-up otpornike. Ovi otpornici mogu da se uključe jednim kontrolnim bitom. To se postiže postavljanjem RBPU bita na 0. Pull-up otpornici se automatski isključuju kada se pin konfiguriše kao izlazni. Otpornici su isključeni i kod Power-on reseta. 21

23 Slika Blok-dijagram pinova RB7-RB4 Slika Blok-dijagram pinova RB7-RB4 22

24 Četiri pina na Portu B (RB7-RB4) imaju mogućnost generisanja prekida. Samo pinovi koji su definisani kao ulazni mogu da prouzrokuju prekid. Kombinacija prekida na promenu stanja Porta B i pull-up otpornik mogu da se iskoriste kao jednostavan interfejs za tastaturu. Na Slikama 4-10 i 4-11 prikazana je struktura Porta B. Port_C Port C je 8-bitni bidirekcioni port. Posebnost ovog porta se ogleda u tome što poseduje ugraďen USART modul, koji služi za serijsku komunikaciju (na primer sa računarom ili drugim mikrokontrolerom). Modulu se pristupa preko pinova RC7 i RC6. Pinove treba softverski konfigurisati da budu u funkciji USART modula. Portovi C, D i E Port_ D je 8-bitni bidirekcioni port. Ovaj port može da se konfiguriše kao 8-bitni paralelni mikro-procesorski port (parallel slave port-psp) i to podešavanjem konfiguracionog bita PSPMOTE (TRISC<4>). U ovom režimu rada ulazni bafer je TTL tipa. Slika Blok-dijagram pinova RC7-RC5, RC2-RC0 23

25 Slika Blok-dijagram pinova RC7-RC5, RC2-RC0 Port_E je bidirekcioni port veličine 3 bita. Ima mogućnost A/D konverzije.ulazni bafer je tipa Schmitt Trigger. Pinovi mogu da se konfigurišu kao digitalni ili analogni, kao i u slučaju Porta A, o čemu je već bilo reči Periferijske jedinice Mikrokontroler PIC16F877 poseduje nekoliko korisnih periferijskih modula, koji će u ovom odeljku biti samo kratko spomenuti. S obzirom na kontinualnost pojava u spoljašnjem svijetu, teško je upravljati bilo kojim procesom bez digitalizacije analognih veličina. Na većinu zahteva može odgovoriti 10-bitnii 8- kanalni A/D konvertor konstruisan na principu sukcesivnih aproksimacija. Mikrokontroler obično nije usamljen, nego je deo mreže ureďaja koji trebaju meďusobno da komuniciraju i razmenjuju podatke. U tu svrhu, on je opremljen sa tri hardverska komunikaciona modula. Prvi od njih je SSP modul (Synchronous Serial Port), koji služi za komunikaciju sa serijskim EEPROM-ima, pomeračkim registrima, displej-drajverima itd. Ovaj modul može da radi u jednom od dva režima: Serial Peripheral Interface (SPI) Inter-Integrated Circuit (I2C). 24

26 Drugi serijski komunikacioni modul je USART (Universal Synchronous Asynchronous Receiver Transmiter). On uglavnom služi za povezivanje sa personalnim računarom, mada to nije jedina mogućnost primene. USART može da se konfiguriše u neki od sledećih režima rada: Asinhroni rad (full duplex) Sinhroni master rad (half duplex) Sinhroni slave rad (half duplex). Osim serijskih, postoji i jedan paralelni komunikacioni modul. Reč je o modulu PSP (Parallel Slave Port). Njegov zadatak je da PIC16F877A direktno poveže na 8-bitnu magistralu podataka drugog mikroprocesora. Eksterni mikroprocesor tada, preko linija Read (RD) i Write (WR) može da čita i upisuje u Port_D registar kao u svaki drugi 8-bitni latch. 25

27 5 LOGIĈKA I SEKVENCIJALNA KOLA Digitalna kola se dele na dve velike klase: ona koja ne poseduju memoriju nazivamo kombinacionim kolima, dok su ona koja poseduju memoriju poznata pod imenom sekvencijalna kola. Ponašanje kombinacionog kola u potpunosti je specificirano istinitosnom tablicom ili skupom jednačina koje za svaku ulaznu kombinaciju daju odgovarajuću izlaznu kombinaciju. Ova kola preslikavaju ulazne podatke u izlazne, tj. obavljaju izračunavanje u jednom koraku. U praksi postoji neznatno kašnjenje pre nego što izlazni signali promene svoje stanje kao odziv na promene vrednosti signala na ulazu. Vreme odziva je obično veoma kratko, najčešće reda nanosekunde ili kraće, tako da se sa tog aspekta za odziv kombinacionih kola kaže da je trenutan. Nikola Tesla je prvi zatražio patente za elektromehaničko I (AND) logičko kolo godine, Klod Šenon (Claude E. Shannon) je uveo korišćenje Bulove algebre u analizi i dizajnu prekidačkih kola godine, a Volter Bot (Walther Bothe), pronalazač tzv. podudarnih kola, podelio je Nobelovu nagradu za fiziku godine za prvo električno I kolo napravljeno godine. Projektanti najčešće razlažu složena izračunavanja na sekvencu jednostavnih koraka. U tom slučaju, umesto da se rezultat odredi odjednom, u datom trenutku dobijamo samo mali deo tog rezultata. Isti princip važi i kod digitalnih sistema. Naime, digitalna kola koja izvršavaju specificirani zadatak obavljaju aktivnost kao sekvencu koraka. Zbog toga za ova kola kažemo da su sekvencijalna. Sekvencijalna kola moraju da pamte parcijalne rezultate izmeďu koraka. Pojmovi sekvencijalno kolo i kolo koje poseduje memoriju predstavljaju sinonime. Prednost sekvencijalnog rada je ta što je za izvršenje svakog koraka potrebno ugraditi jednostavniji hardver, ali sa druge strane, treba da protekne znatno duži period dok se ne dobije konačan rezultat. To znači da implementacija nekog zadataka pomoću kombinacione logike rezultira kraćem vremenu generisanja rezultata u odnosu na implementaciju zasnovanu na sekvencijalnoj logici, ali će zato obim hardvera biti veći Realizacija logiĉkih kola U principu, logička kola se mogu konstruisati od releja i prekidača. Mada je poluprovodnička elektronika prisutna u većini primena, releji i prekidači se još uvek koriste u nekim industrijskim primenama i u nastavne svrhe. Tri osnovna tipa logičkih kola realizuju tri osnovne logičke funkcije, a to su I (AND), ILI (OR) i NE (NOT) kolo. Sa ovim kolima je moguće konstruisati druge logičke funkcije, kao što su NI (NAND), NILI (NOR), EKSILI (XOR) i EKSNILI (XNOR). Ova kola ne izgledaju logičan izbor, ali se zbog jednostavnije konstrukcije složenih logičkih izraza baš neka od njih često koriste. Upravo je NI kolo najjednostavnije za realizaciju, odnosno sa tim kolom se konstruišu logički sklopovi koji sadrže najmanje tranzistora i samim tim su najmanje površine poluprovodničke pločice silicijuma. Usput, pomoću NI kola je moguće konstruisati bilo koje drugo logičko kolo primenom De Morganovih pravila. Dakle, sva složena logička kola se mogu realizovati primenom samo jednog, NI osnovnog kola.takav način obezbeďuje uniformnost i jednostavnost logičkog projektovanja, a programabilna logička polja (PLA) su baš tako realizovana. 26

28 5-2. Prekidaĉka kola Elektronska prekidačka kola su praktične realizacije apstraktnih bulovskih ideja. Prvi korak u razumevanju praktičnog kola je uspostavljanje veze izmeďu apstraktnih koncepata '1' i '0' (nula - ili bilo koje ime dato za ova dva stanja) i kako su prikazani u realnom, analognom, kolu. Oni su obično predstavljeni kao različiti naponi, mada su ponekad predstavljeni različitim jačinama struja kao u primeru niže. Nakon ovoga, mora se odrediti tzv. 'logički polaritet'. Na primer, pri interpretiranju značenja opšteprihvaćena je pozitivna logika, gde je najviši napon pridružen logičkoj jedinici. TTL koristi logiku prema ovakvom dogovoru. S druge strane, u drugom poglavlju je spomenut RS- 232 standard koji koristi tzv. 'negativnu' logiku. I kolo Bulovska I funkcija se može implementirati sa dva redno vezana prekidača (A i B), kao što je prikazano na Slici 5-1. Da bi kolo provodilo struju, istovremeno moraju biti uključena oba prekidača (A i B). Tablica istinitosti I kola prikazana ja u Tabeli 5.1. Slici 5-1. Principijelna šema prekidaĉkog I kola ULAZI IZLAZ A B A i B Tabela 5-1. Tablica istinitosti prekidaĉkog I kola ILI kolo ILI kolo je realizovano sa dva prekidača (Slika 5-2), koja su u paralelnoj vezi tako da se provodnost obezbeďuje ako je makar jedan od prekidača (A ili B) uključen. Tablica istinitosti ILI kola prikazana ja u Tabeli

29 Slici 5-2. Principijelna šema prekidaĉkog ILI kola ULAZI IZLAZ A B A ili B Tabela 5-2. Tablica istinitosti prekidaĉkog ILI kola Slika 5-3. Osnovna logiĉka kola 28

30 Na Slici 5-3 prikazana su osnovna logička kola sa odgovarajućim simbolima i tablicama istinitosti Multiplekseri i demultiplekseri Multiplekser je kombinaciono kolo koje vrši ulogu elektronskog prekidača. Često se označava sa MUX i omogućava da se samo jedan od n ulaza logički poveže, u datom trenutku, na zajedničko odredište. Ulaz koji se u datom trenutku bira odreďen je od strane adresa ili selektorskih ulaza. Multiplekser se sastoji iz jednog izlaza, n selekcionih ulaza i 2 n informacijskih ulaza. Tako na primer multiplekser 2/1 ima dva ulaza za podatke (D0 i D1), jedan selekcijski ulaz (S) i jedan izlaz (Y). Kada je S=0, stanje sa ulaza D0 će biti prosleďeno na izlaz (Y); ako je S=1, stanje sa ulaza D1 će biti prosleďeno na izlaz (Y). Slika 5-4. Multiplekser 2/1 (MUX 2/1) 29

31 Logički simbol, tablica istinitosti, logička funkcija i shema multipleksera 2/1 prikazani su na Slici 5-4, a realizacija MUX 2/1 preko logičkih kola prikazana je na Slici 5-5. Multiplekser 4/1 (logički simbol je prikazan na Slici 5-6) ima dva ulaza za podatke (D0, D1, D2 i D3), dva selekcijska ulaza (S0 i S1) i jedan izlaz (Y). Kada je S0=S1=0, stanje sa ulaza D0 će biti prosleďeno na izlaz (Y); ako je S0=0 i S1=1, stanje sa ulaza D1 će biti prosleďeno na izlaz; ako je S0=1 i S1=0, stanje sa ulaza D2 će biti prosleďeno na izlaz; kada je S0=S1=1, stanje sa ulaza D3 će biti prosleďeno na izlaz. Slika 5-5. Multiplekser 2/1 (MUX 2/1) realizovan preko logiĉkih kola Realizacija MUX 4/1 preko logičkih kola prikazana je na Slici 5-7. Slika 5-6. Logiĉki simbol multipleksera 4/1 (MUX 4/1) Multiplekseri se mogu koristiti za implementaciju logičkih funkcija. Na primer, multiplekser tipa 4/1 se može koristiti za generisanje bilo koje moguće funkcije od tri promenljive, shodno sledećoj relaciji: 30

32 Slika 5-7. Realizacija MUX 4/1 sa dozvolom (En) preko logiĉkih kola Demultiplekser je kolo koje obavlja funkciju suprotnu multiplekseru, tj. vrši prenos podatka od jedinstvenog izvora D ka jednom od m = 2 n izlaza (odredišta), pri čemu koristi n selektorski ulaza. Slika 5-8. Kombinacija multipleksera i demultipleksera 31

33 Na Slici 5-8 ilustrovano je korišćenje multipleksera i demultipleksera. Naime, prenos podataka vrši se u jednom smeru (preko komunikacionog kanala), iz jednog ili više izvora podataka ili predajnika ka jednom ili više odredišta podataka ili prijemnika Leĉevi i flip-flopovi Bistabilno kolo (leč, flip-flop) je elektronsko kolo koje ima dva stabilna stanja i stoga je u stanju da posluži kao jedan bit memorije. Bistabilno kolo se kontroliše jednim ili dva kontrolna signala i/ili signalom dozvole. Izlaz često pored normalnog ima i komplementni izlaz. Bistabilna kola takoďe zahtevaju ulaze za napajanje i masu. Bistabilna kola (latch, flip-flop) imaju dva stabilna stanja. Dele se na asinhrona i sinhrona. Asinhrona bistabilna kola se sastoje od dva ukrštena invertujuća elementa - tranzistora, NI ili NILI kola. Sinhroni flip-flop je verzija asinhronog koji ima dodatne ulaze C ili CLK (takt na koji se dovode sinhronizacijski impulsi konstantne frekvencije tako da flip-flop menja stanje na promenu okidnog signala) i EN ili ENABLE - signal dozvole. Sinhrona bistabilna kola su specijalno projektovana za sinhrone sisteme i zato ignorišu stanja na svojim ulazima osim u trenutku promene okidnog signala. Ovo prouzrokuje da bistabilno kolo može da ili promeni ili da zadrži svoj izlazni signal koji zavisi od vrednosti ulaznih signala za vreme prelaza. Neka bistabilna kola menjaju vrednost izlaza duž celo pozitivnog ili negativnog dela okidnog signala, neki na rastućoj ivici okidnog signala, a drugi na opadajućoj ivici. Bistabilno kolo kod kojeg izlaz stalno prati promene na ulazima dok se eventualno ne dovede pobudni signal koji zamrzava stanje na izlazu se se naziva se leč (latch), dok se kola kod kojih se izlaz menja samo posle dovoďenja odgovarajuće ivice pobudnog signala nazivaju flip-flopovi. U literaturi i katalozima se često ne pravi razlika izmeďu lečeva i flip-flopova, pa se obe vrste kola nazivaju flip-flop. Prvi elektronski flip-flop su izmislili Vilijam Ekles i F. V. Džordan. U početku je nazivan Ekles-Džordanovo okidačko kolo i sastojalo se od dva aktivna elementa (elektronske cevi). Ime flip-flop je kasnije nadenuto po zvuku koji se dobijao na zvučnku proključenom na jedan od spregnutih pojačala tokom procesa okidanja u kolu. Flip-flop se definiše kao bistabilno kolo koje koristi specijalni upravljački signal C (može i nekoliko takvih signala) radi specificiranja trenutaka u kojima se memorija odaziva na promene ulaznih podataka i trenutaka u kojima memorija menja svoje izlazne podatke, tako da se postigne pouzdan netransparentan način rada. S obzirom da signal C, kada je u pitanju flipflop, ima sinhronizirajuću ulogu, on se naziva taktni signal (clock signal). Taktovani flip-flopovi se tipično izraďuju kao master-slave kola, u kom dva osnovna leča (uz neka dodatna logička kola) saraďuju da ga učine neosetljivim na šumove izmeďu prelaza pobudnog signala; ali ipak oni često imaju asinhrone Clear i Set ulaze koji mogu da promene trenutni izlaz nezavisno od takta. Flip-flopovi se mogu dalje podeliti u tipove koji mogu imati zajedničku primenljivost i u asinhronim i u taktovanim sekvencijalnim sistemima: SR ("Set-Reset"), D ("Data"), T ("Toggle") i JK tipovi su uobičajeni. Svi pomenuti mogu se izvesti od drugih tipova uz nekoliko logičkih kola. Ponašanje nekog tipa flip-flopa se može opisati karakterističnom jednačinom, koja daje sledeći izlaz Q n + 1 u zavisnosti od ulaznih signala i/ili trenutnog izlaza. 32

34 SR leĉ Leč je logičko kolo memorijskog tipa sa dva izlaza koji su komplementarni jedan u odnosu na drugi. Osnovni leč se može realizovati unakrsnim povezivanjem dva NOR kola kako je to prikazano na Slici 5-8. Ovo kolo se naziva SR leč i ima dva ulaza S i R (po kojima je i dobio ime). Ulaz S se naziva setujući ulaz, dok je ulaz R resetujući ulaz. Postavljanjem ulaza S u logičko stanje 1, a ulaza R u logičko stanje 0 izlaz Q se postavlja u stanje 1, a izlaz Q' u stanje 0. Ukoliko se na ulaz S dovede logička 0, a na ulaz R logička 1 na izlazu Q se dobije logička 0, a na izlazu Q logička 1. Slika 5-8. Realizacija SR leĉa NILI kolima Slika 5-9. Simbol SR leĉa realizovanog NILI kolima Ako se na ulaze S i R istovremeno dovede logička 0, na izlazu se ne dešava nikakva promena, dok se istovremenim dovoďenjem logičke 1 uzrokuje nepredviďeno stanje na izlazu, pa se ova kombinacija naziva zabranjeno stanje. Najčešći način zapisivanja rada flip-flopa je korišćenjem tablice stanja: ULAZI IZLAZ S R Q n Q n X Tabela 5-3. Tablica stanja SR leĉa sa NILI kolima 33

35 Iz ove tablice se direktno dobija jednačina:, i uz činjenicu da je za dozvoljena stanja na ulazu SR=0, dobija se prostija jednačina: SR leč može da se realizuje i sa NI kolima, što je prikazano na Slici Odgovarajuća tablica stanja data je u Tabeli 5-4. Slika Realizacija SR leĉa NILI kolima ULAZI S IZLAZ R Q n X Q n Tabela 5-4. Tablica stanja SR leĉa sa NI kolima D leĉ Jedan od načina da se eliminiše neželjeno nedefinisano stanje kod SR leča je da se obezbedi da ulazi S i R ne budu nikada istovremeno jednaki '1'. Ovo se izvodi kod D leča kako je to prikazano na Slici D leč ima dva ulaza: D (Data - podaci) i C (Control - upravljački). Komplement ulaza D dovodi se preko NI kola na ulaz S, dok se ulaz D preko invertora i NI kola dovodi na ulaz R. Sve dok je upravljački ulaz C='0', oba ulaza SR leča su na visoko i kolo ne može da promeni svoje stanje nezavisno od vrednosti D. Ulaz D se uzorkuje (odmerava) kada je C='1'. Ako je D='1', Q se postavlja na '1', tj. za kolo kažemo da je u stanju set. Kada je D='0', izlaz Q='0' i kolo je u stanju reset. 34

36 Logički simbol D leča prikazan je na Slici 5-12, a tablica promene stanja leča data je u Tabeli 5-5. Slika Realizacija SR leĉa NILI kolima Slika Logiĉki simbol D leĉa ULAZI IZLAZ D C Q n+1 X 0 Q n Tabela 5-5. Tablica stanja D leĉa Zbog svoje transparentnosti u radu (kada je C='1', izlaz Q prati stanje na ulazu D) lečevi nisu pogodni za korišćenje kod sekvencijalnih kola koja imaju povratnu strukturu, tj. kada se izlaz leča preko kombinacione logike dovodi na njegov ulaz. Naime, kada je C='1', izlazni signal (Q ili Q) se vraća preko povratne grane na ulaz D. Neželjene kombinacije propagacionog kašnjenja (kašnjenja signala kroz kola) mogu da uzrokuju višestruke promene, što rezultira novom neodreďenom stanju leča. Ovaj fenomen se naziva problem trke (race problem) i direktna je posledica transparentnosti leča koja omogućava da kada je C='1' (rad leča dozvoljen) kroz leč proďe neograničen broj promena podataka. Da bi ograničili me- 35

37 morijski element na samo jednu promenu stanja po koraku kada je leču dozvoljen rad, neophodno je koristiti netransparentne memorijske elemente kao što su flip-flopovi. Metodi taktovanja Slika Taktovanje flip-flopa Postoji već broj tipova flip-flopova koji se razlikuju po načinu taktovanja. Uloga signala C kod leča prikazana je na Slici U toku perioda t1:t2, kada je C='1', bilo kakva promena signala podataka prenosi se kroz leč. Nakon odreďenog propagacionog kašnjenja ove promene utiču na izlaz leča Q (a takoďe i na Q ) u toku perioda t3:t4. Ako se ignoriše jedan kratak period neodreďenosti kada signali podataka i takta menjaju vrednosti, za leč kažemo da 36

38 se odaziva na sve ulazne promene kada je C na nivou '1'. Kada je C na logičkoj nuli promene podataka na ulazu nemaju efekat na promene podataka na izlazu. Iz ovih razloga za lečeve kažemo da su osetljivi na nivo (level sensitive) ili da se okidaju na nivo (level triggered). Da bi ostvarili ponašanje flip-flopa moramo da obezbedimo da ne doďe do preklapanja izmeďu vremenskog perioda t1:t2 (kada se prihvataju promene ulaznih signala) i perioda t3:t4 (kada se menjaju izlazni podaci). Jedan od načina da flip-flop ispuni ove zahteve sastoji se u sledećem. Ulazne promene treba prihvatati kada je C='1', a menjati izlaze kada je C='0'. Ovaj impulsni metod rada je bio korišćen kod nekih ranijih verzija bistabilnih kola. Kod najvećeg broja današnjih rešenja koristi se tehnika okidanja na ivicu (edge triggering). Na Slici 5-13b je definisano ponašanje flip-flopa koji se okida pozitivnom ivicom, a na Slici 5-13c ponašanje flip-flopa koji se okida na negativnu ivicu. Flip-flopovi imaju isti simbol kao i lečevi sa izuzetkom jedne male, ali ključne, modifiikacije koja se odnosi na specifikaciju načina taktovanja. Simbol '>' koji se nalazi na kraju linije za taktovanje ukazuje da se okidanje flip-flopa vrši pri prelazu signala C sa '0' na '1'. Simbol '>' se naziva dinamički ulazni simbol. Okidanje negativnom ivicom se označava kombinovanjem dinamičkog ulaznog simbola '>' i simbola inverzije 'o'. Kombinovanje leĉa i flip-flopa Postoje dva načina na koje se kombinuju lečevi kod flip-flopova. Kod prvog načina lečevi se kombinuju tako da se: Važećim ulaznim podacima koji su prisutni na ulazima flip-flopa smatraju samo oni koji su prisutni u trenutku kada je važeći i upravljački signal; Stanje flip-flopa menja samo kada stanje upravljačkog impulsa nije aktivno. Ovaj tip flip-flopa se naziva master-slave. Kod drugog načina važi sledeći princip. Flip-flop se okida samo u toku promene taktnog impulsa sa '0' na '1' (ili sa '1' na '0'), a u ostatku perioda promene nisu dozvoljene uključujući i period taktnog signala. Ovaj flip-flop se naziva ivično-okidani flip-flop. Master-slave flip-flop - okidanje na nivo Strukturu master-slave flip-flopa čine dva leča i jedan invertor. Struktura jednog masterslave SR flip-flop prikazana je na Slici Levi flip-flop naziva se master, a desni slave. Kada je C='0', izlaz invertora je '1' i rad slave leča je dozvoljen, tako da njegov izlaz Q prati vrednost na izlazu mastera Y. U tom trenutku rad master leča je zabranjen, jer je C='0'. Kada je C=1, signali prisutni na ulazima Sm i Rm definišu na koje će se vrednosti postaviti Y. Rad slave-a je zabranjen sve dok je C='1', tj C S ='0'. Bilo kakve promene na ulazima S i R menjaju master izlaz Y, ali nemaju efekat na slave izlaz Q. Kada ponovo bude C= '0' rad mastera se zabranjuje, tako da se promene na ulazima Sm i Rm više ne prihvataju, ali je istovremeno rad slave-a dozvoljen tako da se tekuća vrednost Y prenosi na izlaz Q. Vremenski dijagrami karakteristični za rad master-slave SR flip-flopa su prikazani na Slici

39 Slika SR master-slave flip-flop Slika Vremenski dijagrami SR master-slave flip-flopa Analizom tablice stanja SR leča (Tabela 5-3) vidimo da je izlaz leča nedefinisan kada su pri C='1' oba ulaza S=R='1'. Da bi se eliminisao neželjeni uslov koji dovodi do toga da izlazi budu nedefinisani, koristi se JK flip-flop. Kod ovog flip-flopa uslov kada su oba ulaza jednaka '1' ukazuje da izlaz primi komplementarnu vrednost. Struktura JK flip-flopova i odgovarajuće tablice stanja na osnovu koje se opisuje njegovo ponašanje prikazani su na Slici 5-16 i Tabeli 5-6, respektivno. Slika Master-slave JK flip-flop (okidanje na nivo) 38

40 ULAZI IZLAZ IZLAZ J K Q n Q n X X 0 1 X X Q n Q n Tabela 5-6. Tablica stanja JK flip-flopa JK flip-flop nadograďuje rad SR flip-flopa tretiranjem stanja S = R = '1' kao naredbu za komplementiranje izlaza. Kombinacija J = '1', K = '0' je komanda da se setuje flip-flop; kombinacija J = '0', K = '1' je komanda da se resetuje flip-flop; a kombinacija J = K = '1' menja izlaz u logički komplement svoje trenutne vrednosti. Kada je J = K = '0', izlazi flip-flopa će zadržati svoje prethodno stanje. Karaktetistična jednačina JK flip-flopa je: Iviĉno okidani D flip-flop Flip-flop koji se okida na ivicu ignoriše upravljački signal C, dok je na konstantnom nivou, a okida se samo u toku prelaza taktnog signala sa jednog nivoa na drugi. Neki od ivično okidanih flip-flopova okidaju se na pozitivnu ivicu (prelaz sa '0' na '1'), dok se drugi okidaju na negativnu ivicu (prelaz sa '1' na '0'). Jedan tipičan predstavnik flip-flopova iz ove grupe je ivično okidani D flip-flop (Slika 5-17). Slika D flip-flop koji se okida na pozitivnu ivicu 39

41 Slika D flip-flop koji se okida iviĉno 40

42 Logički dijagram D tipa flip-flopa koji se okida na prednju ivicu prikazan je na Slici Flip-flop čine dve celine: master deo realizovan D lečom i slave deo koji može biti SR ili D leč. Na ulazu taktnog signala se dodaje invertor. S obzirom da je master leč D leč, flip-flop ima osobinu da se okida na ivicu, a ne na nivo kao što je to slučaj sa master-slave. Kada je C='0', rad master leča je dozvoljen i transparentan, tj. njegov izlaz sledi stanje na D ulazu. Rad slave leča je zabranjen i on održava nepromenjeno stanje flip-flopa. Kada se javi pozitivna ivica taktni ulaz se promeni na '1'. Rad master leča se zabranjuje, njegov izlaz zamrzava, a slave leču je dozvoljen rad tako da on kopira na svom izlazu stanje koje je prisutno na izlazu master leča. Stanje master leča koje treba kopirati je stanje koje je prisutno u trenutku pojave pozitivne ivice taktnog impulsa. Zbog ovoga se ponašanje flip-flopa opisuje kao okidanje na ivicu. Kada je C='1', rad master leča je zabranjen i on ne može da se promeni, tako da stanja oba leča (i mastera i slave-a) ostaju nepromenjena. Konačno, kada se C promeni sa '1' na '0', rad mastera je dozvoljen i njegov izlaz počinje da sledi vrednost na ulazu D. U toku prelaza sa '1' na '0' rad slave-a se zabranjuje tako da bilo kakva promena na masteru nema efekta na izlaz slave-a. Zbog toga, vrednost koja je memorisana u slave-u ostaje nepromenjena u toku ove promene. Iviĉno okidani JK flip-flop U ovom poglavlju smo već razmatrali implementaciju master-slave JK flip-flopa kod koga je master-slave SR flip-flopu dodata logika i, kao rezultat toga, dobijen je JK flip-flop koji se okida na nivo. Razmotrimo sada implementaciju JK flip-flopa koji se okida pozitivnom ivicom impulsa, a dobija se dodavanjem logike D flip-flopu koji se okida pozitivnom ivicom taktnog impulsa. Rezultujuće kolo je prikazano na Slici Logički simbol, važeći talasni dijagrami, Karnoova mapa i tablica stanja ivično okidanog flip-flopa dati su na Slici Slika JK flip-flop koji se okida pozitivnom ivicom 41

43 Slika JK flip-flop koji se okida iviĉno T flip-flop T flip-flop je poznat pod nazivom trigerski (trigger ili toggle), a karakteriše se jedinstvenom ulaznom linijom. Simbol T flip-flopa je prikazan na Slici 5-21a. Ako je T='1', kada se taktni impuls menja sa '0' na '1', izlaz flip-flopa prelazi u komplementarno stanje u odnosu na tekuće, a kada je T='0' flip-flop ne menja svoje stanje. Tablica stanja T flip-flopa je prikazana na Slici 5-21b, a Karnoova mapa na slici 5-21c. 42

44 Slika T flip-flop Kako je prikazano na Slici 5-22, T flip-flop se može konstruisati od JK flip-flopa (Slika 5-22a) ili od D flip-flopa (slika 5-22b). Treba naglasiti da T flip-flopovi nisu dostupni na tržištu kao zasebne komponente nego se oni konstruišu od JK i D flip-flopova. Slika IzvoĊenje T flip-flopa preko JK i D flip-flopa 43

45 6 PLC KONTROLERI Digitalni elektronski sklop sa programibilnom memorijom za smeštanje fimware-a kojim se realizuju posebne funkcije (brojanje, aritmetičke operacije, logičko sekvenciranje itd.) naziva se PLC kontroler. Inače, ovim elektronskim ureďajem upravlja se različitim mašinama i procesima putem digitalnih ili analognih ulaznio/izlaznih modula. Nastanak PLC-ova se vezuje za kasne 60-te i rane 70-te godine prošlog veka, a nastali su na bazi konvencionalnih računar tog vremena. Njihova prvobitna primena bila je u automobilskoj industriji, a sa ciljem da se skrati vreme zastoja u proizvodnji usled promene proizvodnog procesa. Priprema pogona za proizvodnju novog modela automobila trajala je mesecima, a podrazumevala je prepovezivanje panela i ormara prepunih žica, relea, tajmera, sklopki i drugih, uglavnom elektromehaničkih komponenti, pomoću kojih su se, u to vreme, realizovale upravljačke jedinice. UvoĎenjem PLC-a, omogućilo je da se reprogramiranje obavi preko tastature i da se, uz minimalna dodatna prepovezivanja, vreme zastoja proizvodnje skrati do tek nekoliko dana. Glavni problem sa računarima/plc-ovima iz 70-tih godina odnosio se na njihovo reprogramiranje. Programi su bili komplikovani, a njih su moguli da sastavljaju samo visokostručni i iskusni programeri. Kasnih 70-tih godina učinjen je izvestan napredak u pogledu pojednostavljenja procedure programiranja. Godine pojavlju se mikroprocesori, koji, zahvaljujući performansama koje su nudili i relativno niskoj ceni, brzo nalaze široku primenu u mnogim oblastima elektronike, pa i industrijske automatizacije. Od tog vremena, PLC-ovi se neprestano usavršavaju, kako u pogledu preformasi, moći obrade, mogućnosti sprezanja sa najrazličitijim ureďajima, tako u pogledu načina i procedura programiranja, kao i jezika koji se koriste za njihovo programiranje. PLC su postali razumljiviji široj populaciji industrijskih inženjera. Osamdesetih godina dolazi do eksponecijalnog rasta tržišta PLC-ova, a primena PLC-a se širi van industrijskih pogona, na sisteme kao što su elektroenrgetska postrojenja, sistemi automatizacije zgrada, sistemi obezbeďenja i nadzora i td. Danas, PLC-ovi postaju prisutni i u oblastima kao što je medicinska oprema i ureďaji, kućni aparati i slčno. 44

46 Prvi PLC kontroleri su bili jednostavni ureďaji za on/off upravljanje i koristili su se za zamenu zastarele relejne tehnike. MeĎutim, takvi PLC kontroleri nisu mogli obezbediti složenije upravljanje, kao što je upravljanje temperaturom, pritiskom, pozicijom. U meďuvremenu, proizvoďači PLC kontrolera razvili su i ugradili u PLC kontrolere brojna poboljšanja i funkcionalna unapreďenja. Savremeni PLC kontroleri imaju mogućnost obavljanje izuzetno složenih zadataka kako što je upravljanje preciznim pozicioniranjem i upravljanje složenim tehnološkim procesima. TakoĎe, brzina rada PLC kontrolera je značajno povećana, kao i lakoća programiranja. Razvijeni su brojni moduli specijalne namene za primene kao što je radio komunikacija, vizija ili čak prepoznavanje govornih komandi. U prošlosti, svaka električno upravljna mašina za proizvodnju zahtevala je svoju sopstvenu upravljačku jedinicu; u pogonu sa 15 mašina, postojalo je 15 različitih, namenski projektovanih, upravljačkih jedinica. Danas je moguće isti model PLC-a koristiti za upravljanje bilo kojom od 15 mašina. Uz to, verovatno neće biti potrebe za 15 PLC-ova, jer jedan PLC lako može da opsluži više različitih mašina, tako što će, konkurentno, za svaku priključenu mašinu izvršavati poseban, namenski program Šta predstavlja PLC? PLC - namenski elektronski ureċaj, zasnovan na mikroprocesoru, koji je u mogućnosti da obavlja brojne tipove upravljačkih funkcija različitog nivoa složenosti. PLC - industrijski raĉunar čiji su hardver i softver posebno prilagoďeni radu u industrijskim uslovima, a koji se može lako programirati i ugraďivati u nove i postojeće industrijske sisteme. Proces PLC Slika 6-1. PLC kontrola procesa PLC - (Programmable) - označava mogućnost programiranja. Program rada se unapred priprema i puni u permanentu memoriju PLC kontrolera. PLC program se razvija u jeziku lestvičastih (ladder) dijagrama, koji je nastao po ugledu na tzv. relejne šeme. PLC - (Logic) - jedna od glavnih osobina PLC kontrolera je mogućnost obavljanja logičkih (bulovih) funkcija. PLC generiše diskretne (digitalne) izlazne signale u funkciji (logičkoj) 45

47 diskretnih ulaznih signala - karakteristično za prvobitne tipove PLC kontrolera. Savremeni PLC-ovi, pored logičkih mogu da obavljaju: aritmetičke operacije, odmeravaju vremenske intervale, prebrojavaju dogaďaje, a prihvataju i generišu, pored diskretnih, i analogne signale. PLC (Controller) - Glavna primena u industriji (proizvodnoj) gde se koristi za automatsko upravljanje procesima - prati ključne parametre procesa (posredstvom priključenih senzora i davača, i shodno memorisanom programu, generiše pobudu kojom deluje na proces (posredstvom aktuatora) Slika PLC v.s. mikroraĉunar U izvesnom smislu, područje primene PLC kontrolera isto je kao i za specijalizovane mikroračunarske kontrolere ili signal procesore. Ključna razlika leži u činjenici da korišćenje PLC-a ne zahteva od korisnika gotovo nikakvo predznanje o arhitekturi mikroračunarskih sistema i programiranju. Drugim rečima, korisnik PLC kontrolera je u najvećoj mogućoj meri osloboďen rešavanja različitih problema vezanih za čisto računarski aspekt, i može da se u punoj meri skoncentriše na projektovanje same aplikacije Prednosti PLC kontrolera Laka promena programa i korekcija grešaka. Kod tradicionalih, relejnih panela, svaka promena programa zahtevala je značajno vreme za prepovezivanje panela i ureďaja. Sa druge strane, kod PLC-a promena programa, tj. ladder dijagrama (Slika 6-2), je laka i brza. Novi program se preko tastature ili na neki drugi način učitava u PLC, a prepovezivanje obično nije potrebno, tako da celokupna ak-tivnost ne traje duže od nekoliko minuta. TakoĎe, uočene nepravilnosti u radu sistema, koje su posledica greške u programu se mogu lako i brzo ispraviti. +V Izvor napajanja -V Prekidač 1 Sijalica 1 Prekidač 2 Sijalica 2 Slika 6-2. Lestviĉasti dijagram PLC kontrolera 46

48 +V Izvor napajanja -V Prekidač 1 Ulazni modul Logička jedinica Izlazni modul Sijalica 1 Prekidač 2 Sijalica 2 Slika 6-3. Blok-šema PLC kontrolera sa 2 prekidaĉa (ulazi) i 2 sijalice (izlazi) PM Programator/ Monitor CPU Mikroprocesor Ulazni modul Memorija Izlazni modul Izvor napajanja Rek i šasija Slika 6-4. Unutrašnja struktura PLC kontrolera Funkcija relejne upravljačke jedinice se realizuje povezivanjem relea (kontakta) koji imaju ulogu elektromehaničkih logičkih kola ili flip-flopova. Broj relea u jednom relejnom panelu je ograničen (npr. fizičkim dimenzijama panela), što ograničava i složenost funkcije koja se može realizovati. Može se desiti da u slučaju promene programa rada upavljačke jedinice, broj 47

49 rasploživih relea nije dovoljan da bi se realizovala nova funkcija. U takvim slučajevima, neophodno je ugraditi dodatne relee ili relejne blokove, što može biti dugotrajna operacija skopčana s neizbežnim mehaničkim intervencijama. Sa druge strane, PLC može realizovati funkcije čija je složenost ograničena jedino raspoloživom memorijom može se zamisliti da svaki bit interne memorije PLC-a predstavlja jedan kontakt (rele); za realizaciju jednog tajmera ili brojača koriste se tri 16-bitne reči memorije itd. Tipična memorija PLC je veličine više KB. Mogućnost probnog rada. Rad PLC-a se može ispitati u laboratoriji, pre ugradnje u proizvodni pogon. Program se piše, testira, analizira i, ako je nophodno, modifikuje sve do trenutka kada se proceni da su sve zahtevane funkcije korektno realizovane. Tek tada se program prenosi u PLC koji se instalira (ili je već instaliran) u proizvodni pogon. Na ovaj način se čini velika ušteda skupog fabričkog vremena (nema zastoja u proizvodnji). Nasuprot tome, testiranje konvencionalnih relejnih sistema se može obaviti samo u fabričkoj hali, što može biti veoma vremenski neracionalno. Mogućnost vizuelnog praćenja rada. Rad PLC-a se može direktno pratiti na ekranu monitora na pogodan način se u grafičkom obliku prikazuju stanja ulaza i izlaza PLC-a uz osvetljeno prikazivanje logičkih putanja koje su trenutno aktivne i ispisivanje obaveštenja o eventualnom neispravnom radu sistema ili o nastanku nekih izuzetnih situacija. Na taj način, svaka kritična situacija se može uočiti istog trenutka kada se i desila, što olakšava pronalažene nastalih kvarova. Naime, kod naprednih PLC sistema, postoji mogućnost programiranja poruka za svako moguće neispravno ponašanje, koje će se prikazati onog trenutka kada se takva situacija detektuje od strane PLC-a, (kao npr. MOTOR #7 je preopterećen ). Slika 6-5. Vizuelno praćenje PLC kontrolera Za programiranje PLC kontrolera koristi se jezik lestvičastih logičkih dijagrama (ili leder dijagrama - ladder diagram), koji je već dugi niz godina u upotrebi u industriji pri projektovanju logičkih i sekvencijalnih relejnih ureďaja. Ovaj jezik koristi grafičku notaciju koja je po vizuelnom izgledu i logici rada slična dijagramima električnih šema i zbog toga je lako razumljiv in- 48

50 dustrijskim inženjerima. Drugim rečima, industrijski inženjeri ne moraju biti eksperti za programiranje da bi u svojim sistemima koristili PLC-ove. Poluprovodničke komponente, od kojih je PLC sačinjen, su, generalno, pouzdanije od mehaničkih sistema ili relea i tajmera. Uz to, za realizaciju PLC-ovi se koriste komponente sa veoma visokim faktorom pouzdanosti. Iz tog razloga, troškovi održavanja upravljačkih sistema zasnovanih na PLC-u su niži, a vreme zastoja kraće. Jednostavnost naruĉivanja komponenti upravljaĉkog sistema. PLC je jedan uraďaj. Kada naručeni PLC stigne u industrijski pogon, svi brojači, relei, i druge virtuelne komponente sadržane u PLC-u su takoďe stigle. Situacija je potpuno drugačija kada se projektuje relejni panel. Na primer, potrebno je 20 različitih tipova relea i tajmera koji se nabavljaju od 12 različitih dobavljača, sa različitim rokovima isporuke i potencijalnim problemima sa dostupnošću traženih komponenti. Ako projektant propusti da naruči samo jednu komponentu, celokupan projekat se odlaže za vreme isporuke te komponente. Kod PLC-ova uvek postoji jedan rele više - pod uslovom da je naručen PLC sa izvesnom rezervom u moći izračunavanja. Dokumentacija. Leder dijagrami, kako grafički prikazi, su u toj meri samo-deskriptivni da obično nije neophodna neka dodatna dokumentacija koja bi upotpunjavala opis rada PLC-a i načina na koji su realizovane njegove funkcije. Leder dijagram se uvek može odštampati, a pošto se isti dijagram koristi i kao program, ne postoji opasnost da dokumentacija bude neažurna, što je često slučaj sa dijagramima i šemama relejnih panela (kada inženjer nakon učinjene intervencije ne unese izmenu u relejnu šemu) Bezbednost. Program PLC-a se ne može promeniti pre nego što je PLC otključan, nakon unosa ispravne lozinke. Mogućnost reprogramiranja. Osobina brzog reprogramiranja PLC-a otvara mogućnost za postizanje neke vrste adaptivnog proizvodnog procesa, gde se program rada menja shodno karakteristikama svakog pojedinačnog prizvoda ili čestim varijacijama u procesu proizvodnje. Nova tehnologija. Pokazalo se da je teško promeniti način razmišljanja industrijskih inženjera sa relejne logike na PLC koncept. MeĎutim, zahvaljujući sve široj primeni, ne samo u domovima i kancelarijama već sve više i u fabričkim halama, računari postaju u sve većoj meri prihvataju i kao sredstvo za postizanje veće prodiktivnosti proizvodnje. Aplikacije sa fiksim programom. Pojedine aplikacije zasnovane su na samo jednoj funkciji koja se veoma retko ili nikada ne menja. U ovakvim slučajevima, zamena postojeće opreme PLC-om ne donosi veliki dobitak, jer se njihova glavna osobenost mogućnost reprogramiranja praktično ne koristi. PLC je najbolje rešenje kada su neophodne periodične promene u načinu rada Nedostaci PLC kontrolera Uslovi rada. Ekstremnim uslovi rada, kao što su: visoka temperatura, vlažnost, vibracije, električne smetnje, a koji su karakteristični za pojedine proizvodne procese, mogu uticati na rad PLC-a i ograničiti njegovu primenu. 49

51 Bezbednost u radu. Kod relejnih sistema uvek postoji tzv. Stop prekidač, kojim se u bilo kom momentu može trenutno prekinuti rad sistema (isključenjem napajanja). Pri tome, relejni sistem se automatski ne resetuje kada se napajanje uključi, već zadržava stanje u kome je bio kada je napajanje isključeno. Ovakvo ponašanje se svakako može programski ostvariti i kod PLC-a, tako što će se Stop prekidač povezati na jedan od ulaza PLC-a. MeĎutim, ovakvo rešenje nije bezbedno (ako PLC otkaže, prekidač Stop gubi funkciju!) Ovaj nedostatak se može prevazići ugradnjom bezbedonosnih relea na izlazima PLC-a Neki primeri primene PLC kontrolera Na Slici 6-6 ilustrovana je primena PLC kontrolera kod parking servisa (kontrola ulazne i izlazne rampe), dok je na Slici 6-7 ilustrovana kontrola hemijskog procesa. Slika 6-6. Parking servis Slika 6-7. Kontrola hemijskog procesa 50

52 7 SIMULACIJA PLC KONTROLERA Na Slici 7-1 prikazan je jedan od načina da se simulira PLC kontroler preko mikrokontrolera PIC16F877A. Inače, mikrokontroler ima takt od 4MHz i napaja se preko standardnog linearnog regulatora napona LM7805 (V out = 5V±0,1V, I max = 500mA). U cilju kasnijeg proširenja ureďaja, postoji mogućnost povezivanja mikrokontrolera sa računarom (preko integrisanog kola MAX232N). Komunikacija je bez handshaking-a. Kao indikacija koriste se crvene LED sa malom potrošnjom (low-power). Db CN0 1 2 Power Din 1N4002 C uF 1N4002 U1 7 8M05 V in V out G nd 2 3 C2 100uF C3 2.2nF C4 100nF R1 SW1 V DD MCLR SW Gnd Gnd Gnd Gnd Gnd Gnd Gnd V DD V DD V DD V DD V DD V DD V DD Y1 V DD V DD V DD V DD V DD V DD V DD OSC1 OSC2 6 G nd 5 G nd 4 G nd 3 G nd 2 G nd 1 G nd CN1 C5 22pF 4MHz C6 22pF 7 G nd 6 G nd 5 G nd 4 G nd 3 G nd 2 G nd 1 G nd CN2 Gnd Gnd Gnd Gnd Gnd Gnd Gnd Gnd Gnd Gnd Gnd Gnd Gnd Gnd Gnd U2 CN CN5 MCLR MCLR P B P A0 P B P A1 P B P A2 P B P A3 P B P A4 P B P A5 P B RD P B WR V DD V DD D1 LED CS V SS Gnd V DD V DD P D Gnd V SS P D6 D2 LED OSC 1 OSC1 P D RN1 CN6 OSC 2 OSC2 P D P C0 P C7 D3 1 TX LED P C1 P C6 RX P C2 P C P C3 P C4 D4 4 LED P D0 P D P D1 P D2 D5 7 LED 8 Gnd Gnd Gnd Gnd Gnd Gnd PIC 16F877A 9 Gnd V DD G nd V DD G nd 1 V DD G nd 2 V DD G nd 3 V DD G nd 4 V DD G nd 5 6 CN3 C11 D6 D7 D8 LED LED LED 100nF C10 100nF C M A X232 U3 C1+ V+ C2+ C1- C2- V- T2 out R2i n 100nF V cc Gnd T1 out R1i n R1out T1 in T2 in R2out Gnd 14 RX1 13 TX 1 12 TX 11 RX 10 9 V DD RX1 TX CN4 C8 100nF C7 100nF DB9/F Gnd Gnd Gnd Slika 7-1. Elektriĉna šema PLC kontrolera simuliranog preko PIC16F877A Uloga dioda Din i Db je zaštitna. Naime, Din štiti celokupno kolo od pogrešnog priključivanja napona napajanja, a Db je zaštitna povratna dioda koja štiti regulator napona LM7805 od kapacitivnog opterećenja (prilikom ukidanja spoljašnjeg napajanja C2 se prazni preko ulaznog dela kola LM7805). 51

53 Slika Blok šema PLC kontrolera simuliranog preko PIC16F877A 52

54 Na Slici 7-2 prikazan je raspored komponenata i veza štampane ploče za kolo sa Slike 7-1. Plavom bojom su ilustrovane veze sa donje (BOTTOM) strane, dok su crvenom bojom prikazani kratkospajači sa gornje (TOP) strane. Slika 7-2. Izgled štampane ploĉe za kolo sa Slike 7-1 Na svaki od sledećih pinova: PA5-PA0, PB7-PB1, PC5-PC0, možemo dovoditi logičku '0' ili logičku '1' (preko prekidača konektora SW_CN5-SW_CN7), povezati ga na neki drugi pin mikrokontrolera (CN5-CN7) ili ostaviti ga slobodnim. Ideja je da se preko mikrokontrolera softverski i realizuju sledeće logičke celine: logička kola (I, ILI, NI, NILI, EXILI, EXNILI), multiplekseri (2/1, 4/1), demultiplekseri (1/2, 1/4), flipflopovi (JK, D, T). Pomenute celine je moguće kasnije iskombinovati, tako da se dobiju različita digitalna elektronska kola. 53

55 Slika 7-3. Blok šema za kolo sa Slike 7-1 sa rasporedom pinova Port A je organizovan kao upravljački, flip-flopovi se taktuju interno, a organizacija pinova mikrokontrolera je sledeća: PC7 i PC6 su pinovi za eventualnu komunikaciju sa PC računarom, PC5-PC2 predstavljaju ulaze 2 dvoulazna logička kola, PB7-PB5 su ulazi flip-flopova (D i JK ili T i JK), PB4-PB1 su ulazi multipleksera, PB0 je izlaz multipleksera, PD7 je ulaz demultipleksera, PD6-PD5, PD2-PD1 (ili PC1-PC0) su izlazi demultipleksera, PC1-PC0 (ili PD1-PD2) su izlazi logičkih kola, respektivno, PA5-PA2 su kontrolišući pinovi i definišu moguće kombinacije logičkih i sekvencijalnih kola, a mogu se koristiti i za neku drugu svrhu (ukoliko se za tu svrhu isprogramiraju u mikroc-u), PA1-PA0 su selektorski ulazi (S1 i S0) za multiplekser i demultiplekser. 54

56 Slika 7-4. Raspored pinova na štampanoj ploĉi Slika 7-5. Raspored pinova na celoj ploĉi 55

57 Na Slici 7-5 prikazana je ploča simuliranog PIC-PLC kontrolera. Preko spoljašnjih DIP SW prekidača (SW-CN5, SW-CN6 i SW-CN7) na odgovarajuće pinove Portova A, B i C dovode se logička '0' ili logička '1'. Kada je odgovarajući pin na 8-pinskom DIP SW prekidaču postavljen u stanje On, na tom pinu je stanje logičke '0' a u slučaju da je postavljen u stanje Off, na tom pinu je stanje logičke '1'. Napomene: Ukoliko je pin nekog porta definisan kao izlazni, nikako ne treba dovoditi na njega logičku '0' ili logičku '1'. Pinovi Porta A su direktno su stalno povezani na konektor sa prekidačima SW-CN5, s obzirom da se radi o kontrolišućim pinovima. Ukoliko pin nekog porta nije povezan pre priključivanja napajnja, njegovo stanje biće identično stanju koje je definisano kao početno u kodu u mikroc-u Pre priključivanja napajanja, na potenciometru AC/DC adaptera treba izabrati 7.5V nestabilisano Varijante realizacija PLC kontrolera Sada ćemo predstaviti šest realizacija PLC kontrolera, zavisno od stanja na kontrolnim pinovima PA5-PA3. Naime, ostavljena je mogućnost da preostale dve kombinacije studenti samostalno realizuju dopisivanjem kôda u mikroc-u. Kombinacija '000' PB7 je ulaz D flip-flopa, a PB6 (J) i PB5 (K) su ulazi JK flip-flopa, PC5-PC4 (1) i PC3-PC2 (2) predstavljaju ulaze NI logičkih kola, PD4 predstavlja izlaz D flip-flopa, a PD3 predstavlja izlaz JK flip-flopa, PB4-PB1 su ulazi multipleksera 4/1, PB0 je izlaz multipleksera 4/1, PD7 je ulaz demultipleksera 1/4, PD6-PD5, PD2-PD1 su izlazi demultipleksera 1/4, PC1 je izlaz NI logičkog kola (1), a PC0 je izlaz NI logičkog kola (2), PD0 pin registruje trenutak internog taktovanja flip-flopova. Taktovanje je reda 400 milisekundi kako bi posmatrač mogao da ih uoči. Ilustracija realizacije je data na Slici

58 Slika 7-6. Funkcije PLC-a za kombinaciju '000' Kombinacija '001' PB7 je ulaz T flip-flopa, a PB6 (J) i PB5 (K) su ulazi JK flip-flopa, PC5-PC4 (1) i PC3-PC2 (2) predstavljaju ulaze NILI logičkih kola, PC1 predstavlja izlaz D flip-flopa, a PC0 predstavlja izlaz JK flip-flopa, PB4-PB3 su ulazi multipleksera 2/1, PB0 je izlaz multipleksera 2/1, PD7 je ulaz demultipleksera 1/2, PD6-PD5 su izlazi demultipleksera 1/2, PD1 je izlaz NILI logičkog kola (1), a PD2 je izlaz NILI logičkog kola (2), PD0 pin registruje trenutak internog taktovanja flip-flopova. Taktovanje je reda 400 milisekundi kako bi posmatrač mogao da ih uoči. Ilustracija realizacije je data na Slici

59 Slika 7-7. Funkcije PLC-a za kombinaciju '001' Kombinacija '010' PB7 je ulaz T flip-flopa, a PB6 (J) i PB5 (K) su ulazi JK flip-flopa, PC5-PC4 (1) su ulazi EXILI, a PC3-PC2 (2) predstavljaju ulaze EXNILI logičkog kola, PC1 predstavlja izlaz T flip-flopa, a PC0 predstavlja izlaz JK flip-flopa, PB4-PB3 su ulazi multipleksera 2/1, PB0 je izlaz multipleksera 2/1, PD7 je ulaz demultipleksera 1/2, PD6-PD5 su izlazi demultipleksera 1/2, PD1 je izlaz EXILI logičkog kola (1), a PD2 je izlaz EXNILI logičkog kola (2), PD0 pin registruje trenutak internog taktovanja flip-flopova. Taktovanje je reda 400 milisekundi kako bi posmatrač mogao da ih uoči. Ilustracija realizacije je data na Slici

60 Slika 7-8. Funkcije PLC-a za kombinaciju '010' Kombinacija '011' PB7 je ulaz T flip-flopa, a PB6 (J) i PB5 (K) su ulazi JK flip-flopa, PC5-PC4 (1) su ulazi I, a PC3-PC2 (2) predstavljaju ulaze NI logičkog kola, PC1 predstavlja izlaz T flip-flopa, a PC0 predstavlja izlaz JK flip-flopa, PB4-PB3 su ulazi multipleksera 2/1, PB0 je izlaz multipleksera 2/1, PD7 je ulaz demultipleksera 1/2, PD6-PD5 su izlazi demultipleksera 1/2, PD1 je izlaz I logičkog kola (1), a PD2 je izlaz NI logičkog kola (2), PD0 pin registruje trenutak internog taktovanja flip-flopova. Taktovanje je reda 400 milisekundi kako bi posmatrač mogao da ih uoči. Ilustracija realizacije je data na Slici

61 Slika 7-9. Funkcije PLC-a za kombinaciju '011' 60

62 8 LISTING PROGRAMSKOG KÔDA PLC-a int k = 0; // Definisanje varijabli char AX, BX, CX, DX, EX, FX, JK, TX, Q1, Q2, Q3 = 0; char clk, clkk = 1; void main() { TRISA = 0b111111; PORTA = 0b000000; TRISB = 0b ; PORTB = 0b ; TRISC = 0b ; PORTC = 0b ; TRISD = 0b ; PORTD = 0b ; CMCON = 7; ADCON1 = 0x06; // Definisanje i inicijalizacija // pinova PORTOVA A, B, C i D // Definisanje pinova A porta kao // digitalnih do { // Formiranje Beskonacne Petlje if (k == 0) { Delay_ms(2000); // Prilikom starta, tj. prilikom prvog // obilaska petlje - kasenjenje je dve // sekunde } k++; delay_ms(400); clkk = clk; // Takt za flip-flopove je 0,4 sekunde // Opis funkcije I kola AX = (PORTC.F5 && PORTC.F4); // Opis funkcije ILI kola BX = (PORTC.F5 PORTC.F4); // Opis funkcije I kola CX = (PORTC.F3 && PORTC.F2); // Opis funkcije ILI kola DX = (PORTC.F3 PORTC.F2); // Opis funkcije EXILI kola EX = ((PORTC.F5 &&!(PORTC.F4)) (!(PORTC.F5) && PORTC.F4)); // Opis funkcije EXNILI kola 61

63 FX = ((PORTC.F5 && PORTC.F4) (!(PORTC.F5) &&!(PORTC.F4))); if (clk==1) { // Ako je ivica takta rastuca... PORTD.F0 = 1; // Opis funkcija JK i T flip-flopa Q1 = JK; JK = ((PORTB.F6 && (!Q1)) ((!(PORTB.F5) && Q1))); Q2 = TX; TX = ((!(PORTB.F7) && Q2) (PORTB.F7 && (!Q2))); } else if (clk==0) { // Ako je ivica takta opadajuca... } PORTD.F0 = 0; // Implementacija logike sa Slike 7-7 (1) if ((PORTA.F5==0) && (PORTA.F4==0) && (PORTA.F3==0)) { PORTC.F1 =!AX; PORTC.F0 =!CX; // Funkcija MUX 4/1 if ((PORTA.F1==0) && (PORTA.F0==0)) { PORTB.F0 = PORTB.F4; PORTD.F6 = PORTB.F4; } if ((PORTA.F1==0) && (PORTA.F0==1)) { PORTB.F0 = PORTB.F3; PORTD.F5 = PORTB.F3; } if ((PORTA.F1==1) && (PORTA.F0==0)) { PORTB.F0 = PORTB.F2; PORTD.F2 = PORTB.F2; } if ((PORTA.F1==1) && (PORTA.F0==1)) { PORTB.F0 = PORTB.F1; PORTD.F1 = PORTB.F1; } 62

64 PORTD.F3 = JK; PORTD.F4 = PORTB.F7; // JK flip-flop // D flip-flop } // Implementacija logike sa Slike 7-8 (2) else if ((PORTA.F5==0) && (PORTA.F4==0) && (PORTA.F3==1)) { PORTD.F1 =!BX; PORTD.F2 =!DX; // Funkcija MUX 2/1 if (PORTA.F0==0) { } PORTB.F0 = PORTB.F4; PORTD.F6 = PORTB.F4; if (PORTA.F0==1) { PORTB.F0 = PORTB.F3; PORTD.F5 = PORTB.F3; } PORTD.F3 = JK; PORTD.F4 = TX; } // JK flip-flop // T flip-flop else if ((PORTA.F5==0) && (PORTA.F4==1) && (PORTA.F3==0)) { PORTD.F1 = EX; PORTD.F2 = FX; // Funkcija MUX 2/1 if (PORTA.F0==0) { } PORTB.F0 = PORTB.F4; PORTD.F6 = PORTB.F4; if (PORTA.F0==1) { PORTB.F0 = PORTB.F3; PORTD.F5 = PORTB.F3; } PORTD.F3 = JK; PORTD.F4 = TX; // JK flip-flop // T flip-flop } 63

65 else if ((PORTA.F5==0) && (PORTA.F4==1) && (PORTA.F3==1)) { PORTD.F1 = AX; PORTD.F2 =!CX; // Funkcija MUX 2/1 if (PORTA.F0==0) { } PORTB.F0 = PORTB.F4; PORTD.F6 = PORTB.F4; if (PORTA.F0==1) { PORTB.F0 = PORTB.F3; PORTD.F5 = PORTB.F3; } PORTD.F3 = JK; PORTD.F4 = PORTB.F7; // JK flip-flop // D flip-flop } clk =!clkk; // Formiranje takta } while (1); // Kraj Petlje }//~ 64

66 9 LISTING ASEMBLERSKOG KÔDA PLC-a ; ASM code generated by mikrovirtualmachine for PIC - V ; ADDRESS OPCODE ASM ; $0000 $280F GOTO _main $0004 $ GlobalIniPIC_PLC2: $0004 $3000 MOVLW 0 $0005 $1303 BCF STATUS, RP1 $0006 $1283 BCF STATUS, RP0 $0007 $00A1 MOVWF _k+0 $0008 $3000 MOVLW 0 $0009 $00A2 MOVWF _k+1 $000A $3000 MOVLW 0 $000B $00A0 MOVWF _Q3+0 $000C $3001 MOVLW 1 $000D $00A3 MOVWF _clkk+0 $000E $0008 RETURN $000F $ _main: ;PIC_PLC2.c,5 :: void main() { ;PIC_PLC2.c,7 :: TRISA = 0b111111; // Definisanje i inicijalizacija $000F $2004 CALL GlobalIniPIC_PLC2 $0010 $303F MOVLW 63 $0011 $1683 BSF STATUS, RP0 $0012 $0085 MOVWF TRISA ;PIC_PLC2.c,8 :: PORTA = 0b000000; // pinova PORTOVA A, B, C i D $0013 $1283 BCF STATUS, RP0 $0014 $0185 CLRF PORTA, 1 ;PIC_PLC2.c,9 :: TRISB = 0b ; $0015 $30FE MOVLW 254 $0016 $1683 BSF STATUS, RP0 $0017 $0086 MOVWF TRISB ;PIC_PLC2.c,10 :: PORTB = 0b ; $0018 $1283 BCF STATUS, RP0 $0019 $0186 CLRF PORTB, 1 ;PIC_PLC2.c,11 :: TRISC = 0b ; $001A $30BC MOVLW 188 $001B $1683 BSF STATUS, RP0 $001C $0087 MOVWF TRISC ;PIC_PLC2.c,12 :: PORTC = 0b ; $001D $1283 BCF STATUS, RP0 $001E $0187 CLRF PORTC, 1 65

67 ;PIC_PLC2.c,13 :: TRISD = 0b ; $001F $3080 MOVLW 128 $0020 $1683 BSF STATUS, RP0 $0021 $0088 MOVWF TRISD ;PIC_PLC2.c,14 :: PORTD = 0b ; $0022 $1283 BCF STATUS, RP0 $0023 $0188 CLRF PORTD, 1 ;PIC_PLC2.c,16 :: CMCON = 7; $0024 $3007 MOVLW 7 $0025 $1683 BSF STATUS, RP0 $0026 $009C MOVWF CMCON ;PIC_PLC2.c,17 :: ADCON1 = 0x06; // Definisanje pinova A porta kao $0027 $3006 MOVLW 6 $0028 $009F MOVWF ADCON1 ;PIC_PLC2.c,21 :: do { // Formiranje Beskonacne Petlje $0029 $ L_main_0: ;PIC_PLC2.c,24 :: if (k == 0) { // Prilikom starta, tj. prilikom prvog ukljucenja... $0029 $3000 MOVLW 0 $002A $1283 BCF STATUS, RP0 $002B $0622 XORWF _k+1, 0 $002C $1D03 BTFSS STATUS, Z $002D $2830 GOTO L_main_71 $002E $3000 MOVLW 0 $002F $0621 XORWF _k, 0 $0030 $ L_main_71: $0030 $1D03 BTFSS STATUS, Z $0031 $2850 GOTO L_main_2 ;PIC_PLC2.c,26 :: Delay_ms(2000); $0032 $300B MOVLW 11 $0033 $00FC MOVWF STACK_12 $0034 $30FF MOVLW 255 $0035 $00FB MOVWF STACK_11 $0036 $30FF MOVLW 255 $0037 $00FA MOVWF STACK_10 $0038 $0BFC DECFSZ STACK_12, F $0039 $283B GOTO $+2 $003A $2842 GOTO $+8 $003B $0BFB DECFSZ STACK_11, F $003C $283E GOTO $+2 $003D $2841 GOTO $+4 $003E $0BFA DECFSZ STACK_10, F $003F $283E GOTO $-1 $0040 $283B GOTO $-5 $0041 $2838 GOTO $-9 $0042 $3033 MOVLW 51 $0043 $00FB MOVWF STACK_11 66

68 $0044 $30FF MOVLW 255 $0045 $00FA MOVWF STACK_10 $0046 $0BFB DECFSZ STACK_11, F $0047 $2849 GOTO $+2 $0048 $284C GOTO $+4 $0049 $0BFA DECFSZ STACK_10, F $004A $2849 GOTO $-1 $004B $2846 GOTO $-5 $004C $3088 MOVLW 136 $004D $00FA MOVWF STACK_10 $004E $0BFA DECFSZ STACK_10, F $004F $284E GOTO $-1 ;PIC_PLC2.c,28 :: } $0050 $ L_main_2: ;PIC_PLC2.c,30 :: k++; $0050 $0AA1 INCF _k, 1 $0051 $1903 BTFSC STATUS, Z $0052 $0AA2 INCF _k+1, 1 ;PIC_PLC2.c,31 :: delay_ms(400); // Takt za flip-flopove je 0,4 sekunde $0053 $3003 MOVLW 3 $0054 $00FC MOVWF STACK_12 $0055 $30FF MOVLW 255 $0056 $00FB MOVWF STACK_11 $0057 $30FF MOVLW 255 $0058 $00FA MOVWF STACK_10 $0059 $0BFC DECFSZ STACK_12, F $005A $285C GOTO $+2 $005B $2863 GOTO $+8 $005C $0BFB DECFSZ STACK_11, F $005D $285F GOTO $+2 $005E $2862 GOTO $+4 $005F $0BFA DECFSZ STACK_10, F $0060 $285F GOTO $-1 $0061 $285C GOTO $-5 $0062 $2859 GOTO $-9 $0063 $300B MOVLW 11 $0064 $00FB MOVWF STACK_11 $0065 $30FF MOVLW 255 $0066 $00FA MOVWF STACK_10 $0067 $0BFB DECFSZ STACK_11, F $0068 $286A GOTO $+2 $0069 $286D GOTO $+4 $006A $0BFA DECFSZ STACK_10, F $006B $286A GOTO $-1 $006C $2867 GOTO $-5 $006D $3018 MOVLW 24 $006E $00FA MOVWF STACK_10 $006F $0BFA DECFSZ STACK_10, F 67

69 $0070 $286F GOTO $-1 ;PIC_PLC2.c,32 :: clkk = clk; $0071 $0824 MOVF _clk, 0 $0072 $00A3 MOVWF _clkk ;PIC_PLC2.c,35 :: AX = (PORTC.F5 && PORTC.F4); $0073 $3000 MOVLW 0 $0074 $1A87 BTFSC PORTC, 5 $0075 $3001 MOVLW 1 $0076 $00F1 MOVWF STACK_1 $0077 $0871 MOVF STACK_1, 0 $0078 $1903 BTFSC STATUS, Z $0079 $2884 GOTO L_main_4 $007A $3000 MOVLW 0 $007B $1A07 BTFSC PORTC, 4 $007C $3001 MOVLW 1 $007D $00F1 MOVWF STACK_1 $007E $0871 MOVF STACK_1, 0 $007F $1903 BTFSC STATUS, Z $0080 $2884 GOTO L_main_4 $0081 $3001 MOVLW 1 $0082 $00F0 MOVWF STACK_0 $0083 $2885 GOTO L_main_3 $0084 $ L_main_4: $0084 $01F0 CLRF STACK_0, 1 $0085 $ L_main_3: $0085 $0870 MOVF STACK_0, 0 $0086 $00A5 MOVWF _AX ;PIC_PLC2.c,37 :: BX = (PORTC.F5 PORTC.F4); $0087 $3000 MOVLW 0 $0088 $1A87 BTFSC PORTC, 5 $0089 $3001 MOVLW 1 $008A $00F1 MOVWF STACK_1 $008B $0871 MOVF STACK_1, 0 $008C $1D03 BTFSS STATUS, Z $008D $2897 GOTO L_main_6 $008E $3000 MOVLW 0 $008F $1A07 BTFSC PORTC, 4 $0090 $3001 MOVLW 1 $0091 $00F1 MOVWF STACK_1 $0092 $0871 MOVF STACK_1, 0 $0093 $1D03 BTFSS STATUS, Z $0094 $2897 GOTO L_main_6 $0095 $01F0 CLRF STACK_0, 1 $0096 $2899 GOTO L_main_5 $0097 $ L_main_6: $0097 $3001 MOVLW 1 $0098 $00F0 MOVWF STACK_0 $0099 $ L_main_5: $0099 $0870 MOVF STACK_0, 0 68

70 $009A $00A6 MOVWF _BX ;PIC_PLC2.c,39 :: CX = (PORTC.F3 && PORTC.F2); $009B $3000 MOVLW 0 $009C $1987 BTFSC PORTC, 3 $009D $3001 MOVLW 1 $009E $00F1 MOVWF STACK_1 $009F $0871 MOVF STACK_1, 0 $00A0 $1903 BTFSC STATUS, Z $00A1 $28AC GOTO L_main_8 $00A2 $3000 MOVLW 0 $00A3 $1907 BTFSC PORTC, 2 $00A4 $3001 MOVLW 1 $00A5 $00F1 MOVWF STACK_1 $00A6 $0871 MOVF STACK_1, 0 $00A7 $1903 BTFSC STATUS, Z $00A8 $28AC GOTO L_main_8 $00A9 $3001 MOVLW 1 $00AA $00F0 MOVWF STACK_0 $00AB $28AD GOTO L_main_7 $00AC $ L_main_8: $00AC $01F0 CLRF STACK_0, 1 $00AD $ L_main_7: $00AD $0870 MOVF STACK_0, 0 $00AE $00A7 MOVWF _CX ;PIC_PLC2.c,41 :: DX = (PORTC.F3 PORTC.F2); $00AF $3000 MOVLW 0 $00B0 $1987 BTFSC PORTC, 3 $00B1 $3001 MOVLW 1 $00B2 $00F1 MOVWF STACK_1 $00B3 $0871 MOVF STACK_1, 0 $00B4 $1D03 BTFSS STATUS, Z $00B5 $28BF GOTO L_main_10 $00B6 $3000 MOVLW 0 $00B7 $1907 BTFSC PORTC, 2 $00B8 $3001 MOVLW 1 $00B9 $00F1 MOVWF STACK_1 $00BA $0871 MOVF STACK_1, 0 $00BB $1D03 BTFSS STATUS, Z $00BC $28BF GOTO L_main_10 $00BD $01F0 CLRF STACK_0, 1 $00BE $28C1 GOTO L_main_9 $00BF $ L_main_10: $00BF $3001 MOVLW 1 $00C0 $00F0 MOVWF STACK_0 $00C1 $ L_main_9: $00C1 $0870 MOVF STACK_0, 0 $00C2 $00A8 MOVWF _DX ;PIC_PLC2.c,43 :: EX = ((PORTC.F5 &&!(PORTC.F4)) (!(PORTC.F5) && PORTC.F4)); 69

71 $00C3 $3000 MOVLW 0 $00C4 $1A87 BTFSC PORTC, 5 $00C5 $3001 MOVLW 1 $00C6 $00F1 MOVWF STACK_1 $00C7 $0871 MOVF STACK_1, 0 $00C8 $1903 BTFSC STATUS, Z $00C9 $28CC GOTO L158_ex_L_main_16 $00CA $1E07 BTFSS PORTC, 4 $00CB $28D7 GOTO L_main_16 $00CC $ L158_ex_L_main_16: $00CC $1A87 BTFSC PORTC, 5 $00CD $28D5 GOTO L172_ex_L_main_16 $00CE $3000 MOVLW 0 $00CF $1A07 BTFSC PORTC, 4 $00D0 $3001 MOVLW 1 $00D1 $00F1 MOVWF STACK_1 $00D2 $0871 MOVF STACK_1, 0 $00D3 $1D03 BTFSS STATUS, Z $00D4 $28D7 GOTO L_main_16 $00D5 $ L172_ex_L_main_16: $00D5 $01F0 CLRF STACK_0, 1 $00D6 $28D9 GOTO L_main_15 $00D7 $ L_main_16: $00D7 $3001 MOVLW 1 $00D8 $00F0 MOVWF STACK_0 $00D9 $ L_main_15: $00D9 $0870 MOVF STACK_0, 0 $00DA $00A9 MOVWF _EX ;PIC_PLC2.c,45 :: FX = ((PORTC.F5 && PORTC.F4) (!(PORTC.F5) &&!(PORTC.F4))); $00DB $3000 MOVLW 0 $00DC $1A87 BTFSC PORTC, 5 $00DD $3001 MOVLW 1 $00DE $00F1 MOVWF STACK_1 $00DF $0871 MOVF STACK_1, 0 $00E0 $1903 BTFSC STATUS, Z $00E1 $28E9 GOTO L196_ex_L_main_22 $00E2 $3000 MOVLW 0 $00E3 $1A07 BTFSC PORTC, 4 $00E4 $3001 MOVLW 1 $00E5 $00F1 MOVWF STACK_1 $00E6 $0871 MOVF STACK_1, 0 $00E7 $1D03 BTFSS STATUS, Z $00E8 $28EF GOTO L_main_22 $00E9 $ L196_ex_L_main_22: $00E9 $1A87 BTFSC PORTC, 5 $00EA $28ED GOTO L207_ex_L_main_22 $00EB $1E07 BTFSS PORTC, 4 $00EC $28EF GOTO L_main_22 70

72 $00ED $ L207_ex_L_main_22: $00ED $01F0 CLRF STACK_0, 1 $00EE $28F1 GOTO L_main_21 $00EF $ L_main_22: $00EF $3001 MOVLW 1 $00F0 $00F0 MOVWF STACK_0 $00F1 $ L_main_21: $00F1 $0870 MOVF STACK_0, 0 $00F2 $00AA MOVWF _FX ;PIC_PLC2.c,48 :: if (clk==1) { // Ako je ivica takta rastuca... $00F3 $0824 MOVF _clk, 0 $00F4 $3A01 XORLW 1 $00F5 $1D03 BTFSS STATUS, Z $00F6 $2927 GOTO L_main_23 ;PIC_PLC2.c,50 :: PORTD.F0 = 1; $00F7 $1408 BSF PORTD, 0 ;PIC_PLC2.c,52 :: Q1 = JK; $00F8 $082C MOVF _JK, 0 $00F9 $00AB MOVWF _Q1 ;PIC_PLC2.c,53 :: JK = ((PORTB.F6 && (!Q1)) ((!(PORTB.F5) && Q1))); $00FA $3000 MOVLW 0 $00FB $1B06 BTFSC PORTB, 6 $00FC $3001 MOVLW 1 $00FD $00F1 MOVWF STACK_1 $00FE $0871 MOVF STACK_1, 0 $00FF $1903 BTFSC STATUS, Z $0100 $2904 GOTO L232_ex_L_main_29 $0101 $082B MOVF _Q1, 0 $0102 $1903 BTFSC STATUS, Z $0103 $290B GOTO L_main_29 $0104 $ L232_ex_L_main_29: $0104 $1A86 BTFSC PORTB, 5 $0105 $2909 GOTO L242_ex_L_main_29 $0106 $082B MOVF _Q1, 0 $0107 $1D03 BTFSS STATUS, Z $0108 $290B GOTO L_main_29 $0109 $ L242_ex_L_main_29: $0109 $01F0 CLRF STACK_0, 1 $010A $290D GOTO L_main_28 $010B $ L_main_29: $010B $3001 MOVLW 1 $010C $00F0 MOVWF STACK_0 $010D $ L_main_28: $010D $0870 MOVF STACK_0, 0 $010E $00AC MOVWF _JK ;PIC_PLC2.c,54 :: Q2 = TX; $010F $082E MOVF _TX, 0 71

73 $0110 $00AD MOVWF _Q2 ;PIC_PLC2.c,55 :: TX = ((!(PORTB.F7) && Q2) (PORTB.F7 && (!Q2))); $0111 $1B86 BTFSC PORTB, 7 $0112 $2916 GOTO L260_ex_L_main_35 $0113 $082D MOVF _Q2, 0 $0114 $1D03 BTFSS STATUS, Z $0115 $2922 GOTO L_main_35 $0116 $ L260_ex_L_main_35: $0116 $3000 MOVLW 0 $0117 $1B86 BTFSC PORTB, 7 $0118 $3001 MOVLW 1 $0119 $00F1 MOVWF STACK_1 $011A $0871 MOVF STACK_1, 0 $011B $1903 BTFSC STATUS, Z $011C $2920 GOTO L274_ex_L_main_35 $011D $082D MOVF _Q2, 0 $011E $1903 BTFSC STATUS, Z $011F $2922 GOTO L_main_35 $0120 $ L274_ex_L_main_35: $0120 $01F0 CLRF STACK_0, 1 $0121 $2924 GOTO L_main_34 $0122 $ L_main_35: $0122 $3001 MOVLW 1 $0123 $00F0 MOVWF STACK_0 $0124 $ L_main_34: $0124 $0870 MOVF STACK_0, 0 $0125 $00AE MOVWF _TX ;PIC_PLC2.c,57 :: } $0126 $292C GOTO L_main_36 $0127 $ L_main_23: ;PIC_PLC2.c,59 :: else if (clk==0) { // Ako je ivica takta opadajuca... $0127 $0824 MOVF _clk, 0 $0128 $3A00 XORLW 0 $0129 $1D03 BTFSS STATUS, Z $012A $292C GOTO L_main_37 ;PIC_PLC2.c,61 :: PORTD.F0 = 0; $012B $1008 BCF PORTD, 0 ;PIC_PLC2.c,63 :: } $012C $ L_main_37: $012C $ L_main_36: ;PIC_PLC2.c,66 :: if ((PORTA.F5==0) && (PORTA.F4==0) && (PORTA.F3==0)) { $012C $3000 MOVLW 0 $012D $1A85 BTFSC PORTA, 5 $012E $3001 MOVLW 1 $012F $00F1 MOVWF STACK_1 72

74 $0130 $0871 MOVF STACK_1, 0 $0131 $3A00 XORLW 0 $0132 $1D03 BTFSS STATUS, Z $0133 $29F7 GOTO L_main_40 $0134 $3000 MOVLW 0 $0135 $1A05 BTFSC PORTA, 4 $0136 $3001 MOVLW 1 $0137 $00F1 MOVWF STACK_1 $0138 $0871 MOVF STACK_1, 0 $0139 $3A00 XORLW 0 $013A $1D03 BTFSS STATUS, Z $013B $29F7 GOTO L_main_40 $013C $3000 MOVLW 0 $013D $1985 BTFSC PORTA, 3 $013E $3001 MOVLW 1 $013F $00F1 MOVWF STACK_1 $0140 $0871 MOVF STACK_1, 0 $0141 $3A00 XORLW 0 $0142 $1D03 BTFSS STATUS, Z $0143 $29F7 GOTO L_main_40 $0144 $ L313_ex_L_main_40: ;PIC_PLC2.c,68 :: PORTC.F1 =!AX; $0144 $0825 MOVF _AX, 0 $0145 $3001 MOVLW 1 $0146 $1D03 BTFSS STATUS, Z $0147 $3000 MOVLW 0 $0148 $00F0 MOVWF STACK_0 $0149 $3000 MOVLW 0 $014A $1870 BTFSC STACK_0, 0 $014B $3002 MOVLW 2 $014C $0607 XORWF PORTC, 0 $014D $3902 ANDLW 2 $014E $0687 XORWF PORTC, 1 ;PIC_PLC2.c,69 :: PORTC.F0 =!CX; $014F $0827 MOVF _CX, 0 $0150 $3001 MOVLW 1 $0151 $1D03 BTFSS STATUS, Z $0152 $3000 MOVLW 0 $0153 $00F0 MOVWF STACK_0 $0154 $3000 MOVLW 0 $0155 $1870 BTFSC STACK_0, 0 $0156 $3001 MOVLW 1 $0157 $0607 XORWF PORTC, 0 $0158 $3901 ANDLW 1 $0159 $0687 XORWF PORTC, 1 ;PIC_PLC2.c,72 :: if ((PORTA.F1==0) && (PORTA.F0==0)) { $015A $3000 MOVLW 0 $015B $1885 BTFSC PORTA, 1 $015C $3001 MOVLW 1 73

75 $015D $00F1 MOVWF STACK_1 $015E $0871 MOVF STACK_1, 0 $015F $3A00 XORLW 0 $0160 $1D03 BTFSS STATUS, Z $0161 $297D GOTO L_main_43 $0162 $3001 MOVLW 1 $0163 $0505 ANDWF PORTA, 0 $0164 $00F1 MOVWF STACK_1 $0165 $0871 MOVF STACK_1, 0 $0166 $3A00 XORLW 0 $0167 $1D03 BTFSS STATUS, Z $0168 $297D GOTO L_main_43 $0169 $ L334_ex_L_main_43: ;PIC_PLC2.c,73 :: PORTB.F0 = PORTB.F4; $0169 $3000 MOVLW 0 $016A $1A06 BTFSC PORTB, 4 $016B $3001 MOVLW 1 $016C $00F1 MOVWF STACK_1 $016D $3000 MOVLW 0 $016E $1871 BTFSC STACK_1, 0 $016F $3001 MOVLW 1 $0170 $0606 XORWF PORTB, 0 $0171 $3901 ANDLW 1 $0172 $0686 XORWF PORTB, 1 ;PIC_PLC2.c,74 :: PORTD.F6 = PORTB.F4; $0173 $3000 MOVLW 0 $0174 $1A06 BTFSC PORTB, 4 $0175 $3001 MOVLW 1 $0176 $00F1 MOVWF STACK_1 $0177 $3000 MOVLW 0 $0178 $1871 BTFSC STACK_1, 0 $0179 $3040 MOVLW 64 $017A $0608 XORWF PORTD, 0 $017B $3940 ANDLW 64 $017C $0688 XORWF PORTD, 1 ;PIC_PLC2.c,75 :: } $017D $ L_main_43: ;PIC_PLC2.c,77 :: if ((PORTA.F1==0) && (PORTA.F0==1)) { $017D $3000 MOVLW 0 $017E $1885 BTFSC PORTA, 1 $017F $3001 MOVLW 1 $0180 $00F1 MOVWF STACK_1 $0181 $0871 MOVF STACK_1, 0 $0182 $3A00 XORLW 0 $0183 $1D03 BTFSS STATUS, Z $0184 $29A0 GOTO L_main_46 $0185 $3001 MOVLW 1 $0186 $0505 ANDWF PORTA, 0 $0187 $00F1 MOVWF STACK_1 74

76 $0188 $0871 MOVF STACK_1, 0 $0189 $3A01 XORLW 1 $018A $1D03 BTFSS STATUS, Z $018B $29A0 GOTO L_main_46 $018C $ L362_ex_L_main_46: ;PIC_PLC2.c,78 :: PORTB.F0 = PORTB.F3; $018C $3000 MOVLW 0 $018D $1986 BTFSC PORTB, 3 $018E $3001 MOVLW 1 $018F $00F1 MOVWF STACK_1 $0190 $3000 MOVLW 0 $0191 $1871 BTFSC STACK_1, 0 $0192 $3001 MOVLW 1 $0193 $0606 XORWF PORTB, 0 $0194 $3901 ANDLW 1 $0195 $0686 XORWF PORTB, 1 ;PIC_PLC2.c,79 :: PORTD.F5 = PORTB.F3; $0196 $3000 MOVLW 0 $0197 $1986 BTFSC PORTB, 3 $0198 $3001 MOVLW 1 $0199 $00F1 MOVWF STACK_1 $019A $3000 MOVLW 0 $019B $1871 BTFSC STACK_1, 0 $019C $3020 MOVLW 32 $019D $0608 XORWF PORTD, 0 $019E $3920 ANDLW 32 $019F $0688 XORWF PORTD, 1 ;PIC_PLC2.c,81 :: } $01A0 $ L_main_46: ;PIC_PLC2.c,83 :: if ((PORTA.F1==1) && (PORTA.F0==0)) { $01A0 $3000 MOVLW 0 $01A1 $1885 BTFSC PORTA, 1 $01A2 $3001 MOVLW 1 $01A3 $00F1 MOVWF STACK_1 $01A4 $0871 MOVF STACK_1, 0 $01A5 $3A01 XORLW 1 $01A6 $1D03 BTFSS STATUS, Z $01A7 $29C3 GOTO L_main_49 $01A8 $3001 MOVLW 1 $01A9 $0505 ANDWF PORTA, 0 $01AA $00F1 MOVWF STACK_1 $01AB $0871 MOVF STACK_1, 0 $01AC $3A00 XORLW 0 $01AD $1D03 BTFSS STATUS, Z $01AE $29C3 GOTO L_main_49 $01AF $ L390_ex_L_main_49: ;PIC_PLC2.c,84 :: PORTB.F0 = PORTB.F2; $01AF $3000 MOVLW 0 $01B0 $1906 BTFSC PORTB, 2 75

77 $01B1 $3001 MOVLW 1 $01B2 $00F1 MOVWF STACK_1 $01B3 $3000 MOVLW 0 $01B4 $1871 BTFSC STACK_1, 0 $01B5 $3001 MOVLW 1 $01B6 $0606 XORWF PORTB, 0 $01B7 $3901 ANDLW 1 $01B8 $0686 XORWF PORTB, 1 ;PIC_PLC2.c,85 :: PORTD.F2 = PORTB.F2; $01B9 $3000 MOVLW 0 $01BA $1906 BTFSC PORTB, 2 $01BB $3001 MOVLW 1 $01BC $00F1 MOVWF STACK_1 $01BD $3000 MOVLW 0 $01BE $1871 BTFSC STACK_1, 0 $01BF $3004 MOVLW 4 $01C0 $0608 XORWF PORTD, 0 $01C1 $3904 ANDLW 4 $01C2 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,87 :: } $01C3 $ L_main_49: ;PIC_PLC2.c,89 :: if ((PORTA.F1==1) && (PORTA.F0==1)) { $01C3 $3000 MOVLW 0 $01C4 $1885 BTFSC PORTA, 1 $01C5 $3001 MOVLW 1 $01C6 $00F1 MOVWF STACK_1 $01C7 $0871 MOVF STACK_1, 0 $01C8 $3A01 XORLW 1 $01C9 $1D03 BTFSS STATUS, Z $01CA $29E6 GOTO L_main_52 $01CB $3001 MOVLW 1 $01CC $0505 ANDWF PORTA, 0 $01CD $00F1 MOVWF STACK_1 $01CE $0871 MOVF STACK_1, 0 $01CF $3A01 XORLW 1 $01D0 $1D03 BTFSS STATUS, Z $01D1 $29E6 GOTO L_main_52 $01D2 $ L418_ex_L_main_52: ;PIC_PLC2.c,90 :: PORTB.F0 = PORTB.F1; $01D2 $3000 MOVLW 0 $01D3 $1886 BTFSC PORTB, 1 $01D4 $3001 MOVLW 1 $01D5 $00F1 MOVWF STACK_1 $01D6 $3000 MOVLW 0 $01D7 $1871 BTFSC STACK_1, 0 $01D8 $3001 MOVLW 1 $01D9 $0606 XORWF PORTB, 0 $01DA $3901 ANDLW 1 $01DB $0686 XORWF PORTB, 1 76

78 ;PIC_PLC2.c,91 :: PORTD.F1 = PORTB.F1; $01DC $3000 MOVLW 0 $01DD $1886 BTFSC PORTB, 1 $01DE $3001 MOVLW 1 $01DF $00F1 MOVWF STACK_1 $01E0 $3000 MOVLW 0 $01E1 $1871 BTFSC STACK_1, 0 $01E2 $3002 MOVLW 2 $01E3 $0608 XORWF PORTD, 0 $01E4 $3902 ANDLW 2 $01E5 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,92 :: } $01E6 $ L_main_52: ;PIC_PLC2.c,94 :: PORTD.F3 = JK; // JK flip-flop $01E6 $3000 MOVLW 0 $01E7 $182C BTFSC _JK, 0 $01E8 $3008 MOVLW 8 $01E9 $0608 XORWF PORTD, 0 $01EA $3908 ANDLW 8 $01EB $0688 XORWF PORTD, 1 ;PIC_PLC2.c,95 :: PORTD.F4 = PORTB.F7; // D flip-flop $01EC $3000 MOVLW 0 $01ED $1B86 BTFSC PORTB, 7 $01EE $3001 MOVLW 1 $01EF $00F1 MOVWF STACK_1 $01F0 $3000 MOVLW 0 $01F1 $1871 BTFSC STACK_1, 0 $01F2 $3010 MOVLW 16 $01F3 $0608 XORWF PORTD, 0 $01F4 $3910 ANDLW 16 $01F5 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,97 :: } $01F6 $2B3E GOTO L_main_53 $01F7 $ L_main_40: ;PIC_PLC2.c,100 :: else if ((PORTA.F5==0) && (PORTA.F4==0) && (PORTA.F3==1)) { $01F7 $3000 MOVLW 0 $01F8 $1A85 BTFSC PORTA, 5 $01F9 $3001 MOVLW 1 $01FA $00F1 MOVWF STACK_1 $01FB $0871 MOVF STACK_1, 0 $01FC $3A00 XORLW 0 $01FD $1D03 BTFSS STATUS, Z $01FE $2A68 GOTO L_main_56 $01FF $3000 MOVLW 0 $0200 $1A05 BTFSC PORTA, 4 $0201 $3001 MOVLW 1 77

79 $0202 $00F1 MOVWF STACK_1 $0203 $0871 MOVF STACK_1, 0 $0204 $3A00 XORLW 0 $0205 $1D03 BTFSS STATUS, Z $0206 $2A68 GOTO L_main_56 $0207 $3000 MOVLW 0 $0208 $1985 BTFSC PORTA, 3 $0209 $3001 MOVLW 1 $020A $00F1 MOVWF STACK_1 $020B $0871 MOVF STACK_1, 0 $020C $3A01 XORLW 1 $020D $1D03 BTFSS STATUS, Z $020E $2A68 GOTO L_main_56 $020F $ L462_ex_L_main_56: ;PIC_PLC2.c,102 :: PORTD.F1 =!BX; $020F $0826 MOVF _BX, 0 $0210 $3001 MOVLW 1 $0211 $1D03 BTFSS STATUS, Z $0212 $3000 MOVLW 0 $0213 $00F0 MOVWF STACK_0 $0214 $3000 MOVLW 0 $0215 $1870 BTFSC STACK_0, 0 $0216 $3002 MOVLW 2 $0217 $0608 XORWF PORTD, 0 $0218 $3902 ANDLW 2 $0219 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,103 :: PORTD.F2 =!DX; $021A $0828 MOVF _DX, 0 $021B $3001 MOVLW 1 $021C $1D03 BTFSS STATUS, Z $021D $3000 MOVLW 0 $021E $00F0 MOVWF STACK_0 $021F $3000 MOVLW 0 $0220 $1870 BTFSC STACK_0, 0 $0221 $3004 MOVLW 4 $0222 $0608 XORWF PORTD, 0 $0223 $3904 ANDLW 4 $0224 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,106 :: if (PORTA.F0==0) { $0225 $3001 MOVLW 1 $0226 $0505 ANDWF PORTA, 0 $0227 $00F1 MOVWF STACK_1 $0228 $0871 MOVF STACK_1, 0 $0229 $3A00 XORLW 0 $022A $1D03 BTFSS STATUS, Z $022B $2A40 GOTO L_main_57 ;PIC_PLC2.c,108 :: PORTB.F0 = PORTB.F4; $022C $3000 MOVLW 0 $022D $1A06 BTFSC PORTB, 4 78

80 $022E $3001 MOVLW 1 $022F $00F1 MOVWF STACK_1 $0230 $3000 MOVLW 0 $0231 $1871 BTFSC STACK_1, 0 $0232 $3001 MOVLW 1 $0233 $0606 XORWF PORTB, 0 $0234 $3901 ANDLW 1 $0235 $0686 XORWF PORTB, 1 ;PIC_PLC2.c,109 :: PORTD.F6 = PORTB.F4; $0236 $3000 MOVLW 0 $0237 $1A06 BTFSC PORTB, 4 $0238 $3001 MOVLW 1 $0239 $00F1 MOVWF STACK_1 $023A $3000 MOVLW 0 $023B $1871 BTFSC STACK_1, 0 $023C $3040 MOVLW 64 $023D $0608 XORWF PORTD, 0 $023E $3940 ANDLW 64 $023F $0688 XORWF PORTD, 1 ;PIC_PLC2.c,110 :: } $0240 $ L_main_57: ;PIC_PLC2.c,112 :: if (PORTA.F0==1) { $0240 $3001 MOVLW 1 $0241 $0505 ANDWF PORTA, 0 $0242 $00F1 MOVWF STACK_1 $0243 $0871 MOVF STACK_1, 0 $0244 $3A01 XORLW 1 $0245 $1D03 BTFSS STATUS, Z $0246 $2A5B GOTO L_main_58 ;PIC_PLC2.c,113 :: PORTB.F0 = PORTB.F3; $0247 $3000 MOVLW 0 $0248 $1986 BTFSC PORTB, 3 $0249 $3001 MOVLW 1 $024A $00F1 MOVWF STACK_1 $024B $3000 MOVLW 0 $024C $1871 BTFSC STACK_1, 0 $024D $3001 MOVLW 1 $024E $0606 XORWF PORTB, 0 $024F $3901 ANDLW 1 $0250 $0686 XORWF PORTB, 1 ;PIC_PLC2.c,114 :: PORTD.F5 = PORTB.F3; $0251 $3000 MOVLW 0 $0252 $1986 BTFSC PORTB, 3 $0253 $3001 MOVLW 1 $0254 $00F1 MOVWF STACK_1 $0255 $3000 MOVLW 0 $0256 $1871 BTFSC STACK_1, 0 $0257 $3020 MOVLW 32 $0258 $0608 XORWF PORTD, 0 79

81 $0259 $3920 ANDLW 32 $025A $0688 XORWF PORTD, 1 ;PIC_PLC2.c,116 :: } $025B $ L_main_58: ;PIC_PLC2.c,119 :: PORTD.F3 = JK; // JK flip-flop $025B $3000 MOVLW 0 $025C $182C BTFSC _JK, 0 $025D $3008 MOVLW 8 $025E $0608 XORWF PORTD, 0 $025F $3908 ANDLW 8 $0260 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,120 :: PORTD.F4 = TX; // T flip-flop $0261 $3000 MOVLW 0 $0262 $182E BTFSC _TX, 0 $0263 $3010 MOVLW 16 $0264 $0608 XORWF PORTD, 0 $0265 $3910 ANDLW 16 $0266 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,122 :: } $0267 $2B3E GOTO L_main_59 $0268 $ L_main_56: ;PIC_PLC2.c,123 :: else if ((PORTA.F5==0) && (PORTA.F4==1) && (PORTA.F3==0)) { $0268 $3000 MOVLW 0 $0269 $1A85 BTFSC PORTA, 5 $026A $3001 MOVLW 1 $026B $00F1 MOVWF STACK_1 $026C $0871 MOVF STACK_1, 0 $026D $3A00 XORLW 0 $026E $1D03 BTFSS STATUS, Z $026F $2ACF GOTO L_main_62 $0270 $3000 MOVLW 0 $0271 $1A05 BTFSC PORTA, 4 $0272 $3001 MOVLW 1 $0273 $00F1 MOVWF STACK_1 $0274 $0871 MOVF STACK_1, 0 $0275 $3A01 XORLW 1 $0276 $1D03 BTFSS STATUS, Z $0277 $2ACF GOTO L_main_62 $0278 $3000 MOVLW 0 $0279 $1985 BTFSC PORTA, 3 $027A $3001 MOVLW 1 $027B $00F1 MOVWF STACK_1 $027C $0871 MOVF STACK_1, 0 $027D $3A00 XORLW 0 $027E $1D03 BTFSS STATUS, Z $027F $2ACF GOTO L_main_62 80

82 $0280 $ L525_ex_L_main_62: ;PIC_PLC2.c,125 :: PORTD.F1 = EX; $0280 $3000 MOVLW 0 $0281 $1829 BTFSC _EX, 0 $0282 $3002 MOVLW 2 $0283 $0608 XORWF PORTD, 0 $0284 $3902 ANDLW 2 $0285 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,126 :: PORTD.F2 = FX; $0286 $3000 MOVLW 0 $0287 $182A BTFSC _FX, 0 $0288 $3004 MOVLW 4 $0289 $0608 XORWF PORTD, 0 $028A $3904 ANDLW 4 $028B $0688 XORWF PORTD, 1 ;PIC_PLC2.c,129 :: if (PORTA.F0==0) { $028C $3001 MOVLW 1 $028D $0505 ANDWF PORTA, 0 $028E $00F1 MOVWF STACK_1 $028F $0871 MOVF STACK_1, 0 $0290 $3A00 XORLW 0 $0291 $1D03 BTFSS STATUS, Z $0292 $2AA7 GOTO L_main_63 ;PIC_PLC2.c,131 :: PORTB.F0 = PORTB.F4; $0293 $3000 MOVLW 0 $0294 $1A06 BTFSC PORTB, 4 $0295 $3001 MOVLW 1 $0296 $00F1 MOVWF STACK_1 $0297 $3000 MOVLW 0 $0298 $1871 BTFSC STACK_1, 0 $0299 $3001 MOVLW 1 $029A $0606 XORWF PORTB, 0 $029B $3901 ANDLW 1 $029C $0686 XORWF PORTB, 1 ;PIC_PLC2.c,132 :: PORTD.F6 = PORTB.F4; $029D $3000 MOVLW 0 $029E $1A06 BTFSC PORTB, 4 $029F $3001 MOVLW 1 $02A0 $00F1 MOVWF STACK_1 $02A1 $3000 MOVLW 0 $02A2 $1871 BTFSC STACK_1, 0 $02A3 $3040 MOVLW 64 $02A4 $0608 XORWF PORTD, 0 $02A5 $3940 ANDLW 64 $02A6 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,133 :: } $02A7 $ L_main_63: ;PIC_PLC2.c,135 :: if (PORTA.F0==1) { $02A7 $3001 MOVLW 1 81

83 $02A8 $0505 ANDWF PORTA, 0 $02A9 $00F1 MOVWF STACK_1 $02AA $0871 MOVF STACK_1, 0 $02AB $3A01 XORLW 1 $02AC $1D03 BTFSS STATUS, Z $02AD $2AC2 GOTO L_main_64 ;PIC_PLC2.c,136 :: PORTB.F0 = PORTB.F3; $02AE $3000 MOVLW 0 $02AF $1986 BTFSC PORTB, 3 $02B0 $3001 MOVLW 1 $02B1 $00F1 MOVWF STACK_1 $02B2 $3000 MOVLW 0 $02B3 $1871 BTFSC STACK_1, 0 $02B4 $3001 MOVLW 1 $02B5 $0606 XORWF PORTB, 0 $02B6 $3901 ANDLW 1 $02B7 $0686 XORWF PORTB, 1 ;PIC_PLC2.c,137 :: PORTD.F5 = PORTB.F3; $02B8 $3000 MOVLW 0 $02B9 $1986 BTFSC PORTB, 3 $02BA $3001 MOVLW 1 $02BB $00F1 MOVWF STACK_1 $02BC $3000 MOVLW 0 $02BD $1871 BTFSC STACK_1, 0 $02BE $3020 MOVLW 32 $02BF $0608 XORWF PORTD, 0 $02C0 $3920 ANDLW 32 $02C1 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,139 :: } $02C2 $ L_main_64: ;PIC_PLC2.c,141 :: PORTD.F3 = JK; // JK flip-flop $02C2 $3000 MOVLW 0 $02C3 $182C BTFSC _JK, 0 $02C4 $3008 MOVLW 8 $02C5 $0608 XORWF PORTD, 0 $02C6 $3908 ANDLW 8 $02C7 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,142 :: PORTD.F4 = TX; // T flip-flop $02C8 $3000 MOVLW 0 $02C9 $182E BTFSC _TX, 0 $02CA $3010 MOVLW 16 $02CB $0608 XORWF PORTD, 0 $02CC $3910 ANDLW 16 $02CD $0688 XORWF PORTD, 1 ;PIC_PLC2.c,144 :: } $02CE $2B3E GOTO L_main_65 $02CF $ L_main_62: 82

84 ;PIC_PLC2.c,146 :: else if ((PORTA.F5==0) && (PORTA.F4==1) && (PORTA.F3==1)) { $02CF $3000 MOVLW 0 $02D0 $1A85 BTFSC PORTA, 5 $02D1 $3001 MOVLW 1 $02D2 $00F1 MOVWF STACK_1 $02D3 $0871 MOVF STACK_1, 0 $02D4 $3A00 XORLW 0 $02D5 $1D03 BTFSS STATUS, Z $02D6 $2B3E GOTO L_main_68 $02D7 $3000 MOVLW 0 $02D8 $1A05 BTFSC PORTA, 4 $02D9 $3001 MOVLW 1 $02DA $00F1 MOVWF STACK_1 $02DB $0871 MOVF STACK_1, 0 $02DC $3A01 XORLW 1 $02DD $1D03 BTFSS STATUS, Z $02DE $2B3E GOTO L_main_68 $02DF $3000 MOVLW 0 $02E0 $1985 BTFSC PORTA, 3 $02E1 $3001 MOVLW 1 $02E2 $00F1 MOVWF STACK_1 $02E3 $0871 MOVF STACK_1, 0 $02E4 $3A01 XORLW 1 $02E5 $1D03 BTFSS STATUS, Z $02E6 $2B3E GOTO L_main_68 $02E7 $ L586_ex_L_main_68: ;PIC_PLC2.c,148 :: PORTD.F1 = AX; $02E7 $3000 MOVLW 0 $02E8 $1825 BTFSC _AX, 0 $02E9 $3002 MOVLW 2 $02EA $0608 XORWF PORTD, 0 $02EB $3902 ANDLW 2 $02EC $0688 XORWF PORTD, 1 ;PIC_PLC2.c,149 :: PORTD.F2 =!CX; $02ED $0827 MOVF _CX, 0 $02EE $3001 MOVLW 1 $02EF $1D03 BTFSS STATUS, Z $02F0 $3000 MOVLW 0 $02F1 $00F0 MOVWF STACK_0 $02F2 $3000 MOVLW 0 $02F3 $1870 BTFSC STACK_0, 0 $02F4 $3004 MOVLW 4 $02F5 $0608 XORWF PORTD, 0 $02F6 $3904 ANDLW 4 $02F7 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,152 :: if (PORTA.F0==0) { $02F8 $3001 MOVLW 1 $02F9 $0505 ANDWF PORTA, 0 83

85 $02FA $00F1 MOVWF STACK_1 $02FB $0871 MOVF STACK_1, 0 $02FC $3A00 XORLW 0 $02FD $1D03 BTFSS STATUS, Z $02FE $2B13 GOTO L_main_69 ;PIC_PLC2.c,154 :: PORTB.F0 = PORTB.F4; $02FF $3000 MOVLW 0 $0300 $1A06 BTFSC PORTB, 4 $0301 $3001 MOVLW 1 $0302 $00F1 MOVWF STACK_1 $0303 $3000 MOVLW 0 $0304 $1871 BTFSC STACK_1, 0 $0305 $3001 MOVLW 1 $0306 $0606 XORWF PORTB, 0 $0307 $3901 ANDLW 1 $0308 $0686 XORWF PORTB, 1 ;PIC_PLC2.c,155 :: PORTD.F6 = PORTB.F4; $0309 $3000 MOVLW 0 $030A $1A06 BTFSC PORTB, 4 $030B $3001 MOVLW 1 $030C $00F1 MOVWF STACK_1 $030D $3000 MOVLW 0 $030E $1871 BTFSC STACK_1, 0 $030F $3040 MOVLW 64 $0310 $0608 XORWF PORTD, 0 $0311 $3940 ANDLW 64 $0312 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,156 :: } $0313 $ L_main_69: ;PIC_PLC2.c,158 :: if (PORTA.F0==1) { $0313 $3001 MOVLW 1 $0314 $0505 ANDWF PORTA, 0 $0315 $00F1 MOVWF STACK_1 $0316 $0871 MOVF STACK_1, 0 $0317 $3A01 XORLW 1 $0318 $1D03 BTFSS STATUS, Z $0319 $2B2E GOTO L_main_70 ;PIC_PLC2.c,159 :: PORTB.F0 = PORTB.F3; $031A $3000 MOVLW 0 $031B $1986 BTFSC PORTB, 3 $031C $3001 MOVLW 1 $031D $00F1 MOVWF STACK_1 $031E $3000 MOVLW 0 $031F $1871 BTFSC STACK_1, 0 $0320 $3001 MOVLW 1 $0321 $0606 XORWF PORTB, 0 $0322 $3901 ANDLW 1 $0323 $0686 XORWF PORTB, 1 ;PIC_PLC2.c,160 :: PORTD.F5 = PORTB.F3; 84

86 $0324 $3000 MOVLW 0 $0325 $1986 BTFSC PORTB, 3 $0326 $3001 MOVLW 1 $0327 $00F1 MOVWF STACK_1 $0328 $3000 MOVLW 0 $0329 $1871 BTFSC STACK_1, 0 $032A $3020 MOVLW 32 $032B $0608 XORWF PORTD, 0 $032C $3920 ANDLW 32 $032D $0688 XORWF PORTD, 1 ;PIC_PLC2.c,162 :: } $032E $ L_main_70: ;PIC_PLC2.c,164 :: PORTD.F3 = JK; // JK flip-flop $032E $3000 MOVLW 0 $032F $182C BTFSC _JK, 0 $0330 $3008 MOVLW 8 $0331 $0608 XORWF PORTD, 0 $0332 $3908 ANDLW 8 $0333 $0688 XORWF PORTD, 1 ;PIC_PLC2.c,165 :: PORTD.F4 = PORTB.F7; // D flip-flop $0334 $3000 MOVLW 0 $0335 $1B86 BTFSC PORTB, 7 $0336 $3001 MOVLW 1 $0337 $00F1 MOVWF STACK_1 $0338 $3000 MOVLW 0 $0339 $1871 BTFSC STACK_1, 0 $033A $3010 MOVLW 16 $033B $0608 XORWF PORTD, 0 $033C $3910 ANDLW 16 $033D $0688 XORWF PORTD, 1 ;PIC_PLC2.c,167 :: } $033E $ L_main_68: $033E $ L_main_65: $033E $ L_main_59: $033E $ L_main_53: ;PIC_PLC2.c,169 :: clk =!clkk; // Formiranje takta $033E $0823 MOVF _clkk, 0 $033F $3001 MOVLW 1 $0340 $1D03 BTFSS STATUS, Z $0341 $3000 MOVLW 0 $0342 $00A4 MOVWF _clk ;PIC_PLC2.c,171 :: } while (1); // Kraj Petlje $0343 $2829 GOTO L_main_0 ;PIC_PLC2.c,172 :: }//~ $0344 $2B44 GOTO $ 85

87 10 - LABORATORIJSKA VEŢBA Već je napomenuto da ukoliko je pin nekog porta definisan kao izlazni, nikako ne treba dovoditi na njega logičku '0' ili logičku '1'. Da bi se povezalo kolo kao na Slici 10-2, neophodno je postaviti kratkospajače i položaje pinova A5-A3 kao na Slici Pinovi PC1 i PC0 su izlazi logičkih NI kola i dovodeni su, respektivno, na ulaze JK i D flip-flopa, kao i na MUX 4/1. Ideja laboratorijske vežbe je da studenti provere funkcionalnost kola sa Sike 10-1, a zatim da, uz pomoć asistenta realizuju neko drugo kolo. Kao što je napomenuto u sedmom poglavlju, na raspolaganju su četiri kombinacije. Student može uz nadzor asistenta da realizuje i neku drugu kombinaciju dopisujući redove programskog koda u mikroc-u. Slika Raspored klema/konektora i prekidaĉa na ploĉi 86

88 Slika Kolo koje treba realizovati Slika Realizacija logike sa Slike

89 PB7 je ulaz D flip-flopa, a PB6 (J) i PB5 (K) su ulazi JK flip-flopa, PC5-PC4 (1) i PC3-PC2 (2) predstavljaju ulaze NI logičkih kola, PD4 predstavlja izlaz D flip-flopa, a PD3 predstavlja izlaz JK flip-flopa, PB4-PB1 su ulazi multipleksera 4/1, PB0 je izlaz multipleksera 4/1, PD7 je ulaz demultipleksera 1/4, PD6-PD5, PD2-PD1 su izlazi demultipleksera 1/4, PC1 je izlaz NI logičkog kola (1), a PC0 je izlaz NI logičkog kola (2), PD0 pin registruje trenutak internog taktovanja flip-flopova. Taktovanje je reda 400 milisekundi kako bi posmatrač mogao da ih uoči. Opisivanje svakog kola u mikroc-u za kombinaciju '000' // Opis funkcije I kola: AX = (PORTC.F5 && PORTC.F4); // Opis funkcije I kola: CX = (PORTC.F3 && PORTC.F2); // Opis funkcija JK flip-flopa: Q1 = JK; JK = ((PORTB.F6 && (!Q1)) ((!(PORTB.F5) && Q1)));... PORTC.F1 =!AX; PORTC.F0 =!CX; realizacija NI kola (komplement I logiĉke funkcije) realizacija NI kola (komplement I logiĉke funkcije) // Opis funkcija i realizacija multipleksera 4/1: if ((PORTA.F1==0) && (PORTA.F0==0)) { PORTB.F0 = PORTB.F4; PORTD.F6 = PORTB.F4; } if ((PORTA.F1==0) && (PORTA.F0==1)) { PORTB.F0 = PORTB.F3; PORTD.F5 = PORTB.F3; } if ((PORTA.F1==1) && (PORTA.F0==0)) { PORTB.F0 = PORTB.F2; PORTD.F2 = PORTB.F2; } if ((PORTA.F1==1) && (PORTA.F0==1)) { PORTB.F0 = PORTB.F1; PORTD.F1 = PORTB.F1; } PORTD.F3 = JK; PORTD.F4 = PORTB.F7; realizacija JK flip-flopa realizacija D flip-flopa 88

90 Vežba Dovesti napajanje preko adaptera, koji treba da bude podešen na 7.5V (nestabilisani jednosmerni napon). Proveriti za kombinaciju PA4-PA3= 000 PLC kontrolera, koje su opisane u osmom poglavlju. Skicirati dijagrame ulaznih i izlaznih veličina (logičkih vrednosti). Uz nadzor asistenta, preko klema/konektora i spoljašnjih vodova (izolovanih žica) napraviti bar jednu logičku šemu. Proveriti logičku šemu za sve moguće kombinacije. Skicirati dijagrame ulaznih i izlaznih veličina. Napomene: Ukoliko je pin nekog porta definisan kao izlazni, nikako ne treba dovoditi na njega logičku '0' ili logičku '1'. Pinovi Porta A su direktno su stalno povezani na konektor sa prekidačima SW-CN5, s obzirom da se radi o kontrolišućim pinovima. Ukoliko pin nekog porta nije povezan pre priključivanja napajnja, njegovo stanje biće identično stanju koje je definisano kao početno u kodu u mikroc-u Pre priključivanja napajanja, na potenciometru AC/DC adaptera treba izabrati 7.5V nestabilisano. Slika Mapa programske memorije mikrokontrolera PIC16F877A 89

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

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

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

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

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)

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

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

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

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/.

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

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)

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

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,

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

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

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

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

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

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 -

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

IV. FUNKCIJE I STRUKTURA PREKIDAČKIH MREŽA IV.1 OSNOVNI POJMOVI IV.2 LOGIČKI ELEMENTI IV.3 STRUKTURA KOMBINACIONIH MREŽA IV.4 MEMORIJSKI ELEMENTI

IV. FUNKCIJE I STRUKTURA PREKIDAČKIH MREŽA IV.1 OSNOVNI POJMOVI IV.2 LOGIČKI ELEMENTI IV.3 STRUKTURA KOMBINACIONIH MREŽA IV.4 MEMORIJSKI ELEMENTI IV. OSNOVNI POJMOVI IV.2 LOGIČKI ELEMENTI IV.3 STRUKTURA KOMBINACIONIH MREŽA IV.4 MEMORIJSKI ELEMENTI IV.4. ASINHRONI FLIP-FLOPOVI IV.4.2 TAKTOVANI FLIP-FLOPOVI IV.5 STRUKTURA SEKVENCIJALNIH MREŽA IV.

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

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)

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

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

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

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,

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

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

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

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

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

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

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

Digitalna mikroelektronika

Digitalna mikroelektronika Digitalna mikroelektronika Z. Prijić Elektronski fakultet Niš Katedra za mikroelektroniku Predavanja 27. Deo I Kombinaciona logička kola Kombinaciona logička kola Osnovna kombinaciona logička kola 2 3

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

Komponente digitalnih sistema. Kombinacione komponente Sekvencijalne komponente Konačni automati Memorijske komponente Staza podataka

Komponente digitalnih sistema. Kombinacione komponente Sekvencijalne komponente Konačni automati Memorijske komponente Staza podataka Komponente digitalnih sistema Kombinacione komponente Sekvencijalne komponente Konačni automati Memorijske komponente Staza podataka Standardne digitalne komponente (moduli) Obavljaju funkcije za koje

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

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,

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

Slika 1.1 Tipičan digitalni signal

Slika 1.1 Tipičan digitalni signal 1. DIGITALNA KOLA Kola u digitalnim sistemima i digitalnim računarima su napravljena da rade sa signalima koji su digitalne prirode, što znači da ovi signali mogu da imaju samo dve moguće vrednosti u datom

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

7. SEKVENCIJALNA KOLA

7. SEKVENCIJALNA KOLA 7 SEKVENIJALNA KOLA 7 Odnos između kombinacionih i sekvencijalnih kola Na logičkom nivou digitalna kola se dele na dve velike klase: ona koja ne poseduju memoriju nazivamo kombinacionim kolima, dok su

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

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 (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

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

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

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

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

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

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

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

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

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

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

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

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

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

Merni instrumenti - Digitalna elektronika 5. SEKVENCIJALNA LOGIKA. Prosta kola sa povratnom spregom Lečevi Flip-flopovi okidani na ivicu

Merni instrumenti - Digitalna elektronika 5. SEKVENCIJALNA LOGIKA. Prosta kola sa povratnom spregom Lečevi Flip-flopovi okidani na ivicu FTN Novi ad Merni instrumenti - Digitalna elektronika 5. EKVENCIJALNA LOGIKA 8-mar.-7 dr Zoran Mitrović ekvencijalna logika ekvencijalna kola Prosta kola sa povratnom spregom Lečevi Flip-flopovi okidani

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

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

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

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

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

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ć

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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:

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

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

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

FAKULTET PROMETNIH ZNANOSTI

FAKULTET PROMETNIH ZNANOSTI SVUČILIŠT U ZAGU FAKULTT POMTNIH ZNANOSTI predmet: Nastavnik: Prof. dr. sc. Zvonko Kavran zvonko.kavran@fpz.hr * Autorizirana predavanja 2016. 1 Pojačala - Pojačavaju ulazni signal - Zahtjev linearnost

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

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

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

Eliminacijski zadatak iz Matematike 1 za kemičare

Eliminacijski zadatak iz Matematike 1 za kemičare Za mnoge reakcije vrijedi Arrheniusova jednadžba, koja opisuje vezu koeficijenta brzine reakcije i temperature: K = Ae Ea/(RT ). - T termodinamička temperatura (u K), - R = 8, 3145 J K 1 mol 1 opća plinska

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

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

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

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

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

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:

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

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

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

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.

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

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

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

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

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

Industrijski sistemi i protokoli - Asinhroni serijski prenos podataka -

Industrijski sistemi i protokoli - Asinhroni serijski prenos podataka - Industrijski sistemi i protokoli asinhroni serijski prenos podataka 1 Industrijski sistemi i protokoli - Asinhroni serijski prenos podataka - 1 Uvod u asinhrone serijske protokole... 2 2 RS232 protokol...

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

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

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

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,

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

6. BULOVA ALGEBRA I LOGIČKA KOLA

6. BULOVA ALGEBRA I LOGIČKA KOLA 6. ULOVA ALGERA I LOGIČKA KOLA Poznato je da se pojam algebre odnosi na oblast matematike koja se bavi proučavanjem opštih svojstava brojnih sistema i opštih metoda rešavanja problema pomoću jednačina.

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

FTN Novi Sad 3. IMPLEMENTACIJA KOMBINACIONE LOGIKE. Merni instrumenti - Digitalna elektronika. Implementacija kombinacione logike.

FTN Novi Sad 3. IMPLEMENTACIJA KOMBINACIONE LOGIKE. Merni instrumenti - Digitalna elektronika. Implementacija kombinacione logike. TN Novi Sad Merni instrumenti - igitalna elektronika 8-Mar-7 3. IMPLEMENTIJ KOMINIONE LOGIKE dr oran Mitrović Implementacija kombinacione logike Logika u dva nivoa Implementacija logike u dva nivoa NN/NOR

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

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

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

Induktivno spregnuta kola

Induktivno spregnuta kola Induktivno spregnuta kola 13. januar 2016 Transformatori se koriste u elektroenergetskim sistemima za povišavanje i snižavanje napona, u elektronskim i komunikacionim kolima za promjenu napona i odvajanje

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

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

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

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

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

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

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

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,

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

PRIMJER 3. MATLAB filtdemo

PRIMJER 3. MATLAB filtdemo PRIMJER 3. MATLAB filtdemo Prijenosna funkcija (IIR) Hz () =, 6 +, 3 z +, 78 z +, 3 z +, 53 z +, 3 z +, 78 z +, 3 z +, 6 z, 95 z +, 74 z +, z +, 9 z +, 4 z +, 5 z +, 3 z +, 4 z 3 4 5 6 7 8 3 4 5 6 7 8

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

Osnove mikroelektronike

Osnove mikroelektronike Osnove mikroelektronike Z. Prijić T. Pešić Elektronski fakultet Niš Katedra za mikroelektroniku Predavanja 2006. Sadržaj 1 MOSFET - model za male signale 2 Struja kroz i disipacija snage Model za male

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

Zadatak Vul[V] Vul[V]

Zadatak Vul[V] Vul[V] Zadatak 11.1. a) Projektovati kolo A/D konvertora sa paralelnim komparatorima koji ulazni napon u opsegu 0 8V kovertuje u 3 bitni binarni broj prema karakteristici sa Slike 11.1.1. a). U slučaju kada je

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

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

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

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

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

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

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

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x. 4.7. ZADACI 87 4.7. Zadaci 4.7.. Formalizam diferenciranja teorija na stranama 4-46) 340. Znajući izvod funkcije arcsin, odrediti izvod funkcije arccos. Rešenje. Polazeći od jednakosti arcsin + arccos

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

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) =

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

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------------------------------------------------------------------------------------

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

Mehatronika - Metode i Sklopovi za Povezivanje Senzora i Aktuatora. Sadržaj predavanja: 1. Operacijsko pojačalo

Mehatronika - Metode i Sklopovi za Povezivanje Senzora i Aktuatora. Sadržaj predavanja: 1. Operacijsko pojačalo Mehatronika - Metode i Sklopovi za Povezivanje Senzora i Aktuatora Sadržaj predavanja: 1. Operacijsko pojačalo Operacijsko Pojačalo Kod operacijsko pojačala izlazni napon je proporcionalan diferencijalu

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

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati:

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati: Staša Vujičić Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati: pseudo jezikom prirodnim jezikom dijagramom toka. 2

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

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

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

ANALIZA TTL, DTL I ECL LOGIČKIH KOLA

ANALIZA TTL, DTL I ECL LOGIČKIH KOLA ANALIZA TTL, DTL I ECL LOGIČKIH KOLA Zadatak 1 Za DTL logičko kolo sa slike 1.1, odrediti: a) Logičku funkciju kola i režime rada svih tranzistora za sve kombinacije logičkih nivoa na ulazu kola. b) Odrediti

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

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

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

Trigonometrijske nejednačine

Trigonometrijske nejednačine Trignmetrijske nejednačine T su nejednačine kd kjih se nepznata javlja ka argument trignmetrijske funkcije. Rešiti trignmetrijsku nejednačinu znači naći sve uglve kji je zadvljavaju. Prilikm traženja rešenja

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

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...

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

Logičko i fizičko stanje digitalnog kola

Logičko i fizičko stanje digitalnog kola LOGIČKA KOLA Kao što smo već istakli, obrada podataka u digitalnom račuanaru se realizuje pomoću električnih veličina (napon, struja), odnosno elektronski sklopovi računara obrađuju električne veličine

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

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

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

Σπύρος Καζαρλής, Χειμώνας 2014-2015 1

Σπύρος Καζαρλής, Χειμώνας 2014-2015 1 Κάθε ενσωματωμένο σύστημα έχει ένα σύνολο θυρών εισόδου / εξόδου, ψηφιακές ή και αναλογικές. Οι ψηφιακές θύρες μπορεί να είναι: Παράλληλες θύρες Σειριακές θύρες Θύρες επικοινωνίας άλλων πρωτοκόλλων όπως

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

Elementi elektronike septembar 2014 REŠENJA. Za vrednosti ulaznog napona

Elementi elektronike septembar 2014 REŠENJA. Za vrednosti ulaznog napona lementi elektronike septembar 2014 ŠNJA. Za rednosti ulaznog napona V transistor je isključen, i rednost napona na izlazu je BT V 5 V Kada ulazni napon dostigne napon uključenja tranzistora, transistor

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

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 )

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

Iz zadatka se uočava da je doslo do tropolnog kratkog spoja na sabirnicama B, pa je zamjenska šema,

Iz zadatka se uočava da je doslo do tropolnog kratkog spoja na sabirnicama B, pa je zamjenska šema, . Na slici je jednopolno prikazan trofazni EES sa svim potrebnim parametrima. U režimu rada neposredno prije nastanka KS kroz prekidač protiče struja (168-j140)A u naznačenom smjeru. Fazni stav struje

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

Tranzistori s efektom polja. Postupak. Spoj zajedničkog uvoda. Shema pokusa

Tranzistori s efektom polja. Postupak. Spoj zajedničkog uvoda. Shema pokusa Tranzistori s efektom polja Spoj zajedničkog uvoda U ovoj vježbi ispitujemo pojačanje signala uz pomoć FET-a u spoju zajedničkog uvoda. Shema pokusa Postupak Popis spojeva 1. Spojite pokusni uređaj na

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