SlideShare a Scribd company logo
1 of 21
Download to read offline
MIKROKONTROLERI
Uvod u elektroniku
13E041UE
Cilj predavanja
Upoznavanje sa arhitekturom i primenom mikrokontrolera.
Upoznavanje sa postupkom izrade mikrokontrolerskog programa i
postupkom programiranja mikrokontrolera.
Mikroprocesor
RAM memorija
Napajanje CD ROM
Sistemska ploča
Hard disk
Grafička kartica
Fen
Povezivanje
Miš
Tastatura
Internet
Zvučnici
Mikrofon
Printer
Skener
Šta je mikroprocesor?
2
Mikroprocesor zauzima
centralno mesto u
računaru, ali za
obavljanje predviđenih
funkcija računar pored
mikroprocesora mora da
sadrži i niz drugih
jedinica: sistemsku RAM
memoriju, hard disk, CD
ROM, video i audio
adaptere i druge kartice,
interfejse za povezivanje
miša, tastature i drugih
perifernih uređaja,
oscilator, sat i niz drugih
komponenti i pomoćnih
kola.
MIKROPROCESOR je centralna procesorska jedinica (CPU – central processing unit )
računara. Proizvodi se u vidu jednog integrisanog kola (čipa).
Mikrokontroler
MSP430
3
Šta je mikrokontroler?
MIKROKONTROLER je “mali
računar” smešten u jednom
čipu. Mikrokontroler sadrži
mikroprocesor, ali pored
mikroprocesora mikrokontroler
sadrži i RAM memoriju,
programabilnu memoriju,
analogno-digitalni konvertor,
digitalne ulaze i izlaze, interfejse,
oscilator i druga kola.
Za razliku od mikroprocesora,
koji je projektovan za rad u
personalnom računaru,
mikrokontroler je projektovan za
ugradnju u različite uređaje i
sisteme gde ima definisanu
namenu pa se ovakvi “mali
računari” nazivaju i namenski
(embedded) računari.
Izgled pločice sa mikrokontrolerom MSP430
koja se koristi za razvoj i testiranje
mikrokontrolerskog programa
4
Gde se sve primenjuju mikrokontroleri
5
Arhitektura mikrokontrolera*
Centralna
procesorska
jedinica
Programska
memorija
Memorija
podataka
Oscilator
Takt sistema
Analogni
ulazi
Magistrala
podataka
Adresna
magistrala
Digitalni
ulazi i izlazi
Tajmer
Udesni sat za detekciju
otkaza i vraćanje u
normalan rad
Digitalni
ulazi i izlazi
*) Na slici je data arhitektura mikrokontrolera MSP430 koji će biti korišćen na vežbama
6
Povezivanje mikrokontrolera
7
Izrada programa i programiranje mikrokontrolera
Pisanje mikrokontrolerskog programa –
najčešće na C programskom jeziku
Konverzija programa
(kompilacija) u binarni kôd
Program u binarnom (Bin.)
i heksadecimalnom (Hex.)
kodu
Programiranje
mikrokontrolera
Izvršavanje
programa
Programska
memorija
8
Put od programa do mikrokontrolerskog uređaja
Programator
Mikrokontroler ugrađen
u
robot
9
Pločica za razvoj i testiranje mikrokontrolerskog programa
Na vežbama će biti korišćen mikrokontroler MSP430 koji se nalazi na razvojnoj pločici LaunchPad
MSP430G2 (LaunchPad Development Board). Pored mikrokontrolera, na ovoj pločici se nalazi USB
priključak za povezivanje sa PC računarom, konektor za napajanje, dva tastera, 2 LED diode i priključci
za povezivanje na ulaze i izlaze mikrokontrolera
Mikrokontroler
MSP430
Konektor
za
eksterno
napajanje
Taster za reset
Kratkospajači za povezivanje
LED dioda na priključke
P1.0 i P1.6
Taster
Ulazno/izlazni
priključci
USB interfejs
Na našoj pločici se
nalazi mikrokontroler
sa 14 pinova (N14)
Digitalni priključci (pinovi) mikrokontrolera
MSP430*
10
*) Pored digitalnih ulaznih i izlaznih priključaka mikrokontroler sadrži i ulaze na
koje se dovode analogni signali. Ovakvi signali se konvertuju u digitalne pomoću
analogno-digitalnog konvertora koji se nalazi u samom mikrokontroleru.
Digitalni piključci se mogu programirati da bude izlazni ili ulazni
Na izlazni digitalni priključak programski se može dovesti visok (HIGH)
naponski nivo , koji odgovara logičkoj jedinici, ili nizak (LOW) naponski
nivo, koji odgovara logičkoj nuli.
Pomoću ulaznog digitalnog priključka detektuje se da li je na taj ulaz
doveden nizak ili visok naponski nivo. Nizak naponski nivo (oko 0 V) se
tumači kao logička nula. Visok naponski nivo (kod LaunchPad pločice oko
3 V ) se tumači kao logička jedinica.
Pristup digitalnim pinovima
11
Podešavanje digitalnog pina da bude ulazni ili izlazni
Promenljiva state ima vrednost koja je očitana sa pina aPin (HIGH ili LOW)
pinMode(aPin, Dir)
broj pina Ulazni: Dir=INPUT_PULLUP
Izlazni: Dir=OUTPUT
Upis logičke nule ili logičke jedinice na izlazni pin
digitalWrite(aPin, Val)
broj pina Upis logičke nule: Val = LOW
Upis logičke jedinice: Val = HIGH
Očitavanje logičkog stanja koje je prisutno na ulaznom pinu
state = digitalRead(aPin)
broj pina
12
Upis analogne vrednosti (impulsno širinski modulisanog signala) na digitalni
izlazni pin
Pristup digitalnim pinovima - nastavak
analogWrite(aPin, Value)
broj pina vrednost (od 0 do 255)
Komanda analogWrite( ) se može koristiti za postepeno paljenje i gašenje LED diode ili
za promenu brzine obrtanja kod DC motora.
Srednja vrednost napona na izlazu
Promenom trajanja impulsa τ može se menjati napon vSR od 0 do VCC pa samim tim i intenzitet svetla LED diode
Komandom analog Write(aPin, Value) na izabranom pinu aPin generiše se periodična
povorka impulsa konstantne amplitude i konstantne periode T. Trajanje impulsa τ zadaje
se izborom vrednosti Value.
Ako je Value=0 srednja vrednost napona na izlazu je 0 V. Ako je Value=255,
napon na izlazu ima maksimalnu vrednost koja odgovara amplitudi impulsa.
Programiranje mikrokontrolera
Program koji izvršava mikrokontroler se sastoji iz
dve celine:
setup - deo kojim se vrše inicijalna podešavanja
hardvera mikrokontrolera i definisanje promenljivih;
loop - deo u kojem je realizovana funkcija koju program
obavlja.
13
!
Za razliku od programa kod standardnih računara,
izvršavanje programa kod mikrokontrolera nikada se
ne završava.
14
Energia
okruženje za razvoj mikrokontrolerskih programa
Energia je program (integrisano
razvojno okruženje. eng. Integrated
Development Environment – IDE) za
razvoj i testiranje programa većeg
broja mikrokontrolera koje proizvodi
kompanija Texas Instruments (TI),
posebno onih koji se nude na
LaunchPad razvojnoj pločici.
Razvojno okruženje Energia
- jednostavano je za korišćenje,
- ne zahteva poznavanje detalja
hardvera,
- objedinjuje funkcije izrade i
testiranja programa i upisa
programa u mikrokontroler,
- besplatno je, široko korišćeno, sa
dosta raspoloživih primera.
15
Energia, nastavak
Postupak pozivanja primera mikrokontrolerskog
programa Button
Program Button pali LED diodu kada je pritisnut taster a gasi je
kada je taster neaktivan.
Primer program Blink
Program blink naizmenično pali i gasi LED diodu
16
Potrebno je realizovati
mikrokontrolerski program koji
obezbeđuje naizmenično paljenje
i gašenje LED diode tako da dioda
bude uključena 1 s i isključena 1 s.
Start
LED = OUTPUT
LED On
delay 1s
LED Off
delay 1s
setup
loop
Za čekanje na protok
određenog vremena koristi
se funkcija delay(ms) u
kojoj se vreme zadaje u ms.
Npr., sa delay(1000) zadaje
se čekanje od 1 s.
Dijagram toka programa
Primer 1
17
kompajliranje programa upis programa u mikrokontroler
Primer 1 - nastavak
Izrada i kompajliranje programa i programiranje mikrokontrolera
18
Potrebno je realizovati mikrokontrolerski program koji upravlja radom LED diode tako da
ona svetli dok je taster (BTN) pritisnut a ugašena je ako taster nije aktiviran.
Primer 2
Start
LED = OUTPUT
BTN = INPUT
LED On
LED Off
setup
loop
BTN = LOW
yes
no
Dijagram toka programa Kod mikrokontrolerskog programa
19
Primer 3
Zadatak
Potrebno je naizmenično
postepeno paliti i gasiti LED
diodu. Obezbediti podešavanje
brzine promene intenziteta
svetlosti i podešavanje veličine
koraka sa kojim se menja
intenzitet svetlosti. U zadatku
koristiti LED diodu koja je
povezana na pin 14 LaunchPad
pločice
Start
LED = OUTPUT
jacina = 0
korak = 5
korak=-korak
setup
loop
jacina=0
ili
jacina=255
da
jacina=jacina+korak
cekanje 30 ms
ne
Zadati jačinu svetla
komandom
analogWrite(14, jacina)
Dijagram toka programa
20
Primer 3 - nastavak
Kod mikrokontrolerskog programa
Pitanja za proveru znanja
1. Šta je mikrokontroler i koje elemente sadrži mikrokontroler?
2. Po čemu se mikrokontroleri razlikuju od mikroprocesora?
3. Gde se primenjuju mikrokontroleri?
4. Pomoću blok šeme predstaviti arhitekturu mikrokontrolera i označiti
njegove osnovne elemente.
5. Opisom ili pomoću dijagrama toka operacija predstaviti put od izrade
mikrokontrolerskog programa do mikrokontrolerskog uređaja.
6. Opisati šta se radi u setup a šta u loop delu programskog koda.
7. Navesti čemu služi funkcija pinMode(aPin, Dir) koja se koristi prilikom
razvoja mikrokontrolerskog programa u Energia razvojnom okruženju. Dati
jedan primer upotrebe funkcije pinMode(aPin, Dir).
8. Pomoću dijagrama toka predstaviti mikrokontrolerski program koji uključuje
i isključuje LED diodu tako da ona “trepće” sa učestanošću od 1 Hz.
9. Pomoću dijagrama toka predstaviti mikrokontrolerski program koji upravlja
radom LED diode tako da ona svetli dok je taster pritisnut a ugašena je
kada taster nije aktiviran.
21

More Related Content

What's hot

Fizika- Interferencija svetlosti- Marko Bosić- Vladimir Milićević
Fizika- Interferencija svetlosti- Marko Bosić- Vladimir MilićevićFizika- Interferencija svetlosti- Marko Bosić- Vladimir Milićević
Fizika- Interferencija svetlosti- Marko Bosić- Vladimir Milićevićnasaskolatakmicenja
 
Delovi hard diska - Marko Orlandić - Nebojša Lazarević
Delovi hard diska - Marko Orlandić - Nebojša LazarevićDelovi hard diska - Marko Orlandić - Nebojša Lazarević
Delovi hard diska - Marko Orlandić - Nebojša LazarevićNašaŠkola.Net
 
Politicko- geografska karta Evrope posle drugog svetskog rata
Politicko- geografska karta Evrope posle drugog svetskog rataPoliticko- geografska karta Evrope posle drugog svetskog rata
Politicko- geografska karta Evrope posle drugog svetskog rataprijicsolar
 
Oпасности и заштита од струјног удара
Oпасности и заштита од струјног удараOпасности и заштита од струјног удара
Oпасности и заштита од струјног удараAnđela Bulatović
 
текстуални задаци са множењем и дељењем
текстуални задаци са множењем и  дељењемтекстуални задаци са множењем и  дељењем
текстуални задаци са множењем и дељењемMilica Vasiljevic
 
Zdruzivanje cinilaca, mnozenje zbira i razlike
Zdruzivanje cinilaca, mnozenje zbira i razlikeZdruzivanje cinilaca, mnozenje zbira i razlike
Zdruzivanje cinilaca, mnozenje zbira i razlikeMilica Vasiljevic
 
Uopsteni omov zakon - zadaci
Uopsteni omov zakon - zadaciUopsteni omov zakon - zadaci
Uopsteni omov zakon - zadaciSiniša Ćulafić
 
множење и дељење са 5 и 10
множење и дељење са 5 и 10множење и дељење са 5 и 10
множење и дељење са 5 и 10Milica Vasiljevic
 
Pamćenje i zaboravljanje
Pamćenje i zaboravljanjePamćenje i zaboravljanje
Pamćenje i zaboravljanjeProfpsiholog
 
Pojam naselja i nastanak prvih naselja
Pojam naselja i nastanak prvih naseljaPojam naselja i nastanak prvih naselja
Pojam naselja i nastanak prvih naseljaprijicsolar
 

What's hot (20)

Množenje i deljenje
Množenje i deljenjeMnoženje i deljenje
Množenje i deljenje
 
Pisanje recce li i ne
Pisanje recce li i nePisanje recce li i ne
Pisanje recce li i ne
 
Fizika- Interferencija svetlosti- Marko Bosić- Vladimir Milićević
Fizika- Interferencija svetlosti- Marko Bosić- Vladimir MilićevićFizika- Interferencija svetlosti- Marko Bosić- Vladimir Milićević
Fizika- Interferencija svetlosti- Marko Bosić- Vladimir Milićević
 
Srbija prezentacija
Srbija prezentacijaSrbija prezentacija
Srbija prezentacija
 
Delovi hard diska - Marko Orlandić - Nebojša Lazarević
Delovi hard diska - Marko Orlandić - Nebojša LazarevićDelovi hard diska - Marko Orlandić - Nebojša Lazarević
Delovi hard diska - Marko Orlandić - Nebojša Lazarević
 
BAKAR 3
BAKAR 3BAKAR 3
BAKAR 3
 
Simboli Republike Srbije
Simboli Republike SrbijeSimboli Republike Srbije
Simboli Republike Srbije
 
културна добра
културна добракултурна добра
културна добра
 
Politicko- geografska karta Evrope posle drugog svetskog rata
Politicko- geografska karta Evrope posle drugog svetskog rataPoliticko- geografska karta Evrope posle drugog svetskog rata
Politicko- geografska karta Evrope posle drugog svetskog rata
 
Oпасности и заштита од струјног удара
Oпасности и заштита од струјног удараOпасности и заштита од струјног удара
Oпасности и заштита од струјног удара
 
текстуални задаци са множењем и дељењем
текстуални задаци са множењем и  дељењемтекстуални задаци са множењем и  дељењем
текстуални задаци са множењем и дељењем
 
Indija lj đ
Indija lj đIndija lj đ
Indija lj đ
 
Predlog kontrolnih l ogos
Predlog kontrolnih l ogosPredlog kontrolnih l ogos
Predlog kontrolnih l ogos
 
Zdruzivanje cinilaca, mnozenje zbira i razlike
Zdruzivanje cinilaca, mnozenje zbira i razlikeZdruzivanje cinilaca, mnozenje zbira i razlike
Zdruzivanje cinilaca, mnozenje zbira i razlike
 
Uopsteni omov zakon - zadaci
Uopsteni omov zakon - zadaciUopsteni omov zakon - zadaci
Uopsteni omov zakon - zadaci
 
множење и дељење са 5 и 10
множење и дељење са 5 и 10множење и дељење са 5 и 10
множење и дељење са 5 и 10
 
Pamćenje i zaboravljanje
Pamćenje i zaboravljanjePamćenje i zaboravljanje
Pamćenje i zaboravljanje
 
Корени и цветови
Корени и цветовиКорени и цветови
Корени и цветови
 
Rod i broj prideva
Rod i broj pridevaRod i broj prideva
Rod i broj prideva
 
Pojam naselja i nastanak prvih naselja
Pojam naselja i nastanak prvih naseljaPojam naselja i nastanak prvih naselja
Pojam naselja i nastanak prvih naselja
 

Similar to Uvod u elektroniku - Mikrokontroleri

Design and development of microcontroller in car industry
Design and development of microcontroller in car industryDesign and development of microcontroller in car industry
Design and development of microcontroller in car industryJovan Vlajic
 
Upravljanje racunarom
Upravljanje racunaromUpravljanje racunarom
Upravljanje racunaromDrazen Sipka
 
Upravljanje pomocu racunara
Upravljanje pomocu racunaraUpravljanje pomocu racunara
Upravljanje pomocu racunaraAna Todorovic
 
RaunarskiSistemi
RaunarskiSistemiRaunarskiSistemi
RaunarskiSistemiVeljaMilan
 
Pitanja Maturski Fe
Pitanja Maturski FePitanja Maturski Fe
Pitanja Maturski Feguest199a1d0
 
8 upravljanje procesima i stvarima na daljinu upotrebom ikt
8 upravljanje procesima i stvarima na daljinu upotrebom ikt8 upravljanje procesima i stvarima na daljinu upotrebom ikt
8 upravljanje procesima i stvarima na daljinu upotrebom iktSiniša Ćulafić
 
Hardware- Dušan Anđelković- Aleksinac
Hardware- Dušan Anđelković- AleksinacHardware- Dušan Anđelković- Aleksinac
Hardware- Dušan Anđelković- Aleksinacnasaskolatakmicenja
 
2 unutrasnjost racunara
2 unutrasnjost racunara2 unutrasnjost racunara
2 unutrasnjost racunaraJelenaBg
 
Choda i djuce
Choda i djuceChoda i djuce
Choda i djucejatic
 
PWM control of LED-diodes on the MSP430x series development board
PWM control of  LED-diodes on the MSP430x series development boardPWM control of  LED-diodes on the MSP430x series development board
PWM control of LED-diodes on the MSP430x series development boardJovan Vlajic
 
Računarski sistemi
Računarski sistemiRačunarski sistemi
Računarski sistemiJovana98
 
Računarski sistemi
Računarski sistemiRačunarski sistemi
Računarski sistemibojanap
 
Komponente hardvera PC-a
Komponente hardvera PC-aKomponente hardvera PC-a
Komponente hardvera PC-aNikolaKrstic
 
Seminarski diplomski izlazni uredaji-racunara-482
Seminarski diplomski izlazni uredaji-racunara-482Seminarski diplomski izlazni uredaji-racunara-482
Seminarski diplomski izlazni uredaji-racunara-482borises
 
osnova racunarskog sistema
osnova racunarskog sistemaosnova racunarskog sistema
osnova racunarskog sistemaSlavka Čičak
 

Similar to Uvod u elektroniku - Mikrokontroleri (20)

Design and development of microcontroller in car industry
Design and development of microcontroller in car industryDesign and development of microcontroller in car industry
Design and development of microcontroller in car industry
 
Upravljanje racunarom
Upravljanje racunaromUpravljanje racunarom
Upravljanje racunarom
 
Upravljanje pomocu racunara
Upravljanje pomocu racunaraUpravljanje pomocu racunara
Upravljanje pomocu racunara
 
Rac seminar
Rac seminarRac seminar
Rac seminar
 
RaunarskiSistemi
RaunarskiSistemiRaunarskiSistemi
RaunarskiSistemi
 
Pitanja Maturski Fe
Pitanja Maturski FePitanja Maturski Fe
Pitanja Maturski Fe
 
OIR9-L2.pptx
OIR9-L2.pptxOIR9-L2.pptx
OIR9-L2.pptx
 
8 upravljanje procesima i stvarima na daljinu upotrebom ikt
8 upravljanje procesima i stvarima na daljinu upotrebom ikt8 upravljanje procesima i stvarima na daljinu upotrebom ikt
8 upravljanje procesima i stvarima na daljinu upotrebom ikt
 
Hardware- Dušan Anđelković- Aleksinac
Hardware- Dušan Anđelković- AleksinacHardware- Dušan Anđelković- Aleksinac
Hardware- Dušan Anđelković- Aleksinac
 
2 unutrasnjost racunara
2 unutrasnjost racunara2 unutrasnjost racunara
2 unutrasnjost racunara
 
123
123123
123
 
Choda i djuce
Choda i djuceChoda i djuce
Choda i djuce
 
Choda i djuce
Choda i djuceChoda i djuce
Choda i djuce
 
Choda i djuce
Choda i djuceChoda i djuce
Choda i djuce
 
PWM control of LED-diodes on the MSP430x series development board
PWM control of  LED-diodes on the MSP430x series development boardPWM control of  LED-diodes on the MSP430x series development board
PWM control of LED-diodes on the MSP430x series development board
 
Računarski sistemi
Računarski sistemiRačunarski sistemi
Računarski sistemi
 
Računarski sistemi
Računarski sistemiRačunarski sistemi
Računarski sistemi
 
Komponente hardvera PC-a
Komponente hardvera PC-aKomponente hardvera PC-a
Komponente hardvera PC-a
 
Seminarski diplomski izlazni uredaji-racunara-482
Seminarski diplomski izlazni uredaji-racunara-482Seminarski diplomski izlazni uredaji-racunara-482
Seminarski diplomski izlazni uredaji-racunara-482
 
osnova racunarskog sistema
osnova racunarskog sistemaosnova racunarskog sistema
osnova racunarskog sistema
 

More from Damjan Pavlica

Istorija kriptografije
Istorija kriptografijeIstorija kriptografije
Istorija kriptografijeDamjan Pavlica
 
Operatori u programiranju
Operatori u programiranjuOperatori u programiranju
Operatori u programiranjuDamjan Pavlica
 
Uvod u funkcionalno programiranje
Uvod u funkcionalno programiranjeUvod u funkcionalno programiranje
Uvod u funkcionalno programiranjeDamjan Pavlica
 
Uvod u objektno orijentisano programiranje i C++
Uvod u objektno orijentisano programiranje i C++Uvod u objektno orijentisano programiranje i C++
Uvod u objektno orijentisano programiranje i C++Damjan Pavlica
 
Projektovanje web aplikacija
Projektovanje web aplikacijaProjektovanje web aplikacija
Projektovanje web aplikacijaDamjan Pavlica
 
Uvod u softversko inženjerstvo
Uvod u softversko inženjerstvoUvod u softversko inženjerstvo
Uvod u softversko inženjerstvoDamjan Pavlica
 

More from Damjan Pavlica (11)

Istorija kriptografije
Istorija kriptografijeIstorija kriptografije
Istorija kriptografije
 
Uvod u logiku
Uvod u logikuUvod u logiku
Uvod u logiku
 
Programski jezici
Programski jeziciProgramski jezici
Programski jezici
 
Operatori u programiranju
Operatori u programiranjuOperatori u programiranju
Operatori u programiranju
 
Uvod u funkcionalno programiranje
Uvod u funkcionalno programiranjeUvod u funkcionalno programiranje
Uvod u funkcionalno programiranje
 
Starenje softvera
Starenje softveraStarenje softvera
Starenje softvera
 
Refaktorisanje
RefaktorisanjeRefaktorisanje
Refaktorisanje
 
Uvod u objektno orijentisano programiranje i C++
Uvod u objektno orijentisano programiranje i C++Uvod u objektno orijentisano programiranje i C++
Uvod u objektno orijentisano programiranje i C++
 
Projektovanje web aplikacija
Projektovanje web aplikacijaProjektovanje web aplikacija
Projektovanje web aplikacija
 
Uvod u softversko inženjerstvo
Uvod u softversko inženjerstvoUvod u softversko inženjerstvo
Uvod u softversko inženjerstvo
 
Šta je Bootstrap?
Šta je Bootstrap?Šta je Bootstrap?
Šta je Bootstrap?
 

Uvod u elektroniku - Mikrokontroleri

  • 1. MIKROKONTROLERI Uvod u elektroniku 13E041UE Cilj predavanja Upoznavanje sa arhitekturom i primenom mikrokontrolera. Upoznavanje sa postupkom izrade mikrokontrolerskog programa i postupkom programiranja mikrokontrolera.
  • 2. Mikroprocesor RAM memorija Napajanje CD ROM Sistemska ploča Hard disk Grafička kartica Fen Povezivanje Miš Tastatura Internet Zvučnici Mikrofon Printer Skener Šta je mikroprocesor? 2 Mikroprocesor zauzima centralno mesto u računaru, ali za obavljanje predviđenih funkcija računar pored mikroprocesora mora da sadrži i niz drugih jedinica: sistemsku RAM memoriju, hard disk, CD ROM, video i audio adaptere i druge kartice, interfejse za povezivanje miša, tastature i drugih perifernih uređaja, oscilator, sat i niz drugih komponenti i pomoćnih kola. MIKROPROCESOR je centralna procesorska jedinica (CPU – central processing unit ) računara. Proizvodi se u vidu jednog integrisanog kola (čipa).
  • 3. Mikrokontroler MSP430 3 Šta je mikrokontroler? MIKROKONTROLER je “mali računar” smešten u jednom čipu. Mikrokontroler sadrži mikroprocesor, ali pored mikroprocesora mikrokontroler sadrži i RAM memoriju, programabilnu memoriju, analogno-digitalni konvertor, digitalne ulaze i izlaze, interfejse, oscilator i druga kola. Za razliku od mikroprocesora, koji je projektovan za rad u personalnom računaru, mikrokontroler je projektovan za ugradnju u različite uređaje i sisteme gde ima definisanu namenu pa se ovakvi “mali računari” nazivaju i namenski (embedded) računari. Izgled pločice sa mikrokontrolerom MSP430 koja se koristi za razvoj i testiranje mikrokontrolerskog programa
  • 4. 4 Gde se sve primenjuju mikrokontroleri
  • 5. 5 Arhitektura mikrokontrolera* Centralna procesorska jedinica Programska memorija Memorija podataka Oscilator Takt sistema Analogni ulazi Magistrala podataka Adresna magistrala Digitalni ulazi i izlazi Tajmer Udesni sat za detekciju otkaza i vraćanje u normalan rad Digitalni ulazi i izlazi *) Na slici je data arhitektura mikrokontrolera MSP430 koji će biti korišćen na vežbama
  • 7. 7 Izrada programa i programiranje mikrokontrolera Pisanje mikrokontrolerskog programa – najčešće na C programskom jeziku Konverzija programa (kompilacija) u binarni kôd Program u binarnom (Bin.) i heksadecimalnom (Hex.) kodu Programiranje mikrokontrolera Izvršavanje programa Programska memorija
  • 8. 8 Put od programa do mikrokontrolerskog uređaja Programator Mikrokontroler ugrađen u robot
  • 9. 9 Pločica za razvoj i testiranje mikrokontrolerskog programa Na vežbama će biti korišćen mikrokontroler MSP430 koji se nalazi na razvojnoj pločici LaunchPad MSP430G2 (LaunchPad Development Board). Pored mikrokontrolera, na ovoj pločici se nalazi USB priključak za povezivanje sa PC računarom, konektor za napajanje, dva tastera, 2 LED diode i priključci za povezivanje na ulaze i izlaze mikrokontrolera Mikrokontroler MSP430 Konektor za eksterno napajanje Taster za reset Kratkospajači za povezivanje LED dioda na priključke P1.0 i P1.6 Taster Ulazno/izlazni priključci USB interfejs Na našoj pločici se nalazi mikrokontroler sa 14 pinova (N14)
  • 10. Digitalni priključci (pinovi) mikrokontrolera MSP430* 10 *) Pored digitalnih ulaznih i izlaznih priključaka mikrokontroler sadrži i ulaze na koje se dovode analogni signali. Ovakvi signali se konvertuju u digitalne pomoću analogno-digitalnog konvertora koji se nalazi u samom mikrokontroleru. Digitalni piključci se mogu programirati da bude izlazni ili ulazni Na izlazni digitalni priključak programski se može dovesti visok (HIGH) naponski nivo , koji odgovara logičkoj jedinici, ili nizak (LOW) naponski nivo, koji odgovara logičkoj nuli. Pomoću ulaznog digitalnog priključka detektuje se da li je na taj ulaz doveden nizak ili visok naponski nivo. Nizak naponski nivo (oko 0 V) se tumači kao logička nula. Visok naponski nivo (kod LaunchPad pločice oko 3 V ) se tumači kao logička jedinica.
  • 11. Pristup digitalnim pinovima 11 Podešavanje digitalnog pina da bude ulazni ili izlazni Promenljiva state ima vrednost koja je očitana sa pina aPin (HIGH ili LOW) pinMode(aPin, Dir) broj pina Ulazni: Dir=INPUT_PULLUP Izlazni: Dir=OUTPUT Upis logičke nule ili logičke jedinice na izlazni pin digitalWrite(aPin, Val) broj pina Upis logičke nule: Val = LOW Upis logičke jedinice: Val = HIGH Očitavanje logičkog stanja koje je prisutno na ulaznom pinu state = digitalRead(aPin) broj pina
  • 12. 12 Upis analogne vrednosti (impulsno širinski modulisanog signala) na digitalni izlazni pin Pristup digitalnim pinovima - nastavak analogWrite(aPin, Value) broj pina vrednost (od 0 do 255) Komanda analogWrite( ) se može koristiti za postepeno paljenje i gašenje LED diode ili za promenu brzine obrtanja kod DC motora. Srednja vrednost napona na izlazu Promenom trajanja impulsa τ može se menjati napon vSR od 0 do VCC pa samim tim i intenzitet svetla LED diode Komandom analog Write(aPin, Value) na izabranom pinu aPin generiše se periodična povorka impulsa konstantne amplitude i konstantne periode T. Trajanje impulsa τ zadaje se izborom vrednosti Value. Ako je Value=0 srednja vrednost napona na izlazu je 0 V. Ako je Value=255, napon na izlazu ima maksimalnu vrednost koja odgovara amplitudi impulsa.
  • 13. Programiranje mikrokontrolera Program koji izvršava mikrokontroler se sastoji iz dve celine: setup - deo kojim se vrše inicijalna podešavanja hardvera mikrokontrolera i definisanje promenljivih; loop - deo u kojem je realizovana funkcija koju program obavlja. 13 ! Za razliku od programa kod standardnih računara, izvršavanje programa kod mikrokontrolera nikada se ne završava.
  • 14. 14 Energia okruženje za razvoj mikrokontrolerskih programa Energia je program (integrisano razvojno okruženje. eng. Integrated Development Environment – IDE) za razvoj i testiranje programa većeg broja mikrokontrolera koje proizvodi kompanija Texas Instruments (TI), posebno onih koji se nude na LaunchPad razvojnoj pločici. Razvojno okruženje Energia - jednostavano je za korišćenje, - ne zahteva poznavanje detalja hardvera, - objedinjuje funkcije izrade i testiranja programa i upisa programa u mikrokontroler, - besplatno je, široko korišćeno, sa dosta raspoloživih primera.
  • 15. 15 Energia, nastavak Postupak pozivanja primera mikrokontrolerskog programa Button Program Button pali LED diodu kada je pritisnut taster a gasi je kada je taster neaktivan. Primer program Blink Program blink naizmenično pali i gasi LED diodu
  • 16. 16 Potrebno je realizovati mikrokontrolerski program koji obezbeđuje naizmenično paljenje i gašenje LED diode tako da dioda bude uključena 1 s i isključena 1 s. Start LED = OUTPUT LED On delay 1s LED Off delay 1s setup loop Za čekanje na protok određenog vremena koristi se funkcija delay(ms) u kojoj se vreme zadaje u ms. Npr., sa delay(1000) zadaje se čekanje od 1 s. Dijagram toka programa Primer 1
  • 17. 17 kompajliranje programa upis programa u mikrokontroler Primer 1 - nastavak Izrada i kompajliranje programa i programiranje mikrokontrolera
  • 18. 18 Potrebno je realizovati mikrokontrolerski program koji upravlja radom LED diode tako da ona svetli dok je taster (BTN) pritisnut a ugašena je ako taster nije aktiviran. Primer 2 Start LED = OUTPUT BTN = INPUT LED On LED Off setup loop BTN = LOW yes no Dijagram toka programa Kod mikrokontrolerskog programa
  • 19. 19 Primer 3 Zadatak Potrebno je naizmenično postepeno paliti i gasiti LED diodu. Obezbediti podešavanje brzine promene intenziteta svetlosti i podešavanje veličine koraka sa kojim se menja intenzitet svetlosti. U zadatku koristiti LED diodu koja je povezana na pin 14 LaunchPad pločice Start LED = OUTPUT jacina = 0 korak = 5 korak=-korak setup loop jacina=0 ili jacina=255 da jacina=jacina+korak cekanje 30 ms ne Zadati jačinu svetla komandom analogWrite(14, jacina) Dijagram toka programa
  • 20. 20 Primer 3 - nastavak Kod mikrokontrolerskog programa
  • 21. Pitanja za proveru znanja 1. Šta je mikrokontroler i koje elemente sadrži mikrokontroler? 2. Po čemu se mikrokontroleri razlikuju od mikroprocesora? 3. Gde se primenjuju mikrokontroleri? 4. Pomoću blok šeme predstaviti arhitekturu mikrokontrolera i označiti njegove osnovne elemente. 5. Opisom ili pomoću dijagrama toka operacija predstaviti put od izrade mikrokontrolerskog programa do mikrokontrolerskog uređaja. 6. Opisati šta se radi u setup a šta u loop delu programskog koda. 7. Navesti čemu služi funkcija pinMode(aPin, Dir) koja se koristi prilikom razvoja mikrokontrolerskog programa u Energia razvojnom okruženju. Dati jedan primer upotrebe funkcije pinMode(aPin, Dir). 8. Pomoću dijagrama toka predstaviti mikrokontrolerski program koji uključuje i isključuje LED diodu tako da ona “trepće” sa učestanošću od 1 Hz. 9. Pomoću dijagrama toka predstaviti mikrokontrolerski program koji upravlja radom LED diode tako da ona svetli dok je taster pritisnut a ugašena je kada taster nije aktiviran. 21