Programator szeregowych pamięci EEPROM I2C sterowany z pakietu BASCOM.pdf

(123 KB) Pobierz
Programator szeregowych pamięci EEPROM I2C sterowany z pakietu BASCOM - AVT-1299
M I N I P R O J E K T Y
Programator szeregowych pamięci EEPROM I 2 C
sterowany z pakietu BASCOM
Ma³e gabarytowo,
tanie i†³atwe do
nabycia pamiÍci
szeregowe EEPROM juø
dawno zdoby³y sobie
uznanie projektantÛw
systemÛw
mikroprocesorowych.
Stanowi¹ one niezbÍdne
uzupe³nienie
mikrokontrolerÛw
niewyposaøonych
w†wewnÍtrzn¹ pamiÍÊ
nieulotn¹, takich jak na
przyk³ad popularny
AT89C2051.
NajczÍúciej pamiÍci te
s³uø¹ do przechowywania da-
nych i†s¹ programowane
i†przeprogramowywane
w†systemie. Jednak niekiedy
moøe zaistnieÊ potrzeba za-
programowania takiej pamiÍ-
ci poza systemem i†traktowa-
nia jej jako dodatkowej pa-
miÍci ROM procesora. W†pa-
miÍci takiej, ³atwej do prze-
programowania i†wymiany,
moøna przechowywaÊ dane
dotycz¹ce sposobu pracy
uk³adu, ktÛre mog¹ byÊ zmie-
niane w†zaleønoúci od jego
aktualnego zastosowania.
Programatory pamiÍci
EEPROM I 2 C by³y juø
wielokrotnie opisywane
na ³amach Elektroniki
Praktycznej, i†to, øe po-
zwalam sobie zaprezento-
waÊ opis kolejnego, uspra-
wiedliwione jest jedynie jego
bardzo nietypowym rozwi¹-
zaniem konstrukcyjnym. Pro-
gramator korzysta bowiem z
procesora, z†tym øe proceso-
ra wirtualnego, istniej¹cego
jedynie w†pamiÍci operacyj-
nej komputera. Nie musimy
nawet definiowaÊ typu tego
procesora, ale umÛwmy siÍ,
øe bÍdzie nim wspomniany
juø '2051.
O†pakietach BASCOM
8051 i†AVR zdobywaj¹cych
sobie ogromn¹ popularnoúÊ
wúrÛd elektronikÛw, napisa-
no juø w†EP wiele pochleb-
nych s³Ûw. S¹dzÍ wiÍc, øe
wiÍkszoúÊ CzytelnikÛw wie,
Rys. 1.
Rys. 2.
72
Elektronika Praktyczna 3/2001
8754292.005.png 8754292.006.png 8754292.007.png 8754292.008.png 8754292.001.png 8754292.002.png
M I N I P R O J E K T Y
List. 1.
'####### KONFIGURACJA SPRZĘTOWA #############
$sim
'praca w symulacji
czyli takøe wykonywania
wszystkich operacji zwi¹za-
nych z†programowaniem pa-
miÍci EEPROM z†tak¹ magis-
tral¹. Jakie st¹d p³yn¹ wnios-
ki? Ano takie, ze minimal-
nym nak³adem úrodkÛw mo-
øemy zbudowaÊ programator
takich pamiÍci, sk³adaj¹cy
siÍ zaledwie z†dwÛch oúmio-
pinowych podstawek i†jednej
podstawki 20-pinowej, prze-
znaczonej do w³oøenia w†ni¹
wtyku emulacyjnego. Oprog-
ramowanie steruj¹ce prac¹
programatora mamy w†zasa-
dzie gotowe: jest nim pro-
gram BASCOM 8051 i†napi-
sane samodzielnie banalnie
proste programiki przezna-
czone dla wirtualnego pro-
cesora, ktÛrych zadaniem bÍ-
dzie zapisywanie danych
w†pamiÍciach, odczytywanie
ich, kopiowanie ca³ych pa-
miÍci i†wszystko to, co tylko
przyjdzie Wam do g³owy
( rys. 1 ).
Prezentowany programa-
tor ma, poza prostot¹ budo-
wy, jeszcze jedn¹ zaletÍ: po-
zwala na skupienie kilku na-
rzÍdzi niezbÍdnych konstruk-
torowi wokÛ³ jednego úrodo-
wiska programowego.
WYKAZ ELEMENTÓW
Kondensatory
C1, C4: 100uF/16V
C2, C3: 100nF
Półprzewodniki
IC3: 7805
Różne
CON1: ARK2 (3,5mm)
CON2: podstawka
precyzyjna DIL20
IC1, IC2: podstawka
precyzyjna DIL8
Config Sda = P3.5
'konfiguracja magistrali I 2 C
Config Scl = P3.7
'konfiguracja magistrali I 2 C
'######### DEKLARACJE ZMIENNYCH #############
Declare Sub Read_eeprom(adres As Byte, Test As Byte)
'deklaracja podprogramu odczytu pojedynczej
'komórki pamięci EEPROM
Declare Sub Write_eeprom(adres As Byte, Value As Byte)
'deklaracja podprogramu zapisu do pojedynczej
'komórki pamięci EEPROM
Dim Adres As Byte, Value As Byte
'deklaracja zmiennej określającej adres w pamięci
'i zapisywaną wartość
Dim Test As Byte
'deklaracja zmiennej pomocniczej
P³ytka drukowana wraz z kom-
pletem elementÛw jest dostÍpna
w AVT - oznaczenie AVT-1299 .
'######## GłÓWNA PĘTLA PROGRAMOWA ###########
Wzory p³ytek drukowanych
w formacie PDF s¹ dostÍpne
w Internecie pod adresem: http:/
/www.ep.com.pl/?pdf/ma-
rzec01.htm oraz na p³ycie CD-
EP03/2001 w katalogu PCB .
Do
Input “Podaj adres pod którym mają być zapisane dane: “, Adres
'zapytanie o adres, pod który ma być zapisana
'informacja
Input “Podaj wartość, która ma być zapisana: “, Value
'zapytanie o wartość, jaka ma być umieszczona
'w podanej komórce pamięci
Call Write_eeprom Adres, Value
'wezwanie podprogramu zapisania wskazanej komórki
'pamięci podaną wartością
Call Read_eeprom Adres, Test
'kontrolny odczyt zapisanej uprzednio wartości
podstawkami przeznaczo-
nymi dla pamiÍci EEPROM
i†w†zwi¹zku z†tym napisanie
programu kopiuj¹cego za-
wartoúÊ jednej pamiÍci do
drugiej nie powinno niko-
mu zaj¹Ê wiÍcej czasu, niø
kilka minut. Przypominam
tylko, øe pamiÍÊ w†podstaw-
ce IC1 posiada adres 160 dla
zapisu i†161 dla odczytu,
a†pamiÍÊ umieszczona
w†podstawce IC2 analogicz-
nie 162 i†163 (adresy poda-
ne dziesiÍtnie).
If Value = Test Then
'jeżeli wynik porównania wartości podanej
'z odczytaną jest pomyślny, to:
Print “Zapis poprawny!”
'wyświetl na ekranie terminala komunikat
'o poprawności zapisu
Opis dzia³ania
Na rys. 2†pokazano sche-
mat elektryczny programato-
ra, a†w³aúciwie przystawki do
emulatora sprzÍtowego
wspÛ³pracuj¹cego z†pakietem
BASCOM. Schemat ten pozo-
stawimy bez komentarza,
skupiaj¹c siÍ na omÛwieniu
metod programowania uk³a-
du. Zak³adam, øe Czytelnik
zapozna³ siÍ juø z†pakietem
BASCOM i†zna podstawowe
zasady jego obs³ugi i†pisania
programÛw w†jÍzyku MCS-
BASIC.
Aby wykonaÊ dowolne
operacje zwi¹zane z†progra-
mowaniem lub odczytywa-
niem pamiÍci EEPROM, na-
leøy po prostu napisaÊ pro-
gram, ktÛry po skompilowa-
niu zostanie uruchomiony
w†emulacji sprzÍtowej. S¹-
dzÍ, øe przyk³ad programu
przedstawiony na list. 1
moøe byÊ pomocny przy pi-
saniu w³asnych, bardziej
rozbudowanych progra-
mÛw. Dysponujemy dwoma
End If
Loop
'###### PODPROGRAMY ODCZYTU I ZAPISU DANYCH #########
Montaø i†uruchomienie
Na rys. 3 zosta³o pokaza-
ne rozmieszczenie elementÛw
na p³ytce obwodu drukowa-
nego wykonanego na lamina-
cie jednostronnym.
Zbigniew Raabe, AVT
zbigniew.raabe@ep.com.pl
Sub Read_eeprom(adres As Byte, Value As Byte)
I2Cstart
I2Cwbyte 160
I2Cwbyte Adres
I2Cstart
I2Cwbyte 161
I2Crbyte Test, 9
I2Cstop
End Sub
Sub Write_eeprom(adres As Byte, Value As Byte)
I2Cstart
I2Cwbyte 160
I2Cwbyte Adres
I2Cwbyte Value
I2Cstop
Waitms 10
End Sub
øe jednym z†najsilniejszych
narzÍdzi zawartych w†tym
oprogramowaniu s¹ emulato-
ry sprzÍtowe umoøliwiaj¹ce
przetestowanie opracowane-
go programu w†úrodowisku,
dla ktÛrego zosta³ przezna-
czony. Jedn¹ z†zalet jÍzyka
MCS-BASIC jest wyj¹tkowo
³atwa obs³uga magistrali I 2 C,
Rys. 3.
Elektronika Praktyczna 3/2001
73
8754292.003.png 8754292.004.png
Zgłoś jeśli naruszono regulamin