18
Elektronika dla Wszystkich
Do czego to służy?
Na początku stycznia zadzwonił do mnie pe-
wien Czytelnik, który napotkał kłopoty przy
próbie dołączenia wyświetlacza LCD do pro-
cesora AVR (‘8535). Przez telefon nie sposób
było ustalić przyczyny. Mógł nią być błąd
w programie albo też błędne podłączenie lub
uszkodzenie wyświetlacza. Poradziłem, żeby
przede wszystkim sprawdził, czy procesor
wysyła informację na linie portu procesora,
do których jest dołączony wyświetlacz.
Można to zrobić w różny sposób. Po
chwili namysłu doszedłem do wniosku, że
podobne problemy z pewnością napotka wie-
lu Czytelników, piszących własne programy.
Aby ułatwić im życie, postanowiłem zapro-
jektować monitor stanu portów procesora.
Chodzi o to, żeby podczas pracy programu
można było łatwo sprawdzić, co dzieje się na
poszczególnych liniach portów.
W przypadku wielu procesorów, w tym
rodziny ‘51, nie ma żadnego problemu, bo na
porcie może wystąpić jeden z dwóch stanów.
Monitorem stanu danej końcówki może być
dioda LED i rezystor szeregowy włączone
między daną końcówkę a dodatnią szynę za-
silania. Z portami procesorów AVR sprawa
jest trudniejsza, bo mogą tam występować
nie dwa, tylko cztery różne stany - szczegóły
można znaleźć w odcinku Mikroprocesoro-
wej Oślej łączki w numerze 1/2003. Opisany
dalej monitor pozwala określić nie tylko spo-
czynkowy stan danej końcówki, ale też zmia-
ny stanów podczas pracy programu.
Jak to działa?
Rysunek 1 pokazuje schemat ideowy układu
monitora, ściślej - monitor stanu jednej linii.
Punkt PORT należy dołączyć do badanej linii
portu procesora AVR, a punkty VCC i GND
podłączyć do napięcia zasilającego procesor.
Aby rozróżnić cztery stany (dwa przy pracy
w roli wyjścia, dwa - jako wejścia) potrzebne
są co najmniej dwie diody LED. Gdy koń-
cówka pracuje jako wejście „pływające”, nie
świeci żadna z diod. Sytuacja jest taka, jakby
punkt PORT pozostał niepodłączony. Aby
lampki nie świeciły, suma napięć przewodze-
nia diod i złącza baza-emiter tranzystora mu-
si być większa od napięcia zasilania. Ponie-
waż niektóre żółte diody LED zaczynają za-
uważalnie świecić już przy napięciu 1,7V,
koniecznie jest zastosowanie szeregowych
diod D1...D4. Wtedy na pewno przy napięciu
zasilania do 5,5V żółte diody LED1 i LED2
nie będą świecić.
Gdy sprawdzana końcówka pracuje jako
wyjście, procesor ustawia tam „czysty” stan
wysoki albo niski, co odpowiada dołączeniu
punktu PORT do plusa zasilania albo do ma-
sy. Znaczny prąd płynie przez rezystor R1 i
jasno świeci jedna z diod LED1, LED2. Przy
stanie wysokim wyjścia – LED2, przy niskim
– LED1. Tranzystor T1 praktycznie nie od-
grywa wtedy żadnej roli.
Gdy badana końcówka jest wejściem
„podciągniętym”, panuje na niej w spoczyn-
ku stan wysoki, ale wydajność prądowa jest
mała (znacznie poniżej 1mA). Właśnie dzię-
ki zdecydowanie różnej wydajności prądo-
wej „podciągnięte” wejście można skutecz-
nie odróżnić od wyjścia w stanie wysokim.
Pomaga w tym tranzystor T1 i dodatkowy re-
zystor R2. Mianowicie z badanej końcówki
przez rezystor R1 płynie wtedy bardzo mały
prąd, ale otwiera on tranzystor T1 i przez dio-
dę LED2 płynie prąd o wartości wyznaczonej
przez R2. Wartość R2 jest tak dobrana, żeby
prąd ten wynosił 1mA lub mniej. Tym sa-
mym, gdy badana końcówka jest wejściem
„podciągniętym”, świeci LED2, ale ze znacz-
nie zmniejszoną jasnością, wyznaczoną przez
wartość rezystora R2. W ten sposób jasność
świecenia LED2 pokazuje, czy chodzi
o „prawdziwy” wysoki stan wyjścia (jasne
światło), czy o „podciągnięcie” wejścia (świe-
cenie słabe, ale wyraźnie zauważalne). Rezy-
stor R3 jest potrzebny, żeby układ nie reagował
na prądy upływu, mniejsze niż 5µA.
Na rysunku 2 pokazane są reakcje moni-
tora na wszystkie cztery możliwe stany linii
portu i rozpływ prądów.
Oczywiście, gdy porty będą pracować
w roli wyjść i gdy będą się na nich szybko
zmieniać stany, będą świecić obie lampki.
Świecenie obu lampek świadczy więc, że na
badanej końcówce występuje przebieg impul-
sowy, a stosunek jasności lampek wskaże
współczynnik wypełnienia tego przebiegu.
Uwaga! W proponowanej wersji układ
przeznaczony jest do pracy przy napięciu
zasilania w granicach 5V±0,5V. Jeśli proce-
sor miałby pracować przy innym napięciu za-
silania albo z diodami LED o innym napięciu
przewodzenia, należy zmienić liczbę szere-
gowych diod krzemowych (D1...D4), by
przy odłączonym punkcie PORT nie świeciła
żadna z diod LED. Zwłaszcza w przypadku
użycia diod czerwonych, mających niższe
napięcie przewodzenia, może zajść potrzeba
dodania diod krzemowych
Warto dodać, że najprostszy monitor sta-
nu portów procesora AVR można zbudować
według rysunku 3. Działanie będzie iden-
tyczne, jak układu z rysunku 1, tylko przy
wejściu „podciągniętym” jasność świecenia
LED2 będzie bardzo mała.
+
+
M
M
o
o
n
n
i
i
t
t
o
o
r
r
p
p
o
o
r
r
t
t
ó
ó
w
w
A
A
V
V
R
R
Rys. 1 Schemat ideowy
19
Elektronika dla Wszystkich
Kto chciałby wypróbować taki prosty
układ, powinien zastosować diodę LED2
z przezroczystą soczewką, żeby można było
dostrzec to znikome świecenie przy prądzie
diody rzędu 0,1mA.
Montaż i uruchomienie
Do tak prostego układu nie przewidziano płyt-
ki drukowanej. Wszyscy uczestnicy kursu mi-
kroprocesorowej Oślej łączki powinni wyko-
nać przynajmniej jednokanałowy tester we-
dług rysunku 1, choćby w postaci „pająka”, jak
na fotografii wstępnej. Aby dołączyć monitor
do badanej końcówki portu, warto wykorzy-
stać jedną końcówkę z listwy z gniazdkami.
Kto chce, może zmontować kilka, nawet
osiem, kanałów, by uzyskać prosty analizator
stanów.
Aby wstępnie sprawdzić działanie testera,
można wykorzystać programik MonPort.bas
z naszej strony internetowej. Należy dołą-
czyć wejście monitora (PORT) do punktu D0
(zacisk ARK lub dolna szpilka zwory J5), jak
pokazuje rysunek 4.
Piotr Górecki
Wykaz elementów
monitora jednokanałowego
R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220Ω
R2 . . . . . . . . . . . . . . . . . . . . .3,3kΩ (2,2...6,8kΩ)
R3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100kΩ
LED1,LED2 . . . . . . . . . . . . . . . . . . . . . .żółta 3mm
T1 . . . . . . . . . . . . . . . . . . . . .BC548 lub podobny
D1...D4 . . . . . . . . . . . . . . . . . . . . . . . .1N4001...7
(wspólne dla wszystkich kanałów)
Rys. 3
R
R
y
y
s
s
.
.
4
4
Rys. 2
Ciąg dalszy ze strony 17.
Przyciski szybkiego wyboru w programie są
tworzone wirtualnie, to znaczy, że mogą one
mieć wartości inne niż wartości przycisków
szybkiego wybierania znajdujące się w zasi-
laczu. Dzięki temu istnieje możliwość zwięk-
szenia liczby przycisków wyboru aż do 16.
Przyciskiem „MODE” można zmienić war-
tości wskazywane przez przyciski wyboru na
prąd lub napięcie. Aby program poprawnie
pracował, należy go skonfigurować. Konfi-
guracja będzie polegać na zmianie pliku te-
kstowego, w którym zawarty jest numer po-
rtu oraz napięcia i prądy przypisane wirtual-
nym przyciskom wyboru. Wygląd te-
go pliku konfiguracyjnego przedsta-
wia rysunek 9. Pierwsza wartość
wskazuje na numer portu i jeżeli bę-
dzie to COM1, to „1”, a jeżeli COM2,
to należy wpisać „2”. Pozostałe warto-
ści przypisywane są klawiszom od 1
do 8 w kolejności, w jakiej znajdują
się w tym pliku. Po wartościach na-
pięć podawane są wartości prądów.
Dla uniknięcia błędów, nowe wartości
ustawień należy
podawać w takiej
formie w jakiej
znajdują się w do-
łączonym pliku
„ustaw.txt”. Pro-
gramowy przy-
cisk „OUT” załą-
cza napięcie do
obciążenia, nato-
miast przycisk
„Power” jest wir-
tualnym wskaźni-
kiem zasilania,
który należy za-
wsze włączyć, by program zaczął działać. Na
rysunku 10 przedstawiam program dostoso-
wany do drugiej wersji programu zapisanego
w 89C4051, który jest odzwierciedleniem
płyty czołowej zasilacza.
Należy zauważyć, że w dołączonym pro-
gramie obsługi zasilacza pobierany prąd jest
wskazywany w drugiej linii, nie ma tam prze-
łącznika trybu wyświetlania. Napisany przeze
mnie program można udoskonalić. Jak było
wspomniane, program zawarty w 89C4051
napisany został w rewelacyjnym BASCOM-
ie, przy czym 4kb zawarte w mikrokontrole-
rze zostały wykorzystane całkowicie. Działa-
nie programu nie jest skomplikowane, gdyż
polega w znacznej części na obsłudze kla-
wiatury, komunikacji z RS232, przetworni-
kami i wyświetlaczem LCD.
Marcin Wiązania
P.S. Pliki programów oraz rysunki płytek
drukowanych można ściągnąć ze strony in-
ternetowej EdW.
Rys. 9
Rys. 10