zestaw uruchomieniowy dla procesorów AVR i '51 1


Zestaw uruchomieniowy dla procesorów rodzin AVR T Y
P R O J E K i  51
Zestaw uruchomieniowy
dla procesorów rodzin
AVR i  51, część 1
AVT-992
W numerze 3/2000
Elektroniki Praktycznej
pozwoliłem sobie
zaprezentowaĘ Czytelnikom
projekt zestawu
uruchomieniowego dla
procesorÛw 89CX051. ByÅ‚em
zaskoczony ogromnym
Procesory z rodziny '51 są Dlaczego napisałem prowoka-
zainteresowaniem, jakie
wieczne: byÅ‚y ìzawszeî, sÄ… nadal cyjnie, Å‚e procesory AVR sÄ… nas-
wzbudził ten układ,
chÍtnie stosowane i nic nie wska- tÍpcami rodziny '51? PrzecieÅ‚ sÄ…
spowodowanym zapewne
zuje, aby w najbliłszym czasie to jednostki o zupełnie odmiennej
niemalejącą atrakcyjnością
ich popularnośĘ zaczÍÅ‚a maleĘ. architekturze i z pozoru nie majÄ…
ìmaÅ‚ychî procesorÛw
Nie oznacza to bynajmniej, abyÅ›- nic wspÛlnego z popularnymi '51.
z rodziny '51. NastÍpstwem
my nie interesowali siÍ innymi MiaÅ‚em na myÅ›li innÄ…, wspÛlnÄ…
tego rezonansu cztelniczego
rodzinami procesorÛw, szczegÛl- cechÍ tych ukÅ‚adÛw: identyczne
jest kolejny projekt
nie tymi, ktÛre sÄ… pewnego ro- rozmieszczenie wyprowadzeÒ
doskonalszego zestawu dzaju ìnastÍpcamiî rodziny '51. wiÍkszoÅ›ci procesorÛw AVR i '51,
Mam tu na myÅ›li nowoczesne od ktÛrej to reguÅ‚y wyjÄ…tkami sÄ…
uruchomieniowego.
procesory AVR produkowane jedynie procesory AVR w obudo-
przez firmÍ Atmel i zdobywajÄ…ce wach 8-nÛÅ‚kowych.
sobie coraz wiÍkszÄ… popularnośĘ Procesory AVR posiadajÄ… licz-
zarÛwno na Å›wiecie, jak i w na- ne cechy, ktÛre predestynujÄ… je do
szym kraju. zastosowania nie tylko w profes-
Elektronika Praktyczna 1/2001
37
Zestaw uruchomieniowy dla procesorów rodzin AVR i  51
jonalnych konstrukcjach. Ze zyki stosowane w pakietach Układ jest przeznaczony prze-
wzglÍdu na Å‚atwośĘ programowa- BASCOM8051 i BASCOM AVR de wszystkim do stosowania pro-
nia, duÅ‚Ä… uniwersalnośĘ i relatyw- praktycznie nie rÛÅ‚niÄ… siÍ od cesorÛw AVR. Nie oznacza to, Å‚e
nie niskÄ… cenÍ sÄ… takÅ‚e idealnymi siebie, a rÛÅ‚nice polegajÄ… gÅ‚Ûw- nie moÅ‚emy na naszej pÅ‚ytce
elementami konstrukcyjnymi dla nie na odmiennym nazwaniu uruchomieniowej testowaĘ ukła-
zaawansowanych amatorÛw. A oto pinÛw poszczegÛlnych portÛw dÛw z procesorami na '51. Wspo-
cechy tych procesorÛw, ktÛre uwa- i dodatkowych funkcjach wy- mniana juÅ‚ kompatybilnośĘ wy-
Å‚am za szczegÛlnie istotne: stÍpujÄ…cych w procesorach AVR prowadzeniowa umoÅ‚liwia
- Wszystkie bez wyjÄ…tku proceso- (np. obsÅ‚uga wewnÍtrznej pa- umieszczenie na pÅ‚ytce prawie
ry AVR mogÄ… byĘ programowa- miÍci danych EEPROM, watch- wszystkich procesorÛw '51. Jed-
ne w systemie poprzez zÅ‚Ä…cze doga czy teÅ‚ przetwornikÛw nak tryb programowania w syste-
SPI. Jakie to daje korzyÅ›ci, nie analogowo-cyfrowych). RÛÅ‚nice mie bÍdzie dostÍpny tylko w przy-
trzeba chyba nikomu tÅ‚umaczyĘ. w kodzie maszynowym proce- padku niektÛrych procesorÛw (np.
Budowa programatorÛw tych sorÛw sÄ… juÅ‚ wyÅ‚Ä…cznie '8252). OczywiÅ›cie, bez najmniej-
procesorÛw jest banalnie prosta. ìzmartwieniemî kompilatora! szych problemÛw moÅ‚emy stoso-
Programowanie ISP daje ogrom- PrzerÛbka programu napisanego waĘ programator ìQuasi ISPî -
ne oszczÍdnoÅ›ci czasu, szczegÛl- w MCS BASIC z procesora '51 AVT-887.
nie kiedy uÅ‚ywamy tak popu- na AVR bÍdzie najczÍÅ›ciej po-
larnego ostatnio pakietu BAS- legała na wykonaniu kilku cał- Opis układu
COM AVR. Po napisaniu pro- kowicie automatycznych czyn- Schemat elektryczny zestawu
gramu, w momencie kiedy chce- ności, wykorzystujących pole- uruchomieniowego pokazano na
my sprawdziĘ jego dziaÅ‚anie, cenia find i replace. rys. 1. SkÅ‚ada siÍ on z nastÍpu-
wystarczy tylko naciÅ›niÍcie jed- Wszystko to, co napisaÅ‚em jÄ…cych elementÛw:
nego klawisza, aby po kilku - sprawiło, łe postanowiłem zapro- 1. Podstawka pod procesory
kilkunastu sekundach mÛc przy- jektowaĘ dla Was kolejny zestaw w obudowach 20-pinowych. MoÅ‚-
stąpiĘ do jego testowania w uru- uruchomieniowy - uniwersalną na w niej umieściĘ układ typu
chamianym ukÅ‚adzie. pÅ‚ytkÍ testowÄ… przeznaczonÄ… tym AT90S2313, AT90S1200 oraz pro-
- Wszystkie procesory AVR wypo- razem dla wiÍkszoÅ›ci procesorÛw cesory z rodziny '51 - 'X051.
saÅ‚one sÄ… w wewnÍtrznÄ… nie- AVR. Podczas projektowania ukÅ‚a- Podstawka ta oznaczona jest na
ulotnÄ… pamiÍĘ danych typu EEP- du pominÄ…Å‚em tylko jeden typ pÅ‚ytce jako IC1.
ROM. A zatem, w wiÍkszoÅ›ci procesora AVR: AT90S2333 2. Podstawka pod procesory
przypadkÛw zbÍdne jest doÅ‚Ä…- (AT90S4433). Rozbudowywanie w obudowach 40-pinowych z zasi-
czanie do nich zewnÍtrznej sta- pÅ‚ytki o jeszcze jednÄ…, tym razem laniem doprowadzonym do koÒ-
Å‚ej pamiÍci danych. 28-pinowÄ… podstawkÍ nie wyda- cÛwek 10 i 11 (czyli IC2). W pod-
- Ogromne znaczenia ma ich kom- waÅ‚o mi siÍ celowe, tym bardziej, stawce tej doskonale czuje siÍ
patybilnośĘ ìpinowaî z proceso- Å‚e podstawek pod procesory ma- procesor AT90S8535, a takÅ‚e jego
rami '51. AVR-y sÄ… bez porÛw- my na niej juÅ‚ aÅ‚ 5! Aby jednak kuzyni o takiej samej liczbie wy-
nania szybsze od procesorÛw '51 umoÅ‚liwiĘ korzystanie takÅ‚e i z te- prowadzeÒ i identycznie doÅ‚Ä…czo-
i kiedy np. procesor z rodziny go typu procesora, zaprojektowa- nym zasilaniu.
'51 ìnie wyrabia siÍî w jakimÅ› Å‚em dodatkowÄ… pÅ‚ytkÍ - reduktor 3. Bardzo interesujÄ…cymi ukÅ‚a-
ukÅ‚adzie, to moÅ‚emy bez wiÍk- umoÅ‚liwiajÄ…cy umieszczenie pro- dami sÄ… ìmaÅ‚eî AVR, czyli np.
szych przerÛbek zastÄ…piĘ go no- cesora AT90S2333 w podstawce AT90S2323. Ten malutki proceso-
wocześniejszą i szybszą jednos- przeznaczonej dla AT90S8535 i je- rek znajdzie dla siebie miejsce
tkÄ… AVR. PrzerÛbki bÍdÄ… pole- go odpowiednikÛw. Problem po- w podstawce oznaczonej jako IC3.
gaĘ jedynie na zmianie układu wstał takłe z procesorami typu 4. Pora na mojego faworyta,
zerowania procesora i ewentual- AVR ATMEGA 103/603. SÄ… to czyli ìmaleÒkiegoî AT TINY22
nej wyminie rezonatora kwarco- potÍÅ‚ne maszyny, dysponujÄ…ce aÅ‚ i jego odpowiednika AT90S2343.
wego, a niekiedy takłe na usu- sześcioioma portami wejściowo- Przeznaczona dla niego podstaw-
niÍciu zbÍdnej juÅ‚ zewnÍtrznej wyjÅ›ciowymi, pamiÍciÄ… programu ka jest jedynÄ…, do ktÛrej nie zostaÅ‚
pamiÍci EEPROM. o pojemnoÅ›ci 128kB i kilkoma in- doÅ‚Ä…czony rezonator kwarcowy.
- Wielu CzytelnikÛw z pewnoÅ›ciÄ… nymi ìsympatycznymiî cechami. PowÛd tej decyzji jest prosty: te
zauwaÅ‚y, Å‚e sama kompatybil- Na pÅ‚ytce testowej znajduje siÍ malutkie procesorki doskonale
nośĘ ìwyprowadzeniowaî pro- wiele elementÛw umoÅ‚liwiajÄ…cych obywajÄ… siÍ bez zewnÍtrznych
cesorÛw niewiele nam daje. przeprowadzenie interesujÄ…cych rezonatorÛw, pracujÄ…c z komplet-
PrzecieÅ‚ sÄ… to procesory o zu- eksperymentÛw z procesorami nym oscylatorem wewnÍtrznym
peÅ‚nie innej architekturze, pro- AVR, a takÅ‚e przetestowanie pro- o czÍstotliwoÅ›ci 1MHz. MoÅ‚na je
gramowane za pomocÄ… zupeÅ‚nie gramÛw przed zaprojektowaniem umieÅ›ciĘ w podstawce oznaczonej
innych jÍzykÛw. Jest to prawda, docelowej pÅ‚ytki obwodu druko- jako IC4.
ale nie zawsze prawda. Jełeli wanego. Nie umieściłem jednak 5. I wreszcie kolej na układy
program na ìstarÄ…î '51 byÅ‚ na niej podzespoÅ‚Ûw, ktÛre uÅ‚y- 40-nÛÅ‚kowe, z zasilaniem doÅ‚Ä…-
napisany w jÍzyku MCS BASIC, wane sÄ… dośĘ powszechnie czonym ìpo przekÄ…tnejî, czyli
to moÅ‚emy go bez wiÍkszych w ukÅ‚adach procesorowych: wy- do nÛÅ‚ek 20 i 40. Przedstawicie-
przerÛbek zastosowaĘ do zapro- Å›wietlaczy siedmiosegmentowych lem tej grupy moÅ‚e byĘ procesor
gramowania procesora AVR! JÍ- LED. AT90S8515, a takÅ‚e jego ìpino-
Elektronika Praktyczna 1/2001
38
Zestaw uruchomieniowy dla procesorów rodzin AVR i  51
Rys. 1. Schemat elektryczny zestawu uruchomieniowego.
Elektronika Praktyczna 1/2001
39
Zestaw uruchomieniowy dla procesorów rodzin AVR i  51
wyî odpowiednik z rodziny '51 nie ogromnej liczby ukÅ‚adÛw pe- PCF8574 nie jest jedynym roz-
- AT89S8252. Procesor ten moÅ‚e ryferyjnych sterowanych ìi kwad- wiÄ…zaniem. RÛwnie dobrze moÅ‚e-
byĘ takÅ‚e programowany po- ratemî. Trudno mi nawet poli- my poÅ‚Ä…czyĘ je za poÅ›rednictwem
przez magistralÍ SPI i znajdzie czyĘ, ile opisÛw takich ukÅ‚adÛw wyprowadzeÒ zÅ‚Ä…cz CON2 i CON4
dla siebie miejsce w podstawce zamieściliśmy juł w Elektronice bezpośrednio z wyjściami proce-
IC5. Praktycznej, ale wiem, Å‚e sam sora, a ekspandery PCF8574 wy-
6. Jednym z najwaÅ‚niejszych mam na sumieniu kilka takich korzystaĘ do innych celÛw lub
elementÛw naszego ukÅ‚adu jest moduÅ‚Ûw. Magistrala I2C doÅ‚Ä…czo- w ogÛle zrezygnowaĘ z ich stoso-
zÅ‚Ä…cze do programowania proce- na jest do pinÛw PB6 i PB7 wania. Warto jeszcze zauwaÅ‚yĘ,
sorÛw w systemie, czyli I(n) S(ys- procesorÛw w obudowach 20- Å‚e zasilanie ukÅ‚adu TD62786 zo-
tem) P(rogramming). Jednak z tym i 40-koÒcÛwkowych. DoÅ‚Ä…czanie staÅ‚o doÅ‚Ä…czone nie do ìcyfro-
wÅ‚aÅ›nie zÅ‚Ä…czem pojawiÅ‚ siÍ maÅ‚y I2C do najmniejszych procesorkÛw wegoî napiÍcia zasilania wyno-
problem. OtÛÅ‚, w procesorach 40- nie wydawaÅ‚o mi siÍ celowe, ale szÄ…cego +5VDC, ale do zÅ‚Ä…cza
i 20-koÒcÛwkowych wszystkie ak- zawsze moÅ‚emy to uczyniĘ, wy- CON10, na ktÛrym wystÍpuje na-
tywne koÒcÛwki Å‚Ä…cza SPI dopro- korzystujÄ…c P1...P4. Do zÅ‚Ä…cz P1, piÍcie +12VDC. Daje to nam
wadzone sÄ… do tych samych P2, P3 i P4 doprowadzone zostaÅ‚y moÅ‚liwośĘ zasilania urzÄ…dzeÒ wy-
wyprowadzeÒ tego samego portu: wyprowadzenia wszystkich por- magajÄ…cych wÅ‚aÅ›nie takiego na-
MOSI do PB5, MISO do PB6, tÛw procesorÛw. KaÅ‚de zÅ‚Ä…cze piÍcia, w tym przekaünikÛw, sil-
SCK do PB7, no i oczywiÅ›cie skÅ‚ada siÍ z podwÛjnego szeregu nikÛw krokowych, silnikÛw prÄ…-
RST do wejÅ›cia zerujÄ…cego pro- goldpinÛw, co umoÅ‚liwia wygod- du staÅ‚ego i innych. PoniewaÅ‚
cesorÛw. ne doÅ‚Ä…czanie do nich nawet dysponujemy moÅ‚liwoÅ›ciÄ… zasila-
Niestety, inaczej jest w przy- dwÛch przewodÛw montaÅ‚owych nia tych ukÅ‚adÛw zarÛwno od
padku procesorkÛw w obudowach jednoczeÅ›nie. strony masy, jak i od strony
8-koÒcÛwkowych. PoczÄ…tkowo 10. Do zainstalowanej w sys- napiÍcia +12V, uzyskujemy moÅ‚-
myślałem o zastosowaniu elektro- temie magistrali I2C dołączone są liwośĘ sterowania silnikami kro-
nicznego przeÅ‚Ä…cznika, ale w koÒ- dwa ekspandery typu PCF8574 - kowymi dwufazowymi, ktÛre wy-
cu postawiłem nadmiernie nie IC6 i IC8. W taki to prosty spo- magają zmiany biegunowości na-
komplikowaĘ ukÅ‚adu i poszedÅ‚em sÛb uzyskujemy dwa dodatkowe, piÍcia na ich cewkach. Zmiana
na Å‚atwiznÍ, umieszczajÄ…c na pÅ‚yt- oÅ›miobitowe porty wejÅ›ciowo- biegunowoÅ›ci zasilania odbiorni-
ce dwa zÅ‚Ä…cza ISP: jedno dla wyjÅ›ciowe, ktÛre mogÄ… okazaĘ kÛw prÄ…du staÅ‚ego, uzyskana
procesorÛw 8-koÒcÛwkowych, siÍ wrÍcz bezcenne przy pracy przez zastosowanie komplemen-
a drugie dla pozostaÅ‚ych. SÄ… to z procesorami o mniejszej liczbie tarnych driverÛw, moÅ‚e byĘ takÅ‚e
zÅ‚Ä…cza CON7 i CON7A, w ktÛrych dostÍpnych wyprowadzeÒ. Wyj- wykorzystana do sterowania sil-
rozkÅ‚ad wyprowadzeÒ odpowiada Å›cia ekspanderÛw doÅ‚Ä…czone sÄ… nikÛw prÄ…du staÅ‚ego z moÅ‚liwoÅ›-
rozkÅ‚adowi sugerowanemu przez do zÅ‚Ä…cz CON2 i CON4. Wysy- ciÄ… nie tylko regulacji prÍdkoÅ›ci
firmÍ ATMEL. Tak wiÍc wystar- Å‚anie danych do ukÅ‚adÛw obrotÛw, ale takÅ‚e zmiany ich
czy jedynie poÅ‚Ä…czyĘ pÅ‚ytkÍ tes- PCF8574 jest z poziomu jÍzyka kierunku.
towÄ… z programatorem AVR AVT- MCS BASIC wyjÄ…tkowo proste 12. Magistrale I2C i SPI nie sÄ…
871 i w BASCOM-ie AVR nacis- i sprowadza siÍ do wydanie po- jedynymi kanaÅ‚ami komunikacyj-
nąĘ klawisz F7, aby po paru lecenia: nymi, za pomocÄ… ktÛrych proce-
sekundach mieĘ zaprogramowany I2CSEND [adres do zapisu], [dane] sor umieszczony na naszej płytce
w systemie procesor! Adres do zapisu ukÅ‚adu IC8 moÅ‚e komunikowaĘ siÍ ze Å›wia-
7. Wszechobecnym elemen- zostaÅ‚ sprzÍtowo ustawiony na tem zewnÍtrznym. Mamy jeszcze
tem kałdego systemu mikropro- 114, a układu IC6 na 112. Odczy- do dyspozycji wbudowany
cesorowego jest rezonator kwar- tu danych z dodatkowych portÛw w wiÍkszośĘ procesorÛw AVR i
cowy. Nie inaczej jest na naszej dokonujemy (po uprzednim usta- 51 port RS232. Połączenie pro-
pÅ‚ytce, gdzie zostaÅ‚ umieszczo- wieniu ì1î na wejÅ›ciach, ktÛrych cesora z komputerem, wykorzys-
ny rezonator Q1, o czÍstotliwoÅ›- stany mamy odczytaĘ) za pomocÄ… tujÄ…ce transmisjÍ po zÅ‚Ä…czu sze-
ci podstawowej 8MHz, akcepto- polecenia: regowym zrealizowane jest za
wanej przez wszystkie typy pro- I2CRECEIVE [adres do odczytu], pomocą znanego kałdemu elekt-
cesorÛw AVR i oczywiÅ›cie takÅ‚e [dane]. ronikowi ukÅ‚adu scalonego typu
przez '51. Adresami do odczytu ukÅ‚adÛw MAX232 - IC10. Wyprowadzenie
8. Jednym z najwałniejszych IC6 i IC6 są odpowiednio 113 T1IN i R1OUT tego układu zo-
elementÛw na naszej pÅ‚ytce uru- i 115. staÅ‚y doÅ‚Ä…czone odpowiednio do
chomieniowej jest magistrala I2C. 11. Do zÅ‚Ä…cz CON2 i CON4 wyprowadzeÒ TXD i RXD proce-
Zainstalowanie tego ìukÅ‚adu moÅ‚emy za pomocÄ… jumperÛw sorÛw, oczywiÅ›cie z wyjÄ…tkiem
krwionoÅ›negoî systemÛw mikro- doÅ‚Ä…czyĘ wejÅ›cia ukÅ‚adÛw IC7 - ìmaÅ‚ychî, 8-nÛÅ‚kowych proceso-
procesorowych i doprowadzenie drivera mocy zasilajÄ…cego doÅ‚Ä…- rÛw AVR.
go nie tylko do elementÛw, ktÛre czone do jego wyjśĘ odbiorniki 13. Kolejnym kanaÅ‚em infor-
mołemy umieściĘ na płytce, ale od strony masy i IC9 - drivera macyjnym umołliwiającym ko-
takÅ‚e do dostÍpnego z zewnÄ…trz zasilajÄ…cego ukÅ‚ady o duÅ‚ym po- munikacjÍ procesorÛw z ukÅ‚ada-
złącza CON14, otwiera przed na- borze prądu od strony plusa mi peryferyjnymi jest magistrala
mi ogromne mołliwości. Mam tu zasilania. Oczywiście, dołączanie 1WIRE, szeroko stosowana w po-
na myÅ›li moÅ‚liwośĘ wykorzysta- wejśĘ tych driverÛw do ukÅ‚adÛw pularnych ukÅ‚adach firmy DAL-
Elektronika Praktyczna 1/2001
40
Zestaw uruchomieniowy dla procesorów rodzin AVR i  51
LAS. ZÅ‚Ä…czem, do ktÛrego mo- End If
WYKAZ ELEMENTÓW
Å‚emy doÅ‚Ä…czyĘ ìmagiczneî tab- Loop
Rezystory
letki DALLAS-a, termometry cyf-
rowe, przełączniki i inne układy Receiverc5:
PR1: potencjometr montażowy
akceptujÄ…ce transmisjÍ 1WIRE Getrc5(subaddress, Command)
miniaturowy 1k&!
jest CON15, ktÛre przekazuje Kod = 1
RP1: R-PACK SIL 1k&!
przesyłane informacje do pinu Return
R1: 220&!
0 portu B procesorÛw. Warto
R..R9: 4,7k&!
podkreśliĘ, łe transmisja 15. Prawie kałdy system mik-
z protokołem 1WIRE jest obsłu- roprocesorowy powinien byĘ wy- Kondensatory
giwana z poziomu jÍzyka MCS posaÅ‚ony w urzÄ…dzenie umoÅ‚li-
C1, C2: 27pF
BASIC rÛwnie prosto jak magis- wiajÄ…ce prezentacjÍ danych
C3: 33pF
trali I2C. SÅ‚uÅ‚y do tego zestaw w ìludzkimî jÍzyku. Na pÅ‚ytce
C4: 470µF/10V
poleceÒ: 1WRESET, 1WREAD zestawu uruchomieniowego za-
C5, C11, C12: 100nF
i 1WWRITE. Poniewał jestem montowany został wyświetlacz al-
zagorzaÅ‚ym fanem pakietÛw fanumeryczny LCD, sterowany
C6: 100µF/10V
BASCOM, podam Wam prosty w trybie czterobitowym. Mołemy
C7..C10: 4,7µF/16V
przykład obsługi transmisji 1WI- wykorzystywaĘ dwa rodzaje wy-
C13: 1000µF/16V
RE. Te kilka linijek pozwala na świetlaczy: 16*1 i 16*2, z tym łe
Półprzewodniki
odczytanie np. numeru seryjne- zalecanym typem jest wyświet-
go ìtabletkiî DS1990: lacz dwuliniowy. Obecnie rÛÅ‚ni- D1..D8: LED
ca w cenie tych dwÛch typÛw
IC6, IC8: PCF8574A
Config 1wire = Portb.0 wyświetlaczy jest minimalna,
IC7: ULN2803B
Dim Dane(8) As Byte, I As Byte a mołliwości dokładnie dwukrot-
IC9: TD62786
1wreset nie wiÍksze. Wyprowadzenia wy-
IC10: MAX232
1wwrite &H33 świetlacza mogą byĘ, za pośred-
For I = 1 To 8 nictwem jumperÛw zaÅ‚oÅ‚onych
IC11: PCF8583
Dane(I) = 1wread() na złącze CON5, dołączone do
IC12: PCF8591
Next portu B procesorÛw lub za po-
IC13: SFH505
mocÄ… przewodÛw poÅ‚Ä…czone z do-
IC14: 7805
14. Pora pomyśleĘ o jakimś wolnymi innymi wyprowadzenia-
systemie transmisji danych nie- mi procesorÛw. Kontrast wyÅ›wiet- IC15: DS1813
wymagającym połączenia przewo- lacza mołemy regulowaĘ za po-
Różne
dowego. Wyjątkowa łatwośĘ deko- mocą potencjometru montałowe-
Q1: rezonator kwarcowy 8MHz
dowania sygnaÅ‚Ûw kodu RC5 skÅ‚o- go PR1.
Q2: rezonator kwarcowy 32768Hz
niła mnie do zastosowania właś- Sterowanie wyświetlaczami al-
Q3: przetwornik piezo
nie tego medium i wyposaÅ‚enia fanumerycznymi LCD jest w jÍzy-
naszej płytki testowej w scalony ku MCS BASIC wyjątkowo pros- S1..S4: przycisk microswitch
odbiornik kodu RC5 typu te. Do obsługi takiego wyświet-
DP1: wyświetlacz alfanumeryczny
TFMS5360 - IC13. Układ ten, lacza przeznaczony jest specjalny
16*1 lub 16*2
odbierajÄ…cy sygnaÅ‚y nadawane pakiet poleceÒ umoÅ‚liwiajÄ…cy nie
IC1: podstawka precyzyjna DIL20
z czÍstotliwoÅ›ciÄ… noÅ›nÄ… 36kHz mo- tylko umieszczenie napisu na
IC2, IC5, IC16: podstawka
łe byĘ dołączony do dowolnego ekranie, ale takłe lokalizowanie
precyzyjna DIL40
z wyprowadzeÒ procesorÛw, z tym kursora na dowolnej pozycji do-
IC3, IC4: podstawka precyzyjna
Å‚e wybÛr wejÅ›cia bÍdÄ…cego jedno- wolnego rzÍdu, przewijanie tek-
DIL8
czeÅ›nie ürÛdÅ‚em przerwania ze- stu i realizacjÍ wielu innych fun-
wnÍtrznego moÅ‚e znacznie uÅ‚at- kcji. Kiedy posÅ‚ugujemy siÍ pa- IC17: podstawka precyzyjna
wiĘ programowanie. Na ponił- kietem BASCOM, przestają ist- DIL20S
szym listingu znajduje siÍ proce- nieĘ jakikolwiek problemy z pol-
P1, P2, P3, P4, CON2, CON4,
dura odbioru danych przesyła- skimi znakami diakrytycznymi,
CON5: 8x2 goldpin
nych torem podczerwieni. poniewał za pomocą specjalnego
CON7, CON7A: 3x2 goldpin
edytora graficznego mołemy zde-
CON8: złącze DB9F kątowe,
Lcd  Waiting for RC-5 finiowaĘ dowolny znak mieszczą-
do druku
Cursor Off cy siÍ w matrycy wyÅ›wietlacza
CON1, CON3, CON6, CON9: 10
Do LCD.
goldpin
If Kod = 1 Then 16. Drugim sposobem przeka-
Disable Int0 zywania informacji z procesora do CON11...CON15: 3 goldpin
Cls otaczającego go świata jest sygna-
CON10: ARK2 (3,5mm)
Lcd  Rc5 received! lizacja za pomocÄ… diod LED.
15x goldpin + złącze szufladkowe
Lowerline Takich diod umieszczono na płyt-
do montażu wyświetlacza
Lcd  Com:  ; Command;  ,Adr:  ; ce osiem i mogą one byĘ dołączo-
Podstawka precyzyjna DIL 40 (do
Subaddress ne do dowolnych wyprowadzeÒ
montażu przejściówki)
Kod = 0 procesorÛw, a takÅ‚e do wyjśĘ eks-
2 szeregi po 20 goldpinów (jw.)
Enable Int0 panderÛw PCF8574. Diody wÅ‚Ä…-
Elektronika Praktyczna 1/2001
41
Zestaw uruchomieniowy dla procesorów rodzin AVR i  51
czane są po dołączeniu ich wol- Print I2Cstop
nych wyprowadzeÒ do minusa Loop End Sub
zasilania. End 19. Układ zerowania mikrokon-
17. Niestety, choĘbyśmy nie Sub Conversion trolera po włączeniu zasilania jest
wiem jak bardzo nie lubili tech- I2Cstart niezbÍdny w kaÅ‚dym systemie
niki analogowej, to nie ucieknie- I2Cwbyte Pcf8591_read mikroprocesorowym. Na naszej
my przed pomiarami wartości I2Crbyte Temp2, Ack płytce umieszczony został wyspe-
elektrycznych, a pośrednio takłe I2Crbyte Temp2, Nack cjalizowany układ scalony typu
nieelektrycznych. Jełeli na naszej I2Cstop DS1813 (IC15), zerujący procesor
pÅ‚ytce uruchomieniowej umiesz- End Sub takÅ‚e w przypadku spadku napiÍ-
czony jest np. procesor typu 18. Znaczna liczba systemÛw cia poniÅ‚ej okreÅ›lonego (4,75V)
AT90S8535, to problem mamy mikroprocesorowych wymaga do poziomu. Problem powstał jedy-
z gÅ‚owy: 8-wejÅ›ciowy dziesiÍciobi- swojego dziaÅ‚ania pomiaru czasu nie z zerowaniem procesorÛw '51,
towy przetwornik ADC z pewnoÅ›- rzeczywistego. NajczÍÅ›ciej wyko- ktÛre wymagajÄ… wysokiego pozio-
ciÄ… wystarczy nawet w bardzo rzystujemy w tym celu wbudowa- mu napiÍcia. Dlatego teÅ‚ na pÅ‚yt-
skomplikowanych układach analo- ne w procesory timery, za pomocą ce został dodany przełącznik -
gowo-cyfrowych. Gorzej, jeÅ‚eli ktÛrych tworzymy programowe ze- jumper JP1 i kondensator C14
zastosujemy procesor niewyposa- gary czasu rzeczywistego. Zegary umołliwiające przełączanie rodza-
Å‚ony w jakiekolwiek wejÅ›cia ana- takie majÄ… jednÄ… wadÍ: wymagajÄ… ju zerowania sprzÍtowego. Na
logowe lub jedynie w prosty kom- do prawidłowego działania stałe- płytce umieszczone zostały takłe
parator napiÍcia. Jedynym ratun- go zasilania procesora. Ponadto, dwa przyciski umoÅ‚liwiajÄ…ce rÍcz-
kiem moÅ‚e byĘ wtedy zastosowa- ich realizacja zajmuje stosunkowo ne wyzerowanie procesorÛw. Przy-
nie zewnÍtrznego przetwornika duÅ‚o pamiÍci RAM i programu, ciski te usytuowane zostaÅ‚y pod
ADC, np. czterokanaÅ‚owego co w przypadku procesorÛw wyÅ›wietlaczem alfanumerycznym
PCF8591. Posiada on wprawdzie o mniejszej pojemnoÅ›ci tych pa- i dostÍpne sÄ… tylko od spodniej
tylko oÅ›miobitowÄ… rozdzielczośĘ, miÍci moÅ‚e nastrÍczaĘ programi- strony pÅ‚ytki.
ale za to dodatkowo takÅ‚e oÅ›- Å›cie wiele problemÛw. Dlatego teÅ‚ 20. Nasz system uruchomienio-
miobitowy przetwornik DAC. dośĘ powszechnie stosowane są wy wyposałony został w bardzo
W trafnoÅ›ci decyzji o zastosowa- sprzÍtowe zegary RTC, z ktÛrych cichutki element generacji düwiÍ-
niu tego elementu utwierdziła chyba najpopularniejszym jest ku - przetwornik piezoceramiczny
mnie mołliwośĘ sterowania go PCF8583, umieszczony na naszej Q3. Jednak nawet tak prosty prze-
z magistrali I2C. Podam tutaj przy- płytce jako IC11. Zegar PCF8583 twornik powinien umołliwiĘ nam
kÅ‚ad prostego programu, za pomo- komunikuje siÍ z procesorem za dokonywanie ciekawych ekspery-
cÄ… ktÛrego moÅ‚emy mierzyĘ na- pomocÄ… magistrali I2C i dlatego do mentÛw z generacjÄ… sygnaÅ‚Ûw
piÍcie kolejno we wszystkich czte- jego obsÅ‚ugi potrzebne bÍdÄ… tylko akustycznych i sprawdzenie dzia-
rech kanałach PC8591: dwa wyprowadzenia procesora. łania polecenia
Config Sda = Pinb.6 RTC naszej płytki testowej wypo- SOUND [czas trwania, częstotli-
Config Scl = Pinb.7 sałony został w podtrzymujące wość].
Dim Factor As Single ürÛdÅ‚o zasilania (BT1), ktÛrym Bardziej wymagajÄ…cym ìmelo-
Dim Volt As Single moÅ‚e byĘ dowolna bateryjka manomî polecam ìgadajÄ…cyî mo-
Dim Temp1 As Word 1,5..3V, nawet typu ìzegarkowe- duÅ‚ z ukÅ‚adem ISD2560, sterowa-
Dim Temp2 As Byte goî. Godne polecenia sÄ… teÅ‚ cie- ny poprzez magistralÍ I2C.
Const Pcf8591_write = &B10010000 niutkie bateryjki litowe 3V, ktÛre 21. UkÅ‚ad zasilania zestawu
Const Pcf8591_read = &B10010001 bez najmniejszych problemÛw uruchomieniowego skÅ‚ada siÍ ze
Dim R As Byte moÅ‚na umieÅ›ciĘ pod wyÅ›wietla- scalonego stabilizatora napiÍcia
Dim Channel(4) As Byte czem alfanumerycznym. Odczyty- 7805 (IC14), wraz z niezbÍdnymi
Channel(0) = &B01000000 wanie i zapisywanie danych do do jego pracy kondensatorami
Channel(1) = &B01000001 układu RTC jest takłe proste, blokującymi zasilanie. Do złącza
Channel(2) = &B01000010 podobnie jak kałda operacja na CON10 powinno zostaĘ doprowa-
Channel(3) = &B01000011 magistrali I2C, programowana dzone napiÍcie o wartoÅ›ci bliskiej
Dim Voltage As Word w MCS BASIC. Oto prosty przy- 12VDC, niekoniecznie stabilizo-
Declare Sub Conversion kÅ‚ad odczytu czasu i daty z ukÅ‚a- wane. PobÛr prÄ…du przez ukÅ‚ad
Factor = 5000/255 du PCF8583: jest tak mały, łe stosowanie ja-
Do Sub Gettime kiegokolwiek radiatora wspomaga-
For R = 0 To 3 I2Cstart jącego chłodzenie stabilizatora na-
Temp1 = Channel(r) I2Cwbyte &HA0 piÍcia jest caÅ‚kowicie zbÍdne.
Call Conversion I2Cwbyte 2 Zbigniew Raabe, AVT
Volt = Temp2 I2Cstart zbigniew.raabe@ep.com.pl
Volt = Volt * Factor I2Cwbyte &HA1
Voltage = Volt I2Crbyte S , Ack Wzory płytek drukowanych w for-
Lcd  Kan. ; R;   ; I2Crbyte M , Ack macie PDF sÄ… dostÍpne w Internecie
Voltage;  mV I2Crbyte H , Ack pod adresem: http://www.ep.com.pl/
Wait 1 I2Crbyte Yd, Ack pcb.html oraz na płycie CD-EP01/
Next R I2Crbyte Wm, Nack 2001 w katalogu PCB.
Elektronika Praktyczna 1/2001
42


Wyszukiwarka

Podobne podstrony:
zestaw uruchomieniowy dla procesorów AVR i 51 2
zestaw uruchominiowy dla procesorów 89Cx051 i AVR
Zestaw uruchomieniowy dla procesorów COP8SA
Zestaw uruchomieniowy dla procesorów SHARC
Zestaw uruchomieniowy do procesorow rodziny AVR i 51, cz 2
Zestaw uruchomieniowy dla transponderów HCS410 firmy Microchip
Starter kit dla procesorów AVR
Akupresura W Praktyce Zestawy Punktów Dla Aż 70 Chorób I Dolegliwości Akupunktura, Relaksoterapia
ZESTAW DIET DLA CHORYCH NA CUKRZYCE TYPU2 1500kcal
programator procesorów AVR 1
AVR GCC kompilator C dla mikrokontrolerów AVR, część 12
AVR GCC kompilator C dla mikrokontrolerów AVR, część 11
Zestaw diet dla chorych na cukrzycÄ™ typu II 1500kcal

więcej podobnych podstron