01 2004 106 110


K U R S
Podstawy projektowania systemów
mikroprocesorowych, część 11
Nawet najprostsze mikrokontrolery '51 mołna wykorzystaĘ do
pomiaru wielkości analogowych (co prawda niezbyt dokładnie)
i pomiaru czasu (z tym jest znacznie lepiej). Ponadto,
stosunkowo prostymi zabiegami moÅ‚na zwiÍkszyĘ pojemnośĘ
pamiÍci danych i programu. O tym, jak ìopanowaĘî te
typowe problemy piszemy w artykule.
podawane na wyprowa- WewnÍtrzny komparator bywa
dzenia P1.0 i P1.1 muszÄ… czÍsto wykorzystywany w urzÄ…dze-
mieÅ›ciĘ siÍ w przedziale wartoÅ›ci niach cyfrowo-analogowych, gdy za-
napiÍcia zasilania (pomiÍdzy GND chodzi potrzeba okreÅ›lenia wzajem-
a Vcc). Stan wyjÅ›cia komparatora nej zaleÅ‚noÅ›ci (wiÍkszy-mniejszy)
(poziom wysoki lub niski) jest za- dwÛch sygnaÅ‚Ûw analogowych i prze-
Komparator analogowy lełny od wartości podanego na je- kazania tej informacji do mikrokon-
mikrokontrolerÛw 89Cx051 go wejÅ›cie napiÍcia, i moÅ‚na go od- trolera. W przypadku, gdy chcemy
DwudziestonÛÅ‚kowe mikrokontro- czytaĘ jedynie programowo poprzez przekazaĘ do mikrokontrolera infor-
lery firmy Atmel sÄ… wyposaÅ‚one odczyt linii portu P3.6 (ktÛra nie macjÍ o wartoÅ›ci napiÍcia sygnaÅ‚u
w wewnÍtrzny komparator analogo- jest wyprowadzona na zewnÄ…trz). Je- analogowego, wÛwczas konieczne
wy, ktÛrego wejÅ›cia sÄ… dostÍpne na dynka odczytana z portu P3.6 ozna- jest wykorzystanie przetwornika
wyprowadzeniach linii portu P1.0 cza, Å‚e napiÍcie na wyprowadzeniu analogowo-cyfrowego. JeÅ‚eli nie
(ì+î) i P1.1 (ì-î). W celu zapewnie- P1.0 jest wiÍksze od napiÍcia na chcemy wykorzystywaĘ Å‚adnego spe-
nia odpowiednio dułej impedancji wyprowadzeniu P1.1. Aby korzystaĘ cjalizowanego układu scalonego, to
wejÅ›ciowej linie te sÄ… pozbawione z komparatora, naleÅ‚y speÅ‚niĘ te sa- do tego celu rÛwnieÅ‚ moÅ‚emy uÅ‚yĘ
wewnÍtrznych rezystorÛw podciÄ…ga- me warunki co przy wykorzystywa- wbudowanego komparatora, stosujÄ…c
jÄ…cych. WejÅ›ciowy prÄ…d upÅ‚ywu niu linii portÛw jako wejśĘ - linie ukÅ‚ad jak na rys. 35. W tym
komparatora, wedÅ‚ug danych produ- P1.0 i P1.1 muszÄ… byĘ programowo ukÅ‚adzie jest ürÛdÅ‚o napiÍcia naras-
centa, nie przekracza 10 µA, nato- ustawione w stan 1 (o ile ich stan tajÄ…cego quasi liniowo (R i C), ktÛ-
miast napiÍcie niezrÛwnowaÅ‚enia zostaÅ‚ zmieniony po zerowaniu mik- re jest doprowadzone do jednego
jest mniejsze od 20 mV. NapiÍcia rokontrolera). z wyprowadzeÒ komparatora i po-
rÛwnywane z napiÍciem wejÅ›cio-
wym. Dodatkowym elementem
List. 15
powodującym rozładowywanie kon-
;;Blok inicjalizacji programu głównego
densatora jest wewnÍtrzny tranzys-
MOV TMOD,#010H ;Będziemy korzystać z licznika T1 w trybie 1
tor mikrokontrolera zwierajÄ…cy liniÍ
CLR P1.0 ;rozładowanie kondensatora
portu P1.0 do masy.
{dalszy ciÄ…g programu}
Przetwornik dziaÅ‚a w nastÍpujÄ…cy
sposÛb: po wpisaniu ì1î na liniÍ
;;procedura przetwornika A/C
portu P1.0 tranzystor wyjściowy te-
;;zwraca liczbÄ™ 16-bitowÄ… zawierajÄ…cÄ… 15-bitowy wynik pomiaru
;;(najstarszy bit równy 0) do zmiennych AC_H i AC_L
go portu zostaje zatkany i rozpoczy-
na siÍ Å‚adowanie kondensatora
PRZETWORNIK:
C poprzez rezystor R. RÛwnoczeÅ›nie
MOV TL1,#0 ;wyzerowanie
MOV TH1,#0 ;licznika
SETB P1.0 ;rozpoczęcie procesu ładowania C
SETB TR1 ;i włączenie licznika
JNB P3.6,$ ;czekaj dopóki komparator w stanie niskim
CLR TR1 ;zatrzymaj licznik
CLR P1.0 ;rozładuj kondensator
CLR C ;wyzeruj znacznik przeniesienia
MOV A,TH1 ;starszy bajt licznika do akumulatora
RLC A ;przesuń w lewo przez znacznik przeniesienia
MOV AC_H,A ;zapamiętaj starsze 7 bitów
MOV A,TL1 ;młodszy bajt licznika do akumulatora
RLC A ;przesuń w lewo przez znacznik przeniesienia
MOV AC_L,A ;zapamiętaj młodsze 8 bitów
RET ;powrót do programu głównego
Rys. 35
Elektronika Praktyczna 1/2004
106
K U R S
Rys. 36
programowo zostaje uruchomiony niewaÅ‚ instrukcja sprawdzajÄ…ca stan JeÅ‚eli zajdzie potrzeba zwiÍksze-
wewnÍtrzny licznik mikrokontrolera. komparatora JNB P3.6,$ jako in- nia rozdzielczoÅ›ci przetwornika, to
Po czasie potrzebnym na naÅ‚adowa- strukcja skoku wykonuje siÍ przez moÅ‚na wykorzystaĘ przerwania licz-
nie kondensatora do wartoÅ›ci napiÍ- dwa cykle maszynowe. Stan kom- nika i po kaÅ‚dym wywoÅ‚aniu pro-
cia rÛwnej napiÍciu wejÅ›ciowemu paratora jest wiÍc sprawdzany gramu obsÅ‚ugi przerwania zwiÍkszaĘ
nastÍpuje zmiana stanu na wyjÅ›ciu z czÍstotliwoÅ›ciÄ… o poÅ‚owÍ mniejszÄ… o jeden zewnÍtrznÄ… zmiennÄ…. W ten
komparatora, co wykorzystujemy do niÅ‚ czÍstotliwośĘ cykli maszyno- sposÛb moÅ‚na zwiÍkszaĘ rozdziel-
zatrzymania licznika. Licznik po wych, co powoduje, Å‚e najmniej- czośĘ w nieskoÒczonośĘ, jednak
zatrzymaniu zawiera liczbÍ zliczo- szej wykrywalnej rÛÅ‚nicy napiÍĘ praktycznym ograniczeniem jest czas
nych impulsÛw proporcjonalnÄ… do dwÛch kolejnych pomiarÛw odpo- pomiaru oraz dokÅ‚adnośĘ kompara-
wartoÅ›ci napiÍcia Uwe. Po pomiarze wiadaĘ bÍdÄ… stany licznika rÛÅ‚niÄ…- tora i uÅ‚ytych elementÛw. Rozdziel-
naleÅ‚y rozÅ‚adowaĘ kondensator ce siÍ wÅ‚aÅ›nie o dwa cykle - czośĘ moÅ‚liwa do uzyskania przy
(wpisanie ì0î do P1.0) i moÅ‚na roz- najmniej znaczÄ…cy bit nie bÍdzie uÅ‚yciu samego timera jest i tak
począĘ kolejny cykl pomiarowy. siÍ wiÍc zmieniaÅ‚ (tzn. nie da siÍ wiÍksza niÅ‚ dokÅ‚adnośĘ wbudowa-
Na list. 15 przedstawiono pro- wykryĘ zmiany), za kałdym razem nego komparatora, co powoduje ko-
cedurÍ realizujÄ…cÄ… 15-bitowy prze- bÍdzie przyjmowaÅ‚ stan 0 lub 1 (ale niecznośĘ jego kalibracji oddzielnie
twornik A/C. Na pierwszy rzut oka ciągle ten sam, zalełny od kolej- dla kałdego egzemplarza mikrokon-
moÅ‚e bezsensownym wydawaĘ siÍ noÅ›ci instrukcji w programie prze- trolera.
ignorowanie najmniej znaczącego twornika). Dlatego w celu uzyskania Układ o schemacie z rys. 35
bitu zawartoÅ›ci licznika (wskutek zmiany na najmÅ‚odszym bicie na- dziaÅ‚a poprawnie do napiÍcia wej-
przesuniÍcia zliczonej zawartoÅ›ci leÅ‚y wynik podzieliĘ przez dwa - Å›ciowego w zakresie od 0,3 V do
o 1 bit w lewo), jednak po analizie co jest rÛwnoznaczne z przesuniÍ- poÅ‚owy napiÍcia zasilania. PowyÅ‚ej
listingu widaĘ, Å‚e ma to sens, po- ciem w lewo o 1 bit. tej wartoÅ›ci silnie zaznacza siÍ nie-
Elektronika Praktyczna 1/2004
107
K U R S
a ograniczeniem gÛrnym jest liczba
List. 16
mołliwych do ułycia linii adreso-
;;Odczyt stanów linii układu U4 (adres 0xB000)
wych (choĘ i to ograniczenie moł-
MOV DPTR,#0B000H ;wpis adresu do rejestru indeksowego
CLR A ;wyzerowanie akumulatora
na wyeliminowaĘ przez dołączenie
MOVC A,@A+DPTR ;odczyt z pamięci programu o adresie z DPTR
; stan linii wejÅ›ciowych U4 pojawia siÄ™ w A dodatkowych ukÅ‚adÛw logicznych
tworzÄ…cych dekoder adresu). Odczyt
;;Pozostałe układy odczytujemy identycznie, wpisując odpowiedni adres do DPTR
stanu linii na wejściach konkretne-
go bufora wymaga wykonania od-
liniowośĘ charakterystyki Å‚adowania Na rys. 36 przedstawiono sche- czytu z pamiÍci programu (aktywa-
kondensatora ze ürÛdÅ‚a napiÍ- mat ukÅ‚adu z zewnÍtrznÄ… pamiÍciÄ… cja linii PSEN) spod odpowiednie-
ciowego (prąd nie jest stały), nato- danych oraz z dodatkowymi porta- go adresu (poziom niski pojawiają-
miast poniÅ‚ej 0,3 V moÅ‚e byĘ od- mi wejÅ›ciowymi ìudajÄ…cymiî ze- cy siÍ na liniach A14, A13 lub
czuwalny wpÅ‚yw napiÍcia odkÅ‚ada- wnÍtrznÄ… pamiÍĘ programu. A12). WaÅ‚ne jest, aby podawany
jÄ…cego siÍ na tranzystorze rozÅ‚ado- UkÅ‚ad dziaÅ‚a nastÍpujÄ…co: mik- adres nie powodowaÅ‚ jednoczesne-
wujÄ…cym. DokÅ‚adnośĘ pomiaru moÅ‚- rokontroler U1 wspÛÅ‚pracuje ze go wyzerowania kilku linii obsÅ‚u-
na polepszyĘ stosując ładowanie standardowo dołączonym układem gujących bufory, gdył spowoduje to
kondensatora ze ürÛdÅ‚a prÄ…dowego zatrzasku mniej znaczÄ…cej poÅ‚Ûwki wystÄ…pienie konfliktu na magistrali.
(liniowośĘ charakterystyki Å‚adowania adresu U2 (74LS573). Przy dostÍ- NaleÅ‚y teÅ‚ pamiÍtaĘ, aby adres ten
w czasie) oraz dobudowujÄ…c obwÛd pie do pamiÍci zewnÍtrznej port byÅ‚ wyÅ‚szy niÅ‚ maksymalny moÅ‚li-
rozÅ‚adowania kondensatora z zewnÍt- P0 dziaÅ‚a inaczej niÅ‚ podczas pra- wy adres wewnÍtrznej pamiÍci pro-
rznym tranzystorem, najlepiej typu cy typowej i nie wymaga stosowa- gramu, gdył tylko wtedy układ ste-
MOSFET o maÅ‚ej rezystancji otwar- nia rezystorÛw podciÄ…gajÄ…cych. Za- rowania mikrokontrolera przeÅ‚Ä…czy
tego kanaÅ‚u (zejÅ›cie jak najbliÅ‚ej trzaÅ›niÍta poÅ‚Ûwka adresu wraz siÍ na odczyt pamiÍci zewnÍtrznej.
wartości 0 V). z doprowadzonymi bezpośrednio Ciąg instrukcji pozwalający na od-
WartoÅ›ci elementÛw R i C (czy z mikrokontrolera siedmioma kolej- czyt stanu poszczegÛlnych buforÛw
ürÛdÅ‚a prÄ…dowego) nie wpÅ‚ywajÄ… na nymi liniami adresowymi jest do- przedstawiono na list. 16.
dokÅ‚adnośĘ pomiaru, waÅ‚ne jest je- prowadzona do ukÅ‚adu pamiÍci Po dodaniu do prezentowanego
dynie uÅ‚ycie elementÛw o dobrej RAM 62256 (32 kB pojemnoÅ›ci). ukÅ‚adu kolejnych zatrzaskÛw (np.
stabilnoÅ›ci czasowej i temperaturo- Do pamiÍci doprowadzone sÄ… rÛw- 74LS573) oraz dodatkowego ukÅ‚adu
wej w celu uzyskania powtarzalnoÅ›- nieÅ‚ wygnaÅ‚y sterujÄ…ce zapisem logicznego moÅ‚liwe jest rÛwnieÅ‚
ci wynikÛw pomiarÛw. JeÅ‚eli i odczytem. UkÅ‚ad jest uaktywnia- zbudowanie portu wyjÅ›ciowego (sy-
w ukÅ‚adzie jest uÅ‚yty mikrokontro- ny tylko wtedy, gdy na linii adre- mulujÄ…cego pamiÍĘ danych). Zasto-
ler 89C5x nieposiadajÄ…cy wbudowa- sowej A15 (P2.7) wystÍpuje poziom sowanie ukÅ‚adu buforÛw dwukierun-
nego komparatora, to przetwornik niski (dostÍp do pierwszych 32kB kowych umoÅ‚liwi budowÍ portu
A/C moÅ‚emy zbudowaĘ dodajÄ…c ze- pamiÍci). Wraz z pamiÍciÄ… do szy- dwukierunkowego.
wnÍtrzny komparator. Najlepiej do ny danych mikrokontrolera doÅ‚Ä…czo- NaleÅ‚y zwrÛciĘ uwagÍ, Å‚e pre-
tego celu nadajÄ… siÍ niskonapiÍcio- ne sÄ… trzy ukÅ‚ady wzmacniaczy bu- zentowany sposÛb, choĘ powszech-
we (niskie, pojedyncze napiÍcie za- forowych (U4, U5, U6 - 74LS541), nie stosowany w sytuacjach nie-
silania) wzmacniacze operacyjne ktÛrych wejÅ›cia stanowiÄ… dodatko- doboru portÛw wyjÅ›ciowych mikro-
rail-to-rail (waÅ‚ne ze wzglÍdu na we linie wejÅ›ciowe systemu. Oczy- kontrolera wskutek doÅ‚Ä…czenia pa-
zakres pomiarowy). Uzyska siÍ wte- wiÅ›cie takich buforÛw moÅ‚e byĘ miÍci zewnÍtrznej, nie ma sensu
dy rÛwnieÅ‚ o wiele lepsze paramet- doÅ‚Ä…czonych wiÍcej lub mniej - ich w przypadku nie instalowania takiej
ry niÅ‚ przy wykorzystaniu kompa- liczba zaleÅ‚y wyÅ‚Ä…cznie od potrzeb, pamiÍci.
ratora wbudowanego.
ObsÅ‚uga pamiÍci zewnÍtrznej
Mikrokontrolery 89C5x, podobnie
jak 8051, umoÅ‚liwiajÄ… wspÛÅ‚pracÍ
z zewnÍtrznÄ… pamiÍciÄ… danych i pro-
gramu. DoÅ‚Ä…czenie zewnÍtrznej pa-
miÍci danych jest stosowane
w przypadku programÛw wykonujÄ…-
cych operacje na dułych zbiorach
liczb niemieszczÄ…cych siÍ w pamiÍ-
ci wewnÍtrznej. ChoĘ doÅ‚Ä…czanie ze-
wnÍtrznej pamiÍci programu wydaje
siÍ zbÍdne ze wzglÍdu na wbudo-
wanÄ… w mikrokontrolery Atmel
(a takłe w mikrokontrolery innych
producentÛw) pamiÍĘ Flash (chyba
Å‚e okaÅ‚e siÍ ona za maÅ‚a), to jed-
nak mołliwości, jakie daje utworze-
nie systemowych szyn danych, ad-
resu i sterującej mogą byĘ z powo-
dzeniem wykorzystane do komuni-
Rys. 37
kacji z innymi układami.
Elektronika Praktyczna 1/2004
108
K U R S
WÛwczas moÅ‚na zastosowaĘ roz-
List. 17
wiÄ…zania bazujÄ…ce na standardowej
;;;Inicjacja liczników
obsÅ‚udze portÛw, np. traktujÄ…c port
MOV TMOD,#025H ;T1 - timer, tryb 2, T0 - licznik, tryb 1
MOV TH1,#6 ;wartość początkowa po przeładowaniu T1
P0 jako magistralÍ danych, a port
CLR STOP ;zerowanie bitu informującego o końcu pomiaru
P1 czy inny jako magistralÍ adreso- SETB EA ;wÅ‚Ä…czenie ukÅ‚adu przerwaÅ„
SETB ET1 ;włączenie przerwania timera T1
wo/sterujÄ…cÄ…. Pozwala to na Å‚atwiej-
sze i efektywniejsze pisanie progra- CLR P3.3 ;blokada zliczania
CLR P3.2 ;zwolnienie resetu
mu (eliminacja czasochłonnych in-
SETB TR0 ;włączenie zliczania T0 (działa blokada zewnętrzna)
strukcji MOV DPTR,#... czy MOVC
{......}
lub MOVX). OszczÍdza teÅ‚ linie
portÛw mikrokontrolera, gdyÅ‚ na ob- ;;procedura pomiaru czÄ™stotliwoÅ›ci
POMIAR:
sÅ‚ugÍ takiej realizowanej programo-
MOV DZIEL1,#200 ;inicjacja dodatkowych
wo magistrali systemowej przezna- MOV DZIEL2,#20 ;dzielników częstotliwości (czas pomiaru 1s)
czamy tyle linii portÛw, ile na-
MOV TH0,#0 ;inicjacja
MOV TL0,#0 ;wartości początkowych
prawdÍ potrzeba (zamiast dwÛch
MOV TL1,#6 ;liczników
peÅ‚nych portÛw P0 i P2 i kilku linii
SETB P3.2 ;zerowanie liczników
dodatkowych.
CLR P3.2 ;zewnętrznych
CLR STOP ;wyzerowanie bitu STOP
Zliczanie impulsÛw
SETB P3.3 ;włączenie bramki
zewnÍtrznych przez
SETB TR1 ;włączenie licznika T1
wewnÍtrzne liczniki
JNB STOP,$ ;oczekiwanie na zakończenie pomiaru
Wbudowane w mikrokontrolery
CLR TR1 ;wyłączenie licznika T1
'51 liczniki T0 i T1 (oraz T2
w wersji '52) zazwyczaj bywają uły-
MOV WYNIK1,P1 ;zapamiętanie pierwszego bajtu wyniku
MOV WYNIK2,TL0 ;zapamiętanie drugiego bajtu wyniku
wane jako timery, tzn. zliczajÄ… im-
MOV WYNIK3,TH0 ;zapamiętanie drugiego bajtu wyniku
pulsy o czÍstotliwoÅ›ci cyklu maszy-
RET ;powrót do programu głównego
nowego mikrokontrolera. Czasami
przydatne jest wykorzystanie tych
;;;obsługa przerwania licznika T1
INT_T1:
licznikÛw do zliczania impulsÛw
doprowadzonych z zewnÄ…trz do wy-
PUSH PSW ;zachowanie PSW na stosie
DJNZ DZIEL1,DALEJ ;zmniejszenie zawartości dzielnika
prowadzeÒ mikrokontrolera, oznaczo-
;i skok jeżeli nie zero
nych jako T0, T1 i T2 (odpowied- MOV DZIEL1,#200 ;inicjacja zawartości dzielnika
DJNZ DZIEL2,DALEJ ;zmniejszenie zawartości drugiego dzielnika
nio dla kolejnych licznikÛw). Wej-
;i skok jeżeli nie zero
Å›cia te stajÄ… siÍ ürÛdÅ‚em impul-
CLR P3.3 ;wyłączenie bramki
sÛw zliczanych przez liczniki po
SETB STOP ;ustawienie bitu STOP (minęła 1 sekunda)
ustawieniu (poziom wysoki) bitÛw
DALEJ1:
C/T rejestru TMOD (C/T2 rejestru
POP PSW ;pobranie PSW ze stosu
T2CON dla '52). ZwiÍkszanie zawar- RETI ;powrót do programu głównego
toÅ›ci danego licznika odbywa siÍ
przy wystÄ…pieniu zbocza opadajÄ…ce-
go na odpowiadajÄ…cym mu wejÅ›ciu. we czÍstoÅ›ciomierze. Nic zatem nie P1, co umoÅ‚liwia odczyt ich zawar-
Zliczanie impulsÛw zewnÍtrznych stoi na przeszkodzie, aby taki czÍs- toÅ›ci. Przed wejÅ›ciem licznika 7493
ma pewne ograniczenia czÍstotliwoÅ›- toÅ›ciomierz zbudowaĘ w oparciu wÅ‚Ä…czono wzmacniacz zbudowany
ciowe. Stany linii T0, T1 i T2 od- o mikrokontroler '51. na tranzystorze bipolarnym, co po-
czytywane sÄ… synchronicznie z cyk- Schemat jednej z najprostszej re- zwala na uzyskanie czuÅ‚oÅ›ci rzÍdu
lem maszynowym mikrokontrolera, alizacji takiego przyrzÄ…du mierzÄ…ce- kilkuset mV. Dioda D1 zabezpiecza
a wykrycie zbocza opadajÄ…cego go czÍstotliwośĘ przedstawiono na przed ujemnymi poÅ‚Ûwkami
(zwiÍkszenie zawartoÅ›ci licznika) rys. 37. Zawiera jedynie elementy napiÍcia doprowadzonego sygnaÅ‚u.
wymaga wykrycia poziomu wysokie- zwiÄ…zane z pomiarem czÍstotliwoÅ›ci SygnaÅ‚ z tranzystora jest z sygnaÅ‚em
go w jednym cyklu i niskiego - aby uzyskaĘ gotowy przyrząd, na- z linii P3.3 połączony galwanicznie
w drugim. StÄ…d maksymalna czÍstot- leÅ‚aÅ‚oby doÅ‚Ä…czyĘ przynajmniej (iloczyn ìna drucieî), co umoÅ‚liwia
liwośĘ sygnału o wypełnieniu 50% układ wyświetlacza lub komunika- bramkowanie wejścia licznika. Mik-
doprowadzonego do zewnÍtrznych cji z PC i odpowiednio go oprogra- rokontroler generuje sygnaÅ‚ zerowa-
wejśĘ licznikÛw musi byĘ mniejsza mowaĘ. nia zewnÍtrznych licznikÛw na li-
niÅ‚ 1/24 czÍstotliwoÅ›ci taktowania GÅ‚Ûwnym elementem czÍstoÅ›cio- nii P3.2. Na list. 17 przedstawiono
procesora (co daje czÍstotliwośĘ zli- mierza jest oczywiÅ›cie mikrokontro- program realizujÄ…cy pomiar czÍstot-
czanych impulsÛw 1 MHz przy za- ler, ktÛry realizuje program sterujÄ…- liwoÅ›ci z wykorzystaniem licznika
stosowaniu kwarcu 24 MHz). Jełeli cy pomiarem oraz wykorzystuje T1 jako generatora podstawy czasu
wspÛÅ‚czynnik wypeÅ‚nienia byÅ‚by wbudowany licznik T0 do zliczania (bramki czasowej). Ustawienia rejes-
rÛÅ‚ny od 50%, wÛwczas decyduje impulsÛw zewnÍtrznych. W celu trÛw licznika obliczono dla czÍstot-
czas trwania krÛtszej fazy - co naj- zwiÍkszenia maksymalnej wartoÅ›ci liwoÅ›ci kwarcu 12 MHz.
mniej 12 taktÛw zegara (1 cykl ma- mierzonej czÍstotliwoÅ›ci, przed wej- Program dziaÅ‚a nastÍpujÄ…co: po
szynowy). Å›ciem licznika T0 wÅ‚Ä…czono 8-bito- inicjacji licznikÛw mikrokontrolera
W oparciu o zliczanie impulsÛw wy licznik binarny zbudowany wejÅ›cie do procedury pomiaru czÍs-
zewnÍtrznych (w okreÅ›lonej bramce z dwÛch ukÅ‚adÛw 7493. WyjÅ›cia te- totliwoÅ›ci powoduje wyzerowanie
czasowej) dziaÅ‚ajÄ… wszystkie cyfro- go licznika doÅ‚Ä…czone sÄ… do portu licznika impulsÛw zewnÍtrznych
Elektronika Praktyczna 1/2004
109
K U R S
(T0), zainicjowanie wartoÅ›ci poczÄ…t- licznikÛw zewnÍtrznych (podziaÅ‚ cedury pomiarowej - bezwzglÍdna
kowej licznika (timera) podstawy przez 256 umoÅ‚liwia prawidÅ‚owÄ… wartośĘ bÅ‚Ídu wzrasta wraz z war-
czasu (bramki czasowej T1) oraz pracÍ licznika wewnÍtrznego do toÅ›ciÄ… mierzonej czÍstotliwoÅ›ci, co
wspÛÅ‚pracujÄ…cych z nim komÛrek czÍstotliwoÅ›ci wejÅ›ciowych ponad w przypadku dokÅ‚adnych pomiarÛw
pamiÍci wykorzystywanych do prze- 100 MHz), z tym Å‚e w przedstawio- powinno byĘ uwzglÍdnione w po-
chowywania stanu dodatkowych nym programie czÍstotliwośĘ mie- staci poprawki wprowadzanej do
dzielnikÛw koniecznych do uzyska- rzona jest w 24-bitowym liczniku wyniku.
nia czasu bramkowania rÛwnego (16 bitÛw licznika wewnÍtrznego MoÅ‚liwe jest teÅ‚ wykorzystanie
jednej sekundzie (ze wzglÍdu na i 8 zewnÍtrznego), co pozwala na wyprowadzenia P3.3/INT1 jako ste-
zbyt małą pojemnośĘ licznika). Wy- przedstawienie z rozdzielczością rującego pracą licznika T1 (ustawie-
konywane jest rÛwnieÅ‚ zerowanie 1 Hz maksymalnej czÍstotliwoÅ›ci nie bitu GATE w rejestrze TMOD
licznikÛw zewnÍtrznych (impulsem rÛwnej 16777215 Hz (ponad dla licznika T1) i doÅ‚Ä…czenie go do
wygenerowanym na P3.2). Po tym 16 MHz). W celu zwiÍkszenia dÅ‚u- linii sterujÄ…cej sygnaÅ‚em bramkowa-
nastÍpuje odblokowanie bramki (li- goÅ›ci licznika naleÅ‚aÅ‚oby wykorzys- nia (konieczna zmiana funkcji wy-
nia P3.3) i wÅ‚Ä…czenie odmierzania taĘ flagÍ przepeÅ‚nienia licznika TF0 prowadzeÒ) - powoduje to jednak
czasu impulsu bramkujÄ…cego (wÅ‚Ä…- (lub procedurÍ obsÅ‚ugi przerwania) zwiÍkszenie zapotrzebowania ukÅ‚adu
czenie timera T1). Pomiar przepro- i zrealizowaĘ dodatkowy licznik o jedno wyprowadzenie mikrokontro-
wadzany jest do czasu, ał poprzez programowy - dodanie zmiennej 8- lera, co mołe nie byĘ bez znacze-
procedurÍ obsÅ‚ugi przerwania zosta- bitowej utworzyÅ‚oby licznik 32-bi- nia w przypadku ìmaÅ‚ychî Atmeli.
nie ustawiony bit STOP. WÛwczas towy, ktÛrego pojemnośĘ przekracza W takiej konfiguracji bit TR1 usta-
nastÍpuje zablokowanie bramki juÅ‚ moÅ‚liwoÅ›ci sprzÍtu (taki licznik wiamy na staÅ‚e na ì1î, a licznik T0
i licznika czasu bramkujÄ…cego oraz przepeÅ‚niaÅ‚by siÍ w czasie 1 s jest synchronizowany z bramki
zapamiÍtanie wyniku pomiaru zarÛ- przy czÍstotliwoÅ›ci ponad 4 GHz). czasowej, co zmniejsza bÅ‚Ídy zwiÄ…-
wno z licznikÛw zewnÍtrznych, jak Przedstawiona procedura pomiaru zane z sekwencyjnym, a nie jedno-
i licznika wewnÍtrznego. nie uwzglÍdnia bÅ‚ÍdÛw zwiÄ…zanych czesnym wykonaniem instrukcji wÅ‚Ä…-
Pomiar trwa jednÄ… sekundÍ. ze skoÒczonym czasem wykonywa- czenia licznika i wÅ‚Ä…czenia bramki.
Maksymalna mierzona czÍstotliwośĘ nia siÍ instrukcji w momentach PaweÅ‚ Hadam, EP
zaleły od szybkości zastosowanych uruchamiania i zatrzymywania pro- pawel.hadam@ep.com.pl
Elektronika Praktyczna 1/2004
110


Wyszukiwarka

Podobne podstrony:
kwestionariusz osobowy od 01 01 2004
rozp min zdr z 07 01 2004 ws badań lekarskich kierowców ( )
02 01 116 kolo2 styczen2004
01 04 2004
P 166 A Internet Mobilny LTE 01 16 30 06 16
2004 01 Praca z OpenSSH [Administracja]
2004 01 08 Dec 2 MON – Dokumenty normalizacyjne
ar6 radio `360891  2004
29 12 106 am2 2004 k1
Matematyka dyskretna 2004 01 Podstawowe pojęcia, oznaczenia
2004 01 Pisanie bezpiecznych programów [Programowanie]
2004 06 01
2004 01 Loop AES – szyfrowane systemy plików [Bezpieczenstwo]

więcej podobnych podstron