Mikroprocesorowa Ośla łączka
Ml
187
SHIFTOUT |
Pdane , |
Pzegar |
Zmienna |
, Opcje |
SHIFTIN |
Pdane , |
Pzegar |
Zmienna |
, Opcje |
W ramach kursu mikroprocesorowej Osiej łączki poznaliśmy dość dokładnie budowę mikroprocesora ‘2313, a tym samym masz znakomite podstawy do bliższego zapoznania się z innymi procesorami rodziny AVR. W dotychczasowych ćwiczeniach główny nacisk położony był właśnie na poznanie szczegółów budowy wewnętrznej. Jak zapewne zauważyłeś. BASCOM AVR, prosty język programowania wykorzystywany podczas kursu, będący dialektem popularnego od lat programu BASIC, zawiera szereg poleceń, związanych ściśle z budową układów wewnętrznych mikroprocesorów AVR. Dotyczy to na przykład obsługi pamięci EFPROM, limerów, watchdo-ga, komparatora analoguwegu, itp. Ale nie wszystkie polecenia BASCOM-a /wiązane są z jego budową wewnętrzną. Przykładem są szczegółowo omówione wcześniej polecenia obsługi łącza I*C. Sam procesor nie ma szczególnych obwodów do współpracy z łączem I2C. do komunikacji można wykorzystać dowolne linie portów, a cała obsługa realizowana jest programowo. Tak samo jest przy współpracy z układami I -Wire. Obsługa realizowana jest programowo.
Oprócz rozkazów' dotyczących łącza I2C oraz I -Wire, BASCOM zawiera szereg podobnych bardzo pożytecznych poleceń, nie/wią-zanych z poszczególnymi obwodami procesora. Polecenia tc pozwalają w niezmiernie prosty sposób zrealizować dość złożone zadania, bez wnikania w zagadnienia związane z transmisją czy innymi szczegółami
Polecenia te nie będą analizowane i testowane w ramach szczegółowych ćwiczeń. Niniejsze, ostatnie ćwiczenie nie zawiera recept ani listingów. Sygnalizuje tylko dalsze możliwości i jesl zachętą do samodzielnych ćwiczeń.
Zapoznaj się z wiadomościami zawartymi w ELEMEKTarzu i Techmkaliach. Spróbuj wykorzystać je w praktyce. 1 tak dobrze byłoby, żebyś wiedział o istnieniu pożytecznych poleceń SIIIFTIN, SHIFTOUT. które są znakomitą pomocą przy współpracy z rejestrami i innymi bardziej złożonymi układami, transmitującymi dane szeregowo w takt oddzielnego sygnału zegarowego.
Zapoznaj się z poleceniem RND służącym do generowania liczb losowych z określonego zakresu. Poznaj sposób wytwarzania prostych sygnałów dźwiękowych za pomocą polecenia SOUND i bardzie złożonych, dwutonowych sygnałów telefonicznego standardu DTMF za
SHIFTOUT pozwala w takt impulsów zegarowych wysłać zawartość zmiennej w postaci ciągu bitów. Analogicznie SHIFTIN pozwala wczytać do zmiennej zewnętrzny ciąg bitów
pomocą licznika 'DCI i polecenia DTMFOUT.
W BASCOM ie masz możliwości odbierania i nadawania sygnałów zdalnego sterowania za pomocą poleceń GETRC5, KC5SEND, SONYSEND, wykorzystując scalone odbiorniki TFMS lub SFH oraz diody nadawcze IRED.
Choć są rzadko wykorzystywane, powinieneś wiedzieć o poleceniach GETRC. BIN2GREY, GREY2B1N oraz READMAG-CARD.
Jeśli planujesz wykorzystanie bardzie złożonych systemów mikroprocesorowych, zapoznaj się i przećwicz polecenia dotyczące prostej kilku(nasto)przyciskowej klawiatury CONFIG KBD i GETKBD oraz wypróbuj sposób współpracy z typową klawiaturą od komputera za pomocą dwóch linii i poleceń CONFIG KEYBOARD, GETATKBD. Zapewne zechcesz wtedy wykorzystać nie tylko popularne moduły znakowych wyświetlaczy LCD, ale też wyświetlacze graficzne. BASCOM zawiera dodatkowe polecenia dla takich wyświetlaczy, choćby PSET, LINĘ, CIRCLE, SHOW-P1C, SHOWPICE.
W Technikaliach dowiesz się o możliwościach rozszerzenia możliwości BASCOM a przez skorzystanie z dyrektywy $INCLUDb, przez tworzenie własnych rozkazów, realizowanych jako procedury (SUB) oraz funkcje (FUNCTION). Starannie przeanalizuj też in formacje o dwóch sposobach przekazywania danych BY REF i BYVAL. Być może z czasem wykorzystasz też zmienne lokalne, za mieścisz w programie wstawki asemblerowe oraz stopniowo zbudujesz własne biblioteki.
Nawet jeśli na razie nie skorzystasz z tych możliwości, przeanalizuj podany materiał. Po szerzy to Twoje horyzonty, a może także zachęci Cię do dalszego wgłębiania się w tajniki mikroprocesorów i to nie tylko za pomocą BASCOM-a, ale też asemblera i języka C.
Kurs mikroprocesorowej Oślej łączki dobiega końca. Podstawowym celem kursu było bez holesne nauczenie podstaw programowania mikroprocesorów osób zupełnie niezoriento wanych w tej dziedzinie. Do praktycznych ćwiczeń wykorzystaliśmy znakomite narzędzie - darmową wersję pakietu BASCOM AVR autorstwa Marka Albertsa. Kurs rozpo częty w roku 2002 oparty jest na wers ji BAS-CO\I-AVR DEMO 1.11.6.8. Wszystkie pro gramy kursu zostały rzetelnie sprawdzone
w taki impulsów' zegarowych. Składnia obu poleceń jest podobna:
właśnie przy współpracy / lą wersją W chwili pisania tych słów dostępna jest wersja DEMO 1.11.7.4, w której usunięto pewne błędy i niedoróbki i któia została wzbogacona o liczne pożyteczne polecenia. Wersja la nadal ma nieprzekraczalne ograniczenie do 2kR kodu wynikowego. Spodziewane są leż kolejne wersje DEMO. Z dodatkowymi poleceniami nowszych wersji uczestnicy kursu mogą z powodzeniem zapoznać się we własnym zakresie.
Jak zapewne zauważyłeś, w opcjach kompilatora wykorzystywanej wersji DF.MO można wybrać procesor inny niż nasz 90S2313. Można, ale trzeba pamiętać o ograniczeniach oraz o różnicach w budów ie. a raczej w wyposażeniu poszczególnych procesorów AVR. W ramach kursu poznałeś dość dokładnie Imi-dowę procesora AT90S2313. Inne układy / tej rodziny oprócz różnej wielkości pamięci FLASH. RAM i EEPROM, mają mniej lub więcej portów, timerów i innych bloków sprzętowych. Oczywiście obecność lub brak poszczególnych bloków związany jest leż z rejestrami l/O. Szczegóły poznasz i (mam nadzieję) łatwo zrozumiesz, analizując karty katalogowe poszczególnych procesorów.
Trzeba być elastycznym także z tego względu, że oferta „małych" 8-bitowych procesorów AVR fumy ATMEL dość szybko się zmieniu. Pojawiają się nowe procesory o większych możliwościach, a starsze wersje są stopniowo wycofywane.
Ograniczenia ilości kodu w wersji DEMO do 2kB spowodowały, żc podstawą kursu stał się procesor 90S23I3. Warto wiedzieć, z ograniczenia darmowej wersji DEMO dotyczą też bibliotek, co jest istotne przy tworzeniu bardziej zaawansowanych programów. Jedynie ciągle rozwijana i gwarantująca wsparcie producenta pełna wersja pakietu BASCOM AVK umożliwia prawidłowe wykorzystanie większych procesorów rodziny AVR.
Dlatego osoby zainteresowane dalszym rozwojem powinny zainteresować się pełną wersją BASCOM-a, ewentualnie promocyjnymi wersjami oferowanymi przez AVT.
Elementarny kurs programowania mikroprocesorów dobiegł końca. Wszystkich uczestników zachęcam dla dalszego zgłębiania tajników tych jakże pożytecznych kostek. Życzę sukcesów w praktycznym wykorzystaniu rozmaitych procesorów.
Piotr Górecki
Wykorzystywane są dwie końcówki procesora (Pdane. Zegar). Jedna to końcówka danych: wejście (SHIFTIN) albo tez wyjście danych (SHIFTOUT).
38 Kwiecień 2005 Elektronika dla Wszystkie!