Projekty AVT
Mikrokomputer PECEL
Mikrokomputer PECEL
z procesorem
z procesorem
AT90S8535
AT90S8535
2550/P
2550/P
Część 4
Oczywiście, program przedstawiony w po- Napisany program kompilujemy i na że musimy jeszcze poruszyć temat obiecanej
przednim odcinku ma tylko jedno zastosowa- wszelki wypadek testujemy w symulacji pro- niespodzianki, podam Wam tylko jeden
nie: pokazanie że nawiązanie łączności po- gramowej (rysunek 20). Uruchamianie emu- przykład. Obiecuję, będzie to przykład wy-
między dwoma komputerami jest możliwe latora programowego niczym się nie różni od jątkowo spektakularny!
i sprawdzenie poprawności konfiguracji uży- podobnej operacji dokonywanej
wanych do transmisji narzędzi. Poza tym nie w środowisku BACOM-a 8051
służy on do niczego. Aby jednak móc napisać i którą opisywaliśmy w BASCOM
bardziej rozbudowany program, musimy College. Jeżeli nie popełniliśmy błę-
wreszcie zapoznać się choćby z podstawo- du, to powinniśmy nawiązać z PE-
wymi poleceniami programowymi języka CEL-em dwustronną łączność.
MCS BASIC służącymi przekazywaniu in- Aby się upewnić, czy nasz program
formacji poprzez łącze RS232. działa poprawnie otwieramy okienko
Podstawowymi poleceniami języka MCS monitora portu RS232 i odpowiadamy
BASIC stosowanymi podczas wymiany da- na pytanie zadane przez PECEL-a.
nych poprzez interfejs RS232 są: Tekst wprowadzamy z klawiatury
PRINT [zmienna, wartość, zmienna komputera, a następnie potwierdzamy
tekstowa lub tekst] podanie imienia za pomocą klawisza
pozwalające wysłać do portu szeregowego ENTER (rysunek 21). Czytelnikom
komputera dowolną wartość, zmienną licz- pozostawiam odpowiedz na pytanie,
bową lub tekstową, oraz w jaki sposób procesor określa płeć
INPUT [opcjonalny tekst zachęty], rozmówcy i jakie trzy męskie imiona
[zmienna liczbowa lub tekstowa] mogą wprowadzić go w błąd.
które umożliwią ręczne przesłanie informa- No tak, przełomowy moment ma-
cji poprzez port szeregowy do systemu mikro- my już za sobą: PECEL potrafi poro-
procesorowego. Jeżeli polecenie INPUT zo- zumiewać się z PECET-em! Pozosta-
stanie zastosowane łącznie z tekstem zachęty je jednak otwarte pytanie, do czego
podanym w cudzysłowie, to tekst ten zostanie to można wykorzystać? Przecież Rys. 20
wyświetlony na ekranie terminala komputera. chyba nie do pisania prostych, za-
Czy jednak to drugie polecenie naprawdę bawkowych programików? Otóż, Rys. 21
działa? Aby to sprawdzić, napiszmy sobie z pewnością komunikacja pomię-
prosty programik: dzy dwoma komputerami nie bę-
dzie wykorzystywana tylko do
$crystal = 8000000
błahych spraw. Wprost przeciw-
$baud = 19200
nie, wykorzystując narzędzia,
Dim Name$ As String * 10
z którymi zapoznaliśmy się przed
Do
chwilą, będziemy mogli zbudo-
Print " Jestem PECEL"
Input "Jak masz na imię? " , Name$
wać, a właściwie zaprogramować
Print "Witaj " ; Name$ ; "!"
wiele bardzo poważnych urzą-
Print "Wiem że jesteś ";
dzeń, a przede wszystkim zestaw
If Right(name$ , 1) = "a" Then
przyrządów laboratoryjnych
Print "kobietą"
Else o ogromnych możliwościach. Te-
Print "mężczyzną"
matowi temu poświęcona będzie
End If
większa połowa kolejnej części
Loop
tego artykułu, na razie, pamiętając
Elektronika dla Wszystkich
22
Projekty AVT
Mam nadzieję, że dysponujecie choćby cych wynik pomiaru, wyświetlane wartości są LOG, ponieważ otwiera on drogę do niezna-
jednym egzemplarzem popularnego termo- dziesięciokrotnie zawyżone, tj. zamiast np. nych dotąd, rewelacyjnych możliwości BA-
metru cyfrowego typu DS1820? Jeżeli nie, to 28,3 stopni wyświetlane jest 283. Nie przej- SCOM-a. Wykonajmy kolejno następujące
warto zakupić nawet kilka sztuk tych tanich mujmy się tym jednak, za chwilę okaże się, że czynności:
i niezwykle użytecznych elementów. Przyda- w niczym nie będzie nam to przeszkadzać. 1. Zresetujmy minikomputer bądz za pomo-
dzą się nam wielokrotnie, nie tylko podczas Pobawmy się teraz chwilę tak wykonanym cą dodanego przycisku, bądz za pomocą
nauki programowania PECEL-a. Jeden taki termometrem, sprawdzając czy prawidłowo wyłączenia i włączenia zasilania.
termometr podłączamy do złącza CON6 mi- reaguje na podgrzanie i ochładzanie czujnika. 2. Kliknijmy na przycisk OPEN LOG. Spo-
nikomputera, dokładnie tak, jak pokazano na woduje to pojawienie się na ekranie
rysunku 22. Następnie piszemy kolejny pro- okienka, w którym musimy podać nazwę
gram, kompilujemy go i programujemy nim pliku, do którego zapisywane będą wszel-
procesor. Programu tego nie będę komento- kie dane przechodzące przez monitorowa-
wał, ponieważ procedury odczytu danych ny port COM.
z termometrów DS1820 zostały już opisane 3. Po nadaniu nazwy pliku zamykamy
w ramach kursu BASCOM College. okienko OPEN LOG i naciskamy klawisz
W tym memencie ENTER. Od tego momentu wszystkie in-
$crystal = 8000000
muszę wspomnieć formacje ukazujące się na ekranie monito-
$baud = 19200
Config 1wire = Pind.6
o jednej, dość wsty- ra będą także zapisywane w pliku o poda-
Dim Bd(9) As Byte
dliwej sprawie. Mo- nej przez nas nazwie.
Dim Tmp As Byte
Dim T As Integer
je, legendarne już Rys. 22 4. Pomęczmy teraz trochę nasz termometr.
Dim T1 As Integer
roztargnienie dało je- Osobiście polecałbym serię sadystycz-
Dim Reg_no(8) As Byte
szcze raz o sobie, Declare Sub Read1820 Rys. 23 nych eksperymentów polegających na
Input "Naciśnij klawisz
tym razem owocując przypiekaniu go lutownicą lub innym go-
ENTER", tmp
rącym przedmiotem. Zwracajmy jednak
przeoczeniem pew- " Uwaga! Wydanie
U
W
polecenia INPUT
I
nego elementu, uwagę, aby temperatura czujnika nie prze-
powoduje wstrzymanie
w
którego umieszcze- kroczyła 120 stopni (na ekranie liczba
pracy programu do
p
d
momentu naciśnięcia
n
nie w konstrukcji 1200!).
klawisza ENTER
E
PECEL-a byłoby jak 5. Po upływie 1 ... 2 minut kliknijmy ponow-
Do
nie na przycisk na krawędzi terminala i tym
najbardziej wskaza- 1wwrite &HCC
1wwrite &H44
ne. Mam tu na myśli razem wybierzmy opcję CLOSE LOG.
Wait 1
przycisk służący do Read1820 Możemy teraz zapoznać się z treścią pli-
Print T
ręcznego resetowa- ku, w którym zapisaliśmy wyniki pomiarów
Loop
nia procesora. W temperatury. To już zaczyna być interesujące:
Sub Read1820
1wreset
warunkach normal- mamy tam dokładny zapis zmian temperatury
1wwrite &HCC
nej eksploatacji taki odbywającego się na określonym odcinku
1wwrite &HBE
Bd(1) = 1wread(9)
element nie byłby Myślę, że część Czytelników jest nieco czasu, a pomiary dokonywane były mniej
1wreset
specjalnie użyteczny, rozczarowana: tyle zachodu, aby zbudować więcej co 1 sekundę. Oczywiście, ten skrom-
Tmp = Bd(1) And 1
ale podczas prowa- If Tmp = 1 Then prosty termometr! Poczekajcie jednak chwi- ny sposób zapisu możemy metodami progra-
Decr Bd(1)
dzenia eksperymen- lę, a już teraz mogę Wam przypomnieć, że mistycznymi dowolnie rozbudować. Możemy
T = Makeint(bd(1) ,
tów jego zastosowa- Bd(2))
zbudowaliśmy termometr, ale nie taki znowu do każdego pomiaru dodać informację o cza-
T = T * 50
nie może znacznie byle jaki: do PECEL-a możemy przecież do- sie jego dokonania, możemy dowolnie zmie-
T = T - 25
usprawnić pracę. łączyć absolutnie dowolną ilość czujników niać częstotliwość dokonywanych pomiarów,
T1 = Bd(8) - Bd(7)
Wyłączanie i ponow- T1 = T1 * 100
DS1820, pracujących na jednym, wspólnym możemy też wreszcie zastosować dowolną
T1 = T1 / Bd(8)
ne włączanie zasila- przewodzie. To tego tematu powrócimy je- ilość czujników i ich wyniki zapisywać w od-
T = T + T1
nia w celu rozpoczę- T = T / 10 szcze w przyszłości, a na razie chciałbym po- dzielnych kolumnach. Teraz chyba mogliście
End Sub
cia pracy programu kazać Wam coś innego. zorientować się, jakie możliwości daje trans-
jest dość uciążliwe, Otwórzmy teraz po raz kolejny okienko misja danych z PECEL-a do komputera PC.
a dodanie przycisku RESET, niekoniecznie terminala portu RS232 i zajmijmy się dodat- W najbliższej przyszłości zaprogramujemy
umieszczonego na płycie czołowej będzie kowymi przyciskami umieszczonymi na jego PECEL-a tak, aby stał się wszechstronnym
czynnością bardzo prostą. Jako taki element górnej krawędzi (rysunek 24). Najbardziej laboratoryjnym przyrządem pomiarowym.
możemy wykorzystać zwykły microswitch lub powinien nas zainteresować przycisk OPEN Połączenie z komputerem da nam wtedy moż-
dowolny inny przycisk monostabilny o niewiel- liwość zapisywania wyników wszelkich po-
kich wymiarach, dołączony do PECEL-a zgo- Rys. 24 miarów i archiwizowania ich w celu pózniej-
dnie ze schematem pokazanym na rysunku 23. szego wykorzystania. Ale czy
Otwieramy teraz po raz kolejny okienko tylko archiwizowania? Przecież
terminala RS232 i albo naciskamy dodany do dane uzyskane z PECEL-a może-
układu przycisk RESET, albo wyłączamy my poddać dalszej obróbce, wy-
i ponownie włączamy zasilanie PECEL-a. korzystując w tym celu arkusze
Na ekranie monitora ukaże się napis zachęca- kalkulacyjne czy też edytory gra-
jący do naciśnięcia klawisza ENTER, co też ficzne pracujące pod kontrolą
bez obaw możemy natychmiast uczynić. MS WINDOWS. Nie mogę się
Zgodnie z przewidywaniami na ekranie po prostu powstrzymać, aby nie
rozpoczęło się cykliczne wyświetlanie zmie- zaprezentować Wam kolejnego,
rzonej przez DS1820 temperatury. Ponieważ spektakularnego pokazu możli-
w programie zabrakło poleceń przeliczają- wości, jakie dostaliśmy do rąk.
Elektronika dla Wszystkich
23
Projekty AVT
Dane opisujące barbarzyński eksperyment wiek ćwiczeń czy prac domowych do odro- i naciśnięcie na strzałkę włączającą symula-
z przypiekaniem nieszczęsnego czujnika lu- bienia. Mam jednak prośbę: może zechcieli- cję. Następnie możemy już przeprowadzić te-
townicą przeniosłem jako plik ASCII do ar- byście w wolnej chwili przepisać do edytora sty klawiatury za pomocą uniwersalnego
kusza kalkulacyjnego MS EXCEL. Następ- BASCOM-a program, którego listing został emulatora sprzętowego, który w tym mo-
nie wyniki pomiarów zostały podzielone zamieszczony poniżej. mencie dostaliście do dyspozycji. Nie będzie
przez 10. Wykonanie z tak przetworzonych Program ten nie jest mojego autorstwa, nie już potrzebne wielokrotne przeprogramowy-
danych wykresu sprowadziło się już tylko do mogę wiec go ani zmieniać ani komentować. wanie procesora w celu przetestowania drob-
kilku kliknięć myszką, a efekt wszystkich Tak wiec, po prostu przepiszcie go, nie wnika- nych zmian w programie. Wszystkie testy bę-
tych operacji nie trwających dłużej niż minu- jąc na razie w jego treść. Następnie poproszę dziemy mogli przeprowadzić w real world
tę został pokazany na rysunku 25. Wygląda Was o skompilowanie tego programu i wpisa-
ciekawie, prawda? Na wykresie widać nawet nie go do pamięci procesora. Uprzedzam, że
krótki moment wahania, w którym chciałem bezpośrednio po wykonaniu tej czynności spo-
dać już spokój dręczonemu czujnikowi, ale tka Was przykre rozczarowanie: PECEL nie
ostatecznie postanowiłem torturować go będzie dawał żądnych widocznych z zewnątrz
nadal. oznak życia . Następnie połączcie ponownie
PECEL-a z komputerem za pomocą złącza
Rys. 25 RS232 i na wszelki wypadek odłączmy od nie-
go kabel programatora.
'MONITOR SYMULACJI
SPRZTOWEJ
$regfile = "8535def.dat"
$crystal = 8000000
Rys. 26
$baud = 57600
Dim Krk As Byte
Dim Adr As Word
Rys. 27
Dim Adrl As Byte , Adrh
As Byte
Dim Vl As Byte
Moi Drodzy, to tylko prosty, najprostszy
Do
przykład możliwości PECEL-a używanego Krk = Inkey()
If Krk = "T" Then
w roli inteligentnego terminala komputero-
Print Chr(13);
wego. W najbliższym czasie zajmiemy się
Elseif Krk = "W" Then
Adr = Waitkey()
szerzej tym tematem, ale dopiero po omówie-
Vl = Waitkey()
niu wszystkich (lub prawie wszystkich) me-
Out Adr , Vl
Print Chr(13);
tod programistycznych stosowanych przy pi-
Elseif Krk = "R" Then
saniu programów na nasz minikomputer.
Adr = Waitkey()
Do tej pory mówiliśmy o dwukierunkowej Vl = Inp(adr)
Print Chr(vl);
transmisji danych pomiędzy komputerem
Elseif Krk = "O" Then
a procesorem wyłącznie w kontekście ewen- Adrl = Waitkey()
Adrh = Waitkey()
tualnej budowy urządzeń wykorzystujących
Vl = Waitkey()
taką wymianę informacji. Istnieje jednak je-
Adr = Adrh * 256
Adr = Adr + Adrl
szcze jedno zastosowanie łącza RS232, ge-
Out Adr , Vl
nialnie upraszczające odpluskwianie i testo-
Print Chr(13);
End If
wanie pisanego oprogramowania. Transmisję
Loop
szeregową możemy wykorzystać jako narzę-
dzie do podglądania pracującego programu,
i to na żywo , w jego naturalnym środowi- Kolejną czynnością będzie napisanie proste-
sku. Wystarczy nieraz, w punkcie programu, go programu, wykorzystującego np. wyświe-
którego działania nie jesteśmy pewni, dopisać tlacz alfanumeryczny LCD i klawiaturę szes-
instrukcje wysyłające na ekran terminala np. nastkową. Nie musi to być jakiś nowy
informacje o wartości pewnych zmiennych, i skomplikowany program, na początek zu-
od których w decydujący sposób zależy dzia- pełnie wystarczy prosty programik, który już
łanie programu. Z kolei, jeżeli chcemy przete- wykorzystywaliśmy do demonstracji obsługi
stować program zmieniając zdalnie para- wyświetlacza LCD i klawiatury. Tu bardzo
metry jego pracy, to stosując instrukcję ważna uwaga: na samym początku pro-
INPUT możemy w wybranych momentach gramu napiszcie $SIM ! Następnie skom-
zmieniać wartości wybranych zmiennych. pilujcie ten program, ale w żadnym wypad-
Omawianie podstawowych zagadnień ku nie ładujcie go do pamięci procesora!
związanych z transmisją danych poprzez złą- Kolejną czynnością będzie wykonanie Rys. 28
cze RS232 zajęło nam tyle miejsca, że już drobnej zmiany w konfiguracji BASCOM-a.
niewiele go pozostało na opisanie niespo- Musimy zmienić uprzednio ustawioną pręd- wyłącznie w symulacji sprzętowej.
dzianki, jaką dla Was przygotowałem. Tak kość transmisji danych poprzez złącze RS232 Poruszony temat jest tak obszerny, że jego
więc z konieczności omówimy tę sprawę z 19200 na 57600 baud (rysunek 26). kontynuację odkładamy do dalszej części ar-
w największym skrócie, pozostawiając resztę No i wreszcie dochodzimy do końca: pozo- tykułu o minikomputerze PECEL.
do następnego numeru EdW. stało nam już tylko otworzenie okienka sy-
Opis PECEL-a nie jest BASCOM College mulatora (klawisz F2), kliknięcie na ikonkę Zbigniew Raabe,
i nie mam prawa zadawać Wam jakichkol- włączania symulacji sprzętowej (rysunek 27) zbigniew.raabe@edw.com.pl
Elektronika dla Wszystkich
24
Wyszukiwarka
Podobne podstrony:
Mikrokomputer Pecel z procesorem AT90S8535 cz 3Mikrokomputer Pecel z procesorem AT90S8535 cz 2Metody modelowania procesow 12 cz I (1)Mikrokontrolery To takie proste, cz 15 (układ licznikowy w 8052C & specjalne tryby pracy 8051)Analiza śladów genetycznych jako dowód w procesie karnym – cz I7 Proces Templariuszy Cz 49 Proces Templariuszy Cz 6Mikrokontrolery to takie proste cz 03Metody modelowania procesow 12 cz IIMetody modelowania procesow 12 cz IIIMikrokontrolery To takie proste, cz 14 (opis układów licznikowych oraz układu przerwań 8051 c d )6 Proces Templariuszy Cz 3więcej podobnych podstron