wykl_dodA.pdf

(912 KB) Pobierz
Œrodowiska IDE oraz programatory dla mikrokontrolerów z pamiêci¹ FLASH
Wykład
Mikrokontrolery
i Mikrosystemy
Dodatek A
Środowiska IDE oraz programowanie
mikrokontrolerów z pamięcią FLASH
autor: dr inż. Zbigniew Czaja
Gdańsk 2003
Mikrokontrolery i Mikrosystemy – Dodatek A
2
Spis treści
1. Mikrokontrolery oparte na rdzeniu 80C51/52................................................................ 5
1.1. Mikrokontrolery AT89Cxx firmy Atmel ..................................................................... 5
1.2. Mikrokontrolery AT89S53 i AT89S8252 programowalne w systemie (ISP) ............. 18
1.3. Mikrokontrolery serii ADuC8xx firmy Analog Devices ............................................. 20
2. Mikrokontrolery rodziny AVR firmy Atmel .................................................................. 23
2.1. Programowanie równoległe ......................................................................................... 23
2.2. Szeregowe przesyłanie danych .................................................................................... 26
2.3. Środowisko programistyczne AVR Studio firmy Atmel ............................................. 26
2.4. Programatory dla mikrokontrolerów rodziny AVR ..................................................... 29
3. Mikrokontrolery PIC16F87X firmy Microchip.............................................................. 31
3.1. Środowisko IDE MPLAB firmy Microchip ................................................................ 33
3.2. Programatory dla mikrokontrolerów PIC16F87X ....................................................... 36
3.1. Samo-programowanie pamięci FLASH....................................................................... 38
Mikrokontrolery i Mikrosystemy – Dodatek A
3
1. Mikrokontrolery oparte na rdzeniu 80C51/52
1.1. Mikrokontrolery AT89Cxx firmy Atmel
Dla tej rodziny mikrokontrolerów używa się środowisk IDE typowych dla standardowych
mikrokontrolerów 80C51/52. Niezliczona ilość zarówno asemblerów, kompilatorów języka C,
symulatorów programowych, debugerów jest dostępna w Internecie. Są one dostarczane
między innymi np. przez firmy: Keil Software, Ceibo, Avocet Systems, ChipTools, IAR,
Tasking, Raisonance.
Do rodziny AT89Cxx należą między innymi mikrokontrolery: AT89C1051, AT89C2051,
AT89C4051, AT89C51, AT89C52.
Poniżej pokazano schemat mikrokontrolera AT89C2051 z opisem sygnałów używanych w
trybie programowania (rys. 1).
Rys. 1. Opis sygnałów używanych w trybie programowania mikrokontrolera AT89C2051
Programowanie mikrokontrolerów serii AT89Cx051 opiera się na algorytmie
równoległego programowania AT051. Charakterystyka algorytmu:
U5=5V tylko, Vpp=5V lub Vpp=12V.
Adres dla odczytu sygnatury to: 0, 1, 2.
Algorytm zawiera:
- operację odczytu pamięci,
- operację kasowania układu,
- operację programowania i weryfikacji pamięci,
- programowania bitów security, dwa bity tylko programowanie - bez odczytu.
Na rys. 2 pokazano konfigurację połączeń przy użyciu algorytmu AT051. Z rys. widać, iż
dane programujące pamięć FLASH ładowane i, podczas weryfikacji lub odczytu,
odczytywane są za pośrednictwem portu P1. Sygnały sterujące podłączone są do portu P3.
29974714.004.png 29974714.005.png
Mikrokontrolery i Mikrosystemy – Dodatek A
4
Rys. 2. Konfiguracja połączeń przy użyciu algorytmu AT051
Sygnały V6, V5, V4, V2 (linie 7, 5, 4 i 3 portu P3) służą do wyboru trybu pracy, co pokazano
w tabeli 1. Linia PROG (P3.2) powoduje zatrzaśniecie (wprowadzenie/wyprowadzenie)
danych na porcie P1. Impuls na linii X0 inkrementuje adres wskazujący na komórkę pamięci
FLASH. Gotowość mikrokontrolera do przyjęcia kolejnego rozkazu jest wskazywana przez
linię BUSY (P3.1).
Tabela 1. Tryby pracy mikrokontrolera dla algorytmu AT051
Na rys. 3 pokazano schemat ogólny algorytmu. Składa się on z trzech cykli START,
PROCEDURY i KONIEC. W pierwszym cyklu następuje odczyt sygnatury z linii V6, V5,
V4, V2 i wejście w dany tryb pracy (tabela 1). Następnie (cykl PROCEDURY) wykonywana
jest właściwa operacja, po czym, o ile chcemy skończyć programować, następuje zakończenie
programowania mikrokontrolera.
29974714.006.png 29974714.007.png
Mikrokontrolery i Mikrosystemy – Dodatek A
5
Rys. 3. Schemat ogólny algorytmu AT051
W konfiguracji programowania (rys. 4), układ scalony zawiera w sobie własny licznik
adresowy. Impuls do inkrementacji tego licznika jest na zewnątrz, na pinie 5 = XTAL1.
Pamięć programowa posiada orientację adresowania bajtowego.
Rys. 4. Programowanie pamięci z weryfikacją
Te mikroprocesory zawierają wewnętrzny licznik adresowy. Zerowanie licznika wykonuje
się: RST := 0 a następnie RST := 1. Zerowanie następuje w czasie podnoszenia się ze stanu
"L" do stanu "H" na RST. ("0" do "1", - logiczny signał <= 5V).
Na rys. 5 pokazano procedurę kasowania pamięci programu.
29974714.001.png 29974714.002.png 29974714.003.png
Zgłoś jeśli naruszono regulamin