programatory.pdf

(940 KB) Pobierz
Œrodowiska IDE oraz programatory dla mikrokontrolerów z pamiêci¹ FLASH
Wykład – Mikrosystem Elektroniczne
1
Środowiska IDE oraz programowanie mikrokontrolerów z
pamięcią FLASH
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.
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.
Adres dla odczytu sygnatury to: 0, 1, 2.
29971659.010.png 29971659.011.png
Wykład – Mikrosystem Elektroniczne
2
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.
29971659.012.png 29971659.013.png
Wykład – Mikrosystem Elektroniczne
3
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.
29971659.001.png 29971659.002.png 29971659.003.png
Wykład – Mikrosystem Elektroniczne
4
Rys. 5. Procedura kasowania pamięci programu
Na kolejnych rysunkach przedstawiono pozostałe operacje wykonywane przez algorytm
AT051.
Rys. 6. Procedura odczytu danych z pamięci FLASH
29971659.004.png 29971659.005.png 29971659.006.png
Wykład – Mikrosystem Elektroniczne
5
Rys. 7. Procedura odczytu sygnatury
Rys. 8. Programowanie bitu LB1 (dalsze programowanie jest zablokowane, odczyt pamięci
jest możliwy)
29971659.007.png 29971659.008.png 29971659.009.png
Zgłoś jeśli naruszono regulamin