Professional Documents
Culture Documents
MIKROUPRAVLJAČI
ULAZNO – IZLAZNI PORTOVI
Zoran Dumančić, mag.ing.el.
ULAZNO IZLAZNI PORTOVI
1. Da bi mikroupravljač (koji je računalo na čipu), mogao
komunicirati s fizičkim svijetom, mora imati izvode
(nožice ili pinove) koji će primati ulazne signale ili na koje
će mikroupravljač slati izlazne signale.
2. Ulazno/izlazni pinovi obično su grupirani po 8 nožica, a
takvu grupu pinova zovemo „port” ili „pristup„ (L. Budin).
3. Mikroupravljač ATmega 328p ima 3 porta
a) Port B (8 pinova – PB0, PB1,… PB7)
b) Port C (7 pinova – PC0, PC1,…PC6)
c) Port D (8 pinova – PD0, PD1,… PD7)
4. Tvrtka ATMEL označava portove slovima: Port B, Port C,…
a pojedinačne pinove označava u skladu s oznakom porta
i rednim brojem pina: PB0, PB1,… PB7, PC0, PC1, …
Tehnička škola Ruđera Boškovića – Mikroupravljači – Z. Dumančić MU‐110‐2
1
15.9.2021.
MIKROUPRAVLJAČ vs RAČUNALO OPĆE NAMJENE
Izvor: What is a microcontroller and how microcontroller works
(https://www.youtube.com/watch?v=JwCTkm43CxQ)
Tehnička škola Ruđera Boškovića – Mikroupravljači – Z. Dumančić MU‐110‐3
U/I PORTOVI u ATmega 328p
1. Port B [0 – 7]
2. Port C [0 – 6]
3. Port D [0 – 7]
Tehnička škola Ruđera Boškovića – Mikroupravljači – Z. Dumančić MU‐110‐4
2
15.9.2021.
ULAZNO IZLAZNI PORTOVI
1. Radi smanjenja broja nožica i fizičkih dimenzija
mikroupravljača (čipa), pojedini pinovi mogu imati više
funkcija (tzv. alternativne ili multipleksirane funkcije).
2. Ako se pin koristi kao digitalni ulazno – izlazni pin, koristi
se naziv: GPIO – General purpose Input Output pin.
PRIMJER: nožica 2 mikroupravljača može se koristiti kao GPIO pin PD0
(Arduino pin 0) ili kao pin za RX signal kod serijske komunikacije.
Tehnička škola Ruđera Boškovića – Mikroupravljači – Z. Dumančić MU‐110‐5
VRSTE SENZORA I AKTUATORA
Senzori i aktuatori (izvršni elementi) mogu biti:
1. Digitalni – spajaju se na digitalne ulaze i izlaze (tipkalo, relej)
2. Analogni
a) senzori se spajaju na analogne ulaze (A0‐A5, npr. analogna vrijednost s
potenciometra, naponskog djelila s NTC otpornikom ili izlaza pojačala,…)
b) aktuatori se spajaju na analogne izlaze (ukoliko ih mikroupravljač ima) ili
na pinove koji imaju mogućnost PWM modulacije kao zamjena za D/A
pretvarač (oznaka PWM ili ~ na Arudino UNO)
3. Pametni – obično uz senzor imaju integriran vlastiti
mikroupravljač koji komunicira preko postojećih protokola
(UART, I2C, SPI,…)
3
15.9.2021.
OZNAKE PINOVA ATmega328p i Arduino UNO i
alternativne (multipleksirane) funkcije
ATmega 328p
(koristi se u Arduino Uno)
U današnjem predavanju fokus je na GPIO pinovima i zanemarujemo
alternativne funkcije.
Tehnička škola Ruđera Boškovića – Mikroupravljači – Z. Dumančić MU‐110‐7
OZNAKE PINOVA ATmega328p i Arduino UNO i
alternativne (multipleksirane) funkcije
ATmega 328p
(koristi se u Arduino Uno)
Arduino (UNO) platforma je promijenila nazive pinova ATmega328p!!!
Pinovi 0 – 7 PD0 – PD7; pinovi 8 – 13 PB0 – PB5; A0 – A5 PC0 – PC5
Tehnička škola Ruđera Boškovića – Mikroupravljači – Z. Dumančić MU‐110‐8
4
15.9.2021.
Pojednostavljena shema jednog GPIO pina
Pojednostavljena shema jednog GPIO pina
pinMode(8, INPUT/OUTPUT)
pinMode(8, INPUT_PULLUP)
digitalWrite(8, LOW/HIGH )
digitalRead(8)
10
5
15.9.2021.
Registri vezani uz port B
DDRB (0x24)
DATA BUS
PORTB (0x25)
PORTB
DDRB
PINB
PINB (0x23)
11
PODEŠAVANJE PINA 11 ZA IZLAZ I STANJE „HIGH”
Arduino pinovi
DDRB (0x24)
PORTB (0x25)
PINB (0x23)
Binarna vrijednost
pinMode(11, OUTPUT);
DDRB = b 0000 1000;
ili DDRB = 8;
digitalWrite(11, HIGH);
PORTB = b 0000 1000;
Ili PORTB = 8;
Tehnička škola Ruđera Boškovića – Mikroupravljači – Z. Dumančić MU‐110‐12
12
6
15.9.2021.
PODEŠAVANJE PINA 10 ZA TIPKALO I OČITANJE
Arduino pinovi
DDRB (0x24)
PORTB (0x25)
PINB (0x23)
Binarna vrijednost
pinMode(10, INPUT_PULLUP);
DDRB = b 0000 0000; PORTB = b 0000 0100;
PinB2_value = digitalRead(10);
stanje pina 2 nalazi se u PINB registru u bitu B2;
int PinB2_value = PINB & b 0000 0100; [0, 4]
ili bool PinB2_value = (PINB & b 0000 0100)>>2;
Tehnička škola Ruđera Boškovića – Mikroupravljači – Z. Dumančić MU‐110‐13
13
Za rad s 3 ulazno/izlazna porta koristi se 9 registara
Arduino pinovi
DDRB (0x24)
PORTB (0x25)
PINB (0x23)
Arduino pinovi
DDRC (0x27)
PORTC (0x28)
PINC (0x26)
Arduino pinovi
DDRD (0x2A)
PORTD (0x2B)
PIND (0x29)
Tehnička škola Ruđera Boškovića – Mikroupravljači – Z. Dumančić MU‐110‐14
14
7
15.9.2021.
PODEŠAVANJE MIKROUPRAVLJAČA
Za rad s 3 ulazno/izlazna porta koristi se 9 registra
1. Port B
• PINB (0x23)
• DDRB (0x24)
• PORTB (0x25)
Kad govorimo općenito o
2. Port C registrima za podešavanje
• PINC (0x26) izlaznih portova, govorimo o:
• DDRC (0x27)
• PORTC (0x28)
1. DDRx registru
2. PORTx registru
3. Port D 3. PINx registru
• PIND (0x29)
• DDRD (0x2A)
• PORTD (0x2B)
15
PODEŠAVANJE MIKROUPRAVLJAČA
1. U praksi, različita postrojenja i uređaje podešavamo
pomoću prekidača, preklopki ili potenciometara.
2. U mikroupravljaču različite funkcije, svojstva
mikroupravljača i način rada također podešavamo
pomoću „prekidača” i „preklopki”.
3. „Prekidač” u slučaju mikroupravljača predstavlja pojedini
bit nekog registra koji je zadužen za neku funkciju, a
„preklopka” je niz bitova koji predstavljaju neku od
mogućih kombinacija.
4. Za tu svrhu, potrebno je u odgovarajuće registre, tzv.
Registre posebne namjene (SFR – special function
registers) upisati određene binarne vrijednosti.
Tehnička škola Ruđera Boškovića – Mikroupravljači – Z. Dumančić MU‐110‐16
16
8
15.9.2021.
PODEŠAVANJE MIKROUPRAVLJAČA
Za podešavanje mikroupravljača koristi se 64 registra (SFR). Svaki
registar ima svoju adresu u U/I prostoru (I/O space). Za rad s 3 U/I
porta ukupno postoji 9 registara.
17
Microchip (Atmel) tehnički list ATmega328p (Datasheet)
http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A‐PA‐
88A‐PA‐168A‐PA‐328‐P‐DS‐DS40002061A.pdf , (662 stranice)
18
9
15.9.2021.
Npr: Registar za podešavanje radnog takta ATmega328p
Adresa
registra
19
PODEŠAVANJE MIKROUPRAVLJAČA
Svih 9 registara koji su vezani uz rad s 3 ulazno izlazna porta nalaze se u U/I
prostoru (I/O space). Tu se nalaze ostali registri (ukupno 64) za podešavanje
mikroupravljača. To je dio Podatkovnog adresnog prostora (Data memory)
20
10
15.9.2021.
PONOVIMO: pojednostavljena shema jednog GPIO pina
21
Originalna shema jednog GPIO pina
22
11
15.9.2021.
Shema pina s alternativnim funkcijama
23
LITERATURA:
1. Microchip (Atmel) ATmega328p tehnički list,
http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A‐PA‐88A‐PA‐
168A‐PA‐328‐P‐DS‐DS40002061A.pdf , (pregledano 20. siječnja 2020.)
2. SparkFun Electronics, Level Up Your Arduino Code: Registers, Youtube:
https://www.youtube.com/watch?v=6q1yEb_ukw8 (pregledano 15. prosinca
2020.)
24
12