You are on page 1of 29

ELEKTRONSKI FAKULTET U NIU

kolska 2005/06. godina

MIKROKONTROLERI I PROGRAMIRANJE
Studijski program: UPRAVLJANJE SISTEMIMA
IV semestar 3+1+1 6 bodova

Prof. dr Teufik Toki (603) & Prof. dr Milun Jevtic (306)

Cilj predmeta:
DATI ZNANJA IZ OBLASTI MIKROKONTROLERA KAKO BI STUDENT PO USPENO POHAANOM KURSU MOGAO DA PRIMENJUJE MIKROKONTROLERE
Stei osnovna znanja o mikrokontrolerima i detaljnija kroz prouavanje konkretnog savremenog mikrokontrolera iz familija PIC mikrokontrolera firme MICROCHIP Ovladati alatima za razvoj aplikacije - ugraenog (embedded) sistema na bazi PIC mikrokontrolera Stei poetna iskustva u primeni mikrokontrolera kroz konkretne primere primene mikrokontrolera u oblasti automatike - upravljanja sistemima

Kako uspeno savladati gradivo i dobiti to bolju ocenu?


Od poetka kursa kontinuiranim radom sticati znanja koja e se procenjivati kroz sledee aktivnosti:
10% Redovno pohaanje nastave uz angaovanje na asovima 30% Uspeno uraene i pozitivno ocenjene laboratorijske vebe 30% Pozitivno ocenjen kolokvijum (vai do novog poetka kursa) Pismeni ispit (moe popraviti ocenu sa kolokvijuma) 30% Usmeni ispit

TA RADI MIKROKONTROLER ?
1. PRIKUPLJA INFORMACIJE SA ULAZA; 2. OBRAUJE IH U DIGITALNOM DOMENU PO ODREENOM ALGORITMU; 3. GENERIE INFORMACIJE NA IZLAZIMA I/ILI KOMUNICIRA SA MIKRORAUNAROM U OKRUENJU Komunikaciona veza (izlazne informacije) (ulazne informacije)

MIKROKONTROLER
(ELEKTRONSKI SISTEM)

Okruenje - proces

Izlazi

Ulazi

U elektronskom sistemu informacija se predstavlja elektrinim signalom


U

Analogni signali
( Umin Umax ; fmin fmax )
U t TP Vsr TI t U

Impulsni signali

Digitalni signali
Realno svi signali su kontinualni

"1" "0" t

TA JE TO MIKROKONTROLER ?

MIKROPROCESOR

CPU - Central Processor Unit (izvrava instrukcije) Da bi se ostvario neki sistem neophodna su dodatna integrisana kola (memorije, bas drajveri, ...) ini ga P (CPU), operativna memorija, spoljanje memorije, ureaji za interakciju sa korisnikom, komunikacioni kontroleri, ... PC - OS opte namene; RT OS Sadri u ipu P (CPU) + ROM + RAM + I/O portove + Tajmere + Komunikacioni kontroler + ... Dovoljan da se realizuje ugraen R sistem (za odreenu aplikaciju)

MIKRORAUNAR

MIKRORAUNAR U IPU

Procesor
OBRAUJE INFORMACIJE U DIGITALNOM OBLIKU Sekvencijalno izvrava niz instrukcija koji ini program Instrukcije se mogu podeliti na: Aritmetiko-logike instrukcije; Instrukcije manipulisanja podacima; Instrukcije bezuslovnog i uslovnog granjanja programa; Specijalne instrukcije.

Nedostaci P P4 u odnosu na mikrokontroler


Pentiums 50 milliona tranzistora > 100 $ Watts @ idle Komplikovan set instrukcija i modela programiranja Zahtevna realizacija hardverska Microcontrollers < 150,000 tranzistora 0.50 - 5.00 $ < 0.01 W kada je aktivan Jednostavan model programiranja Jednostavna realizacija hardvera

Arithmetic Logic Unit (ALU) u P


BUS
Accumulator
OP1 OP2

RR

ALU
RESU C, Z ...

8-o bitni ALU; 8-o bitni BUS; 8b P


StatusR (PSW)

16-o bitni Procesor 32-o bitni Procesor

Accumulator: A - Working register: W

A A + RR ; operacija sabiranja celobrojnih vrednosti A A & RR ; logika I operacija (nad bitovima)

Registri
Write Clr(Reset) OE(Read)

n bit elija

n-o bitni stacionarni regegistar


(Upis, itanje), (Bit adresibilni)

n-o bitni pomeraki regegistar


(Pomeranje za 1bit u levo-desno, Upis, itanje, )

n-o bitni brojaki regegistar


(Inkrementiranje, Upis, itanje)

IZVRAVANJE INSTRUKCIJE
BUS
BUS drajver PROGRAMSKI BROJA Instr i-1 Instr i Instr i+1 Instr i+2 Instr i+3 Programske memorijske lokacije INSTRUKCIONI R
Prema PC-u Prema ALU

UPRAVLJAKA JEDINICA

OSCILATOR
RESET INT ZAHTEV

Adresa za selekciju programske memorije

FAZE IZVRAVANJA INSTRUKCIJE 1. Pribavljanje instrukcije - kda instrukcije (upis u IR sadraja prog.mem.lok. selektovane sadrajem programskog brojaa) 2. Izvravanje instrukcije (prethodno se ako je potrebno pribavi operand-i)

PROTONO IZVRAVANJE INSTRUKCIJA KOD MIKROKONTROLERA RISC ARHITEKTURE


(ISTOVREMENO SA IZVRENJEM NEKE INSTRUKCIJE PRIBAVLJA SE SLEDEA INSTRUKCIJA)

INTERRUPT - PROGRAMSKI PREKID


Po aktiviranju signala koji zahteva (inicira) programski prekid upravljaka jedinica:
Program koji se izvrava po prihvatanju prekida

Program ije se izvravanje prekida

1. Stanje programskog brojaa (ukazuje na lokaciju programske memorije glavnog programa u kojoj je instrukcija koja se treba sledea izvriti) smeta u magacinsku memoriju (stack); 2. U programski broja upisuje start adresu programske memorije u kojoj prekidni program (program koji obrauje prekid) Izvrenjem poslednje instrukcije u prekidnom programu povratak iz prekidnog programa (Return_Interrupt) upravljaka jedinica:

Vreme t

1. ita magacinsku memoriju (stek) u kojoj je adresa lokacije programske memorije gde se nastavlja izvravanje glavnog programa i upisuje u programski broja;

TIPOVI MIKROKONTROLERA
8 bit 16 bit 32 bit (sa memorijskim prostorom veliine od Kilo do nekoliko Mega lokacija i brojnim periferijama) Digital Signal Processors (DSP) za digitalnu obradu signala (Math coP)

STRUKTURA MIKROKONTROLERA

CPU

STRUKTURA MIKROKONTROLERA
A computer on a chip Microcontrollers can have: CPU (central processing unit) RAM (Random Access Memory) EPROM/PROM/ROM (Erasable Programmable Read Only Memory) I/O (input/output) - serial and parallel Timers Pulse Width Modulation A/D and D/A conversion

MEMORIJSKI PROSTOR MIKROKONTROLERA


PROGRAMSKA MEMORIJA - sadri nizove instrukcija koji ine program-e, pp-e MEMORIJA PODATAKA - sadri vrednosti promenljivih koje se obrauju u prog-u MAGACINSKA MEMORIJA (STACK) - za smetanje stanja PC, PSW, i td. pri prelazu na izvravanje prekidnog programa i potprograma i itanje istih po njihovom izvrenju. (kod PIC-a je posebno hardverski realizovana)

REALIZACIJA PROGRAMSKE MEMORIJE MIKROKONTROLERA


PROGRAM MORA BITI SAUVAN I PO NESTANKU NAPAJANJA !
(Mikrokontroleri po pravilu nemaju spoljanju memoriju - HD, CDD, ...)

Za realizaciju programske memorije koristi se: PROM (Programmable Read Only Memory) - Programirljiva memorija sa konstantnim sadrajem; Memorija koja se od strane P-a samo ita. EPROM (Erasable Programmable ROM) - Programirljiva memorija sa konstantnim sadrajem koji se moe izbrisati UV EPROM (Ultra Violet EPROM) EEPROM (Electrical EPROM) OTP (One Time Programmable) - memorije koje se samo jednom programiraju FLASH - memorije kod kojih se elektr. impulsom odjednom briu sve lokacije

REALIZACIJA MEMORIJE PODATAKA MIKROKONTROLERA


Za smetanje podataka u C-u moe se koristiti: Skup registara opte namene SRAM (Static Random Access Memory) Memorija sa proizvoljnim pristupom radi itanja i upisa Za postojano zapisivanje podataka NV RAM (Non-volatile RAM) EEPROM

10

PIC 16C84 - memory


PROGRAM MEMORY (8K*13-bit word) MAP AND STACK REGISTER MAP (SFR + GPR)

PIC mikrokontroleri
Familije:
PIC 12C5x PIC 16C5x PIC 16Cxxx PIC 17Cxxx PIC 18Cxxx 12 bit program word 12 bit program word 14 bit program word 16 bit program word 16 bit program word

Familije koje umesto slova C imaju slovo F imaju programsku memoriju tipa FLACH

11

12

Hardware
PICSTART Plus or equivalent programmer Project ideas
Program a bootloader into the software and then load code over the serial port Build a PIC programmer (you can easily do it with another PIC and some simple circuitry)

13

Integrated Development Environment A Standard Windows Menus and Toolbars provide optimum access to all IDE features including the editor, debugger, customizable tool menu and online help. B Project Window offers clear visibility and easy management of all files associated with design project. C Edit Source Debugger Window helps create programs using the languagesensitive, full-featured editor. Debug assembly or C language program with the source in full view. Useful debug features, such as breakpoint markers and program counter location, dramatically speed debugging. D Output Window conveniently displays the assembler output and listing file. E, F Register Window and Memory Window help in examining and directly modifying memory, register and Flash contents during debugging. These flexible windows are automatically updated each time program execution stops, and values that changed are highlighted.

14

15

16

17

A/D i D/A konverzija


analog-to-digital converter digital-toanalog converter

ADC

DAC

Karakteristike konvertora: Rezolucija (broj bitova) Opseg pune skale Greke konverzije Napajanje Vreme konverzije

18

Operacije pri A/D i D/A konverziji


A/D Ui
analog UZORKOVANJE KVANTOVANJE KODOVANJE
Veliina napona u digitalnom obliku

D/A
DEKODOVANJE REGENERISANJE

Uo
analog

OBRADA U DIGITALNOM DOMENU

19

Uzorkovanje ( Semplovanje )

UZORKOVANJE
( Ideal Sampling )

NYQUISTS THEOREM: fs > 2f1

20

KVANTOVANJE
Uamax ~ ~
V 1 LSB = V 11111

For an n - bit converter

V=Ups/(2n-1) Uamin
00010 00001 00000

N=10; Ups=5V V 5mV

The Ideal Transfer Function (DAC)

21

GREKE A/D I D/A KONVERZIJE


Greka kvantovanja Greke nelinearnosti (greka ofseta i greka pojaanja) Greke dinamike nelinearnosti Greke usled temperaturne nestabilnosti Greke usled nestabilnosti napona napajanja Greke usled starenja Greke usled umova

22

23

24

Instructions
Processors work with instructions
Move, Add, Jump, etc.

Programs are just a series of instructions that the processor steps through

PIC 16C84 Speciale functies


EEPROM programmeerbaar in normale werking In-circuit serial programming Watchdog timer Power-up timer Code protection SLEEP mode voor low-current operation Clock met crystal of goedkoop RC circuit

25

PIC 16C84 programmatie


Definities
f : register file address, gaat van 0x00 tot 0x7f b : bit address within an 8-bit file register W: Working register (Accumulator) d : destination
Als d=0 : result in W Als d=1 : result in file register (default)

k : constant or label

PIC 16C84 instruction set


Algemeen

Bit-oriented

26

PIC 16C84 instruction set


Literal and Control

Voorbeeld: wis geheugen van 0x20 tot 0x2F


LOOP movlw movwf clrf incf btfss goto : : 0x20 FSR INDF FSR FSR,7 LOOP ; ; ; ; ; ; initialize W register B0010 0000 put in FSR register clear indirect with FSR increment FSR register bit 7 test, skip if set if NO, goto LOOP

CONTINUE ; if YES, continue

PIC 16C84 Vb. instructies


MOVF
reg7 equ 07h W equ 0 movf reg7,W

27

PIC 16C84 Vb. instructies


MOVWF

PIC 16C84 Vb. instructies


MOVLW

28

29

You might also like