background image

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

background image

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