plik


ÿþMINISTERSTWO EDUKACJI i NAUKI Rafa³ Nowak Analizowanie dzia³ania uk³adów mikroprocesorowych 311[50].O1.06 Poradnik dla ucznia Wydawca Instytut Technologii Eksploatacji T Pañ stwowy Instytut Badawczy Radom 2005 ___________________________________________________________________________  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego Recenzenci: mgr in¿. Henryk Krystkowiak mgr in¿. Bogdan Chmieliñski Opracowanie redakcyjne: mgr in¿. Katarzyna Maækowska Konsultacja: dr in¿. Janusz Figurski Korekta: mgr Joanna Iwanowska Poradnik stanowi obudowê dydaktyczn¹ programu jednostki modu³owej 311[50].O1.06. Analizowanie dzia³ania uk³adów mikroprocesorowych zawartego w modu³owym programie . nauczania dla zawodu technik mechatronik Wydawca Instytut Technologii Eksploatacji T Pañstwowy Instytut Badawczy, Radom 2005  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 1 SPIS TRERCI 1. Wprowadzenie 3 2. Wymagania wstêpne 4 3. Cele kszta³cenia 5 4. Materia³ nauczania 6 4.1. Mikroprocesory T struktura i charakterystyka 6 4.1.1. Materia³ nauczania 6 4.1.2. Pytania sprawdzaj¹ce 14 4.1.3. Æ wiczenia 14 4.1.4. Sprawdzian postêpów 15 4.2. Podzia³ ogólny i zastosowanie mikroprocesorów 16 4.2.1. Materia³ nauczania 16 4.2.2. Pytania sprawdzaj¹ce 21 4.2.3. Æ wiczenia 21 4.2.4. Sprawdzian postêpów 22 4.3. Programowanie mikroprocesorów 23 4.3.1. Materia³ nauczania 23 4.3.2. Pytania sprawdzaj¹ce 34 4.3.3. Æ wiczenia 34 4.3.4. Sprawdzian postêpów 35 5. Sprawdzian osi¹gniêæ 36 6. Literatura 39  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 2 1. WPROWADZENIE Poradnik bêdzie Ci pomocny w przyswajaniu wiedzy z zakresu budowy i zasady dzia³ania podstawowych mikroprocesorów, ich zastosowania, wspó³pracy z powszechnie stosowanymi urz¹dzeniami peryferyjnymi. Bêdzie on równie¿ przydatny w przyswajaniu wiadomoSci z zakresu podstaw programowania mikroprocesorów. W poradniku zamieszczono: wymagania wstêpne, czyli spis umiejêtnoSci, jakie musisz posiadaæ na wstêpie kursu - dotycz¹cego analizowania dzia³ania uk³adów mikroprocesorowych, - cele kszta³cenia bêd¹ce spisem umiejêtnoSci jakie powinieneS nabyæ w wyniku procesu kszta³cenia, - materia³ nauczania, zbiór wiadomoSci teoretycznych, bêd¹cych niezbêdnym minimum pozwalaj¹cym osi¹gn¹æ cele kszta³cenia, zestaw pytañ T daj¹cy Ci mo¿liwoSæ sprawdzenia opanowanych wiadomoS ci - æwiczenia pomocne bêd¹ w weryfikowaniu Twojej praktycznej oraz teoretycznej wiedzy, - - sprawdzian osi¹gniêæ, przyk³adowy zestaw pytañ testowych; zaliczenie testu mo¿e utwierdziæ Ciê w przekonaniu, i¿ zadowalaj¹co opanowa³eS materia³ tej jednostki modu³owej, literaturê uzupe³niaj¹c¹. - W celu prawid³owego wykorzystania przeznaczonego dla Ciebie poradnika powinieneS: - zapoznaæ siê z odpowiedni¹ czêSci¹ mater ia³u nauczania, - przeanalizowaæ zestaw æwiczeñ przeznaczonych do wykonania, - opracowaæ odpowiedzi do zamieszczonych pytañ sprawdzaj¹cych, - przeanalizowaæ zamieszczony zestaw pytañ testowych.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 3 2.WYMAGANIA WSTÊPNE Przystêpuj¹c do realizacji programu jednostki modu³owej powinieneS umieæ: opisywaæ budowê i dzia³anie podstawowych elementów elektronicznych, - czytaæ proste schematy elektryczne, - - stosowaæ algebrê Boole a, - zapisywaæ liczby w ró¿nych systemach, definiowaæ pojêcia: stan wysoki, stan niski, - omawiaæ dzia³anie cyfrowych uk³adów kombinacyjnych, - - omawiaæ dzia³anie cyfrowych uk³adów sekwencyjnych, - rozró¿niaæ technologie wykonywania uk³adów cyfrowych, - tworzyæ proste algorytmy.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 4 3. CELE KSZTA£CENIA W wyniku realizacji programu jednostki modu³owej powinieneS umieæ: omówiæ budowê typowych mikroprocesorów, - - rozpoznaæ poszczególne elementy wchodz¹ce w sk³ad systemu mikroprocesorowego, - sklasyfikowaæ mikroprocesory ze wzglêdu na ich budowê i zastosowanie, - napisaæ proste programy w wybranym jêzyku programowania, s³u¿¹ce do przesy³u danych w systemie mikroprocesorowym, napisaæ proste programy w wybranym jêzyku programowania, s³u¿¹ce do wykonywania - podstawowych operacji matematycznych, - wykonaæ czynnoSci zwi¹zane z procesem asemblacji i ³adowania programu do pamiêci procesora.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 5 4. MATERIA£ NAUCZANIA 4.1. Mikroprocesory T struktura i charakterystyka 4.1.1. Materia³ nauczania Mikroprocesory T definicje podstawowe Mikroprocesor (procesor), (rys.1) jest to uk³ad scalony o wielkiej skali integracji przetwarzaj¹cy sygna³y cyfrowe, którego funkcjonowanie jest w pe³ni sterowane pobieranymi z pamiêci wewnêtrznej lub zewnêtrznej rozkazami (poleceniami wykonywanymi przez mikroprocesor). Ogó³ rozkazów, przetwarzanych przez mikroprocesor, napisany przez cz³owieka w odpowiedniej kolejnoS ci oraz w odpowiedni sposób nazywamy programem. Znajduje siê on w pamiêci programu i jest wykonywany przez procesor, a co najwa¿niejsze, mo¿e byæ dowolnie zmieniany przez u¿ytkownika. Rys. 1. Przemys³owe mikroprocesory jednouk³adowe Strukturê wewnêtrzn¹ (architekturê) mikroprocesora przedstawiono na rys. 2. Sercem systemu jest jednostka arytmetyczno-logiczna (ALU), wewn¹trz której wykonywane s¹ matematyczne operacje arytmetyczno-logiczne, bêd¹ce ¿mudn¹ prac¹ mikroprocesora. Widocznym dowodem pracy jednostki ALU mo¿e byæ np. kontrola procesu produkcyjnego, pomiar i wyS wietlanie temperatury itd. Wszelkie wyniki uprzednio przeprowadzonych obliczeñ przechowywane s¹ w specjalnie wydzielonej, do tego celu, czêSci mikroprocesora (rejestrze)T zwanym akumulatorem (A). Przy budowie mikroprocesora wykorzystano system magistralowego (szynowego) przekazywania informacji. Polega on na tym, ¿e wszystkie bloki funkcjonalne wewnêtrznego systemu mikroprocesorowego pod³¹czone s¹ do trzech magistral (szyn): T szyny adresowej, T szyny danych, T szyny sterownia. Wszelkie dane znajduj¹ce siê w magistrali danych s¹ kierowane w konkretne miejsce (decyduje o tym uprzednio napisany program) T pod adres wskazany przez uk³ad steruj¹cy oraz przy pe³nym wykorzystaniu szyny adresowej. To, czy informacja ma byæ przekazana do szyny danych, czy z szyny danych, generalnie decyduje o tym stan rejestru adresów (stan szyny adresowej).  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 6 Wykonywanie programu przez mikroprocesor polega na cyklicznym pobieraniu rozkazów z pamiêci w rytm odmierzany przez generator taktuj¹cy. Generator ten wytwarza przebieg o pewnej, z góry ustalonej czêstotliwoSci wp³ywaj¹cej na wydajnoSæ ca³ego systemu. Do wykonania ró¿norodnych zadañ mikroprocesor potrzebuje kilku impulsów pochodz¹cych z generatora taktuj¹cego. Czas potrzebny na zrealizowanie jednego, elementarnego zadania w technice mikroprocesorowej nazywany jest cyklem maszynowym. Niektóre rozkazy wykonywane s¹ przez procesor w trakcie 1, 2, 3 lub 4 cykli maszynowych. Ka¿dy mikroprocesor posiada w swojej, wewnêtrznej strukturze licznik rozkazów zawieraj¹cy odpowiedni adres, spod którego ma zostaæ pobrany kolejny rozkaz. W chwili, gdy mikroprocesor wykona dany rozkaz stan licznika rozkazów jest zwiêkszany o okreSlon¹ pozycjê, pokazuj¹c jednoczeSnie adres nastêpnego rozkazu przeznaczonego do wykonania. Istnieje mo¿liwoSæ wpisania innego (ni¿ kolejny) adresu do licznika adresowego np. w wyniku wykonania polecenia skoku. Dziêki temu mo¿e byæ realizowany inny fragment programu, który znajduje siê w dowolnym miejscu pamiêci. Rejestr Rejestr danych rozkazów Wskax nik Blok stosu steruj¹cy Licznik Rejestr rozkazów adresów Rejestr stanu Rejestry dodatkowe ALU Akumulator Generator taktuj¹cy Pamiêæ Rys.2. Wewnêtrzna struktura mikroprocesora  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 7 Widoczny na rysunku rys. 2 blok dodatkowych rejestrów stanowi bank pamiêci, który mo¿e byæ dowolnie zarz¹dzany przez programistê lub wykorzystywany przez procesor do przechowywania wa¿nych informacji podczas wykonywania programu. Sposób organizowania pracy bloku dodatkowych rejestrów mikroprocesora jest mo¿liwy dziêki odpowiednim ustawieniom, drugiego pod wzglêdem wa¿noS ci (po akumulatorze), rejestru stanu (PSW). Rejestr ten przechowuje równie¿ informacje dotycz¹ce wykonywanych dzia³añ arytmetycznych (wskaxnik przeniesienia, przepe³nienia oraz parzystoSci). Wskaxniki te (poszczególne bity rejestru PSW) mog¹ byæ ustawiane automatycznie lub za poS rednictwem odpowiednich rozkazów. Równie wa¿nym elementem wchodz¹cym w sk³ad architektury mikroprocesora jest stos (bêd¹cy najczêSciej fragmentem pamiêci typu RAM). Stosem nazywamy szczególny rodzaj pamiêci T pamiêci ksi¹¿kowej. Nazwa ta wynika ze sposobu dostêpu do poszczególnych, uprzednio w niej zapisanych danych. Mianowicie jest on podobny do odkrywania treSci podrêczników u³o¿onych jeden na drugim (rys.3). Dok³adniej oznacza to, ¿e abySmy mogli uzyskaæ informacjê zapisan¹ wczeSniej, nale¿y odczytaæ najpierw ostatnio zapisan¹ (zdj¹æ pierwszy podrêcznik), potem kolejn¹ (zdj¹æ nastêpny podrêcznik), a¿ w koñcu dotrzemy do interesuj¹cej nas informacji (czyli do podrêcznika, w którym zawarta jest informacja nas interesuj¹ca). Ksi¹¿ka 1 Ksi¹¿ka 4 Ksi¹¿ka 2 Ksi¹¿ka 3 zawieraj¹ca informacjê nas interesuj¹c¹ Rys. 3. Organizacja pamiêci typu stos Nieodzownie z pojêciem mikroprocesor wi¹¿¹ siê zagadnienia dotycz¹ce mikrokontrolerów. Mikrokontroler to równie¿ uk³ad scalony o wielkiej skali integracji, zawieraj¹cy w swojej wewnêtrznej strukturze mikroprocesor oraz zespó³ dodatkowych elementów zewnêtrznych, czyni¹cy go podzespo³em bardziej uniwersalnym. Mikrokontrolery umo¿liwiaj¹ budowê kompletnych sterowników, w których wszystkie, podstawowe funkcje kontrolne spe³nia tylko jeden uk³ad scalony.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 8 Systemy i kody liczbowe stosowane w uk³adach mikroprocesorowych Mikroprocesory komunikuj¹ siê ze sob¹ wykorzystuj¹c przy tym system binarny T oparty na dwóch stanach logicznych: niski (zero logiczne [ 0 ]) i wysoki (jedynka logiczna [ 1 ]). W praktyce poziomy logiczne oznaczaj¹ pewne, standaryzowane wartoSci napiêæ; i tak: zero logiczne to napiêcie równe 0 V, zaS jeden logiczne (w zale¿noSci od standardu) to 5 V lub 12 V. Ze wzglêdu na znaczn¹ d³ugoSæ zapisu liczby w systemie binarnym czêSciej u¿ywany jest system heksadecymalny (szesnastkowy). Sposób zamiany liczby zapisanej w systemie dziesiêtnym, powszechnie u¿ywanym i opartym na dziesiêciu elementach (cyfrach) T (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) na liczbê w systemie binarnym a dalej w systemie szesnastkowym zosta³ pokazany na rys. 4. 128 64 32 16 8 4 2 1 7 6 5 4 3 2 1 0 2 2 2 2 2 2 2 2 1 0 0 0 0 1 1 0 WAGI CYFRY 2 8 4 2 1 8 4 2 1 3 2 1 0 3 2 1 0 2 2 2 2 2 2 2 2 ZAPIS W SYSTEMIE 8 0 0 0 0 4 2 0 BINARNYM 8 + 0 + 0 + 0 0 + 4 + 2 + 0 8 6 ZAPIS W SYSTEMIE SZESTNASTKOWYM Rys.4. Przyk³ ad zamiany liczb y 134 zapisanej w systemie d ziesiêtnym na liczby zapisane w systemie binarnym i szesnastkowym Z rys. 4 wynika, ¿e aby dan¹ liczbê dziesiêtn¹ (w przyk³adzie T 134) mo¿na by³o zamieniæ na liczbê w systemie szesnastkowym, nale¿y j¹ najpierw zamieniæ na liczbê w kodzie binarnym. Otrzyman¹ liczbê w kodzie binarnym nale¿y podzieliæ na grupy po cztery elementy ka¿da. Nastêpnie ka¿d¹ grupê, z osobna, zamieniamy na odpowiedni symbol w kodzie szesnastkowym, który zawiera szesnaScie znaków graficznych: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Liczby zapisane w dowolnym systemie mo¿na zamieniæ na odpowiadaj¹ce im liczby w innym systemie, a nastêpnie wynik takiej zamiany zakodowaæ. Kodowanie jest pewnego rodzaju sposobem odwzorowania zmiennej, któr¹ chcemy zakodowaæ, w ci¹g s³ów (wyrazów) kodowych. W przypadku, gdy wszystkim wartoS ciom, jakie przyjmuje dana zmienna, przypisane s¹ s³owa kodowe - to taki kod nazywamy zupe³nym. Natomiast, gdy nie  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 9 jest spe³niony ten warunek to taki kod nazywany jest kodem niezupe³nym. Czêsto zdarza siê, ¿e informacja poddawana kodowaniu jest reprezentowana wartoSci¹ liczbow¹. Z tego te¿ wzglêdu mo¿na j¹ zakodowaæ przy wykorzystaniu kodu opisanego odpowiednim wzorem. Przyk³adem takiego kodu, najczêSciej u¿ywanym w uk³adach mikroprocesorowych, jest naturalny kod binarny zwany kodem wagowym. Jest to kod, który daje mo¿liwoSæ przypisania ka¿demu bitowi pewnej wagi (wspó³czynnika) oraz pozwala na okreSlenie zmiennej (poddawanej kodowaniu) dziêki zsumowaniu iloczynów poszczególnych wag i bitów. Innym, rzadziej stosowanym kodem jest kod Graya. Charakteryzuje siê on tym, i¿ kolejne, jego wyrazy ró¿n¹ siê miêdzy sob¹ na jednym bicie (poni¿ej, w podanym przyk³adzie wyodrêbnione zosta³y po dwa wyrazy kodu Graya, ró¿ni¹ce siê miêdzy sob¹ na jednym bicie). Przyk³ad kodu Graya dla s³owa dwubitowego: 0 0 : pierwszy wyraz kodu 0 1 : drugi wyraz kodu : 1 1 trzeci wyraz kodu : 1 0 czwarty wyraz kodu Przyk³ad kodu Graya dla s³owa trzybitowego 0 0 0 : pierwszy wyraz kodu 0 0 1 : drugi wyraz kodu : 0 1 1 trzeci wyraz kodu 0 1 0 : czwarty wyraz kodu 1 1 0 : pi¹ty wyraz kodu 1 1 1 : szósty wyraz kodu : 1 0 1 siódmy wyraz kodu : 1 0 0 ósmy wyraz kodu  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 10 Pamiê ci stosowane w uk³adach mikroprocesorowych Pamiêæ to uk³ad elektroniczny s³u¿¹cy do przechowywania informacji w postaci pojedynczych bitów lub ca³ych bajtów. Pamiêci dzielimy na: pamiêci sta³e T tylko do odczytu oraz pamiêci zapisywalne T pamiêci s³u¿¹ce do odczytu i zapisu. Do pamiêci sta³ych mo¿emy zaliczyæ najpopularniejsze pamiêci typu ROM. Sk³adaj¹ siê one z matrycy pamiêciowej (maski) wytwarzanej podczas procesu produkcyjnego. Pamiêci tego rodzaju wykonuje siê na konkretne zamówienie, na potrzeby produkcji urz¹dzeñ elektronicznych wytwarzanych w bardzo du¿ych iloSciach. Pamiêæ EPROM jest pamiêci¹, któr¹ u¿ytkownik mo¿e dowolnie zaprogramowaæ w sposób elektryczny z u¿yciem specjalnego programatora. ZawartoSæ jej pozostaje niezmieniona a¿ do chwili doprowadzenia do specjalnie skonstruowanego okienka xród³a promieniowania ultrafioletowego. Pewn¹ odmian¹ pamiêci EPROM jest pamiêæ typu OTP T pamiêæ jednorazowo programowalna elektrycznie bez mo¿liwoSci jej skasowania i ponownego zaprogramowania. Poprzednikiem pamiêci EPROM (w chwili obecnej rzadko stosowana) by³a pamiêæ typu PROM , której programowanie jest równoznaczne z przepalaniem odpowiednich po³¹czeñ wewnêtrznej struktury uk³adu scalonego. Obwody tego rodzaju nie mog¹ byæ ponownie ani skasowane, ani zaprogramowane. Kolejnym rodzajem pamiêci - czêsto stosowanych w elektronice s¹ tzw. pamiêci typu EEPROM. Pamiêci EEPROM s¹ uk³adami, które mog¹ byæ programowane oraz kasowane elektrycznie. Ich zawartoSæ nie ulega  wymazaniu po wy³¹czeniu zasilania. Zazwyczaj s¹ to obwody wykonane w technologii MOS. Gdyby nie charakteryzowa³y siê one ograniczon¹ liczb¹ cykli programowania (oko³o 10000 razy) by³y to pamiêci uniwersalne. Czyli ich zawartoSæ nie  ginê³aby w przypadku zaniku napiêcia zasilaj¹cego a proces kasowania i programowania móg³by byæ przeprowadzany nieskoñczon¹ liczbê razy. Obecnie w wielu mikrokontrolerach znajduj¹ siê bardzo praktyczne i dosyæ tanie pamiêci typu FLASH. S¹ to uk³ady programowalne i kasowalne elektrycznie, tak jak EEPROMTy. Wa¿n¹ ró¿nic¹ miêdzy pamiêciami EEPROM i FLASH jest znacznie mniejszy koszt pamiêci typu FLASH. Nazwa FLASH zwi¹zana jest z bardzo szybkim procesem kasowania i za³adowywania informacji do wewnêtrznej struktury pamiêci. Pamiêci typu RAM nale¿¹ do grupy obwodów cyfrowych, które mog¹ byæ programowane i kasowane elektrycznie, z t¹ ró¿nic¹, ¿e z chwil¹ wy³¹czenia napiêcia zasilaj¹cego zawartoSæ ich zostaje bezpowrotnie utracona. WSród pamiêci RAM wystêpuj¹ pamiêci statyczne SRAM oraz dynamiczne DRAM. Pamiêæ typu SRAM przechowuje informacje w postaci odpowiednich stanów przerzutników bistabilnych, natomiast DRAM przechowuje informacje pod postaci¹ ³adunków zgromadzonych w z³¹czach tranzystorów MOS. Ze wzglêdu na powolny zanik tych ³adunków (tracenie informacji) pamiêci tego typu musz¹ byæ odSwie¿ane co pewien okres czasu. Dzia³ania takie, bêd¹ce widoczn¹ wad¹, nie dyskwalifikuj¹ ich, lecz wrêcz przeciwnie, s¹ czêsto stosowane, ale przyczyn¹ tego jest niski koszt ich produkcji.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 11 Systemy mikroprocesorowe System mikroprocesorowy to rozbudowany uk³ad elektroniczny sk³adaj¹cy siê z mikroprocesora oraz dodatkowych elementów zewnêtrznych, z którymi on wspó³pracuje. Dodatkowe elementy wchodz¹ce w sk³ad systemu mikroprocesorowego to: - wySwietlacze LED lub LCD, - klawiatura, - sygnalizatory LED, - czujniki, - przetworniki A/C i C/A, - sterowniki uk³adów wykonawczych, - pamiêci zewnêtrzne, - uk³ady czasowe, - sterowniki transmisji danych, - porty WE/WY, - uk³ady watchdog, - zegary czasu rzeczywistego, - uk³ady resetu. Zasada dzia³ania systemu mikroprocesorowego jest podobna do funkcjonowania samego mikroprocesora. Podstawow¹ ró¿nic¹ jest zwiêkszenie mo¿liwoSci komunikowania siê systemu mikroprocesorowego z otoczeniem przy wykorzystaniu dodatkowych uk³adów. Systemy mikroprocesorowe posiadaj¹ znacznie wiêksze pamiêci operacyjne, pozwalaj¹ na programow¹ regulacjê i sterowanie dowolnymi procesami. Strukturê systemu mikroprocesorowego przedstawiono na rys. 5. Pamiêæ RAM Mikroprocesor Pamiêæ ROM WySwietlacz Uk³ady WE/WY Klawiatura Rys. 5. Struktura systemu mikroprocesorowego  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 12 Sposoby przesy³u informacji stosowane w systemach mikroprocesorowych We wszystkich systemach mikroprocesorowych istnieje koniecznoSæ przesy³ania informacji wewn¹trz ich samych, jak równie¿ do innych systemów. Najprostszym sposobem przesy³u danych jest transmisja równoleg³a. Polega ona na po³¹czeniu systemów za pomoc¹ odpowiedniej liczby linii g³ównych (w zale¿noSci od rodzaju wspó³pracuj¹cych ze sob¹ procesorów, np. 8, 16, 32 lub 64 linii) oraz dwóch lub trzech linii steruj¹cych. W przypadku popularnych procesorów 8Tbitowych ka¿demu z bitów przyporz¹dkowana jest konkretna linia. £¹czna liczba u¿ytych linii wynosi 8 plus dodatkowo 3 linie steruj¹ce. Tak du¿e wykorzystanie wolnych linii mikroprocesora jest powa¿n¹ wad¹. Ponadto wyprowadzenie kilku (kilkunastu, kilkudziesiêciu) przewodów z aktywnie pracuj¹cego systemu, z du¿¹ czêstotliwoSci¹, powoduje powstawanie zak³óceñ przy przesyle informacji na du¿e odleg³oSci. Mimo tego transmisja równoleg³a jest doSæ czêsto stosowana z tym, ¿e przesy³ danych winien odbywaæ siê na niewielkie odleg³oSci, oczywiScie przy zachowaniu znacznych prêdkoS ci transferu. W systemach mikroprocesorowych znacznie czêSciej u¿ywana jest szeregowa transmisja danych. Charakteryzuje siê ona tym, ¿e bity przesy³ane s¹ w sposób szeregowy, tzn. jeden za drugim. Mo¿liwe jest to dziêki zastosowaniu jednej lub dwóch linii aktywnych, funkcjonuj¹cych w danym obwodzie. Sposób przekazu danych z u¿yciem dwóch linii zwany jest szeregow¹ transmisj¹ synchroniczn¹, a z u¿yciem jednej T szeregow¹ transmisj¹ asynchroniczn¹. W uk³adach mikroprocesorowych najczêSciej wykorzystywana jest szeregowa transmisja asynchroniczna. Wystêpuj¹ca w niej jedna linia, s³u¿¹ca do przekazu danych na du¿e odleg³oSci, to ogromna zaleta. Natomiast wad¹ tego sposobu transferu danych jest znacznie ograniczona szybkoSæ przesy³u bitów (w odniesieniu do transmisji równoleg³ej). Przesy³ asynchroniczny zazwyczaj poprzedzony jest bitem startu, po którym przekazywane s¹ dane. Ka¿dy pakiet danych wyprowadzanych z systemu zakañczany jest 1 lub 2 bitami stopu. Istnieje jeszcze wiele innych sposobów przesy³u informacji stosowanych w systemach 2 C. mikroprocesorowych. WSród nich na uwagê zas³uguje system wykorzystuj¹cy szynê I 2 C wchodz¹ dwie linie: SDA T linia danych oraz SCL T linia zegara W sk³ad szyny I taktuj¹cego. Wszystkie uk³ady elektroniczne pod³¹czone do szyny posiadaj¹ swoje adresy i mog¹ wysy³aæ lub odbieraæ dane. Niektóre z cz³onów systemu I 2 C mog¹ tylko odbieraæ sygna³y bez 2 C nadzoruje jeden lub kilka uk³adów scalonych mo¿liwoS ci ich wysy³ania. Transmisjê I (przewa¿nie s¹ to mikrokontrolery) T master(y). Ka¿dy, inny obwód pod³¹czony do szyny jest 2 C jest podobny do transmisji uk³adem typu slave. Sposób przekazu informacji w systemie I szeregowej (przy czym liczba przesy³anych bajtów danych nie jest ograniczana jak w transferze szeregowym). 2 C istnieje pewien problem w chwili, gdy do wspólnej szyny zostanie W transmisji typu I pod³¹czonych kilka kontrolerów typu master i zaczynaj¹ one jednoczeSnie transmisjê danych. Powstaje w tym momencie zerwanie przekazu lub co gorsze jego zafa³szowanie. W celu unikniêcia takiej sytuacji zastosowano specjaln¹ procedurê pozwalaj¹c¹ ustaliæ, który z procesorów jest urz¹dzeniem typu master.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 13 4.1.2. Pytania sprawdzaj¹ce Odpowiadaj¹c na pytania, sprawdzisz, czy jesteS przygotowany do wykonania æwiczeñ. 1. Co to jest mikroprocesor? 2. Jak wygl¹da wewnêtrzna struktura mikroprocesora? 3. Do czego s³u¿¹ poszczególne elementy wewnêtrznej struktury mikroprocesora? 4. Co to jest i do czego s³u¿y system mikroprocesorowy? 5. Jakie znasz pamiêci stosowane w uk³adach mikroprocesorowych? 6. Jakie znasz systemy liczbowe stosowane w uk³adach mikroprocesorowych? 7. Jakie znane Ci s¹ sposoby przesy³u informacji, stosowane w systemach mikroprocesorowych? 4.1.3. Æwiczenia Æ wiczenie 1 Liczbê 126, zapisan¹ w kodzie dziesiêtnym, zamieñ na liczbê w kodzie binarnym oraz szesnastkowym. Sposób wykonania æwiczenia Aby wykonaæ æwiczenie powinieneS: 1) zanotowaæ podan¹ liczbê dziesiêtn¹, 2) znalexæ jej odpowiednik w systemie binarnym, 3) znalexæ jej odpowiednik w systemie szesnastkowym. Wyposa¿enie stanowiska pracy: - instrukcje zawieraj¹ce treSæ æwiczenia. Æ wiczenie 2 Wy mieñ wady i zalety metod przesy³u informacji stosowanych w systemach mikroprocesorowych. Sposób wykonania æwiczenia Aby wykonaæ æwiczenie powinieneS: 1) odnalexæ w dostarczonych materia³ach metody przesy³u informacji stosowane w systemach mikroprocesorowych, 2) zanotowaæ znalezione metody, 3) wypisaæ w formie tabeli wady i zalety odnalezionych metod przesy³u informacji. Wyposa¿enie stanowiska pracy: - literatura zawieraj¹ca informacje na temat metod przesy³u informacji stosowanych w systemach mikroprocesorowych.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 14 4.1.4. Sprawdzian postêpów Czy potrafisz: Tak Nie 1) zdefiniowaæ pojêcie mikroprocesor? 2) zdefiniowaæ pojêcie system mikroprocesorowy? 3) scharakteryzowaæ pamiêci stosowane w systemach mikroprocesorowych? 1) zamieniaæ liczby z jednego systemu na inny system liczbowy? 2) okreSliæ ró¿nice (elementy wspólne) miêdzy szeregowym i równoleg³ym sposobem przesy³u informacji?  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 15 4.2. Podzia³ ogólny i zastosowanie mikroprocesorów 4.2.1. Materia³ nauczania Mikroprocesory jednouk³adowe Mikroprocesory jednouk³adowe, zwane równie¿ mikrokontrolerami, nale¿¹ do najwiêkszej rodziny procesorów stosowanych w przemySle oraz w rozmaitych aplikacjach amatorskich i profesjonalnych. Prym wSród tej grupy wiedzie rodzina kontrolerów 8- bitowych serii MCST51. Obecnie procesory te, o znacznie rozbudowanej architekturze, produkowane s¹ przez wiele firm. Najbardziej znacz¹ce wSród nich to: ATMEL (produkuj¹cy procesory typu 89C51) oraz INTEL (produkuj¹cy procesory typu 80C51). Pogl¹dowy schemat blokowy mikrokontrolera 8Tbitowego typu MCST51 przedstawiono na rys.6. ROM STEROWNIK UK£ AD (FLASH) RAM PRZERWAÑ CZASOWY CPU WATCH STEROWNIK PORTY WE/WY DOG RS Rys. 6. Pogl¹dowy schemat blokowy mikrokontrolera 8Tbitowego typu 89S52 Na podstawie analizy rys. 6 mo¿na stwierdziæ, ¿e mikrokontroler 89S52 to nic innego, jak niewielki system mikroprocesorowy. Wynika z tego fakt, ¿e jego zasada dzia³ania, wewnêtrzny i zewnêtrzny sposób przesy³u informacji s¹ takie same jak w przypadku systemu mikroprocesorowego. Po to, by mikrokontroler by³ urz¹dzeniem pracuj¹cym samodzielnie, oprócz jednostki centralnej CPU, z mikroprocesorem dodatkowo zamieszczono w jego wewnêtrznej strukturze nastêpuj¹ce uk³ady: T watchdog, T sterownik przerwañ, T uk³ad czasowy, T sterownik RS, T porty WE/WY. Blok watchdog (czuwaj¹cy pies) jest bardzo czêsto stosowanym obwodem elektrycznym w mikrouk³adach, a przy tym wykorzystywanych g³ównie w sprzêcie profesjonalnym. Jego zadanie, polegaj¹ce na nadzorowaniu poprawnoSci wykonywania dowolnego programu,  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 16 w znacz¹cy sposób poprawia niezawodnoSæ ca³ego systemu. Urz¹dzenie takie odmierza czas pomiêdzy kolejnymi impulsami wysy³anymi do niego z systemu mikrokontrolera. W przypadku, gdy od ostatnio otrzymanego impulsu up³ynie zbyt d³ugi okres czasu to procesor zostaje restartowany, a ca³y system powraca do stanu równowagi. Sterownik przerwañ jest to zespó³ obwodów generuj¹cych tzw. przerwanie programowe. Przerwanie jest zawieszeniem czynnoSci zwi¹zanych z wykonaniem g³ównego programu na rzecz wykonania innego, wa¿niejszego programu. Przerwanie mo¿e byæ zainicjowane sygna³ami zewnêtrznymi (przy wykorzystaniu specjalnych wejSæ) lub wewnêtrznymi (pochodz¹cymi od uk³adów czasowych, sterownika RS). W systemie przerwañ, ka¿de z nich, posiada pewien priorytet. Oznacza to, ¿e istnieje kolejnoSæ wykonywania programów pochodz¹cych od przerwañ w chwili jednoczesnego ich zainicjowania. Sterownik RS jest w pe³ni kompletnym modu³em s³u¿¹cym do transmisji szeregowej danych (opisanej w rozdziale 4.1. na str. nr 13). Porty WE/WY zwane równie¿ portami, to linie po 8 bitów ka¿da, s³u¿¹ce do równoleg³ej transmisji danych do i z urz¹dzeñ zewnêtrznych wchodz¹cych w sk³ad systemu mikroprocesorowego. Na rys. 7 przedstawiono symbol graficzny typowego procesora jednouk³adowego. 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 AT 89S52 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Rys. 7. Symbol graficzny wraz z oznaczonymi wyprowadzeniami procesora typu AT 89S52 Opis funkcji przyporz¹dkowanych poszczególnym koñcówkom uk³adu scalonego AT 89S52 zestawiono w tabeli 1. Tabela 1. Opis funkcji przyporz¹dkowanych poszczególnym koñcówkom uk³adu scalonego AT 89S52 Pin Realizowana funkcja 1 WY/WE portu P1 bit 0 2 WY/WE portu P1 bit 1 3 WY/WE portu P1 bit 2 4 WY/WE portu P1 bit 3 5 WY/WE portu P1 bit 4 6 WY/WE portu P1 bit 5 7 WY/WE portu P1 bit 6 8 WY/WE portu P1 bit 7 9 Reset uk³adu 10 WY/WE portu P3 bit 0 (dodatkowo WE sterownika RS) 11 WY/WE portu P3 bit 1 (dodatkowo WY sterownika RS) 12 WY/WE portu P3 bit 2 (dodatkowo 1 WE przerwañ T INT0)  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 17 13 WY/WE portu P3 bit 3 (dodatkowo 2 WE przerwañ - INT1) 14 WY/WE portu P3 bit 4 (dodatkowo WE uk³ adu czasowego T0) 15 WY/WE portu P3 bit 5 (dodatkowo WE uk³ adu czasowego T1) 16 WY/WE portu P3 bit 6 (dodatkowo WY przy zapisie do pamiêci zewnêtrznej) 17 WY/WE portu P3 bit 7 (dodatkowo WY przy odczycie z zewnêtrznej pamiêci) 18 WE s³ u¿¹ce do pod³¹czenia rezonatora kwarcowego (dla danej czêstotliwoSci rezonatora fr czas 19 trwania jednego cyklu maszynowego wynosi T=fr/12) 20 Masa 21 WY/WE portu P2 bit 0 22 WY/WE portu P2 bit 1 23 WY/WE portu P2 bit 2 24 WY/WE portu P2 bit 3 25 WY/WE portu P2 bit 4 26 WY/WE portu P2 bit 5 27 WY/WE portu P2 bit 6 28 WY/WE portu P2 bit 7 29 WyjScie steruj¹ce odczytywaniem danych z zewnêtrznej pamiêci programu 30 WyjScie sygna³u zegara f=f r /6 31 WejScie wyzwalaj¹ce pobieranie programu z zewnêtrznej pamiêci programu 32 WY/WE portu P0 bit 0 33 WY/WE portu P0 bit 1 34 WY/WE portu P0 bit 2 35 WY/WE portu P0 bit 3 36 WY/WE portu P0 bit 4 37 WY/WE portu P0 bit 5 38 WY/WE portu P0 bit 6 39 WY/WE portu P0 bit 7 40 + Zasilanie Uk³ad elektroniczny s³u¿¹cy do testowania programów (zwany uk³adem uruchomieniowym) napisanych dla mikrokontrolerów typu MCST51 zosta³ pokazany na rysunku 11 w rozdziale 4.3.  Programowanie mikroprocesorów . Programowanie mikroprocesorów typu MCST51 wymaga specjalnych urz¹dzeñ zwanych programatorami. Przed uaktywnieniem procesu programowania dany uk³ad scalony nale¿y w³o¿yæ do specjalnej podstawki (zazwyczaj typu ZIF) i dopiero wtedy rozpocz¹æ programowanie. Wynika z tego fakt, ¿e proces programowania nie mo¿e odbywaæ siê, gdy procesor znajduje siê w docelowym uk³adzie roboczym. Dok³adniej proces programowania mikrokontrolerów rodziny MCST51, ze wzglêdu na ich du¿¹ popularnoSæ, zostanie opisany w rozdziale 4.3.  Programowanie mikroprocesorów .  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 18 Mikroprocesory typu RISC Mikroprocesory typu RISC, których architektura zosta³a ju¿ zaprojektowana w latach 80, charakteryzuj¹ siê bardzo ciekawymi parametrami szereguj¹cymi je na najwy¿szej pó³ce obecnie stosowanych mikrouk³adów. Posiadaj¹ one znacznie skrócon¹ liczbê rozkazów (w stosunku do mikroprocesorów jednouk³adowych rodziny MCST51) przez co upraszcza siê proces ich programowania oraz czas wykonywania programu. Charakteryzuj¹ siê one pewnymi ograniczeniami w komunikacji wystêpuj¹cej pomiêdzy mikroprocesorem a wspó³pracuj¹c¹ z nim pamiêci¹. Przejawem takiego stanu rzeczy jest zastosowanie oddzielnych instrukcji s³u¿¹cych do wprowadzania i wyprowadzania danych do i z pamiêci. Pozosta³e instrukcje mikroprocesorów typu RISC anga¿uj¹ tylko i wy³¹cznie rejestry, których iloSæ jest o wiele wiêksza ni¿ w procesorach jednouk³adowych typu MCST51. Zastosowanie znacz¹cej liczby rejestrów (od 32 do 256) w widoczny sposób zwiêksza wydajnoSæ systemu, odci¹¿aj¹c jednoczeS nie szynê procesorTpamiêæ. Najwa¿niejszym elementem wp³ywaj¹cym na du¿¹ wydajnoSæ i jakoSæ pracy procesora typu RISC jest zastosowanie przetwarzania potokowego. Polega ono na tym, ¿e kolejne rozkazy danego programu za³adowanego w pamiêci systemu wykonywane s¹ w jednym cyklu maszynowym. W tym momencie nale¿y wspomnieæ, i¿ mikroprocesorom typu MCST51 na wykonanie pojedynczego rozkazu T w zale¿noS ci od typu, potrzebny by³ czas: jednego, dwóch, trzech lub czterech cykli maszynowych. WSród mikroprocesorów RISC mo¿emy wyr ó¿niæ kilka, bardzo rozpowszechnionych grup (rodzin), mianowicie s¹ to: T procesory AMD T procesory SPARC T procesory ARM T procesory Power PC T procesory MIPS. Zastosowanie procesorów o architekturze typu RISC jest ogromne T pocz¹wszy od mikrouk³adów stosowanych do celów przemys³owych i amatorskich, po rozbudowane systemy mikroprocesorowe oraz sprzêt PC. Wykorzystywane s¹ równie¿ w: telefonii komórkowej oraz w urz¹dzeniach s³u¿¹cych do przesy³u informacji w sieciach internetowych.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 19 Mikroprocesory typu AVR Mikroprocesory typu AVR nale¿¹ do grupy procesorów jednouk³adowych powoli wypieraj¹cych mikrouk³ady wchodz¹ce w sk³ad rodziny MCST51.Uk³ady te, opracowane przez firmê ATMEL, s¹ w pe³ni kompatybilne z procesorami rodziny MCST51. Ich kompatybilnoSæ wi¹¿e siê nie tylko z analogicznym rozk³adem wyprowadzeñ, ale równie¿ i z podobn¹ list¹ wykonywanych rozkazów przez obydwa rodzaje procesorów. Do podstawowych ró¿nic miêdzy procesorami typu AVR i MCST51 mo¿na zaliczyæ: - wiêksz¹ szybkoSæ dzia³ania (wynika ona z zastosowania w procesorze AVR architektury typu RISC), - szeroki zakres napiêæ zasilaj¹cych (procesory AVR), - niewielki pobór mocy (procesory AVR), - funkcje akumulatora w procesorze typu AVR mo¿e przej¹æ dowolnie wybrany przez u¿ytkownika rejestr (metoda taka w znaczny sposób poprawia wydajnoSæ wykonywanych algorytmów), - zastosowanie szeregowego algorytmu programowania mikrokontrolera (algorytm ten umo¿liwia programowanie i kasowanie procesora bez potrzeby wyjmowania go z uk³adu roboczego, tak jak to odbywa siê w przypadku procesorów MCST51). Procesory typu AVR stosowane s¹ w ró¿nych uk³adach steruj¹cych, urz¹dzeniach pomiarowych, rozbudowanych systemach alarmowych, blokach przetwarzaj¹cych dane, mobilnych robotach przemys³owych oraz przemys³owych sterownikach swobodnie programowalnych. Mikroprocesory sygna³owe Mikroprocesory sygna³owe, zwane równie¿ cyfrowymi procesorami sygna³owymi (DSP), s³u¿¹ do przetwarzania szybkozmiennych sygna³ów analogowych. Nale¿¹ one do odrêbnej, wyspecjalizowanej grupy procesorów. Cech¹ charakterystyczn¹ tych procesorów jest SciS le wyodrêbniona, w ich wewnêtrznej strukturze, pamiêæ programu i pamiêæ danych. Taka konstrukcja umo¿liwia zwiêkszenie szybkoSci wykonywania wszystkich operacji. Mikroprocesory te posiadaj¹ równie¿ mo¿liwoSæ równoczesnego odczytu danych i instrukcji. Praca procesorów DSP opiera siê na potokowym przetwarzaniu instrukcji, dziêki czemu odznaczaj¹ siê one du¿¹ wydajnoS ci¹ i bardzo krótkim czasem wykonywania rozkazów. Procesory sygna³owe budowane s¹ zasadniczo jako: jednostki 16-, 24- lub 32-bitowe. Posiadaj¹ znacznie rozbudowan¹ jednostkê arytmetyczno-logiczn¹ oraz szybki algorytm wykonywania operacji mno¿enia danych. Nieod³¹cznym elementem ich wewnêtrznej struktury s¹ szybkodzia³aj¹ce przetworniki A/C i uk³ady mno¿¹ce. Powy¿sze w³asnoSci procesorów DSP powoduj¹, ¿e znalaz³y one zastosowanie w urz¹dzeniach s³u¿¹cych do przetwarzania sygna³ów analogowych, w szczególnoSci dxwiêku. Wykorzystuje siê je do inteligentnej filtracji sygna³ów, obróbki i zapisu mowy ludzkiej oraz do produkcji powszechnie u¿ywanych kart dxwiêkowych, stosowanych w komputerach PC. Dodatkowo procesory DSP wykorzystywane s¹ w licznych konstrukcjach urz¹dzeñ energoelektronicznych. Najchêtniej stosowan¹ rodzin¹ mikroprocesorów DSP jest grupa procesorów typu TMS320, produkowanych przez firmê Texas Instruments.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 20 4.2.2. Pytania sprawdzaj¹ce Odpowiadaj¹c na pytania, sprawdzisz, czy jesteS przygotowany do wykonania æwiczeñ. 1. Co to jest mikrokontroler? 2. Jakimi parametrami charakteryzuje siê mikroprocesor typu RISC? 3. Do czego s³u¿¹ mikroprocesory typu AVR? 4. Co to jest mikroprocesor sygna³owy? 4.2.3. Æwiczenia Æ wiczenie 1 Opisz budowê oraz parametry mikroprocesora AT 89S52. Sposób wykonania æwiczenia Aby wykonaæ æwiczenie powinieneS: 1) odnalexæ w otrzymanych materia³ach lub na wskazanej stronie internetowej dane katalogowe szukanego mikroprocesora, 2) narysowaæ schemat obrazuj¹cy budowê mikroprocesora, 3) zapisaæ odpowiednie parametry szukanego mikroprocesora. Wyposa¿enie stanowiska pracy: - literatura dotycz¹ca mikroprocesora AT 89S52, - zestaw internetowy daj¹cy mo¿liwoSæ odnalezienia odpowiednich informacji na konkretnych stronach internetowych. Æ wiczenie 2 Wska¿ elementy wspólne oraz ró¿nice miêdzy mikroprocesorami jednouk³adowymi typu RISC i rodziny MCS T51. Sposób wykonania æwiczenia Aby wykonaæ æwiczenie powinieneS: 1) odnalexæ w dostarczonych materia³ach charakterystyczne parametry danych mikroprocesorów, 2) odnalexæ w dostarczonych materia³ach opis budowy wewnêtrznej porównywanych ze sob¹ mikroprocesorów, 3) odnalexæ w dostarczonych materia³ach zastosowania porównywanych ze sob¹ mikroprocesorów, 4) wypisaæ w formie tabeli ró¿nice i podobieñstwa wystêpuj¹ce miêdzy wyszczególnionymi mikroprocesorami. Wyposa¿enie stanowiska pracy: - liter atura zawier aj¹ca informacje na temat mikroprocesorów MCST51 oraz RISC.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 21 4.2.4. Sprawdzian postêpów Czy potrafisz: Tak Nie 1) zdefiniowaæ pojêcie mikrokontroler? 2) zdefiniowaæ pojêcie mikroprocesor typu RISC? 3) zdefiniowaæ pojecie mikroprocesor sygna³owy? 4) zdefiniowaæ pojêcie mikroprocesor AVR?  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 22 4.3. Programowanie mikroprocesorów 4.3.1. Materia³ nauczania Podstawy programowania mikroprocesorów Mikroprocesor (mikrokontroler) wykonuje program zawarty w jego pamiêci programu w postaci zestawu bitów. Taka postaæ jest PODSTAWY PROGRAMOWANIA MIKROKONTROLERÓW ma³o czytelna i zbyt trudna w zrozumieniu dla przeciêtnego cz³owieka, dlatego te¿ dla ka¿dego z typu mikroprocesora opracowano jêzyk programowania T asembler. Stanowi on zestaw instrukcji (rozkazów) napisanych w tzw. postaci symbolicznej i nazywany jest kodem xród³owym programu. Asembler umo¿liwia równie¿ zamianê (asemblacjê) kodu xród³owego programu na jego odpowiednik zapisany w postaci binarnej - zwany postaci¹ wynikow¹. Rozkazy interpretowane przez mikroprocesory miêdzy innymi obejmuj¹: T operacje arytmetyczne na danych, T operacje logiczne na danych, T operacje przesy³ania danych, T instrukcje s³u¿¹ce do sterowania prac¹ programu T skoki, T operacje obs³uguj¹ce modu³y WE/WY, T operacje nadzoruj¹ce prac¹ czasomierzy, T operacje obs³ugi przerwañ. Ka¿dy program napisany w asemblerze sk³ada siê z piêciu, zasadniczych czêSci: 1 T instrukcji wstêpnie organizuj¹cych pamiêæ programu, 2 T deklaracji sta³ych (zmiennych) wystêpuj¹cych w danym programie, 3 T bloku programów obs³uguj¹cych przerwania, 4 T programu w³aS ciwego, 5 T symbolicznego zakoñczenia programu. Ogólna (przyk³adowa) struktura programu w asemblerze bêdzie wygl¹da³a w nastêpuj¹cy sposób: ORG 100H T Instrukcja ta informuje o organizacji pamiêci, czyli program w³aSciwy zostanie za³adowany pocz¹wszy od komórki (w naszym przypadku) o adresie 100H. T Komórki pamiêci zaczynaj¹ce siê od adresu 0H do 100H przeznaczone s¹ na podprogramy obs³uguj¹ce przerwania. Literka H umieszczona po adresie 100 oznacza liczbê zapisan¹ w systemie szesnastkowym. T Program, który nie bêdzie zawiera³ podprogramów obs³uguj¹cych przerwania mo¿e zaczynaæ siê od dowolnego adresu, np. 00H. Parametr1 EQU 10101111B T deklaracja sta³ej Parametr1=10101111B, gdzie B oznacza liczbê zapisan¹ w systemie binarnym Parametr2 EQU 20 T deklaracja sta³ej Parametr2=20 , 20 bez literki B lub H oznacza liczbê zapisan¹ w systemie dziesiêtnym ORG 03H ;tu mo¿e znajdowaæ siê podprogram obs³uguj¹cy przerwanie pochodz¹ce od pierwszego wejScia INT0 RETI ; powrót do programu g³ównego.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 23 ORG 0BH ;tu mo¿e znajdowaæ siê podprogram obs³uguj¹cy przerwanie pochodz¹ce od uk³adu czasowego T0 RETI ; powrót do programu g³ównego ORG 13H ;tu mo¿e znajdowaæ siê podprogram obs³uguj¹cy przerwanie pochodz¹ce od drugiego wejScia INT1 RETI ; powrót do programu g³ównego ORG 1BH ;tu mo¿e znajdowaæ siê podprogram obs³uguj¹cy przerwanie pochodz¹ce od uk³adu czasowego T1 RETI ; powrót do programu g³ównego ORG 23H ;tu mo¿e znajdowaæ siê podprogram obs³uguj¹cy przerwanie pochodz¹ce od portu szeregowego RETI ; powrót do programu g³ównego ORG 2BH ;tu mo¿e znajdowaæ siê podprogram obs³uguj¹cy przerwanie pochodz¹ce od uk³adu czasowego T2 RETI ; powrót do programu g³ównego ;W TYM MIEJSCU ZNAJDUJE SIÊ PROGRAM W£ARCIWY (G£ÓWNY) NOP ; instrukcja typu T nic nie rób (stosowana dla stworzenia zw³oki czasowej równej 1 cykl maszynowy T w tym przypadku bezu¿yteczna) END ; instrukcja koñcz¹ca wszystkie programy napisane w asemblerze Nale¿y zauwa¿yæ, ¿e w przypadku gdy piszemy program w asemblerze mo¿emy korzystaæ ze specjalnych instrukcji zrozumia³ych przez procesor oraz z poleceñ ignorowanych przez niego, a pomocnych nam, czyli komentarzy pisanych po Sredniku ( ; ). Podsumowuj¹c mo¿na stwierdziæ, ¿e program to zestaw linii rozkazowych zawieraj¹cych odpowiednie instrukcje lub instrukcje wraz z pewnymi parametrami oraz odpowiednio dobrane komentarze. W dalszym etapie opisane zostan¹ najczêSciej u¿ywane instrukcje pomocne przy tworzeniu programów w asemblerze. 1) Operacje arytmetyczne na danych, czyli: dodawanie, odejmowanie, mno¿enie, dzielenie, zmniejszanie zawartoSci akumulatora o jeden (dekrementacja), zwiêkszanie zawartoSci akumulatora o jeden (inkrementacja). DODAWANIE ADD Operacja dodawania polega na algebraicznym dodaniu do zawartoS ci akumulatora zawartoSci rejestru specjalnego (rejestry specjalne - s¹ to banki pamiêci wykorzystywane przez programistê do chwilowego przechowywania informacji oraz do przeprowadzania ró¿nych operacji na danych. Wystêpuje osiem podstawowych rejestrów, odpowiednio oznaczonych R0, R1, R2, R3, R4, R5, R6, R7) lub danej liczbowej i wpisaniu otrzymanego wyniku do akumulatora. Przyk³ad 1 ADD A,R1; operacja ta powoduje dodanie zawartoSci rejestru R1 do zawartoS ci akumulatora A oraz umieszcza wynik w akumulatorze A.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 24 Przyk³ad 2 ADD A,#14; operacja ta powoduje dodanie wartoSci liczbowej równej 14 do zawartoSci akumulatora A oraz umieszcza wynik w akumulatorze A. ODEJMOWANIE SUBB W przypadku operacji odejmowania od zawartoSci akumulatora A jest odejmowany dany argument oraz zawartoSæ specjalnego bitu po¿yczki C Przyk³ad 1 SUBB A,#1 0; operacja ta powoduje zmniejszenie zawartoSci akumulatora o liczbê równ¹ 10 oraz o stan bitu po¿yczki C (w przypadku gdy nie by³ on wczeSniej wyzerowany) MNO¯ENIE MUL AB Wynikiem tej operacji jest pomno¿enie oSmiobitowej liczby znajduj¹cej siê w akumulatorze A przez równie¿ oSmiobitow¹ liczbê wpisan¹ uprzednio do rejestru specjalnego B. W wyniku mno¿enia osiem bardziej znacz¹cych bitów wpisywanych jest do rejestru B a osiem mniej znacz¹cych do akumulatora A. DZIELENIE DIV AB Podobnie jak w przypadku mno¿enia, liczba zawarta w akumulatorze A jest dzielona przez liczbê oSmiobitow¹ zamieszczon¹ w rejestrze B. Wynik dzielenia, w postaci czêSci ca³kowitej, wpisywany jest do akumulatora, zaS reszta do rejestru B. DEKREMENTACJA DEC Funkcja ta powoduje zmniejszenie wskazanego parametru (akumulatora, rejestru, zawartoSci pamiêci) o jeden. Przyk³ad DEC A; instrukcja ta powoduje zmniejszenie zawartoS ci akumulatora o jeden INKREMENTACJA INC Funkcja ta powoduje zwiêkszenie wskazanego parametru (akumulatora, rejestru, zawartoSci pamiêci) o jeden. Przyk³ad INC A; instrukcja ta powoduje zwiêkszenie zawartoSci akumulatora o jeden 2) Operacje logiczne na danych, a) operacje na bajtach, czyli: iloczyn logiczny dwóch bajtów, suma logiczna dwóch bajtów, zerowanie (negowanie) zawartoSci akumulatora, zamiana pó³bajtów. ILOCZYN LOGICZNY ANL X 1 , X 2 Wykonanie tej instrukcji powoduje pomno¿enie w sposób logiczny (bit po bicie) danych parametrów X 1 , X 1 2 oraz wpisanie wyniku do komórki, z której zosta³ pobrany parametr X . Zmiennymi X 1 i X 2 s¹: akumulator, rejestr, zawartoSci pamiêci. Przyk³ad ANL A,R1; w wyniku pomno¿enia zawartoSci akumulatora oraz zawartoSci rejestru R1 uzyskany wynik zostanie wpisany do akumulatora  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 25 SUMA LOGICZNNA ORL X , X 1 2 Wykonanie tej instrukcji powoduje zsumowanie w sposób logiczny (bit po bicie) danych parametrów X 1 , X 1 2 oraz wpisanie wyniku do komórki, z której zosta³ pobrany parametr X . Zmiennymi X 1 i X 2 s¹: akumulator, rejestr, zawartoSci pamiêci. Przyk³ad ORL A,@R1; w wyniku zsumowania zawartoSci akumulatora oraz zawartoSci komórki pamiêci zaadresowanej w sposób poSredni, przy pomocy rejestru R1, uzyskany wynik zostanie wpisany do akumulatora ZEROWANIE ZAWARTORCI AKUMULATORA CLR A Operacja ta powoduje wpisanie do akumulatora wartoSci binarnej równej: 00000000B ZANEGOWANIE ZAWARTORCI AKUMULATORA CPL A Operacja ta powoduje zanegowanie wszystkich bitów wpisanych uprzednio do akumulatora Przyk³ad W akumulatorze znajduje siê liczba: 00010101B. W wyniku operacji CPL A, zawartoSæ akumulatora zmieni siê w nastêpuj¹cy sposób: 11101010B. ZAMIANA PÓ£BAJTÓW SWAP A Instrukcja SWAP wymienia pó³bajty (mniej i bardziej znacz¹cy pó³bajt) w akumulatorze. b) operacje logiczne na bitach, czyli: zerowanie, negowanie i ustawianie bitów oraz iloczyn i suma logiczna Operacje logiczne na bitach stanowi¹ pe³n¹ analogiê do operacji na ca³ych bajtach. WSród nich mo¿emy wyró¿niæ: T ZEROWANIE BITU CLR bit (np. CLR ACC.3 T wyzeruj czwarty bit akumulatora), T NEGOWANIE BITU CPL bit (np. CPL P1.2, zaneguj trzeci bit portu P1), T USTAWIANIE BITU SETB bit (np. SETB ACC.3, ustaw czwarty bit akumulatora w stan T1 logiczny), T ILOCZYN LOGICZNY ANL C, bit T SUMA LOGICZNA ORL C, bit ; C bit przeniesienia rejestru specjalnego. 3) Operacje przesy³ania danych, czyli: kopiowanie danych pomiêdzy rejestrami oraz zapis i odczyt stosu KOPIOWANIE DANYCH MOV X1, X2 Dane wskazane przez argument X2 kopiowane s¹ do miejsca wskazanego przez argument X1 Wyró¿niamy nastêpuj¹ce rodzaje kopiowania danych: T MOV A, R x (kopiowanie zawartoSci rejestru R x do akumulatora), T MOV A, @R x (poSrednie kopiowanie zawartoSci komórki pamiêci zapisanej w rejestrze R x do akumulatora), T MOV A, #sta³a (wprowadzenie do akumulatora sta³ej liczbowej, np. MOV A, #10B). Oprócz kopiowania danych do akumulatora istnieje równie¿ mo¿liwoSæ kopiowania danych do rejestrów oraz komórek pamiêci z akumulatora. ZAPIS DANYCH NA STOS PUSH adres Instrukcja ta powoduje zapis zawartoSci z wewnêtrznej pamiêci danych o podanym adresie do komórki pamiêci wewnêtrznej specjalnego rejestru, o adresie zawartym w rejestrze zarezerwowanym do obs³ugi stosu.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 26 ODCZYT DANYCH ZE STOSU POP adres Instrukcja ta powoduje zapis zawartoSci z komórki pamiêci wewnêtrznej specjalnego rejestru, o adresie zawartym w rejestrze zarezerwowanym do obs³ugi stosu, do komórki wewnêtrznej pamiêci danych o podanym adresie. 4) Skoki T czyli skok bezwarunkowy, skok do podprogramu, skoki warunkowe zale¿ne od bitu oraz skoki specjalne. SKOK DO PODPROGRAMU LCALL nazwa RET Po wykonaniu powy¿szej instrukcji nastêpuje skok do podprogramu o podanej nazwie oraz powrót z niego po wykonaniu instrukcji RET Przyk³ad LCALL zegar ;skok do podprogramu o nazwie zegar (* )MOV A, R1 ;program g³ówny (jest on interpretowany dopiero po ;wykonaniu podprogramu oraz instrukcji typu RET) zegar: ;je¿eli zachodzi taka potrzeba w tym miejscu mog¹ znajdowaæ siê ;instrukcje wchodz¹ce w sk³ad podprogramu o nazwie zegar RET ;powrót z podprogramu o nazwie zegar do miejsca oznaczonego (*) SKOK BEZWARUNKOWY LJMP nazwa Po wykonaniu powy¿szej instrukcji nastêpuje skok do podprogramu o podanej nazwie. Przyk³ad LJMP dioda2 ;skok do podprogramu dioda2 dioda1: CLR P2.3 ;program g³ówny (w tym przypadku nie bêdzie on wykonywany) dioda2: ;tu mog¹ znajdowaæ siê instrukcje wchodz¹ce w sk³ad ;podprogramu dioda2 END SKOKI WARUNKOWE ZALE¯NE OD BITU T JB bit, nazwa ;skok w odpowiednie miejsca programu (oznaczone nazw¹), w przypadku gdy zmienna (bit) jest równa 1 T JNB bit, nazwa ;skok w odpowiednie miejsca programu (oznaczone nazw¹), w przypadku gdy zmienna (bit) jest równa 0 T JNZ nazwa ;skok w odpowiednie miejsca programu (oznaczone nazw¹), w przypadku gdy stan bitów akumulatora jest ró¿ny od 0 T JZ nazwa ;skok w odpowiednie miejsce programu (oznaczone nazw¹), w przypadku gdy stan bitów akumulatora jest równy 0 SKOKI SPECJALNE T CJNE arg1,arg2,nazwa ;funkcja ta dokonuje porównania dwóch argumentów, je¿eli s¹ ró¿ne od siebie to nastêpuje skok do miejsca w programie o podanej nazwie. W przypadku, gdy argumenty s¹ równe program przechodzi do wykonywania nastêpnej instrukcji po rozkazie CJNE.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 27 T DJNZ A, nazwa ;instrukcja ta powoduje zmniejszenie zawartoS ci akumulatora o jeden i je¿eli jego  zawartoSæ jest ró¿na od zera to nastêpuje skok do miejsca w programie o podanej nazwie. W przypadku, gdy  zawartoSæ akumulatora jest równa zero skok nie nastêpuje i jest wykonywany rozkaz po instrukcji DJNZ. 5) Operacje obs³uguj¹ce port szeregowy Sterowanie transmisj¹ szeregow¹ w procesorach MCST51 odbywa siê za pomoc¹ ustawieñ bitów rejestru specjalnego SCON. Poszczególne bity tego rejestru maj¹ nastêpuj¹ce zadanie: SCON.0 ( RI ) T bit odebrania znaku SCON.1 ( TI ) T bit wys³ania znaku SCON.2 ( RB8 ) T 9 bit transmisji odbieranego znaku SCON.3 ( TB8 ) T 9 bit transmisji wysy³anego znaku SCON.4 ( REN ) T zezwolenie na odbiór danych SCON.5 ( SM2 ) T sterowanie komunikacj¹ wieloprocesorow¹ SCON.6 ( SM1 ) T ustawianie trybu pracy SCON.7 ( SM0 ) T ustawianie trybu pracy 5) Operacje nadzoruj¹ce prac¹ czasomierzy W mikrokontrolerach prac¹ uk³adów licz¹cych steruj¹ dwa rejestry specjalne: TMOD oraz TCON. Zadania realizowane przez kolejne bity rejestru TMOD s¹ nastêpuj¹ce: Licznik T0 TMOD.0 ( M0 ) T tryb pracy TMOD.1 ( M1 ) T tryb pracy TMOD.2 ( C/T ) T gdy bit C/T=0 to uk³ad zachowuje siê jak czasomierz, zliczaj¹cy impulsy wewnêtrzne T gdy bit C/T=1 to uk³ad zachowuje siê jak licznik impulsów zewnêtrznych TMOD.3 ( GATE ) T kontrola nad prac¹ uk³adu licz¹cego T GATE =0 ,start i stop licznika odbywa siê przez ustawienie bitu TRx(TR0=1) w s³owie TCON T GATE =1 ,start i stop licznika odbywa siê przez ustawienie bitu TRx(TR0=1) w s³owie TCON oraz dodatkowo o jego stanie pracy decyduje stan linii INTx (czyli, gdy TR0=1 i INT0=1 to nastêpuje zliczanie impulsów) Licznik T1 TMOD.4 ( M0 ) T tryb pracy TMOD.5 ( M1 ) T tryb pracy TMOD.6 ( C/T ) T gdy bit C/T=0 to uk³ad zachowuje siê jak czasomierz, zliczaj¹cy impulsy wewnêtrzne T gdy bit C/T=1 to uk³ad zachowuje siê jak licznik impulsów zewnêtrznych TMOD.7 ( GATE ) T kontrola prac¹ uk³adu licz¹cego T GATE =0 ,start i stop licznika odbywa siê przez ustawienie bitu TRx(TR1=1) w s³owie TCON T GATE =1 ,start i stop licznika odbywa siê przez ustawienie bitu TRx(TR1=1) w s³owie TCON oraz dodatkowo o jego stanie pracy decyduje stan linii INTx (czyli, gdy TR1=1 i INT1=1 to nastêpuje zliczanie impulsów)  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 28 Tryby pracy uk³adów licz¹cych, uwzglêdniaj¹ce stany znaczników M1 i M2 ( poszczególnych bitów rejestru TMOD), zosta³y przedstawione w tabeli 4.3.1. M0 M1 Rodzaj wykonywan ej pracy 0 0 Tryb0; licznik 13 bitowy 0 1 Tryb 1; licznik 16 bitowy 1 0 Tryb 2; licznik 8 bitowy z automatycznym wpisywaniem wartoS ci pocz¹tkowej do rejestru THi 1 1 Tryb 3; licznik T1 nie pracuje, T0 pracuje jako dwa, 8 bitowe liczniki Tabela 4.3.1. Tryby pracy uk³adów licz¹cych wystêpuj¹ce w procesorze rodziny MCS-51 Zadnia realizowane przez kolejne bity rejestru TCON: TCON.0 ( IT0 ) T bit steruj¹cy prac¹ przerwañ TCON.1 ( IE0) T bit steruj¹cy prac¹ przerwañ TCON.2 ( IT1 ) T bit steruj¹cy prac¹ przerwañ TCON.3 ( IE1 ) T bit steruj¹cy prac¹ przerwañ TCON.4 ( TR0 ) T bit steruj¹cy zliczaniem (licznik T0) TCON.5 ( TF0 ) T bit informuj¹cy o przepe³nieniu licznika T0 TCON.6 ( TR1 ) T bit steruj¹cy zliczaniem (licznik T1) TCON.7 ( TF1 ) T bit informuj¹cy o przepe³nieniu licznika T1 W przypadku, gdy bit TR1=0 i bit TR0=0 to nastêpuje wstrzymanie pracy licznika, natomiast, gdy bit TR1=1oraz bit TR0=1 to nastêpuje rozpoczêcie procesu zliczania. Stany szesnastobitowych liczników wchodz¹cych w sk³ad uk³adu czasowego mog¹ byæ modyfikowane programowo poprzez cztery rejestry specjalne: TH0 T najbardziej znacz¹cy bajt licznika T0 TL0 T mniej znacz¹cy bajt licznika T0 TH1 T najbardziej znacz¹cy bajt licznika T1 TL1 T mniej znacz¹cy bajt licznika T1 6) Operacje obs³ugi przerwañ W mikrokontrolerach rodziny MCS - 51 istniej specjalny rejestr - IE nadzoruj¹cy prac¹ przerwañ. Odpowiednie bity tego rejestru maj¹ nastêpuj¹ce znaczenie: IE.0 ( EX0 ) T zezwolenie na przerwanie z wejScia INT0 IE.1 ( ET0 ) T zezwolenie na przerwanie z czasomierza T0 IE.2 ( EX1 ) T zezwolenie na przerwanie z wejScia INT1 IE.3 ( ET1 ) T zezwolenie na przerwanie z czasomierza T1 IE.4 ( ES ) T zezwolenie na przerwanie pochodz¹ce ze sterownika transmisji szeregowej RS IE.7 ( EA ) T ogólne zezwolenie na przerwanie  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 29 Programatory i proces programowania mikroprocesorów Programatory to mniej lub bardziej skomplikowane urz¹dzenia elektroniczne, których zadaniem jest wprowadzenie do wewnêtrznej pamiêci mikrokontrolera dowolnego programu. Z³o¿onoSæ budowy programatora jest zwi¹zana z jego mo¿liwoSciami, czyli liczb¹ obs³ugiwanych uk³adów scalonych. Nieodzownym elementem (oprócz programatora) zestawu s³u¿¹cego do programowania jest komputer, zasilacz oraz linia ³¹cz¹ca te elementy. Schemat blokowy zestawu s³u¿¹cego do programowania mikrokontrolerów przedstawiono na rys.8. KOMPUTER PC Linia ³¹ cz¹ca programator z komputerem PC Podstawka PROGRAMATOR typu ZIF ZASILACZ MIKROKONTROLER Rys.8. Schemat blokowy zestawu s³u¿¹cego do programowania mikrokontrolerów W zestawach s³u¿¹cych do programowania mikrokontrolerów stosowane s¹ dwa sposoby ³¹czenia ich z komputerem. Pierwszy sposób to zastosowanie ³¹cza szeregowego, drugi to zastosowanie ³¹cza typu równoleg³ego. Zestaw kolejnych czynnoSci, jakie nale¿y wykonaæ podczas programowania pokazany zosta³ na rysunku 9.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 30 ZESTAW CZYNNORCI, JAKIE NALE¯Y WYKONAÆ PODCZAS PROGRAMOWANIA MIKROKONTROLERÓW NAPISANIE PROGRAMU W ASEMBL ERZE PRZY WYKORZYSTANIU DOWOLNEGO EDYTORA TEKSTU (WORD, NOTATNIK) NADANIE DOWOLNEJ NAZWY I ROZSZERZENIA TYPU ASM POWSTA£EMU PROGRAMOWI PRZED JEGO ZAPISEM NA DOSTÊ PNY NORNIK INFORMACJI ( np. PROGRAM.ASM) ASEMBLACJA PROGRAMU SYMULACJA PROGRAMU URUCHOMIENIE PROGRAMATORA URUCHOMIENIE PROGRAMU NADZORUJ¥CEGO PRACÊ PROGRAMATORA OTWARCIE ZASEMBLOWNEGO PROGRAMU (Z ROZSZERZENIEM HEX) KASOWANIE PROCESORA URUCHOMIENIE PROCESU PROGRAMOWANIA WERYFIKACJA PROCESU PROGRAMOWANIA EMULACJA WPROWADZENIE BITU ZABEZPIECZENIA Rys. 9. Algorytm programowania mikrokontrolerów  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 31 CzynnoSci przedstawione na rysunku 9 najlepiej opisaæ na konkretnym przyk³adzie. Przyk³ad: W oparciu o schemat zestawu uruchomieniowego z rys.11napisaæ program, którego wynikiem koñcowym ma byæ zaSwiecenie siê jednej diody T LED 1, do³¹czonej do czwartego wyjS cia portu P1 mikrokontrolera typu 89S52. Wydruk (listing) programu realizuj¹cego powy¿sze zadanie bêdzie wygl¹da³ w nastêpuj¹cy sposób: LED.asm ORG 0H 1 MOV P1,#0000 111B; wyró¿niony bit w danym zapisie jest odpowiedzialny za uaktywnienie diody LED pod³¹czonej do czwartego wyjS cia portu P1 END W wyniku asemblacji (u¿ycia specjalnego programu) otrzymamy dwa, dodatkowe programy: pierwszy z heksadecymalnym kodem xród³owym T led.hex, ³adowanym do pamiêci procesora oraz drugi, pomocniczy typu: led.lst T infor muj¹cy programistê o ewentualnie wystêpuj¹cych w nim b³êdach. Listingi tych, dwóch programów przedstawiono poni¿ej. led.hex :0300000075900FE9 :00000001FF led.lst Line I Addr Code Source 1: N 0000 ORG 0H 2: 0000 75 90 0F MOV P1,#00001111B 3: 4: END Kolejnym krokiem przy programowaniu (rys.9) jest symulacja komputerowa umo¿liwiaj¹ca sprawdzenie poprawnoSci danego programu napisanego w asemblerze. W przypadku, gdy etap ten zakoñczy siê sukcesem, mo¿na uruchomiæ programator i za³adowaæ program do umieszczonego w nim procesora. Nale¿y pamiêtaæ o tym, aby sprawdziæ (zweryfikowaæ) identycznoSæ za³adowanego programu z jego xród³ow¹ wersj¹. Procesor, z tak za³adowanym programem, mo¿na umieSciæ dopiero w zestawie uruchomieniowym (rys. 10 i rys.11). Zadaniem uk³adów uruchomieniowych jest pr aktyczne sprawdzenie poprawnoSci funkcjonowania danego programu w niemal rzeczywistych warunkach. W celu zabezpieczenia w³asnej pracy mo¿na dodatkowo wprowadziæ podczas procesu programowania do struktury wewnêtrznej mikroprocesora bit zabezpieczenia. Uniemo¿liwia on odczytanie przez osoby postronne zawartoSci wewnêtrznej pamiêci mikroprocesora. Rys 10. Zestaw uruchomieniowy  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 32 +5V 10k 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 AT 89S52 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 +5V 10µF Reset 10k 12 MHz 2x33pF +5V P1.0 P1.1 P1.2 LED3 LED2 3X510 LED1 3X10k 3XBC238 Rys. 11. Schemat  zestawu uruchomieniowego  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 33 4.3.2. Pytania sprawdzaj¹ce Odpowiadaj¹c na pytania, sprawdzisz, czy jesteS przygotowany do wykonania æwiczeñ. 1. Co to jest asembler? 2. Jaka jest ogólna struktura programu napisanego w asemblerze? 3. Jak dzielimy instrukcje w asemblerze? 4. Jakie s¹ elementy sk³adowe zestawu s³u¿¹cego do programowania mikroprocesorów? 5. Jakie czynnoSci nale¿y wykonaæ, aby w poprawny sposób zaprogramowaæ mikroprocesor? 4.3.3. Æwiczenia Æ wiczenie 1 Napisz program, którego wynikiem koñcowym jest zaSwiecenie siê dwóch diod LED (wykorzystaj schemat uk³adu uruchomieniowego z rys.11). Sposób wykonania æwiczenia Aby wykonaæ æwiczenie powinieneS: 1) napisaæ program, 2) sprawdziæ program przy wykorzystaniu dowolnego symulatora pracy mikroprocesora, 3) sprawdziæ poprawnoSæ funkcjonowania mikroprocesora w uk³adzie uruchomieniowym. Wyposa¿enie stanowiska pracy: T stanowisko do programowania mikroprocesorów, T program symulacyjny, T zestaw uruchomieniowy (rys.11). Æ wiczenie 2 Napisz program, którego wynikiem koñcowym jest zaSwiecenie siê i przygasanie jednej diody LED (wykorzystaj schemat uk³adu uruchomieniowego z rys.11). Sposób wykonania æwiczenia Aby wykonaæ æwiczenie powinieneS: 1) napisaæ program, 2) sprawdziæ program przy wykorzystaniu dowolnego symulatora pracy mikroprocesora, 3) sprawdziæ poprawnoSæ funkcjonowania mikroprocesora w uk³adzie uruchomieniowym. Wyposa¿enie stanowiska pracy: T stanowisko do programowania mikroprocesorów, T program symulacyjny, T zestaw uruchomieniowy (rys.11). Æ wiczenie 3 Napisz program, którego wynikiem koñcowym jest zaSwiecenie siê jednej diody LED w wyniku wciSniêcia jednego z przycisków (wykorzystaj schemat uk³adu uruchomieniowego z rys.11).  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 34 Sposób wykonania æwiczenia Aby wykonaæ æwiczenie powinieneS: 1) napisaæ program, 2) sprawdziæ program przy wykorzystaniu dowolnego symulatora pracy mikroprocesora, 3) sprawdziæ poprawnoSæ funkcjonowania mikroprocesora w uk³adzie uruchomieniowym. Wyposa¿enie stanowiska pracy: T stanowisko do programowania mikroprocesorów, T program symulacyjny, T zestaw uruchomieniowy (rys.11). Æ wiczenie 4 Napisz program, którego wynikiem koñcowym jest: a) zaS wiecenie diody LED1 po wciSniêciu przycisku P1.0, b) zaSwiecenie diody LED2 po wciS niêciu przycisku P1.1 i up³ywie czasu oko³o 1s, c) zaS wiecenie diody LED3 po wciSniêciu przycisku P1.2 i up³ywie czasu oko³o 2 s (wykorzystaj schemat uk³adu uruchomieniowego z rys.11). Sposób wykonania æwiczenia Aby wykonaæ æwiczenie powinieneS: 1) napisaæ program, 2) sprawdziæ program przy wykorzystaniu dowolnego symulatora pracy mikroprocesora, 3) sprawdziæ poprawnoSæ funkcjonowania mikroprocesora w uk³adzie uruchomieniowym. Wyposa¿enie stanowiska pracy: T stanowisko do programowania mikroprocesorów, T program symulacyjny, T zestaw uruchomieniowy (rys.11). Æ wiczenie 5 Napisz program s³u¿¹cy do zamiany liczby napisanej w kodzie dziesiêtnym na liczbê zapisan¹ w kodzie szesnastkowym. Sposób wykonania æwiczenia Aby wykonaæ æwiczenie powinieneS: 1) napisaæ program, 2) sprawdziæ program przy wykorzystaniu dowolnego symulatora pracy mikroprocesora. Wyposa¿enie stanowiska pracy: T zestaw komputerowy, T program symulacyjny. 4.3.4. Sprawdzian postêpów Czy potrafisz: Tak Nie 1) zdefiniowaæ pojêcie asembler? 2) wymieniæ podstawowe rozkazy asemblera? 3) zdefiniowaæ pojêcie zestaw uruchomieniowy? 4) zdefiniowaæ pojêcie programator?  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 35 5. SPRAWDZIAN OSI¥GNIÊÆ INSTRUKCJA DLA UCZNIA 1. Sprawdx kompletnoSæ otrzymanych formularzy (powinieneS otrzymaæ: instrukcjê dla ucznia, kartê odpowiedzi i zestaw pytañ testowych). 2. Zapoznaj siê z otrzymanymi dokumentami. 3. Otrzymany przez Ciebie test sk³ada siê z 9 pytañ. Do ka¿dego pytania do³¹czono po cztery odpowiedzi, z których tylko jedna jest poprawna. Za ka¿d¹ poprawnie zakreSlon¹ odpowiedx otrzymujesz po jednym punkcie. Z³a odpowiedx lub jej brak jest równoznaczne z otrzymaniem przez Ciebie 0 punktów. Maksymalnie mo¿esz uzyskaæ 9 punktów. 4. Przed przyst¹pieniem do udzielania odpowiedzi podpisz imieniem i nazwiskiem otrzyman¹ kartê odpowiedzi. 5. Odpowiedzi udzielaj na otrzymanej karcie odpowiedzi stawiaj¹c w odpowiedniej rubryce znak X. 6. W mo mencie gdy stwierdzisz, ¿e zakreSlona odpowiedx nie jest poprawna mo¿esz dokonaæ korekty zaznaczaj¹c b³êdn¹ odpowiedx kó³kiem, a przy dobrej odpowiedzi ponownie postaw znak X. 7. W przypadku gdy nauczyciel stwierdzi niesamodzielnoSæ w rozwi¹zywaniu przez Ciebie zadañ testowych, stracisz mo¿liwoSæ uzyskania oceny pozytywnej. 8. Na rozwi¹zanie zadañ testowych przewidziano 30 minut. 9. Proponuje siê nastêpuj¹ce normy wymagañ T uczeñ otrzymuje nastêpuj¹ce oceny szkolne: Bardzo dobry 9 punktów Dobry 8T7 punktów Dostateczny 6T5 punktów Dopuszczaj¹cy 4 punkty Niedostateczny 1T3 punkty 10. W przypadku jakichkolwiek w¹tpliwoSci proS o pomoc nauczyciela. Powodzenia! Zestaw pytañ testowych 1. Co to jest mikroprocesor? a) uk³ad scalony, którego funkcjonowanie jest sterowane pobieranymi z pamiêci rozkazami, b) uk³ad scalony o wielkiej skali integracji, c) uk³ad scalony steruj¹cy ma³ymi procesami przemys³owymi, d) uk³ad scalony, na którego funkcjonowanie nie mo¿e wp³ywaæ jego u¿ytkownik. 2. System mikroprocesorowy jest to: a) uk³ad scalony przetwarzaj¹cy sygna³y cyfrowe, b) mikroprocesor wraz z dodatkowymi elementami zewnêtrznymi, z którymi on wspó³pracuje, c) mikrouk³ad sterowany pobieranymi z zewn¹trz rozkazami, d) sieæ przewodów ³¹cz¹cych dwa mikroprocesory.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 36 3. Pamiêæ ROM jest pamiêciom: a) któr¹ mo¿na programowaæ i kasowaæ elektrycznie, b) któr¹ mo¿na kasowaæ promieniowaniem ultrafioletowym, c) któr¹ mo¿na tylko czytaæ, d) której zawartoSæ jest bezpowrotnie tracona po wy³¹czeniu napiêcia zasilaj¹cego. 4. Stosem nazywamy: a) zestaw baterii tworz¹cych akumulator, b) pamiêæ typu FLASH, c) szczególny rodzaj pamiêci T tzw. pamiêci ksi¹¿kowej, d) dodatkow¹ pamiêæ wystêpuj¹c¹ w systemie mikroprocesorowym. 5. Zastosowanie szeregowej transmisji danych: a) powoduje zwiêkszenie szybkoSæ transferu informacji b) powoduje zmniejszenie szybkoSæ transferu informacji. c) powoduje zwiêkszenie podatnoSæ transferu informacji na zak³ócenia zewnêtrzne. d) pozwala na przekaz informacji na niewielkie odleg³oSci. 6. Akumulator jest to: a) ogniwo cynkowo-wêglowe, b) bateria podtrzymuj¹ca napiêcie w systemie mikroprocesorowym, c) pamiêæ typu EEPROM, d) g³ówny rejestr wewnêtrzny mikroprocesora przechowuj¹cy wszelkie wyniki przeprowadzanych operacji arytmetyczno-logicznych. 7. Przerwanie jest to: a) zawieszenie wykonywania aktualnego programu na rzecz wykonania programu o wy¿szym priorytecie, b) inaczej próbkowanie, czyli testowanie stanu wejSæ mikrokontrolera, c) zawieszenie wykonywania danego programu oraz wstrzymanie pracy mikroprocesora, d) reset procesora w chwili braku sygna³ów pochodz¹cych z zewn¹trz. 8. Asembler jest to a) jêzyk programowania mikroprocesora b) pamiêæ wewnêtrzna mikroprocesora. c) zestaw operacji arytmetyczno-geometrycznych wykonywanych przez procesor. d) program zapisany w systemie binarnym. 9. Programator jest to a) urz¹dzenie s³u¿¹ce do sprawdzania programów napisanych w asemblerze. b) element systemu mikroprocesorowego. c) urz¹dzenie s³u¿¹ce do programowania mikroprocesorów. d) uk³ad nadzoruj¹cy sekwencyjne wykonywanie instrukcji wchodz¹cych w sk³ad danego programu.  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 37 KARTA ODPOWIEDZI Imiê i nazwisko..................................................................................................... Analizowanie dzia³ania uk³ adów mikroprocesorowych ZakreSl poprawn¹ odpowiedx. Nr zadania Odpowiedx Punkty 1 a b c d 2 a b c d 3 a b c d 4 a b c d 5 a b c d 6 a b c d 7 a b c d 8 a b c d 9 a b c d Razem:  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 38 6. LITERATURA 1. Barlik R, Nowak M.: Uk³ady sterowania i regulacji urz¹dzeñ energoelektronicznych. WSiP, Warszawa 1998 2. Dokumentacja techniczna firmy ATMEL 2003 (www.atmel.com) 3. Dokumentacja techniczna firmy Hitachi 1999 (www.hitachi.com) 4. Dokumentacja techniczna firmy INTEL 2005 (www.intel.com) 5. Ga³ka Piotr, Ga³ka Pawe³.: Podstawy programowania mikrokontrolera 8051. Wyd.  MIKOM , Warszawa 2005 6. Jamniczek J., Stêpieñ A.: Systemy mikroprocesorowe. Laboratorium systemów mikroprocesorowych cz. I i II. Wydawnictwo Elektronicznych Zak³adów Naukowych, Wroc³aw 1995 7. Niederliñski A.:Mikroprocesory, Mikrokomputery, Mikrosystemy Wyd II WSiP, Warszawa 1988 8. Rydzeski A., Sacha K.: Mikrokomputer. Elementy, budowa, dzia³anie SIGMA, Warszawa 1987 9. Rydzewski A.: Mikrokomputery jednouk³adowe rodziny MCST51. WNT, Warszawa 1999  Projekt wspó³finansowany ze Srodków Europejskiego Funduszu Spo³ecznego 39

Wyszukiwarka

Podobne podstrony:
technik mechatronik11[50] o1 06 n
technik mechatronik11[50] o1 02 n
technik mechatronik11[50] o1 04 n
technik mechatronik11[50] o1 01 n
technik mechatronik11[50] o1 08 n
technik mechatronik11[50] o1 03 n
Technik mechatronik11[50] Z1 05 u
technik mechatronik11[50] o2 03 n
technik mechatronik11[50] z3 03 n
technik mechatronik11[50] o2 03 u
technik mechatronik11[50] z1 04 n
technik mechatronik11[50] z1 02 n
technik mechatronik11[50] z2 01 n
technik mechatronik11[50] z3 02 n
technik mechatronik11[50] o2 01 n
technik mechatronik11[50] z1 03 n

więcej podobnych podstron