mikroprocesory i mikrokontrolery

Transkrypt

mikroprocesory i mikrokontrolery
MIKROPROCESORY I MIKROKONTROLERY
TEMAT TEGO WYKŁADU OBEJMUJE OBSZAR GDZIE INFORMATYK SPOTYKA SIĘ Z PODSTAWOWYMI PROBLEMAMI BUDOWY
KOMPUTERÓW. POZNAMY ELEMENTY JEDNOSTKI CENTRALNEJ – CPU (CENTRAL PROCESSOR UNIT) ORAZ ELEMENTY
SKŁADAJĄCE SIĘ NA KOMPLETNY SYSTEM KOMPUTEROWY.
RAM
RAM
TYTUŁOWE ROZRÓŻNIENIE MIKROPROCESORA I MIKROKONTROLERA DOTYCZY WŁAŚNIE DWU RÓŻNYCH TYPÓW OBWODÓW
SCALONYCH: UKŁAD MIKROPROCESORA ZAWIERA PRAWIE WYŁĄCZNIE CPU (ZWYKLE O POTĘŻNEJ MOCY OBLICZENIOWEJ) GDY
MIKROKONTROLER TO JEDNOUKŁADOWY, W PEŁNI AUTONOMICZNY, KOMPLETNY SYSTEM KOMPUTEROWY WYPOSAŻONY W
PAMIĘCI DANYCH I PROGRAMÓW ORAZ ZNACZNĄ LICZBĘ UKŁADÓW WEJŚCIA/WYJŚCIA TAKICH JAK LICZNIKI/CZASOMIERZE,
PRZETWORNIKI ANALOGOWO-CYFROWE I CYFROWO-ANALOGOWE, INTERFEJSY KOMUNIKACYJNE OBSŁUGUJĄCE RÓŻNE
PROTOKOŁY TRANSMISJI DANYCH, KOMPARATORY NAPIĘĆ, STEROWNIKI WYŚWIETLACZY LCD, ORAZ WIELE PORTÓW (GRUP LINII
WE/WY).
MIKROPROCESOR –
„wielki inwalida"
Piotr MALECKI
MIKROKONTROLER - przykł. AVR
1/24
MIKROPROCESORY I MIKROKONTROLERY
CPU
– JEDNOSTKA CENTRALNA TO ZŁOŻONY UKŁAD ELEKTRONICZNY ZDOLNY
DO WYKONYWANIA INSTRUKCJI (KOMEND, ROZKAZÓW),
KTÓRYCH REPERTUAR POZNAMY W TRAKCIE WYKŁADU.
- INSTRUKCJA ZAWIERA KOD OPERACJI, PRZY POMOCY KTÓREJ CPU
PRZETWARZA DANE – ARGUMENTY INSTRUKCJI
- CIĄG INSTRUKCJI (PROGRAM) MAGAZYNOWANY JEST W PAMIĘCI
PROGRAMÓW, SKĄD JEST POBIERANY DO WYKONANIA
Z CZĘSTOTLIWOŚCIĄ ZEGARA TAKTUJĄCEGO PRACĘ CPU.
PRAKTYCZNE POZNANIE MIKROKONTROLERA OZNACZA UMIEJĘTNOŚĆ JEGO
PROGRAMOWANIA. W TYM CELU NALEŻY POZNAĆ REPERTUAR INSTRUKCJI, ZNACZENIE
REJESTRÓW ORAZ FUNKCJE UKŁADÓW WEJŚCIA/WYJŚCIA ZWANYCH TEŻ „WEWNĘTRZNYMI
UKŁADAMI PERYFERYJNYMI”
ZNACZĄCY ROZWÓJ MIKROKONTROLERÓW TRWA OD LAT 80-TYCH XX WIEKU.
ISTNIEJE SZEREG RODZAJÓW MIKROKONTROLERÓW.
SKONCENTRUJEMY SIĘ NA TRZECH TYPACH MIKROKONTROLERÓW:
„RODZINIE” ‘81, RODZINIE AVR ORAZ NA GRUPIE OBECNIE NAJLICZNIEJ PRODUKOWANYCH
MIKROKONTROLERÓW ARM.
Piotr MALECKI
2/24
MIKROPROCESORY I MIKROKONTROLERY
RÓŻNE CECHY BUDOWY TYCH GRUP OKREŚLA SIĘ ICH PRZYNALEŻNOŚCIĄ DO
PEWNYCH „ARCHITEKTUR”. RODZINA ‘51 NALEŻY DO ARCHITEKTURY „CISC”, RODZINY
AVR I ARM TO ARCHITEKTURA „RISC”
CISC a RISC
Complex Instruction Set Computer a Reduced Instruction Set Computer
DOSŁOWNE ROZWINIĘCIE TYCH AKRONIMÓW JEST DOSYĆ MYLĄCE, ALE RÓŻNICE TYCH
ARCHITEKTUR RZECZYWIŚCIE DOTYCZĄ INSTRUKCJI.
INTRUKCJE (ROZKAZY, KOMENDY, OPERACJE) MIKROKONTROLERÓW
WSZYSTKIE ROZKAZY ZAWIERAJĄ
KOD OPERACJI
ARGUMENTY (ADRESY ARGUMENTÓW I ADRES WYNIKU)
I, EWENTUALNIE, MODYFIKATORY KODU BĄDŹ ADRESÓW
ROZKAZY (PO PRZETWORZENIU PRZEZ ASEMBLER) ŁADOWANE SĄ DO PAMIĘCI
PROGRAMÓW
Przykłady :
ADD A, R4
; dodaj zawartość rejestru R4 do A („akumulator”) i wynik umieść w A
; rozkaz dla ’51
w2: sublt r1,r1,r0 ; odejmij r0 od r1, tylko jeśli warunek LT jest spełniony. Linia kodu została
; opatrzona wizytówką
Piotr MALECKI
3/24
MIKROPROCESORY I MIKROKONTROLERY
FUNDAMENTALNĄ RÓŻNICĄ ARCHITEKTUR CISC / RISC JEST ROLA
I FUNKCJONALNOŚĆ REJESTRÓW ROBOCZYCH CPU
W RODZINIE ‘51 SZCZEGÓLNĄ ROLĘ MA „AKUMULATOR”, JEDYNY REJESTR CPU
O „PEŁNEJ” FUNKCJONALNOŚCI.
WSZYSTKIE REJESTRY ROBOCZE CPU MIKROKONTROLERÓW RISC MAJĄ FUNKCJE CISC-owego
AKUMULATORA
MIKROKONTROLERY RISC OKREŚLA SIĘ JAKO „MASZYNY REJESTROWE” PONIEWAŻ POZWALAJĄ
WYKONYWAĆ WIĘKSZOŚĆ OPERACJI NA REJESTRACH OGRANICZAJĄC TRANSFERY DO / Z
PAMIĘCI DO MINIMUM
REJESTRY CPU
rodzina ’51
8 bit
A – akumulator
B – akumulator pomocniczy
R0 – R7 rejestry robocze (x 4)
PSW – rejestr wskaźników
PC – licznik rozkazów
SP – wskaźnik stosu
Piotr MALECKI
AVR
8 bit
R0 – R31
SREG
PC
SP
ARM
32 bit
R0 – R15
CPSR (SPSR)
PC = R15
SO = R13
4/24
MIKROPROCESORY I MIKROKONTROLERY
OPERACJE (rozkazy) PROCESORÓW CYFROWYCH
TWORZĄ GRUPY:
OPERACJE ARYTMETCZNO-LOGICZNE
OPERACJE TRANSFERU DANYCH
OPERACJE WARUNKOWE
OPERACJE STERUJĄCE
Code
ADD
ADC
SUBB
INC
DEC
MUL
DIV
DA
8051 FAMILY ARITHMETIC and LOGIC INSTRUCTIONS
Addressing
flags
cycles
A,Rr A,direct A,@Ri A.#data
C,N,V
1
A,Rr A,direct A,@Ri A,#data
C,N,V
1
A,Rr A,direct A,@Ri A,#data
C,H,V
1
A
Rr
direct
@Ri
DPTR
1
A
Rr
direct
@Ri
1
AB
C,V
4
AB
C,V
4
A
C
1
ANL
ORL
XRL
CLR
CPL
SWAP
A,Rr
A,Rr
A,Rr
A
A
A
A,direct
A,direct
A,direct
A,@Ri
A,@Ri
A,@Ri
A,#data
A,#data
A,#data
direct,A direct,#data
direct,A direct,#data
direct,A direct,#data
Where: r = 0 : 7, i = 0,1 #data = 0 : 255
W DALSZEJ CZĘŚCI KURSU POZNAMY SZCZEGÓŁY
INSTRUKCJI.
POWYŻSZE TABELE ILUSTRUJĄ ISTOTNE RÓŻNICE
TRYBÓW ADRESOWANIA CISC I RISC
Piotr MALECKI
1(2)
1(2)
1(2)
AVR ARITHMETIC and LOGIC INSTRUCTIONS
Code
ADD
ADC
ADIW
SUB
SUB
SBIW
SBC
SBC
AND
ANDI
OR
ORI
EOR
COM
NEG
SBR
CBR
INC
DEC
TST
CLR
SER
MUL
MULS
MULSU
FMUL
FMULS
FMULSU
arguments
Rd,Rs
Rd,Rs
RR,c63
Rd,Rs
Rh,c255
RR,c63
Rd,Rs
Rd,c255
Rd,Rs
Rh,c255
Rd,Rs
Rh,c255
Rd,Rs
Rd
Rd
Rh,c255
Rh,c255
Rd
Rd
Rd
Rd
Rh
Rd,Rs
Rh,Rh
Rh,Rh
Rhd,Rhs
Rhd,Rhs
Rhd,Rhs
affected flags
Z,C,N,V,H,S
Z,C,N,V,H,S
Z,C,N,V,S
Z,C,H,N,V,S
Z,C,N,V,S,H
Z,C,N,V,S
Z,C,N,V,S,H
Z,C,N,V,S,H
S,V,N,Z
S,V,N,Z
S,V,N,Z
S,V,N,Z
S,V,N,Z
S,V,N,Z,C
H,S,V,N,Z,C
S,V,N,Z
S,V,N,Z
S,V,N,Z
S,V,N,Z
S,V,N,Z
S,V,N,Z
Z,C
Z,C
Z,C
Z,C
Z,C
Z,C
cycles
1
1
2
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
Where: d,s = 0 : 30, h = 16 : 30, hd, hs = 16:23
c63 = 0 : 63, c255 = 0 : 255
5/24
MIKROPROCESORY I MIKROKONTROLERY
CISC a RISC c.d.
PRZYKŁADOWE PORÓWNANIE GRUP OPERACJI ARYTMETYCZNYCH PROCESORA ‘51 ORAZ AVR
ILUSTRUJE NAJBARDZIEJ ISTOTNE RÓŻNICE TYCH ARCHITEKTUR:
 ZNACZNIE WIĘCEJ REJESTRÓW RISC MOŻE BYĆ DOWOLNYMI ARGUMENTAMI OPERACJI
 WIĘKSZOŚĆ OPERACJI RISC WPŁYWA NA USTAWIENIA ZNACZNIKÓW („FLAG”)
 WIĘKSZOŚĆ OPERACJI ODNOSI SIĘ DO REJESTRÓW – PAMIĘĆ DANYCH TRAKTOWNA
JEST JAK URZĄDZENIE WEJŚCIA/WYJŚCIA
RÓŻNICE TE ZNACZNIE USPRAWNIAJĄ I UŁATWIAJĄ PROGRAMOWANIE; POZWALAJĄ SKRÓCIĆ
KOD PROGRAMU.
PRZYKŁAD DODAWANIA DWÓCH LICZB CAŁKOWITYCH 16-BITOWYCH DLA –BITOWYCH
PROCESORÓW: [R8,R7] = [R8,R7] + [R6,R5]
CISC
…
MOV
ADD
MOV
MOV
ADDC
MOV
…
Piotr MALECKI
A, R7
A, R5
R7, A
A, R8
A, R6
R7, A
RISC
…
ADD
ADDC
…
R7, R5
R8, R6
6/24
MIKROPROCESORY I MIKROKONTROLERY
JESZCZE JEDEN PODZIAŁ:
O PROCESORACH, KTÓRYCH PAMIĘCI PROGRAMÓW I PAMIĘCI DANYCH SĄ ODRĘBNYMI URZĄDZENIAMI
MÓWIMY, ŻE NALEŻĄ DO ARCHITEKTURY HARWARDZKIEJ.
JEŚLI PAMIĘĆ DANYCH I PAMIĘĆ PROGRAMÓW RÓŻNI SIĘ TYLKO PRZESTRZENIĄ ADRESOWĄ, TO
MÓWIMY O ARCHITEKTURZE VON NEUMANNA
RODZINY ‘51 I AVR NALEŻĄ DO ARCHITEKTURY HARWARDZKIEJ, WCZEŚNIEJSZE KONSTRUKCJE ARM ( NP.
MODELE CORTEX-M0, CORTEX-M1) BUDOWANE BYŁY W ARCHITEKTURZE VON NEUMANN’A.
Piotr MALECKI
7/24
MIKROPROCESORY I MIKROKONTROLERY
CECHY ARCHITEKTURY HARWARDZKIEJ:
ODRĘBNOŚĆ PAMIĘCI DANYCH I PAMIĘCI KODU OZNACZA, ŻE MAGISTRALE CPU –
PAMIĘĆ SĄ NIEZALEŻNE, MOGĄ MIEĆ RÓŻNE SZYBKOŚCI I SZEROKOŚCI.
W ARCHITEKTURZE ARM TRANSFERY DANYCH I INSTRUKCJI MOGĄ NAWET ODBYWAĆ
SIĘ JEDNOCZEŚNIE.
RODZINA ‘51 JEST PRZYKŁADEM „RYGORYSTYCZNEJ” ARCHITEKTURY
HARWARDZKIEJ. OZNACZA TO, ŻE PROGRAMISTA POZBAWIONY JEST MOŻLIWOŚCI
INGERENCJI W PAMIĘĆ PROGRAMU W TRAKCIE JEGO WYKONYWANIA.
PAMIĘĆ PROGRAMÓW MOŻNA ZMIENIĆ JEDYNIE W TRYBIE ŁADOWANIA.
PRZESYŁANIE DANYCH (przykład instrukcji rodziny ‘51 - „regorystyczny Harward”)
kod
dozwolone adresowanie
Kopiuj A <- □
MOV
A,Rr
A,direct
A,@Ri
Kopiuj Rr <- □
MOV
Rr,A
Rr,direct
Rr,#data
Kopiuj direct <- □
MOV
direct,A
direct,Rr
direct,direct direct,@Ri
Kopiuj @Ri <- □
MOV
@Ri,A
@Ri,direct
@Ri,#data
Kopiuj DPTR <- □
MOV
DPTR,#data16
Pamięć programu
MOVC
A,@A+DPTR
A,@Ri
A,@DPTR
@Ri,A
Zamień
A,Rr
A,direct
A,@Ri
Zamień 4 młodsze bity XCHD
A,@Ri
Zapisz na stos
PUSH
direct
(SP=SP+1 (SP) <- direct)
Odczytaj ze stosu
POP
direct
(direct <- (SP)
Piotr MALECKI
direct,#data
A,@A+PC
Zewn. pamięć danych MOVX
XCH
A,#data
@DPTR,A
SP=SP-1)
8/24
MIKROPROCESORY I MIKROKONTROLERY
MOVC
A,@A+DPTR
A,@A+PC
Z POPRZEDNIEJ TABELI TO KOMENDA
PRZENIESIENIA BAJTU Z PAMIĘCI KODU
DO AKUMULATORA. TYLE I NIC WIĘCEJ
HARWARDZKIE AVR NIE SĄ JUŻ TAK RYGORYSTYCZNE:
SPM
(Z) <= R1:R0
STORE PROGRAM MEMORY !
Każdy rozkaz AVR zajmuje 2 bajty pamięci kodu. Starszy bit to zawartość R1, młodszy R0.
Nie wszystkie modele AVR pozwalają na zapis pojedynczego słowa (2-bajtowego). W niektórych
można wyzerować całą stronę (64K) pamięci kodu i całą załadować za pomocą STM.
ORGANIZACJA PAMIĘCI ARM JEST BARDZO ORYGINALNA - NIEZALEŻNIE OD
FIZYCZNEGO, SPRZĘTOWEGO ROZRÓŻNIENIA TYPÓW I MAGISTRAL PAMIĘCI DANYCH
I PROGRAMÓW SĄ ONE OBJĘTE JEDNĄ WSPÓLNĄ PRZESTRZENIĄ ADRESOWĄ !
Piotr MALECKI
9/24
MIKROPROCESORY I MIKROKONTROLERY
„ZALECANA”
ORGANIZACJA
PAMIĘCI
ARM-CORTEX M3
MOŻNA UMIEŚCIĆ
KOD
W PRZESTRZENI
DANYCH (!)
ALE
PRODUCENT
ODRADZA
Piotr MALECKI
10/24
MIKROPROCESORY I MIKROKONTROLERY
Organizacja wewnętrznej pamięci RAM μkontrolerów rodziny 51
0FFH
0FFH
Obszar rejestrów SFR
128 bajtów górnego
obszaru wewnętrznej
pamięci RAM
80H
80H
Adresowanie bezpośrednie i
pośrednie
07FH
128 bajtów dolnego
obszaru wewnętrznej
pamięci RAM
Adresowanie pośrednie
zawartością rejestrów
Adresowanie
bezpośrednie
00H
Piotr MALECKI
11/24
MIKROPROCESORY I MIKROKONTROLERY
Struktura dolnego obszaru pamięci RAM µkontrolerów
7FH
Pamięć ogólnego
zastosowania
30H
7F
07
R7
R6
R5
R4
R3
R2
R1
R0
Piotr MALECKI
78
Bajty z adresowalnymi
bitami
00
BANK 3
18H - 1FH
BANK 2
10H - 17H
BANK 1
8H - 0FH
7H
Bank 0
0H
12/24
MIKROPROCESORY I MIKROKONTROLERY
SFR – obszar rejestrów specjalnego przeznaczenia wykorzystuje
się:
Jako zapis wszelkich rejestrów sterujących pracą CPU takich jak ACCakumulator, B – akumulator pomocniczy, PSW - rejestr wskaźników
stanu, SP – wskaźnik stosu ... (poza licznikiem rozkazów (PC) i bankami
GPR,
●Jako interfejs pomiędzy CPU a urządzeniami peryferyjnymi.
●
...sterowanie urządzeniami peryferyjnymi poprzez operacje na odpowiadających im
rejestrach pamięci należy do genialnych rozwiązań w konstrukcji procesorów
cyfrowych...
Stan wszystkich rejestów SFR po RESET (lub po uruchomieniu procesora) jest
zdefiniowany. Jest też udokumentowany w danych technicznych kontrolera.
Programista może zmienić pierwotne (default – niejawne) ustawienia SFR.
Np. wskaźnik stosu SP ustawiany jest pierwotnie na (adres) 07H, wskazuje na
R0 pierwszego banku rejestrów ogólnego zastosowania GPR i zwykle
przestawiany na odległą lokację.
Piotr MALECKI
13/24
MIKROPROCESORY I MIKROKONTROLERY
TAKTOWANIE MIKROKONTROLERA
Cykl maszynowy mikrokontrolerów rodziny 51 składa się z sześciu
stanów (S1 – S6). Każdy stan trwa dwa okresy sygnału taktującego. Więc
jeden cykl maszynowy trwa 12 taktów (okresów) sygnału zegarowego.
●Mikrokontrolery mają wbudowany generator sygnału zegarowego i
zewnętrzny rezonator kwarcowy. Dobór rezonatora wyznacza
częstotliwość taktowania. Zwykle od kilku do kilkudziesięciu MHz.
Później poznamy powody dla popularnej częstości 11.059 MHz.
●Czas wykonywania instrukcji mikrokontrolerów rodziny 51 wynosi jeden,
dwa lub 4 cykle maszynowe. (Te 4 cykle odnoszą jedynie do dwóch
instrukcji: mnożenie i dzielenia).
●Podział cyklu maszynowego na stany i fazy wynika z potrzeby generacji
sygnałów sterujących poszczególnymi etapami wykonywania instrukcji
(pobranie z pamięci, zdekodowanie instrukcji, pobranie argumentów,
zapis wyniku itp). Np.: stan wyprowadzenia RESET jest testowany w
każdym cyklu maszynowym w stanie S5P2.
●
Piotr MALECKI
14/24
MIKROPROCESORY I MIKROKONTROLERY
‘51
AKUMULATOR
ACC.7
ACC.6
ACC.5
ACC.4
ACC.3
ACC.2
ACC.1
ACC.0
RS0
OV
F1
P
PSW – PROGRAM STATUS WORD
CY
AC
F0
RS1
7
6
5
4
3
2
1
0
CY – carry flag AC – aux. Carry F0, F1 – general purpose RS1, RS0 – reg. bank select
OV – overflow flag
P – parity bit
Piotr MALECKI
15/24
MIKROPROCESORY I MIKROKONTROLERY
ARM
Piotr MALECKI
16/24
MIKROPROCESORY I MIKROKONTROLERY
Piotr MALECKI
17/24
MIKROPROCESORY I MIKROKONTROLERY
Endianess (Jonathan Swift (1726) – satyryczna powieść „Podróże Guliwera”)
Stos - SP ‘51, AVR i ARM ! Specjalny sposób używania części pamięci danych
Wyposażenie - c.d.
Zasilanie
Narzędzia programistyczne – Keil, IAR, MCU 8051 IDE, … wstępny przykład
Piotr MALECKI
18/24
MIKROPROCESORY I MIKROKONTROLERY
Piotr MALECKI
19/24
MIKROPROCESORY I MIKROKONTROLERY
Przykład wyposażenia
ADuC812 – Analog Devices
Warto zwrócić uwagę
co dla Firmy jest dumą …
Piotr MALECKI
20/24
MIKROPROCESORY I MIKROKONTROLERY
STM32L152RB
PRZYKŁAD ARM – CORTEX – M3
Ultra-low-power platform
1.65 V to 3.6 V power supply
-40°C to 85°C/105°C temperature range
0.3 μA Standby mode (3 wakeup pins)
0.9 μA Standby mode + RTC
0.57 μA Stop mode (16 wakeup lines)
1.45 μA Stop mode + RTC
9 μA Low-power Run mode
214 μA/MHz Run mode
10 nA ultra-low I/O leakage
< 8 μs wakeup time
Core: ARM 32-bit Cortex™-M3 CPU
From 32 kHz up to 32 MHz max
33.3 DMIPS peak (Dhrystone 2.1)
Memory protection unit
Reset and supply management
Ultra-safe, low-power BOR (brownout reset) with 5 selectable thresholds
Ultra-low-power POR/PDR
Programmable voltage detector (PVD)
Piotr MALECKI
21/24
MIKROPROCESORY I MIKROKONTROLERY
STM32L152RB
PRZYKŁAD ARM – CORTEX – M3
c.d.
Clock sources
1 to 24 MHz crystal oscillator
32 kHz oscillator for RTC with calibration
High Speed Internal 16 MHz factory-trimmed RC (+/- 1%)
Internal Low Power 37 kHz RC
Internal multispeed low power 65 kHz to 4.2 MHz
PLL for CPU clock and USB (48 MHz)
Pre-programmed bootloader
USART supported
Development support
Serial wire debug supported
JTAG and trace supported
Up to 83 fast I/Os (73 I/Os 5V tolerant), all mappable on 16 external interrupt vectors
Memories
Up to 128 KB Flash with ECC
Up to 16 KB RAM
Up to 4 KB of true EEPROM with ECC
80 Byte Backup Register
Piotr MALECKI
22/24
MIKROPROCESORY I MIKROKONTROLERY
STM32L152RB
PRZYKŁAD ARM – CORTEX – M3
c.d.
LCD Driver for up to 8x40 segments
Support contrast adjustment
Support blinking mode
Step-up converter on board
Rich analog peripherals (down to 1.8 V)
12-bit ADC 1 Msps up to 24 channels
12-bit DAC 2 channels with output buffers
2x Ultra-low-power-comparators(window mode and wake up capability)
DMA controller 7x channels
8x peripherals communication interface
1x USB 2.0 (internal 48 MHz PLL)
3x USART (ISO 7816, IrDA)
2x SPI 16 Mbits/s
2x I2C (SMBus/PMBus)
10x timers: 6x 16-bit with up to 4 IC/OC/PWM channels, 2x 16-bit basic timer, 2x watchdog
timers (independent and window)
Up to 20 capacitive sensing channels supporting touchkey, linear and rotary touch sensors
CRC calculation unit, 96-bit unique ID
Piotr MALECKI
23/24
MIKROPROCESORY I MIKROKONTROLERY
MATERIAŁY DYDAKTYCZNE:
Tomasz Starecki „Mikrokontrolery 8051 w praktyce” BTC Warszawa 2002
Andrzej Pawluczuk „Sztuka programowania mikrokontrolerów AVR” BTC Warszawa2006
Krzysztof Paprocki „Mikrokontrolery STM32 w praktyce” BTC Warszawa 2011
Paweł Borkowski „ARM & AVR programowanie mikrokontrolerów” Helion 2009
Marek Galewski „STM32 Aplikacje i ćwiczenia w języku C”
… INTERNET … LINKI DO PRODUCENTÓW !!!
mars.iti.pk.edu.pl/~malecki
Piotr MALECKI
„slajdy” powstające na bieżąco oraz archiwalne
24/24

Podobne dokumenty