background image

  

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¿liwoœci 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 pojemnoœci 1 kB oraz

AT89C2051 z pamiêci¹ flash o pojemnoœci

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 wejœciach 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 wyjœcia ³¹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 wejœciach (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 wyjœciach po doprowadzeniu sygna³u

o zboczu narastaj¹cym (MODE - U2, DATAL

- U3  i DATAH - U4) do odpowiedniego wejœcia

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 wyjœciach inwer-

terów U5A i U5B potencjometry P1 lub P2 s¹

³¹czone z punktem o potencjale masy. Tym

sposobem na wyjœciu stabilizatora U6 jest

ustawiane odpowiednie napiêcie programu-

j¹ce. Zadaniem bramki U5C jest ustawianie ze-

rowego potencja³u na wejœciu ADJ stabilizato-

ra, co powoduje ustalenie na wartoœci 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 wyjœciach 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 wyjœcio-

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

C0 

C1 

C2 

Wyjœciowy 

LPT1 

378H

C3 

LPT2 

278H

DATAL

DATAH 

MODE 

PROG 

X1 

Steruj¹cy 

LPT1 

37AH 

14 

V1 

LPT2 

27AH 

16 

V2 

17 

V3 

Port drukarki 

Rys. 1.

Schemat 

programatora

background image

 !

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 przejœcie 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¿liwoœci 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

wejœciu 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)