H
Z PRAKTYKI
Radioelektronik Audio-HiFi-Video 1/2000
Uk³ad do programowania
mikrokomputerów
jednouk³adowych Atmel
serii AT89Cx51
M
ikrokomputery
AT89Cx51 nale-
¿¹ do popularnej
rodziny MCS-51,
a ich najwiêksz¹
zalet¹ jest po³¹-
czenie w jednej
obudowie jedno-
stki centralnej (CPU) oraz pamiêci b³yskowej
(flash) kodu u¿ytkownika. Mo¿liwoci tych
uk³adów mo¿na jednak dopiero w pe³ni doce-
niæ posiadaj¹c odpowiedni programator. Opi-
sany uk³ad s³u¿y do programowania mikro-
komputerów jednouk³adowych rodziny
AT89Cx51 firmy Atmel, takich jak AT89C1051
z pamiêci¹ flash o pojemnoci 1 kB oraz
AT89C2051 z pamiêci¹ flash o pojemnoci
2 kB. W odró¿nieniu od programatorów dostêp-
nych na rynku, charakteryzuje go prosta budo-
wa, niski koszt oraz mo¿liwoæ samodzielne-
go wykonania przez ka¿dego elektronika.
W sk³ad programatora wchodzi uk³ad elektro-
niczny, po³¹czony z komputerem przez port
drukarki, wymuszaj¹cy odpowiednie stany lo-
giczne na wejciach mikrokomputera oraz pro-
gram do komputera klasy PC, steruj¹cy prac¹
programatora oraz umo¿liwiaj¹cy komunikowa-
nie siê z u¿ytkownikiem.
Opis uk³adu
Schemat programatora jest przedstawiony na
rys.1. Uk³ad jest do³¹czony do wyjcia ³¹cza
równoleg³ego (portu drukarki) LPT1 lub LPT2.
W tablicy przedstawiono opis wyprowadzeñ te-
go ³¹cza, odpowiadaj¹cych im rejestrów umie-
szczonych w przestrzeni adresowej PC oraz
oznaczeñ u¿ytych w programie steruj¹cym.
Programowany uk³ad scalony AT89Cx51 zo-
sta³ oznaczony jako U1. Wspólpracuje on
z uk³adem scalonym U2 (zespó³ czterech prze-
rzutników D _ 74173), którego zadaniem jest
ustawienie na wejciach (S0, S1, S2 i S3) mi-
krokomputera U1, odpowiedniego trybu progra-
mowania pamiêci flash. Uk³ady scalone U3
i U4 (równie¿ przerzutniki 74173) s³u¿¹ do
transmisji danych programuj¹cych (8 bitów
oznaczonych od D0 do D7).
Dane (bity oznaczone C0, C1, C2 i C3) s¹
doprowadzane do wejæ uk³adów scalonych
U2, U3, U4. Stany ich wejæ s¹ zapamiêtywa-
ne na wyjciach po doprowadzeniu sygna³u
o zboczu narastaj¹cym (MODE - U2, DATAL
- U3 i DATAH - U4) do odpowiedniego wejcia
taktuj¹cego (CLK).
Uk³ady scalone U5 i U6 oraz elementy R1, P1
i P2 tworz¹ obwód sygna³u RST. W zale¿no-
ci od stanów logicznych na wyjciach inwer-
terów U5A i U5B potencjometry P1 lub P2 s¹
³¹czone z punktem o potencjale masy. Tym
sposobem na wyjciu stabilizatora U6 jest
ustawiane odpowiednie napiêcie programu-
j¹ce. Zadaniem bramki U5C jest ustawianie ze-
rowego potencja³u na wejciu ADJ stabilizato-
ra, co powoduje ustalenie na wartoci sygna-
³u RST bliskiej zeru. Dziêki wykorzystaniu ja-
ko P1 i P2 potencjometrów helitrim mo¿liwa
jest precyzyjna kalibracja poziomów napiêæ.
Wartoæ sygna³u RSTjest prze³¹czana przez
sygna³y na wyjciach V1, V2 i V3 portu drukar-
ki. Oprócz czterech bitów trybu programowa-
nia, bajtu danych i sygna³u RST do wejæ mi-
krokomputera s¹ doprowadzane równie¿ sy-
gna³y X1 oraz PROG.
Uk³ad U7 oraz elementy C1, C2, C3 i C4 two-
rz¹ zasilacz stabilizowany o napiêciu wyjcio-
wym +5 V. Kondensatory C5
÷
C9 umieszczo-
ne s¹ przy ka¿dym z uk³adów scalonych i pe³-
ni¹ funkcje elementów odsprzêgaj¹cych.
Program steruj¹cy
Program steruj¹cy zosta³ napisany w jêzyku
C
1)
. Po uruchomieniu programu u¿ytkownik
proszony jest o podanie nazwy portu drukar-
ki, do którego pod³¹czony jest programator
(LPT1 lub LPT2) oraz trybu pracy (kalibracja,
zapis danych kodu, zapis blokady _ bit 1,
zapis blokady _ bit 2, kasowanie pamiêci).
W przypadku wybrania opcji zapisu danych ko-
nieczne jest podanie nazwy pliku, w którym za-
pisany jest kod programu wraz z pe³n¹ cie¿-
k¹ dostêpu. Pamiêæ flash mikrokomputera jest
programowana bajt po bajcie. Powtórne zapro-
PROGRAMATOR
MIKROKOMPUTERÓW
AT89CX51
1)
Osoby zaineresowane mog¹ skopiowaæ program
z redakcyjnej strony WWW
Port drukarki
Oznaczenie
Adres
Numer bitu
Koñcówka
Oznaczenie
0
2
C0
1
3
C1
2
4
C2
Wyjciowy
LPT1
378H
3
5
C3
LPT2
278H
4
6
DATAL
5
7
DATAH
6
8
MODE
7
9
PROG
0
1
X1
Steruj¹cy
LPT1
37AH
1
14
V1
LPT2
27AH
2
16
V2
3
17
V3
Port drukarki
Rys. 1.
Schemat
programatora
!
gramowanie pamiêci wymaga jej uprzedniego skasowania.
Zapisanie pierwszego bitu blokady powoduje, ¿e niemo¿liwe
jest dalsze programowanie pamiêci flash. Zapisanie obu bi-
tów blokady powoduje, ¿e niemo¿liwe jest zarówno progra-
mowanie jak i weryfikacja pamiêci. Tryb kalibracji wykorzy-
stywany jest wy³¹cznie przy uruchamianiu programatora.
Programowanie pamiêci przeprowadzane jest wed³ug na-
stêpuj¹cego algorytmu:
I
W³¹czenie zasilania
1. Stan niski na RST i XTAL1
2. Odczekanie co najmniej 10 ms
3. Stan wysoki na RST
4. Stan wysoki na PROG
II
Programowanie
5. Ustawienie odpowiedniego trybu programowania
MODE (S0
÷
S3)
6. 12 V na RST
7. W przypadku wybrania kasowania uk³adu
lub zapisu bitu blokady _ podanie impulsu
na PROG i przejcie do 12 (Wy³¹czenie zasilania)
8. W przypadku wybrania zapisu danych _ podanie
bajtu danych D0
÷
D7
9. Impuls zapisuj¹cy bajt danych na PROG
10. Impuls zwiêkszaj¹cy stan wewnêtrznego licznika
adresów na X1
11. Powrót do punktu 8, a¿ do zapisania wszystkich
bajtów danych
III
Wy³¹czenie zasilania
12. Stan niski na X1
13. Stan niski na RST
Program jest przystosowany do odczytu danych kodu z pli-
ków zapisanych w formacie Intel-Hex. Pliki w tym formacie
generuj¹ wszystkie asemblery i kompilatory jêzyka C dla mi-
krokomputerów rodziny MCS-51.
Ze wzglêdu na maksymaln¹ prostotê uk³adu i programu nie-
mo¿liwa jest weryfikacja zapisanych danych.
Uruchomienie programatora
Na rys. 2 i 3 jest przedstawiona p³ytka drukowana progra-
matora, natomiast rozmieszczenie elementów przedsta-
wiono na rys.4.
P³ytka jest przystosowana do wlutowania, pod programowa-
ny mikrokomputer, taniej podstawki DIL. Uk³ad zawiera nie-
wiele elementów, a jego du¿e mo¿liwoci tkwi¹ w programie
steruj¹cym. Program mo¿na uruchomiæ na ka¿dym kompu-
terze PC wyposa¿onym w port drukarki.
Po do³¹czeniu uk³adu do komputera konieczne jest ustawie-
nie poziomów napiêæ RST. S³u¿y do tego opcja Kalibracja.
Po uruchomieniu programu nale¿y wybraæ tryb kalibracji,
a nastêpnie zgodnie z poleceniami najpierw ustawiæ +5 V po-
tencjometrem P1, a nastêpnie +12 V potencjometrem P2 na
wejciu RST programowanego mikrokomputera. Po prze-
prowadzonej kalibracji programator jest gotowy do pracy.
n
Wojciech Nowakowski
Kompilatory C
DCF77
GPS
Firmy HiTech
Czytniki zbli¿eniowe RFID
Systemy Rejestracji
Czasu Pracy
Kontrola Dostêpu
Identyfikatory zbli¿eniowe
Zamki zbli¿eniowe
Odbiorniki
DCF77
Sieci zegarów
Zegary do
synchronizacji
systemów
komputerowych
atomowym
wzorcem czasu
DCF77 i z GPS
AMART
Logic
04-963 Warszawa 90
ul. Derkaczy 77
tel./fax (022) 612 69 14,
872 46 44
info
@
amart.com.pl
www.amart.com.pl
Radioelektronik Audio-HiFi-Video 1/2000
Rys. 4. Rozmieszczenie elementów na p³ytce drukowanej programatora
Rys. 2. P³ytka drukowana programatora _ strona elementów (skala 1:1)
Rys. 3. P³ytka drukowana programatora _ strona druku (skala 1:1)