• Nie Znaleziono Wyników

 Wykad 1 - wstp, budowa mikrokontrolera, rejestry, porty I/O

N/A
N/A
Protected

Academic year: 2021

Share " Wykad 1 - wstp, budowa mikrokontrolera, rejestry, porty I/O"

Copied!
39
0
0

Pełen tekst

(1)

Podstawy

Techniki Mikroprocesorowej

Wykład 1

dr inż. Piotr Markowski

(2)

Konsultacje, materiały

(3)

Treść kursu

• Mikroprocesory i mikrokontrolery

• Programowanie mikrokontrolerów na

przykładzie 8-bitowego układu ATmega8535

(ATMEL)

(4)

Literatura

• R. Pełka „Mikrokontrolery – architektura,

programowanie, zastosowania”

• P. Górecki „Mikrokontrolery dla początkujących”

• J.M. Sibigtroth „Zrozumieć małe mikrokontrolery”

• J. Doliński „Mikrokontrolery AVR w praktyce”

• R. Baranowski „Mikrokontrolery AVR ATmega w

praktyce”

(5)

Plan wykładu

• Mikroprocesory i mikrokontrolery

• Architektura mikrokontrolera na przykładzie AVR

• Lista instrukcji AVR

• Urządzenia peryferyjne AVR

• Wybrane interfejsy komunikacyjne

• Wybrane układy zewnętrzne

(6)

Mikrokontroler (mikrosterownik) – definicja

MCU (MicroController Unit)

Scalony układ cyfrowy, który oprócz wbudowanej

jednostki centralnej CPU posiada zintegrowaną

pamięć oraz układy wspomagające.

Mikrokontroler stanowi całkowicie autonomiczny

system mikroprocesorowy, który do pracy nie

wymaga układów zewnętrznych.

(7)

Mikrokontroler - budowa

Pamięć: CPU

Central Processing Unit mikroprocesor

jednostka centralna serce MCU

mogą być różne CPU: architektury

magistrale (8,16-bit...) rodziny MCU

(8)

Mikrokontroler - budowa

Pamięć programu (dysk twardy MCU)

program Pamięć danych (RAM) rejestry + RAM np. 8 kB 32 kB np. 32 rej. uniwersalne 8-bitowe np. 64 rej. specjalne 8-bitowe np. 512 bajtów SRAM H A R V A R D

(9)

Mikrokontroler - budowa

Porty WE / WY do komunikacji z otoczeniem np. 32 nóżki podzielone na 4 porty (4 x 8)

(10)

Mikrokontroler - budowa

Magistra la d any ch Magistra la adre sow a Magistra la ste rując a Układy peryferyjne ADC czujniki komparator obsługa przerwań interfejsy komunikac. pamięć ROM liczniki RTC

(11)

Mikrokontroler - budowa

Układ taktujący K W A R C ZASILANIE RESET

(12)
(13)

Specyfikacja ATmega8535

• Mikrokontroler 8-bitowy

• Architektura RISC

– ~120 instrukcji – w większości wykonywane w 1 cykl zegarowy

– 32 rejestry uniwersalne, 8-o bitowe

- 64 rejestry specjalne

– do 16 MIPS przy 16 MHz

– wbudowany układ mnożący

RISC (Reduced Instruction Set Computer)

- architektura typu Harvard (oddzielone szyny danych i rozkazów)

- przetwarzanie potokowe

- zredukowana lista instrukcji

- instrukcje mogą operować na dowolnym rejestrze uniwersalnym

- ograniczenie komunikacji między pamięcią, a procesorem

(14)

Specyfikacja ATmega8535

• Pamięci:

– 8 KB Flash EEPROM (p. programu, nieulotna)

– 512 B SRAM (p. danych, ulotna)

– 512 B EEPROM (p. użytkownika, nieulotna)

– Programowalne zabezpieczenie kodu programu

(Lock Bits)

(15)

Specyfikacja ATmega8535

• Urządzenia peryferyjne

– Dwa 8-bitowe liczniki (Timer/Counters) (2^8-1 = 255)

– Jeden licznik 16-bitowy (2^16-1 = 65535)

– Programowalny Watchdog (licznik specjalny)

– generator sygnału PWM (Pulse Width Modulation)

– 10-bitowy konwerter analogowo-cyfrowy (ADC)

– Komparator analogowy

– Magistrala szeregowa Two-wire (I2C)

– Magistrala szeregowa USART

(16)

Specyfikacja ATmega8535

• Opcje specjalne

– Brown-out Detector

– Wewnętrzny oscylator RC

– Możliwość taktowania ze źródła zewnętrznego

– Przerwania wewnętrzne i zewnętrzne

– Sześć trybów uśpienia

• Napięcia zasilania:

– 2,7 – 5,5V dla ATmega8535L

– 4,5 – 5,5V dla ATmega8535

(17)

Budowa

MicroController Unit

(MCU)

(18)

Mikrokontroler

Komputer

Mikrokontroler

(19)

CPU – podstawowe zdolności

Operacje arytmetyczne

np. +, -, *, /, ^, …

Operacje logiczne

np. AND, OR, XOR

Operacje bitowe

np. 0

1

00  00

1

0

0011  1100

Operacje warunkowe

np. if(1)  w_prawo

if(0)  w_lewo

(20)

CPU – możliwości

BRAK

pamięć programu (np. EEPROM)

pamięć danych (np. RAM)

odliczanie

komunikacja

ADC

AC

(21)

MCU – budowa wewnętrzna

MCU

CPU Arithmetic Logic Unit (ALU) General Purpose Registers (Rx) Pamięć programu LDI R16 , 0xFF OUT DDRA , R16 LDI R17 , 0b10101010 OUT PORTA , R17 …. …. Pamięć RAM stos … DDRA PORTC SREG TCCR0 …

(22)
(23)

Rejestry specjalne

Podstawowe elementy

mikrokontrolera.

Każde urządzenie wewnętrzne

μC ma przypisane do siebie

specjalne rejestry sterujące

jego pracą.

(24)

Rejestry specjalne

Przykładowy rejestr specjalny:

1 1 0 ExaReg 1 0 0 - -on/off start/stop przerwanie on/off prescaler

SREG = Status Register

DDRA = Data Direction Register

(25)

Rejestry uniwersalne

1 0 0 1 1 0 0 1

rej. specjalny

Brak bezpośredniego dostępu do rej. specjalnych

Dostęp pośredni – przez dowolny rejestr uniwersalny

rej. uniwersalny

R0 – R31

dowolny

1 0 0 1 1 0 0 1

wartość

TCCR0

wybrany

(26)

Rejestry

Rejestry specjalne:

– do sterowania urządzeniami wewnętrznymi

- 64 szt. (str. 299)

- nazwy to skróty (SREG = Status Register)

Rejestry uniwersalne:

- do wykonywania operacji (arytmetycznych, logicznych itp.)

- 32 szt.

(27)
(28)

Programowanie

KOD MASZYNOWY

1110010001010100

0000111001010101

1101011001000111

1110101110010110

1110010001010110

0111001001010111

1101011001000101

0010101110010100

1000110011010101

0001011101010010

1011110001001001

(29)

Programowanie

KOD MASZYNOWY

1110010001010100

0000111001010101

1101011001000111

1110101110010110

000011 10010 10101 Kod operacji np.: ADD (dodaj 2 rejestry) Wskazuje miejsce przechowywania argumentu 1 Wskazuje miejsce przechowywania argumentu 2 1110 1011 1001 0110 Kod operacji np.: LDI (załaduj Wskazuje miejsce Docelowe Wartość

(30)

Programowanie

KOD MASZYNOWY

11100100010101

01110010010101

11010110010001

00101011100101

ASEMBLER

LDI R16, 100

LDI R17, 50

ADD R16, R17

OUT PORTA, R16

JĘZ. POZIOMU

ŚRED. / WYS.

PORTA:= R16+R17

(C, BASCOM)

LISTA

INSTRUKCJI µP

……….

……….

……….

asemblacja

kompilacja

(31)

Programowanie

PROGRAM

(PC)

µC

PAMIĘĆ

PROGRAMU

FLASH EEPROM

ELECTRICAL

ERASABLE

PROGRAMABLE

READ

ONLY

Kompilacja Asemblacja

(32)
(33)

Porty I/O

A: B: C: D:

DDRA DDRB DDRC DDRD

PORTA

PORTB PORTC PORTD

PINA PINB PINC PIND

DDR – Data Direction Register (‘1’=WY, ‘0’=WE)

PORT – gdy WY (wysyłanie ‘1’ lub ‘0’)

(34)

Jak zrobić, żeby:

1) wysłać z μC na zewnątrz sygnał 10101010 (port C)?

DDRC:

PORTC:

PINC:

2) sczytać sygnał podany z zewnątrz na port C?

DDRC:

PORTC:

PINC:

3) ustawić 6 najstarszych jako WY, reszta jako WE;

wysłać 000111 i sczytać PC0, PC1?

DDRC:

PORTC:

11111111

10101010

-00000000

-zajrzeć do środka

11111100

000111xx

(35)

Porty I/O

Port wejściowy (DDR ← 0)

minimalna wydajność prądowa

pobiera informacje

wymaga zabezpieczenia przed zakłóceniami

nóżka w trybie Hi-Z (tri-state) lub pull-up

Port wyjściowy (DDR ← 1)

(36)

PULL-UP

Antena – urządzenie zbiorcze zamieniające

fale elektromagnetyczne na sygnał elektryczny

(lub odwrotnie)

(37)

PULL-UP

DDR ← 0

PORT ← 1

MCU I/O logic Vcc pull-up resistor

C:

DDRC

PORTC

PINC

0 1 1 0 1 1 0 0 1 1 1 1 0 0 0 0

Wejścia są podciągnięte

do 1 logicznej

(38)

Lista instrukcji

AVR

(39)

Przykładowe zagadnienia sprawdzające

1. Mikrokontroler – definicja.

2. Mikrokontroler vs. Mikroprocesor – różnice. 3. Mikrokontroler – ogólna budowa wewnętrzna.

4. Rodzaje pamięci półprzewodnikowych (RAM, ROM, EEPROM, itp.), podstawowe cechy.

5. Podział pamięci w mikrokontrolerze: p. danych, p. programu.

6. Rejestry mikrokontrolera – podział, funkcje, cechy, sposoby dostępu, stos. 7. Funkcje wybranych rejestrów specjalnych:

PC, SP, SREG, DDRx, PORTx, PINx. 8. PULL-UP.

Cytaty

Powiązane dokumenty

W podanym przykładzie zrealizowanego projektu budowy tunelu pod kanałem La Manche należy określić parametry projektu, tzn.. wskazać jakie parametry projektu występują i jak

Zmiana wartości argumentu odbywa się później (po wyliczeniu całego wyrażenia)...

[r]

Z każdego problemu typu X istnieje wielomianowa redukcja do spełnialności formuł 3-CNF-SAT / 3-kolorowania?. Chcemy meta-twierdzenie

– otrzymuje punkty tylko w kategoriach: określenie problemu, sformułowanie stanowiska wobec rozwiązania przyjętego przez autora tekstu i poprawność rzeczowa, jeśli praca

While defining creativeness for bounded complexity classes, one encounters the following problem, as first noted by Wang [10] — depending on the index set chosen to present a

Je±li pewna pochodna funkcji zeruje si¦ na pewnym przedziale, to wszystkie jej pochodne wy»szych rz¦dów równie» s¡ stale równe zero na tym przedziale... St¡d wynika, »e R

Temat: Równania reakcji chemicznych – powtórzenie wiadomości.. Cel: Utrwalenie uzgadniania i interpretowania równań