Opracowanie mikroprocesorowego sterownika dozowania próbek gazowych dla chromatografii
|
|
- Zbigniew Woźniak
- 9 lat temu
- Przeglądów:
Transkrypt
1 Wydział Fizyki i Informatyki Stosowanej Praca magisterska Marcin Korzystka kierunek studiów: informatyka stosowana specjalność: informatyka w nauce i technice Opracowanie mikroprocesorowego sterownika dozowania próbek gazowych dla chromatografii Opiekun: dr inż. Janusz Rosiek Kraków, marzec 2010
2 Oświadczam, świadomy(-a) odpowiedzialności karnej za poświadczenie nieprawdy, że niniejszą pracę dyplomową wykonałem(-am) osobiście i samodzielnie i nie korzystałem(-am) ze źródeł innych niż wymienione w pracy. 2
3 Kraków, 22 marzec 2010 Tematyka pracy magisterskiej i praktyki dyplomowej Marcin Korzystka, studenta V roku studiów kierunku informatyka stosowana, specjalności informatyka w nauce i technice Temat pracy magisterskiej: Opracowanie mikroprocesorowego sterownika dozowania próbek gazowych dla chromatografii Opiekun pracy: Recenzenci pracy: Miejsce praktyki dyplomowej: dr inż. Janusz Rosiek WFiIS AGH, Kraków Program pracy magisterskiej i praktyki dyplomowej 1. Omówienie realizacji pracy magisterskiej z opiekunem. 2. Zebranie i opracowanie literatury dotyczącej tematu pracy. 3. Praktyka dyplomowa: wybór i zapoznanie się z ideą mikroprocesora, przygotowanie oprogramowania, dyskusja i analiza powstałych problemów, sporządzenie sprawozdania z praktyki. 4. Kontynuacja projektowania oprogramowania dla powstałego urządzenia. 5. Testowanie powstałego urządzenia, omówienie jego cech i zatwierdzenie przez opiekuna. 6. Opracowanie redakcyjne pracy. Termin oddania w dziekanacie: 22 marzec (podpis kierownika katedry) (podpis opiekuna)
4 Merytoryczna ocena pracy przez opiekuna: Końcowa ocena pracy przez opiekuna:... Data:... Podpis:... Merytoryczna ocena pracy przez recenzenta: Końcowa ocena pracy przez recenzenta:... Data:... Podpis:... Skala ocen: (6.0 celująca), 5.0 bardzo dobra, 4.5 plus dobra, 4.0 dobra, 3.5 plus dostateczna, 3.0 dostateczna, 2.0 niedostateczna 4
5 Spis treści Spis treści 5 Wprowadzenie 7 1 Chromatografia gazowa Cel Monitoring gazów atmosferycznych na świecie i w AGH Zasada analizy Charakterystyka pomiarów terenowych Uzasadnienie konieczności automatyzacji pomiarów Układ mechaniczny próbnika Schemat układu próbnika Wejście układu mechanicznego próbnika Założenia Sterowanie układu mechanicznego próbnika Struktura danych sterujących Mały rozmiar i mały pobór prądu Opis wykorzystanych technologii HARDWARE Słowo wstępne AVR Atmega Zestaw uruchomieniowy AVT Programator Układ zasilający zestaw AVT SOFTWARE Środowisko programistyczne BASCOM-AVR Podstawy programowania BASCOM Konstrukcja oprogramowania Założenia projektowe Moduły programu i schemat ideowy programu Moduł startowy - Start Moduł - Cykl zwykły Moduł - Ustawienia
6 6 SPIS TREŚCI Moduł - Start cyklu Moduł - Zapis EEPROM Moduł - Ustawienia ogólne Moduł - Ustawienia czasu Moduł - Zawory Podsumowanie 41 A Rysunki 45 B Listing 49 C Instrukcja użytkownika 65 C.1 Wstęp C.2 Elementy składowe urządzenia C.2.1 Wyświetlacz LCD C.2.2 Klawiatura C.2.3 Wyjścia C.2.4 Zasilanie C.3 Obsługa urządzenia C.3.1 Ustawienie czasu C.3.2 Kontrola zaworów C.3.3 Wprowadzanie danych C.3.4 Zapis danych do EEPROM C.3.5 Uruchomienie cyklu C.3.6 Programowanie Spis rysunków 73 Spis tabel 74 Bibliografia 75
7 Wprowadzenie Świat elektroniki otacza nas coraz głębiej, dlatego mamy z nią do czynienia prawie na każdym kroku. Mikroprocesory, które stanowią obecnie ważną część w świecie elektroniki, są dziś powszechnie stosowane w najróżniejszych urządzeniach, nie tylko fabrycznych ale i domowych, jak również nawet i w zabawkach. Niska cena, łatwość programowania i dostępność wszelkich niezbędnych narzędzi powodują, że coraz chętniej sięgamy po układy oparte na mikroprocesorze. [3] Faktem jest, że za pomocą kilku dodatkowych elementów pozwalają zrealizować najróżniejsze projekty. [2] W literaturze można spotkać często określenia mikrokontroler, procesor, mikrokomputer jednoukładowy do określenia mikroprocesora. Praca ta jest próbą stworzenia urządzenia, które za pomocą mikroprocesora będzie sterował układem do kriogenicznego dozowania próbek gazowych w chromatografii gazowej. Utrzymana kolejność rozdziałów w niniejszej pracy obrazuje etapy powstawania tej pracy. W rozdziale pierwszym zawarty jest krótki opis chromatografii gazowej oraz przedstawiony jest wykorzystywany układ do kriogenicznego dozowania próbek gazowych. W rozdziale drugim przedstawione zostały założenia, które zostały nałożone na projekt. Zrozumienie tych założeń pozwala na sprecyzowanie użytych narzędzi. Rozdział trzeci opisuje te narzędzia, od strony Hardware i Software. W rozdziale czwartym przedstawiony został napisany program do obsługi mikroprocesora. Opis ten zawiera: schemat modułowy programu, wszystkie napisane i użyte funkcje. W ostatnim rozdziale znajduje się podsumowanie wykonanego projektu oraz przedstawione zostały możliwości dalszego rozbudowania go. Wynikiem tej pracy jest zaprogramowane elektroniczne urządzenie, które steruje zaworami układu do kriogenicznego dozowania próbek. W dodatku C znajduję się Instrukcja użytkownika do tego urządzenia oraz w dodatku B listing programu sterującego nim. 7
8
9 Rozdział 1 Chromatografia gazowa 1.1 Cel Celem prowadzonych analiz gazowych jest rozdzielenie złożonych mieszanin (gazów) oraz określenie jakościowego i ilościowego stanu składników tej mieszaniny. Proces ten przeprowadza się w specjalnie do tego zaprojektowanym urządzeniu zwanym chromatografem. Ogólny schemat chromatografu gazowego przedstawia rysunek 1.1. Rysunek 1.1: Schemat chromatografu gazowego; 1-zbiornik gazu nośnego, 2- regulator przepływu gazu, 3-dozownik, 4-kolumna, 5-termostat, 6-detektor, 7- przepływomierz, 8-komputer lub rejestrator 9
10 10 ROZDZIAŁ 1. CHROMATOGRAFIA GAZOWA Monitoring gazów atmosferycznych na świecie i w AGH Obecnie istnieje organizacja World Meteorological Organization (WMO), która angażuje się w obserwacje i badania naukowe stacji i laboratoriów meteorologicznych oraz w różne programy naukowe i wspólne badania monitorujące gazy cieplarniane. Odpowiedzialny jest za to dział WMO World Data Centre for Greenhouse Gases (WDCGG). Systematycznie zbiera się informacje i analizuje się je dla następujących gazów: [7] 1. CO2 - Dwutlenek węgla Poziom gazu CO 2 wzrasta od czasu uprzemysłowienia gospodarek świata. Jest on gazem, który wnosi największy udział do globalnego ocieplenia atmosfery. W latach wzrost ten szacowany jest na 1.6 ppm/rok. 2. CH4 - Metan CH4 jest drugim znaczącym gazem cieplarnianym. Jego wzrost notuje się od początku 19 wieku. W latach globalne tempo wzrostu CH4 szacowane jest na 7 ppb/rok, jednakże w latach 80-tych tempo to zmniejszyło się. Poza tym notujemy znaczne zmniejszenie się tempa w kilku latach (1992 i 1996). Koncentracja gazu CH4 ma charakter sezonowy. W zimie występuje wysoka koncentracja tego gazu, latem natomiast jest niska. 3. N2 O - Podtlenek azotu Jest ważnym gazem cieplarnianym, jego poziom rośnie w skali globalnej. Z badań przeprowadzonych przez WDCGG wynika, że koncentracja tego gazu rośnie na obu półkulach ziemskich. 4. O3 - Ozon Ozon pełni ważną rolę w atmosferze kuli ziemskiej poprzez promieniowanie i chemiczne procesy zachodzące we współpracy z nim. Ozon absorbuje promieniowanie UV w stratosferze, krąży w atmosferze z zakumulowaną energią, również absorbuje promieniowanie IR w troposferze. 5. CO - Tlenek węgla Tlenek węgla nie jest gazem cieplarnianym, ale ma wpływ na koncentrację gazów cieplarnianych przez oddziaływanie na tlenek wodoru (OH). Jego koncentracja rośnie od połowy 19 wieku i wynosiła 98 ppb w 2002 roku. 6. NO i NO2 - Tlenek azotu i dwutlenek azotu Tlenek i dwutlenek azotu nie są gazami cieplarnianymi, ale oddziałują na
11 1.1. CEL 11 tlenek wodoru (OH), który kontroluje koncentracje metanu (CH4), tlenku węgla (CO) i węglowodorów (HCFCs). Przy obecności NOx, CO i węglowodorów w troposferze powstaje ozon (O3 ). 7. SO2 - Dwutlenek siarki Dwutlenek siarki nie jest gazem cieplarnianym, jest prekursorem atmosferycznego kwasu siarkowego (H2SO4 ) lub siarczanu aerozolu. Jest głównym źródłem kwaśnego deszczu. Informacje o koncentracji wyżej wymienionych gazów zbiera się w celu zbadania wpływu działalności ludzkiej na atmosferę ziemską, również bada się korelację miedzy tymi gazami Zasada analizy Chromatografia (z greckiego: chromatos=barwa + grapho=pisze) jest to metoda rozdzielania mieszanin w wyniku ich przepływu przez porowaty ośrodek wykazujący pewne powinowactwo do rozdzielanych składników. Metoda ta została opracowana na początku XX wieku przez prof. Michaiła Cwieta. Polega na wykorzystaniu różnic we współczynnikach podziału składników między fazą ruchomą i fazą nieruchomą, stosowana do celów analitycznych, przemysłowych, w badaniach strukturalnych związków chemicznych i badań fizykochemicznych. W chromatografii gazowej fazę ruchomą stanowi gaz, natomiast fazę nieruchomą stanowi ośrodek porowaty np. adsorbent, jonit, sito molekularne. [4] Charakterystyka pomiarów terenowych Pomiarem terenowym dla chromatografii gazowej jest proces zebrania gazów w szklanych zbiornikach. Następnie wypełnione gazem zbiorniki można poddać dalszej analizie w chromatografie. Aby zebrać mieszaninę gazów w zbiorniku należy przeprowadzić operacje: 1. Przepuszczenia gazów przy włączonej pompie i dwóch otwartych zaworów otaczających zbiornik, 2. Wpuszczenie gazu do zbiornika przy włączonej pompie, otwartym zaworze od strony pompy, i zamkniętym zaworze z drugiej strony Uzasadnienie konieczności automatyzacji pomiarów Automatyzacja pomiarów terenowych pozwala na zebranie danych gazowych o każdym czasie, bez konieczności kontroli pomiaru przez pracownika. Pomiar taki
12 12 ROZDZIAŁ 1. CHROMATOGRAFIA GAZOWA może trwać 24 godziny, co też utrudnia przeprowadzenie badań. Tak więc, automatyzacja ułatwi proces zbierania danych i pozwoli na lepsze wykorzystanie układu dozowania próbek Układ mechaniczny próbnika Zaprezentowany układ na rysunku 1.2 spełnia rolę zbiornika próbek gazowych. Manipulując odpowiednio zaworami pompujemy do każdego zbiorniczka odpowiednią ilość gazu. Do tej pory układ ten był sterowany programem na komputerze klasy PC. Uniemożliwia to przeprowadzenie dłuższych badań w terenie. Układ sterujący powstały w tej pracy ma być w pełni przenośny, tak aby umożliwiał prace w terenie Schemat układu próbnika Układ zbudowany jest z 14 zaworów (od V1 do V14), sześciu szklanych zbiorników oraz pompy. Zasilany jest on poprzez zasilacz komputerowy (12 V). Schemat tego układu zaprezentowany jest na rysunku 1.2. Rysunek 1.2: Schemat mechaniczny; V1..V14-zawory, Pump-pompa, zbiorniki Przykładowy cykl sterowania układem przedstawiony jest w tabeli 1.1. Jak widać, należy podać czas operacji, numer zaworu na którym ma zostać wykonana operacja oraz należy podać jaka operacja ma zostać wykonana (ON-OFF).
13 1.2. UKŁAD MECHANICZNY PRÓBNIKA 13 Czas Zawór Wartość Czas Zawór Wartość 17:00:00 0 At 08:00:00 0 ON 00:00:00 0 ON 08:00:01 1 ON 00:00:01 1 ON 08:00:02 10 ON 00:00:02 10 ON 08:01:00 10 OFF 00:01:00 10 OFF 08:01:01 7 ON 00:01:01 3 ON 08:01:15 6 ON 00:01:15 2 ON 08:21:15 7 OFF 00:21:15 3 OFF 08:24:15 6 OFF 00:24:15 2 OFF 08:24:16 1 OFF 00:24:16 1 OFF 08:24:17 0 OFF 00:24:17 0 OFF 12:00:00 0 ON 04:00:00 0 ON 12:00:01 1 ON 04:00:01 1 ON 12:00:02 10 ON 04:00:02 10 ON 12:01:00 10 OFF 04:01:00 10 OFF 12:01:01 9 ON 04:01:01 5 ON 12:01:15 8 ON 04:01:15 4 ON 12:21:15 9 OFF 04:21:15 5 OFF 12:24:15 8 OFF 04:24:15 4 OFF 12:24:16 1 OFF 04:24:16 1 OFF 12:24:17 0 STOP 04:24:17 0 OFF Tabela 1.1: Przykładowy cykl Wejście układu mechanicznego próbnika Elementem wejścia tego układu jest zwykła wtyczka DB25 (znana jako wtyczka LPT lub port równoległy) pokazana na rysunku 1.3. Do niej podpina się urządzenie sterujące zaworami. Rysunek 1.3: Wejście układu - DB25. Do złącz tej wtyczki podpięte zostały zawory. Proces sterowania urządzenia polega na manipulowaniu sygnałem na odpowiednich złączach wejścia. Schemat połączenia Numer złącza -> Numer zaworu przedstawiony jest w tabeli 1.2.
14 14 ROZDZIAŁ 1. CHROMATOGRAFIA GAZOWA NR ZŁĄCZA NR ZAWORU 1 GND POMPA Tabela 1.2: Schemat połączenia - nr złącza->nr zaworu
15 Rozdział 2 Założenia Powstałe urządzenie ma za zadanie sterować układem mechanicznym do chromatografii gazowej przedstawionym w podrozdziale 1.2 i ma spełniać kilka podstawowych wymagań: sterowanie zaworami i pompą mały rozmiar możliwość wprowadzenia nowych danych możliwość pracy w terenie 2.1 Sterowanie układu mechanicznego próbnika Aby sterować układem do dozowania próbek gazowych z podrozdziału 1.2 należy na odpowiednie wyprowadzenia procesora podawać zwykłe sygnały TTL( zero logiczne lub jedynkę logiczną). Sygnał TTL jest niski (logiczne 0 ), gdy potencjał ma wartość od 0 V do 0,8 V w odniesieniu do masy, wysoki (logiczna 1 ) przy wartości potencjału między 2 V a 5 V. Wyprowadzenia portów mikroprocesora przedstawia tabela 2.1. Obszerny opis mikroprocesora znajduję się w rozdziale
16 16 ROZDZIAŁ 2. ZAŁOŻENIA Nr zaworu Port Pompa Portc.1 1 Porta.4 2 Porta.3 3 Portc.0 4 Portc.7 5 Portd.0 6 Porta.0 7 Portd.1 8 Porta.5 9 Portc.6 10 Porta.6 11 Porta.2 12 Portd.3 13 Porta.1 14 Portd.2 Tabela 2.1: Wyprowadzenia mikroprocesora. 2.2 Struktura danych sterujących Dane wprowadzane do urządzenia mają mieć taką samą postać, jaka jest używana w programie Autosampler na komputer PC. Pozwoli to na łatwe wprowadzenie danych bez potrzeby konwersji na inny format. Dane wprowadzane do programu mają postać: Godzina Minuta Sekunda NrZaworu Operacja Tabela 2.2: Postać danych. Gdzie: Godzina,Minuta,Sekunda - to czas operacji. NrZaworu - numer zaworu od 0 do 15 (0-pompa) Operacja - 3=start, 2=koniec, 1=ON, 0=OFF. 2.3 Mały rozmiar i mały pobór prądu Możliwość łatwego przeniesienia urządzenia i podłączenia go do układu dozowania próbek w dowolnym miejscu skłania do użycia układu elektronicznego opartego na mikroprocesorze oraz do użycia akumulatora żelowego. Akumulator żelowy to
17 2.3. MAŁY ROZMIAR I MAŁY POBÓR PRĄDU 17 rodzaj akumulatora kwasowo-ołowianego, z żelowym elektrolitem, który idealnie spełnia rolę zasilacza do przenośnego urządzenia. Jego główne cechy to: jest bezobsługowy, tzn. nie trzeba wymieniać elektrolitu, można go ustawić w różnych pozycjach, brak wycieków elektrolitu, odporność na temperaturę, uderzenia i wibracje Urządzenie pobiera prąd o wartości 0.03 [A]. Urządzenie powinno wytrzymać bez ładowania min. 48 godzin. W ten sposób można wyliczyć minimalną pojemność akumulatora: Q[Ah] = I[A] * t[h]. Pojemność taka wynosi 1,44 [Ah]. W rozdziale przedstawiony jest układ zasilający urządzenie.
18
19 Rozdział 3 Opis wykorzystanych technologii 3.1 HARDWARE Słowo wstępne W rozdziale tym przedstawione są elementy hardware które zostały użyte podczas wykonywania pracy. W sekcji AVR Atmega8535 znajduje się opis mikroprocesora. Nie jest to jednak szczegółowy opis tego procesora, ale jest wyszczególnieniem podstawowych elementów oraz elementów, na które należało zwrócić szczególną uwagę podczas pisania pracy. W sekcji Zestaw uruchomieniowy AVT2550 przedstawiony jest układ elektroniczny, którego integralną częścią jest wspomniany mikroprocesor. Przedstawiona jest budowa układu oraz możliwe pełnione funkcję przez układ. W sekcji Programator przedstawiony jest opis programatora oraz schemat procesu programowania mikroprocesora. W sekcji Układ zasilający zestaw AVT2550 przedstawiony został schemat podłączenia akumulatora żelowego oraz kontrolki do układu. W dokumencie stosowane są wymiennie nazwy mikrokontroler, procesor i mikroprocesor oznaczające ten sam układ scalony AVR Atmega8535 Mikroprocesor Atmega8535 jest wysoko wydajnym, o niskim poborze prądu, 8- bitowym procesorem z rodziny AVR. Budowa procesora oparta jest na architekturze RISC. Atmega8535 w swojej budowie posiada 3 rodzaje pamięci: Systemowa 8K bajtowa nieulotna pamięć FLASH. W niej znajduje się skompilowany program. Według dokumentacji zapis i odczyt tej pamięci może być wykonany 10,000 cykli. 19
20 20 ROZDZIAŁ 3. OPIS WYKORZYSTANYCH TECHNOLOGII 512 bajtowa pamięć EEPROM. Nieulotna pamięć, służy do przechowywania rzadko zmieniających się danych. 100,000 cykli zapisu i odczytu. 512 bajtowa pamięć RAM. Wewnętrzna pamięć do przechowywania stosu danych. Po wyłączeniu zasilania pamięć zostaje wyczyszczona. Jednostką centralną mikroprocesora jest jednostka arytmetyczno-logiczna (ALU), która wykonuje wszystkie operacje bitowe. Rysunek A.1 przedstawia blokowy schemat wewnętrzny użytego mikrokontrolera. W swojej budowie zawiera 40 wyprowadzeń, z których 32 są to uniwersalne wyprowadzenia IN/OUT. Opis wyprowadzeń znajduje się w tabeli 3.1. Natomiast na rysunku 3.1 przedstawione jest rozmieszczenie wyprowadzeń w mikrokontrolerze. Rysunek 3.1: Atmega8535 Ponadto w swojej budowie zawiera kilka bardzo ważnych i funkcjonalnych modułów: Interfejs ISP - umożliwia komunikację z innymi układami i systemami mikroprocesorowymi, pozwala również zaprogramować procesor bez konieczność wyjmowania kostki z podstawki. Sprzętowy UART - czyli układ umożliwiający transmisję danych z wykorzystaniem protokołu RS232. Dwa 8-bitowe liczniki.
21 3.1. HARDWARE 21 Vcc GND Port A(PA7..PA0) Port B(PB7..PB0) Port C(PC7..PC0) Port D(PD7..PD0) RESET XTAL1 XTAL2 AVCC AREF Napięcie zasialnia. Uziemienie. Port A służy jako analogowe wejścia do przetwornika AC/DC. Jeśli przetwornik AC/DC jest nieużywany to Port A służy jako 8-bitowe dwukierunkowe porty IN/OUT. Port B to 8-bitowe dwukierunkowe porty IN/OUT Port C to 8-bitowe dwukierunkowe porty IN/OUT Port D to 8-bitowe dwukierunkowe porty IN/OUT Wejście zerujące RESET. Wejście rezonatora kwarcowego Wyjście z rezonatora kwarcowego Jest napięciem zasilania dla Portu A i przetwornika AC/DC. Jest analogowym odniesieniem dla przetwornika AC/DC. Tabela 3.1: Wyprowadzenia mikroprocesora Jeden 16-bitowy licznik. Licznik czasu rzeczywistego z odrębnym oscylatorem (RTC). Cztery kanały PWM. 8-kanałowy, 10-bitowy przetwornik AC/DC Zestaw uruchomieniowy AVT2550 AVT 2550 jest układem dostępnym jako układ do samodzielnego złożenia udostępniany przez firmę AVT. Znany jest pod nazwą Pecel (Personal Computer for Electronicians). Budowa tego układu jest przedstawiona na rysunku A.2. W skład tego układu wchodzą następujące układy scalone: IC1 - mikroprocesor ATmega8535. IC2 - ULN2003, układ ten zawiera osiem driverów mocy. Służy do sterowania przekaźnikami, żarówkami, silnikami i innymi urządzeniami wykonawczymi. IC3 - jest to układ resetujący procesor w przypadku spadku napięcia zasilające poniżej pewnej wartość minimalnej, oraz zapewnia pewny start procesora po włączeniu do zasilania. IC4 - stabilizator napięcia +5VDC.
22 22 ROZDZIAŁ 3. OPIS WYKORZYSTANYCH TECHNOLOGII IC5 - odbiornik podczerwieni o częstotliwości pracy 36kHz IC6 - jest to układ scalony, pracujący jako wzorzec napięciowy. Na jego wyjściu VR występuje napięcie równe 2.5 [V], stabilne w funkcji temperatury i napięcia zasilającego IC7 - układ scalony stosowany do konwersji napięć portu RS-232 na standard TTL. Układ ten posiada również szesnasto-klawiszową klawiaturę, która służy do wprowadzania danych oraz do przechodzenia pomiędzy opcjami udostępnionymi przez program. Do komunikacji z użytkownikiem służy wmontowany wyświetlacz LCD (16*2). Ostatnimi elementami na płytce układu to zestaw złącz: CON1, CON2, CON3, CON4 - do tych złącz podłączono wszystkie aktywne wyprowadzenia procesora, czyli porty A,B,C i D. CON5 - złącze I2C. Umożliwia podłączenie wielu urządzeń współpracujących z szyną I2C. CON6 - złącze 1WIRE. Umożliwia podłączenie urządzeń współpracujących z szyną 1WIRE. CON7 - złącze, do którego doprowadzamy napięcie zasilające cały układ. CON8 - złącze ISP. Do niego podłączamy programator. Umożliwia ono zaprogramowanie procesora bez wyjmowania go z płytki. CON9 i CON10 - są wejściami i wyjściami bufora mocy ULN2803. CON11 - złącze alternatywnego zasilania procesora. CON12 - złącze umożliwiające podłączenie układu do złącza RS-232 komputera bądź innego urządzenia posiadający interfejs RS-232. CON13 - złącze, do którego możemy podłączyć odbiornik sygnału DCF77 nadawanego na falach długich. Po przylutowaniu wszystkich wymienionych wyżej elementów na drukowanej płytce otrzymałem w pełni funkcjonalny układ, który należy tylko zaprogramować. Opis programatora i schemat programowania przedstawiony został w rozdziale Schemat płytki drukowanej przedstawiony jest na rysunku A.3.
23 3.1. HARDWARE Programator AVT2550/P Programator ISP to bardzo prosty programator, składający się tylko z jednego układu scalonego 74LS244, służący do wprowadzenia programu do pamięci mikroprocesora. Dzięki złączu ISP programowanie procesora odbywa się bez konieczności wyciągania kostki procesora z płytki. Użyty programator jest kompatybilny z programatorem STK200 firmy Kanada, który jest obsługiwany w Bascom-AVR. Poniższy schemat 3.2 przedstawia idee podłączenia programatora[6]. Rysunek 3.2: Schemat ideowy programatora. Niżej pokazany jest uproszczony algorytm programowania mikroprocesorów firmy AVR poprzez interfejs ISP. 1. Podczas włączenia zasilania należy wymusić stan niski na wejściach RESET i SCK procesora. Nie wszystkie programatory (w tym opisywany) potrafią wykonać tę czynność i w takim przypadku należy, po wymuszeniu stanu niskiego na końcówce SCK, podać stan wysoki na RESET przez dwa cykle zegarowe. 2. Wysłać do procesora instrukcję zezwolenia na programowanie Programming Enable. Składnia tej instrukcji podana jest w tabeli niżej[5].
24 24 ROZDZIAŁ 3. OPIS WYKORZYSTANYCH TECHNOLOGII Instrukcja Format instrukcji Działanie Bajt 1 Bajt 2 Bajt 3 Bajt 4 Programming Enable xxxx xxxx xxxx xxxx Zezwolenie na programowanie Chip Erase x xxxx xxxx xxxx xxxx xxxx Kasowanie obu pamięci Read Program Memory Write Program Memory Read EEPROM Memory Write EEPROM Memory 0010 H000 xxxx xxaa bbbb bbbb oooo oooo 0100 H000 xxx xxaa bbbb bbbb iiii iiii xxxx xxxx xbbb bbbb oooo oooo Odczyt górnej lub dolnej (H) części danych spod adresu a:b Zapis górnej lub dolnej (H) części danych spod adresu a:b Odczyt z pamięci danych spod adresu b xxxx xxxx xbbb bbbb iiii iiii Zapis do pamięci danych pod adres b Write Lock Bits x xabx xxxx xxxx xxxx xxxx Zapis bitów zabezpieczających A i B Read Signature Bits xxxx xxxx xxxx xxbb oooo oooo Odczyt typu układu o spod adresu b a - wyższe bity adresu, b - niższe bity adresu, H=0 - niższy bajt, H=1 - wyższy bajt, o - odczyt danych, i - zapis danych, x - bez znaczenia, A - bit zabezpieczający 1, B - bit zabezpieczający Kolejna czynność to sprawdzenie poprawności transmisji. Czynność ta polega na odebraniu od procesora wartości bajtu Programming Enable. Jeżeli otrzymamy taką odpowiedź uznajemy, że transmisja jest prawidłowa i możemy przystąpić do kolejnych instrukcji. Jeżeli nie otrzymamy odpowiedzi od procesora po wykonaniu 32 prób wysłania instrukcji Programming Enable świadczy to, że nie można zsynchronizować układów. 4. Po nawiązaniu transmisji programator powinien wysłać do procesora kolejne instrukcje zgodne z wykonywanym aktualnie zadaniem Układ zasilający zestaw AVT2550 Zasilanie urządzenia odbywa się poprzez akumulator żelowy. Akumulator żelowy, jaki został użyty w tej pracy, jest produkcji firmy SSB CSB. Akumulator ten jest 12 [V], a jego pojemność jest równa 3 [Ah]. Do układu został dodatkowo podpięty moduł pokazujący stan naładowania akumulatora. Moduł ten zbudowany jest z diody Zenera, rezystora oraz diody świecącej (LED). Zaświecona dioda oznacza prawidłowo naładowany akumulator, natomiast brak sygnalizacji przez diodę oznacza, że akumulator jest rozładowany. Schemat podłączenia akumulatora i modułu do zestawu uruchomieniowego AVT2550 przedstawia rysunek 3.3. Rysunek 3.3: Schemat zasilania układu AVT2550.
25 3.2. SOFTWARE SOFTWARE Środowisko programistyczne BASCOM-AVR Bascom-AVR to środowisko programistyczne stworzone do programowania mikroprocesorów z rodziny AVR. W skład pakietu wchodzi kompilator języka BA- SCOM, symulator sprzętowy procesora, wbudowany edytor składni języka. Język opisu BASCOM jest dialektem (odmianą) języka BASIC. Jest on stosunkowo prostym językiem proceduralnym, w skład którego wchodzą: deklaracja zmiennych, instrukcje warunkowe, procedury, instrukcje pętli, więcej na ten temat można znaleźć w podrozdziale Sam BASCOM-AVR posiada wiele użytecznych instrukcji, dodawanych i poprawianych w każdej nowszej wersji środowiska, które ułatwiają pisanie programu. Do pisania programu został użyty Bascom-AVR w wersji Na rysunku 3.4 przedstawione jest główne okno tego środowiska. W oknie edytora zapisywane są polecenie BASCOMA, są one zapisywane w zwykłym pliku tekstowym o rozszerzeniu.bas. Rysunek 3.4: Okno główne. Przed rozpoczęciem pracy z Bascom-AVR, należy go odpowiednio skonfigurować. Najważniejsze jest wybranie procesora oraz programatora odpowiednio do posiadanego fizycznego sprzętu. Na rysunku 3.5 pokazane jest okno z konfiguracją wyboru procesora, natomiast na rysunku 3.6 pokazane jest okno z wyborem programatora. Mając tak skonfigurowane środowisko można przejść do kompilacji programu i wgrania go do procesora. Kompilacja odbywa się poprzez wciśnięcie Program- >Compile (F7 lub klawisz na pasku narzędziowym). Jeśli kompilacja przejdzie
26 26 ROZDZIAŁ 3. OPIS WYKORZYSTANYCH TECHNOLOGII Rysunek 3.5: Okno konfiguracji procesora. Rysunek 3.6: Okno konfiguracji programatora. bez żadnych błędów można program wgrać do procesora klikając na Program- >Send to Chip (F4). W tle, podczas kompilacji, plik programu.bas jest tłumaczony na szereg plików: 1..BIN - plik z programem dla mikrokontrolera wgrywany do pamięci FLASH, 2..DBG - plik dla potrzeb symulatora, 3..EEP - plik z danymi EEPROM, 4..HEX - plik z danymi EEPROM, 5..OBJ - wygenerowany kod asembler,
27 3.2. SOFTWARE RPT - plik zawierający raport Podstawy programowania BASCOM W języku BASCOM BASIC zdefiniowano kilka typów danych przedstawionych w tabeli 3.2[1]: Typ Rozmiar Przechowywane wartości Bit 1/8 bajta Wartości 0 lub 1 Byte 1 bajt Liczby całkowite z zakresu od 0 do 255 Integer 2 bajty Liczby całkowite z zakresu od do Long 4 bajty Liczby całkowite z zakresu od -2ˆ32 do 2ˆ32-1 Word 2 bajty Liczbę całkowitą z zakresu od 0 do Single 4 bajty Dowolną liczbą stało lub zmiennoprzecinkową String max.254 bajty Przechowuje ciąg znaków o długości nie większej niż 254 znaki. Koniec tego ciągu jest oznaczany znakiem 0. Tabela 3.2: Typy danych Zmienne definiuje się za pomocą instrukcji DIM, podając typ zmiennej. Dim nazwa zmiennej As typ zmiennej Tablica zmiennych, tak jak w innych językach programowania, to zbiór ponumerowanych jednakowych elementów. Indeks tablicy liczy się zawsze od numeru 1. Aby zdefiniować tablice należy podać w nawiasie jej wielkość (rozmiar). Dim n a zwa t ablicy ( rozmiar ) As typ zmiennej Na zdefiniowanych zmiennych można wykonywać podstawowe operacje arytmetyczne takie jak dodawanie(+), odejmowanie(-), mnożenie(*), dzielenie(/), dzielenie całkowite(\) oraz potęgowanie(ˆ). Istnieje również możliwość porównywania zmiennych za pomocą operatorów logicznych (tab 3.2.2): Operator Funkcja Wyrażenie = Równość X = Y <> Nierówność X <>Y < Mniejszy X <Y > Większy X >Y <= Mniejszy lub równy X <= Y >= Większy lub równy X >= Y Tabela 3.3: Operatory logiczne Instrukcja FOR...NEXT
28 28 ROZDZIAŁ 3. OPIS WYKORZYSTANYCH TECHNOLOGII Jest to instrukcja pętli, za pomocą której można wykonać jakieś czynności określoną liczbę razy. Składnia tego polecenia jest następująca: FOR L i c z n i k = WartoscPoczatkowa TO WartoscKoncowa... wykonywane zadanie... NEXT Na początku do zmiennej Licznik zostanie wpisana WartoscPoczatkowa. Po wykonaniu jednego obiegu wartość zmiennej pomocniczej Licznik jest zwiększana o 1 i sprawdzany jest warunek czy aktualna wartość zmiennej Licznik osiągnął stan WartoscKoncowa. Instrukcja warunkowa IF...THEN...ELSE Instrukcja ta służy do sprawdzania określonego warunku i, na podstawie spełnienia lub nie tego warunku, wykonania odpowiedniego zadania. Składnia tego polecenia jest następująca. IF WarunekDoSpelnienia THEN... BLOK A... J e s l i warunek j e s t spełniony... zadanie w tym bloku z o s t a n i e wykonane ELSE... BLOK B... J e ś l i warunek j e s t n i e spełniony... zadanie w tym bloku z o s t a n i e wykonane END IF Jeśli warunek WarunekDoSpelnienia zostanie spełniony operacje z bloku A zostaną wykonane, w przeciwnym wypadku zostaną wykonane operacje z bloku B. W instrukcji tej można ominąć całkowicie blok B, pamiętając o zakończeniu instrukcji poleceniem END IF. Instrukcja DO...LOOP Najczęściej wykorzystywana pętla programowa w programie z listingu B. Zasada działania tej pętli jest bardzo prosta. Instrukcje umieszczone wewnątrz tej pętli wykonywane są nieskończenie długo. Można jednak stosować wyjścia z pętli na cztery różne sposoby stosując:
29 3.2. SOFTWARE 29 klauzule WHILE lub UNTIL, etykietę GOSUB, instrukcję EXIT DO. Najprostsza struktura instrukcji DO... LOOP jest następująca: DO... c i a ł o p ę t l i LOOP lub z warunkami zakończenia: DO WHILE / UNTIL ( badany warunek )... c i a ł o p ę t l i LOOP oraz DO... c i a ł o p ę t l i LOOP WHILE /UNTIL ( badany warunek ) Polecenie SELECT CASE Służy do wybrania dowolnie wielu możliwości ze względu na jedną zmienną. Struktura tego polecenia jest następująca: SELECT CASE d z i a l a n i e CASE 1 : i n s t r u k c j e dla pierwszego d z i a ł a n i a CASE 2 :... CASE N : i n s t r u k c j e dla n tego d z i a ł a n i a END SELECT
30
31 Rozdział 4 Konstrukcja oprogramowania W tej części przedstawiony jest program obsługujący wyżej opisany zestaw uruchomieniowy AVT 2550 (PECEL) opisany w rozdziale Na początku wymienione są założenia, które należało przyjąć podczas pisania programu. W dalszej kolejności przedstawiony jest schemat ideowy programu, opis poszczególnych części programu, który zawiera opis wszystkich użytych i napisanych funkcji. Wszystkie zadeklarowane funkcję, prócz jednej KEY SCAN, są mojego autorstwa. W dodatku B znajduję się cały kod programu. 4.1 Założenia projektowe Program obsługujący mikrokontroler powinien zapewnić cztery podstawowe funkcjonalności: Sterowanie 14 zaworami i pompą. Wprowadzenie danych pomiarowych. Kontrola czasowa (ustalenie czasu startu programu). Możliwość zapętlenia się cyklu. Pierwsza wymieniona funkcjonalność jest zarówno podstawowym kryterium użyteczności programu. Sterowanie zaworami i pompą odbywa się poprzez ustawienie stanu wysokiego na odpowiednim pinie mikroprocesora. Wprowadzenie danych pomiarowych możliwe jest poprzez wykonanie odpowiedniej sekwencji klawiszy. 31
32 32 ROZDZIAŁ 4. KONSTRUKCJA OPROGRAMOWANIA Dane te są postaci przedstawionej w sekcji 2.2, natomiast operacja wprowadzania danych jest przedstawiona w Podręczniku użytkownika. Należy pamiętać, że możliwe jest wprowadzenie 64 operacji, a pierwszy numer operacji jest to czas startu całego cyklu. Ponadto, jeśli chcemy ustawić zapętlenie cyklu należy wstawić na odpowiednim numerze operacji czas równy 00:00:00. Program jest tak skonstruowany, że po pojawieniu się takiego czasu ustawi zmienne sterujące na domyślną wartość i przejdzie do ponownego wyliczania rozpoczęcia się cyklu. 4.2 Moduły programu i schemat ideowy programu Program można podzielić na części zwane modułami. Każdy moduł spełnia określone zadania. Ich wywołanie odbywa się poprzez interakcję użytkownika z układem. Moduły te można podzielić na moduły logiczne i moduły funkcjonalne, które odpowiednio grupują cały kod w logiczną całość i spełniają określone wyspecjalizowane funkcje. Schemat przedstawiony na rysunku 4.1 przedstawia schemat ideowy działania programu, jest on równoważny z zaprojektowanym menu programu. Puste bloki reprezentują moduły logiczne, natomiast bloki z zaznaczonym prawym-dolnym rogiem reprezentują moduły funkcjonalne. Rysunek 4.1: Schemat ideowy Przedstawione zostaną teraz wszystkie moduły pod względem funkcjonalnym i pod względem zapisu ich w kodzie tak, aby cały listing programu był jak najbardziej zrozumiały.
33 4.2. MODUŁY PROGRAMU I SCHEMAT IDEOWY PROGRAMU Moduł startowy - Start Jest to część programu, w której znajdują się wszystkie deklaracje zmiennych i funkcji, oraz ustawienie danych określających użyty sprzęt. Na listingu 4.1 zaprezentowany kod ustawia: rodzaj mikroprocesora - $regfile Ustala się bibliotekę użytego mikrokontrolera. Dla Atmega8535 jest to biblioteka m8535.dat. częstotliwość oscylatora - $crystal Ustala się częstotliwość zewnętrznego oscylatora: 8Mhz. typ portów (wejście lub wyjście) oraz jego stany początkowe - Config portx rodzaj wyświetlacza LCD oraz piny, którym jest sterowany - Config Lcd oraz Config Lcdpin port, do którego podłączona jest klawiatura - Config Kbd włącza obsługę wbudowanego licznika wraz z jego skalowaniem - Config TimerX włącza przerwania - Enable Interrupts,Enable TimerX włącza obsługę przerwania - On TimerX FUNKCJA Odpowiednio po wykryciu przerwania na Timer1 i Timer2 wywoływane są funkcje Co1s i Co32ms 38 $ r e g f i l e = m8535. dat b i b l i o t e k a m i k r o k o n t r o l e r a 39 $ c r y s t a l = c z e s t o t l i w o s c o s c y l a t o r a k o n f i g u r a c j a portów m i k r o k o n t r o l e r a 42 Config Porta = Output u s t a w i e n i e portów j a k o w y j ś c i e 43 Porta = &B u s t a w i e n i e stanu n i s k i e g o na pinach Ddrc = &B u ż y c i e r e j e s t r u DDRx 46 Portc = &B Ddrd = &B Portd = &B Config Lcd = 16 2 k o n f i g u r a c j a w y s w i e t l a c z a LCD 52 Config Lcdpin = Pin, Db4 = Portc. 4, Db5 = Portc. 5, Db6 = Portd. 7, Db7 = Porta. 7, E = Portc. 3, Rs = Portc. 2 k o n f i g u r a c j a portów w y s w i e t l a c z a LCD 53 Config Kbd = Portb, Delay = 100 k o n f i g u r a c j a k l a w i a t u r y 54
34 34 ROZDZIAŁ 4. KONSTRUKCJA OPROGRAMOWANIA 55 k o n f i g u r a c j a l i c z n i k a na z e g a r z e Timer1 i Timer0 56 Config Timer1 = Timer, P r e s c a l e = Config Timer0 = Timer, P r e s c a l e = Enable I n t e r r u p t s : Enable Timer1 : Enable Timer0 włączenie przerwań 59 On Timer1 Co1s u s t a w i e n i e procedury o b s ł u g i p r z e r w a n i a z l i c z n i k a Timer1 60 On Timer0 Co32ms u s t a w i e n i e procedury o b s ł u g i p r z e r w a n i a z l i c z n i k a Timer0 Listing 4.1: ustawienia sprzętowe Listing 4.2 przedstawia funkcję do obsługi klawiatury. Wewnątrz tej funkcji wbudowana procedura GETKBD() zwraca numer wciśniętego klawisza, w klawiaturze matrycowej, podłączonej do portu mikrokontrolera. Zwraca liczbę 16, gdy nie naciśnięto żadnego klawisza. Następnie za pomocą procedury LOOKUP() i danych KEYOBARD DECODING1 dokonywana jest konwersja tak, aby była ona zgodna z posiadaną klawiaturą. Układ klawiszy dobrany jest tak, aby przypominał on klawiaturę numeryczną ze zwykłej klawiatury komputera PC. Tabela C.2.2 umieszczona w Podręczniku użytkownika przedstawia ten układ klawiatury. 887 Sub Key scan 888 Key = Getkbd ( ) 889 Key = Lookup ( key, Keyboard decoding1 ) 890 End Sub Keyboard decoding1 : 893 Data 7, 4, 1, 0, 8, 5, 2, 10, 9, 6, 3, 11, 15, 14, 13, 12 Listing 4.2: Obsługa klawiatury Mając tak skonfigurowane ustawienia można przejść do budowy programu. Na listingu 4.3 umieszczono deklaracje wszystkich użytych zmiennych i funkcji. Szczegółowy ich opis znajduje się w dalszym opisie poszczególnych modułów. W ostatniej linii tego listingu (linia 151) znajduje się wywołanie głównej funkcji, która włącza menu główne programu i pozwala przejść do dalszych modułów (zgodnie ze schematem z rys. 4.1). Listing 4.4 przedstawia tą funkcję. 62 zdeklarowane procedury i f u n k c j e 63 D e c l a r e Sub Menu główna f u n k c j a programu 64 Declare Sub Key scan funkcja do o b s ł u g i klawiatury 65 D e c l a r e Sub Zaczynamy cykl f u n k c j a w ł ą c z a j ą c a pomiar 66 Declare Sub Podmenu menu o b s ł u g i głównych ustawień cyklu 67 Declare Sub Podmenu2 menu o b s ł u g i ustawień globalnych 68 D e c l a r e Sub Zmiana menu o b s ł u g i zaworów 69 Declare Sub Zmiana czasu zmienia czas o p e r a c j i na zaworze 70 D e c l a r e Sub C z y t a j c z a s konwersja c z asu 71 Declare Sub Zapis z a p i s u j e dane do pamiecie EEPROM 72 D e c l a r e Sub Wybor o d c z y t u j e z eeprom t a b e l e czasów i t a b e l e o p e r a c j i 73 Declare Sub Zawory odczytuje z eeprom i wyswietla po k o l e j i numery zaworow
35 4.2. MODUŁY PROGRAMU I SCHEMAT IDEOWY PROGRAMU Declare Sub Menu3 menu o b s ł u g i włączania i wyłączania zaworów 75 D e c l a r e Sub O n o f f sprawdzenie stanu na pinach podłączonych do zaworów 76 D e c l a r e Sub Zmien czas u s t a w i e n i e czasu l o k a l n e g o 77 Declare Sub Opnazaw ( n1 As Byte ) zmienia stan zaworu n zdeklarowane zmienne 80 Dim Key As Byte numer w c i ś n i ę t e g o k l a w i s z a 81 Dim Menu change flag As Bit 1 zmiana f l a g i menu, 0 brak zmiany 82 Dim Menu number As Byte 1 cykl, 2 ustawienia 83 Dim Menu number2 As Byte numer wybranej o p c j i 84 Dim Menu string As S t r i n g 11 zmienna tekstowa do opisu menu 85 Dim Z e r u j As Bit 86 Dim Rozpocznij As Bit 1= rozpoczyna s i e cykl 87 Dim Liczbasekund As Long 88 Dim Temp2 As Long zmienna pomocnicza 89 Dim Tab czas ( 6 4 ) As Long t a b l i c a z a w i e r a w s z y s t k i e k o l e j n e c z a s y o p e r a c j i na zaworach 90 Dim Tab zaw ( 6 4 ) As Byte t a b l i c a z a w i e r a i n f o r m a c j e j a k i zawor z o s t a n i e obsluzony 91 Dim Tab operacja ( 6 4 ) As Byte t a b l i c a z a w i e r a i n d e k s o p e r a c j i na zaworach 92 Dim N As Byte zmienna przechowuje numer zaworu, który j e s t a k t u a l n i e o b s ł u g u j ą c y 93 Dim Temp As Byte zmienna pomocnicza 94 Dim S e t t i n g 1 As Byte zmienne wykorzystywane do o b s ł u g i 95 Dim S e t t i n g 2 As Byte w y l i c z a n i a c z asu 96 Dim S e t t i n g 3 As Byte 97 Dim Temp3 As Word 98 Dim Zegar As Bit 0= wyświetla zegar, 1=n i e wyświetla zegar na LCD 99 Dim Day As Byte i l o s c dni, rozpoczyna s i ę Dim Godzina As Byte zmienna przechowuje a k t u a l n a g o d z i n e 101 Dim Minuta As Byte zmienna przechowuje a k t u a l n e minuty 102 Dim Sekunda As Byte zmienna przechowuje a k t u a l n a sekunde 103 zmienne użyte w l i c z n i k u do l i c z e n i a c zasu 104 Dim Sekjed As Byte, S e k d z i e s As Byte zmienn czasowe 105 Dim Minjed As Byte, Mindzies As Byte zmienne czasowe 106 Dim Godzjed As Byte, Godzdzies As Byte zmienne czasowe 107 Dim U s t a w g o d z i n a d z i e s As Byte 108 Dim U s t a w g o d z i n a j e d n As Byte 109 Dim U s t a w m i nuta d z ies As Byte 110 Dim Ustaw minuta jedn As Byte 111 Dim Ustaw godzine As Bit j e s l i ustawiono na 1 to przeprowadzana j e s t o p e r a c j a p r z y p i s a n i a zmiennych chwilowych do zmiennych czasowych 112 Dim Dday As Bit 113 Dim War pocz As Bit sprawdza warunek poczatkowy przy r o z p o c z e c i u c yklu 114 Dim C o f n i e c i e As Long c o f n i e c i e czasu o s U s t a w i e n i e pomocnych nazw wyjściowych portów 117 Pompa A l i a s Portc Z1 A l i a s Porta Z2 A l i a s Porta Z3 A l i a s Portc Z4 A l i a s Portc Z5 A l i a s Portd Z6 A l i a s Porta Z7 A l i a s Portd Z8 A l i a s Porta Z9 A l i a s Portc. 6
36 36 ROZDZIAŁ 4. KONSTRUKCJA OPROGRAMOWANIA 127 Z10 A l i a s Porta Z11 A l i a s Porta Z12 A l i a s Portd Z13 A l i a s Porta Z14 A l i a s Portd u s t a w i e n i e zmiennych na w a r t o ś c i domyślne 134 Sekjed = 0 : S e k d z i e s = 0 : Minjed = 0 : Mindzies = Godzjed = 0 : Godzdzies = U s t a w g o d z i n a d z i e s = 0 : U s t a w g o d z i n a j e d n = 0 : U s t a w m i nuta d z i e s = Ustaw minuta jedn = Menu string = CYKL ZWYKLY 139 Menu number = R o z p o c z n i j = Z e r u j = Key = Zegar = Ustaw godzine = Dday = War pocz = C o f n i e c i e = Cursor Off 150 wywołanie f u n k c j i głównej 151 Menu Listing 4.3: Deklaracja zmiennych i funkcji Wybór modułu polega na wykonaniu odpowiedniej sekwencji wciśnięcia klawiszy. Jak poruszać się po menu programu przedstawiono w Podręczniku użytkownika, który można znaleźć w dodaktu C. 153 ##################### MENU ############################################## 154 f u n k c j a o d p o w i e d z i a l n a za menu glowne Cykl zwykly Ustawienia 157 Sub Menu 158 Cls 159 Lcd MENU 160 L o w e r l i n e 161 Lcd Menu number ;. ; Menu string 162 R o z p o c z n i j = R o z p o c z ę c i e p ę t l i DO... LOOP 165 Menu change flag = Do 167 Key scan sprawdzenie czy z o s t a ł w c i ś n i ę t y k l a w i s z 168 I f Zegar = 1 Then 169 S e l e c t Case Key 170 Case 1 4 : w c i ś n i ę t y k l a w i s z UP 171 Menu change flag = I n c r Menu number inkrementacja numeru menu 173 I f Menu number = 3 Then Menu number = Case 1 3 : w c i ś n i ę t y k l a w i s z DOWN 175 Menu change flag = Decr Menu number dekrementacja numeru menu 177 I f Menu number = 0 Then Menu number = End S e l e c t
37 4.2. MODUŁY PROGRAMU I SCHEMAT IDEOWY PROGRAMU I f Menu change flag = 1 Then 180 L o w e r l i n e 181 Lcd 182 L o w e r l i n e 183 Lcd Menu number ;. ; 184 S e l e c t Case Menu number 185 Case 1 : 186 Menu string = CYKL ZWYKLY 187 Lcd Menu string 188 Menu change flag = Case 2 : 190 Menu string = USTAWIENIA 191 Lcd Menu string 192 Menu change flag = End S e l e c t 194 End I f 195 I f Key = 12 Then w c i ś n i ę t y k l a w i s z ENTER 196 Zawory o d c z y t u j e numery zaworow z p a m i e c i e EEPROM 197 S e l e c t Case Menu number 198 Case 1 : Toggle Menu change flag2 199 Wybor o d c z y t u j e dane czasowe i numery o p e r a c j i z pamięci EEPROM 200 Podmenu 201 Case 2 : 202 Podmenu2 203 End S e l e c t 204 End I f 205 End I f 206 I f Key = 11 Then w c i ś n i ę t y k l a w i s z RIGHT 207 Zegar = End I f 209 I f Key = 15 Then w c i ś n i ę t y k l a w i s z ESC 210 Zegar = Menu change flag = Cls 213 Lcd MENU 214 End I f 215 Loop 216 End Sub Listing 4.4: Funkcja MENU Ostatni etap przygotowania danych to zapis danych cyklu w pamięci EEPROM. Znajduje się on na początku pliku i rozpoczyna się poleceniem $EEPROM. Polecenie $EEPROMHEX służy do poinformowania kompilatora, że do zapisu danych w pamięci EEPROM ma zostać użyty format danych Intel Hex. Dane te podzielone są na trzy bloki, każdy po 64 liczb, tyle ile wynosi liczba możliwych do ustalenia operacji. Tab czas1 - to dane czasowe operacji, zapisane w sekundach jako liczby typu long. Tab zawory - to dane zawierające numer zaworu (od 0- pompa, 1-zawór nr.1 do 14-zawór nr.14). Tab operacja - to dane zawierające numer operacji (2-start, 0-zamknięcie, 1-otwarcie, 3-koniec). Są to dane startowe i nie jest konieczne programowanie pamięci EEPROM za
38 38 ROZDZIAŁ 4. KONSTRUKCJA OPROGRAMOWANIA pomocą programatora. Należy wtedy wprowadzić dane cyklu ręcznie według instrukcji opisanej w Podręczniku użytkownika C $eepromhex dane do z a p i s a n i a w EEPROMie 4 $eeprom 5 Data 0 pomijam pierwszy b a j t wpisujac 0 6 dane czasowe zapisaywane jako l i c z b a sekund, 7 zapisane sa jako typy l i c z b long (& long ) 8 Tab czas1 : 9 dane od 1 do 260=64 4 bajty 10 Data 5&, 1&, 2&, 4&, 5&, 7&, 9&, 14&, 16&, 17& 11 Data 20&, 21&, 22&, 26&, 28&, 29&, 30&, 39&, 45&, 47& 12 Data 60&, 61&, 62&, 68&, 70&, 75&, 79&, 85&, 90&, 120& 13 Data 6000&, 6001&, 6002&, 6060&, 6061&, 6075&, 7275&, 7455&, 7456&, 7457& 14 Data 9000&, 9001&, 9002&, 9060&, 9061&, 9075&, 10275&, 10455&, 10456&, 10457&, 15 Data 11457&, 11458&, 11459&, 11557&, 11558&, 11572&, 14572&, 11&, 12&, 13& 16 Data 14&, 15&, 16&, 17& 17 Tab zawory : 18 dane od 257 do 321= Data 0, 1, 14, 14, 3, 2, 3, 2, 1, 0 20 Data 0, 1, 14, 14, 5, 4, 5, 4, 1, 0 21 Data 0, 1, 14, 14, 7, 6, 7, 6, 1, 0 22 Data 0, 1, 14, 14, 9, 8, 9, 8, 1, 0 23 Data 0, 1, 14, 14, 11, 10, 11, 10, 1, 0 24 Data 0, 1, 14, 14, 13, 12, 13, 12, 1, 0 25 Data 0, 1, 13, 4 26 Tab operacja : 27 dane od 321 do 385= Data 3, 1, 1, 0, 1, 1, 0, 0, 0, 0 29 Data 1, 1, 1, 0, 1, 1, 2, 0, 0, 0 30 Data 1, 1, 1, 0, 1, 1, 0, 0, 0, 1 31 Data 1, 1, 1, 0, 1, 1, 0, 0, 0, 0 32 Data 1, 1, 1, 0, 1, 1, 0, 0, 0, 0 33 Data 1, 1, 1, 0, 1, 1, 0, 0, 0, 1 34 Data 0, 1, 1, 2 Listing 4.5: Pamięć EEPROM W tym miejscu można przejść do szczegółowego opisu funkcji Moduł - Cykl zwykły Moduł CYKL ZWYKŁY jest modułem logicznym, i jak nazwa wskazuje, odpowiedzialny jest za proces cyklu pracy urządzenia. Oprócz zmiany ustawień i włączenia cyklu, można dane cyklu zapisać do pamięci EEPROM. Grupuje on trzy wymienione niżej moduły w logiczną całość zgodnie z modułowym diagramem z rysunku 4.1. Funkcja PODMENU w kodzie programu jest odpowiednikiem tego modułu.
39 4.2. MODUŁY PROGRAMU I SCHEMAT IDEOWY PROGRAMU Moduł - Ustawienia Moduł ten służy do wprowadzenia danych czasowych operacji na poszczególnych zaworach. Zgodnie z założeniami projektu dane te mają postać zaprezentowaną w podrozdziale 2.2. Ograniczeniem, wynikającym z rozmiaru pamięci mikrokontrolera, jest możliwość wprowadzenia do 64 pozycji w cyklu sterowania urządzenia. W kodzie programu do przechowywania danych cyklu służą trzy tablice, o rozmiarze 64, są to: Tab czas - tablica zawiera wszystkie czasy kolejnych operacji na zaworach Tab zaw - tablica zawiera informacje o zaworze, który zostanie obsłużony Tab operacja - tablica przechowuje kod operacji na odpowiednim zaworze W kodzie programu, funkcje tworzące ten moduł to: ZMIANA i ZMIANA CZASU oraz funkcja pomocnicza CZYTAJ CZAS, która odpowiedzialna jest za konwersję czasu. Konwersja jest konieczna gdyż czas zapisywany do pamięci mikrokontrolera jest podany w sekundach, natomiast użytkownikowi jest przedstawiony czas w formacie GG:MM:SS. Proces wprowadzania danych pokazany jest w Podręczniku użytkownika, rozdział C Moduł - Start cyklu W skład tego modułu wchodzą trzy funkcje. Pierwsza funkcja ZACZYNAMY CYKL() ustawia zmienne cyklu: N=2 Day=0 - dzień zero Rozpocznij=1 - rozpoczęcie cyklu i przechodzi do nieskończonej pętli. Warunkiem wyjścia z tej pętli jest wciśnięcie klawisza ESC na klawiaturze lub dojście do operacji zakończenia cyklu (operacja = 2). Dwie pozostałe funkcje Co1s i Co32ms odpowiedzialne są za odmierzanie czasu i jeśli zmienna ROZPOCZNIJ ma wartość 1 to wtedy wykonują się operacje zarządzające cyklem.
40 40 ROZDZIAŁ 4. KONSTRUKCJA OPROGRAMOWANIA Moduł - Zapis EEPROM Moduł ten ma zadanie zapisu danych cyklu. Wszystkie dane z trzech tabel TAB CZAS, TAB ZAW, TAB OPERACJA są zapisywane do pamięci EEPROM. Zapis do tego typu pamięci umożliwia dostęp do danych nawet po wyłączeniu zasilania mikrokontrolera. Po ponownym uruchomieniu urządzenia do wspomnianych tablic wczytywane są dane z pamięci EEPROM. Do zapisu danych służy funkcja ZAPIS Moduł - Ustawienia ogólne Moduł ten jest modułem logicznym i grupuje dwa moduły funkcjonalne. W skład ustawień ogólnych urządzenia wchodzi ustawienie czasu oraz kontrola zaworów Moduł - Ustawienia czasu Aby cykl obsługi próbnika chromatografii gazowej został uruchomiony w odpowiednim czasie należy ustawić czas lokalny. Jest to operacja, którą należy wykonać za każdym razem, gdy włączony zostanie zestaw uruchomieniowy AVT 2550, w przeciwnym wypadku czas liczony jest od 00:00:00. Obsługa tego modułu należy do funkcji ZMIEN CZAS. W funkcji tej, sczytywane są wciśnięte liczby z klawiatury i zapisywane do zmiennych globalnych Ustaw godzina dzies, Ustaw godzina jedn, Ustaw minuta dzies, Ustaw minuta jedn. Zmienne te są używane przez funkcje Co32ms do obsługi licznika czasu. Instrukcja wprowadzenia czasu lokalnego znajduje się w Podręczniku użytkownika C Moduł - Zawory Moduł ten powstał dla ułatwienia testowania urządzenia. Za funkcjonalność tego modułu odpowiedzialne są funkcje MENU3, ON OFF oraz OPNAZAW(ZAW). Za pomocą tych funkcji można włączać i wyłączać każdy z zaworów oraz pompę. Polecenie TOGGLE użyte w funkcji zmienia stan pinu na przeciwny.
41 Rozdział 5 Podsumowanie Podsumowując, efektem tej pracy jest zaprogramowany zestaw uruchomieniowy AVT2550, którego zadaniem jest sterowanie układem zaworów do analizy powietrza. Program, który jest odpowiedzialny za sterowanie mikroprocesora został odpowiednio przetestowany i dostosowany do układu próbnika gazowego. Testy te pozwalają stwierdzić, że przygotowany układ spełnia postawione mu zadania, którymi są: obsługa 14 zaworów i pompy, możliwość wprowadzenia nowych danych cyklu, bez konieczności kompilacji programu, ręczne sterownie zaworami, zastosowanie w pomiarach terenowych, poprzez: mały rozmiar urządzenia, użycie alternatywnego zasilania jakim jest akumulator. Rozbudowa funkcjonalności programu jest możliwa, ale jest ograniczona z powodu limitu pinów na procesorze. Obecnie wykorzystano wszystkie możliwe wolne piny na procesorze. Wyjściem z tej sytuacji jest wykorzystanie rejestrów i logiki kombinacyjnej. Poza tym, problemem przy dalszej rozbudowie programu może stanowić wielkość pamięci FLASH (8 kb). Ponieważ objętość programu w pamięci mikroprocesora jest na poziomie 99% zajętości pamięci FLASH, sprawia to kłopoty przy próbie dalszej rozbudowy programu. Dlatego przy dalszej pracy nad 41
start Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja
----------------------------start---------------------------- Program mikroprocesorowego miernika mocy generowanej $crystal = 8000000 deklaracja częstotliwości kwarcu taktującego uc $regfile "m8def.dat"
Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści
Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów2 2. ISP..2 3. I/O Ports..3 4. External Interrupts..4 5. Analog Comparator5 6. Analog-to-Digital Converter.6 7.
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i Mikrokontrolery Dostęp do portów mikrokontrolera ATmega32 język C laboratorium: 10 autorzy: dr
Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515
Laboratorium Techniki Mikroprocesorowej Informatyka studia dzienne Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515 Cel ćwiczenia Celem ćwiczenia jest poznanie możliwości nowoczesnych
Poradnik programowania procesorów AVR na przykładzie ATMEGA8
Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Wersja 1.0 Tomasz Pachołek 2017-13-03 Opracowanie zawiera opis podstawowych procedur, funkcji, operatorów w języku C dla mikrokontrolerów AVR
2. Architektura mikrokontrolerów PIC16F8x... 13
Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator
Listing_ $crystal = deklaracja
------------------------------------------------- Listing_4 ---------------------------------------------------- $crystal = 8000000 deklaracja częstotliwości kwarcu $regfile "m8def.dat" biblioteka mikrokontrolera
LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2
LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2 1. Cel ćwiczenia Celem ćwiczenia jest pokazanie budowy systemów opartych na układach Arduino. W tej części nauczymy się podłączać różne czujników,
Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości
Politechnika Lubelska Wydział Elektrotechniki i Informatyki PRACA DYPLOMOWA MAGISTERSKA Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Marcin Narel Promotor: dr inż. Eligiusz
MultiTool instrukcja użytkownika 2010 SFAR
MultiTool instrukcja użytkownika 2010 SFAR Tytuł dokumentu: MultiTool instrukcja użytkownika Wersja dokumentu: V1.0 Data: 21.06.2010 Wersja urządzenia którego dotyczy dokumentacja: MultiTool ver. 1.00
Wstęp...9. 1. Architektura... 13
Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości
Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski
Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej Systemy wbudowane Witold Kozłowski Zakład Fizyki i Technologii Struktur Nanometrowych 90-236 Łódź, Pomorska 149/153 https://std2.phys.uni.lodz.pl/mikroprocesory/
WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz
WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu Jakub Stanisz 19 czerwca 2008 1 Wstęp Celem mojego projektu było stworzenie dalmierza, opierającego się na czujniku PSD. Zadaniem dalmierza
Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski
Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej Systemy wbudowane Witold Kozłowski Zakład Fizyki i Technologii Struktur Nanometrowych 90-236 Łódź, Pomorska 149/153 https://std2.phys.uni.lodz.pl/mikroprocesory/
Programator procesorow AVR do kompilatora BASCOM AVR (zgodny z STK200)
1 z 5 2009-01-11 12:07 Wstecz Strona główna Programator procesorow AVR do kompilatora BASCOM AVR (zgodny z STK200) Widok płytek drukowanych jest tutaj Jest to banalnie prosty układ programatora procesorów
PROGRAMOWALNE STEROWNIKI LOGICZNE
PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu
Programowanie mikrokontrolerów - laboratorium
Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu Instytut Techniczny Programowanie mikrokontrolerów- laboratorium Temat: Klawiatura szesnastkowa - menu. Nazwisko i imię 1. 2. Data wykonania ćwiczenia: Grupa:
Programator mikrokontrolerów AVR
Programator mikrokontrolerów AVR Marek SP9XUH www.sp9xuh.pl poczta@sp9xuh.pl Moja przygoda z mikrokontrolerami firmy ATMEL zaczęła się w 1999 roku od układu AT89C2051. Minęło parę lat, pojawiły się nowe
Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści
Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop. 2017 Spis treści O autorze 9 Wprowadzenie 11 Rozdział 1. Sterownik przemysłowy 15 Sterownik S7-1200 15 Budowa zewnętrzna
Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.
Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu. Maciek Słomka 4 czerwca 2006 1 Celprojektu. Celem projektu było zbudowanie modułu umożliwiającego wizualizację stanu czujników
Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780
Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą
ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC
ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) ZL4PIC Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC 1 Zestaw jest przeznaczony dla elektroników zajmujących się aplikacjami
Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć
Systemy Wbudowane Kod przedmiotu: SW Rodzaj przedmiotu: kierunkowy ; obowiązkowy Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia Profil studiów:
E-TRONIX Sterownik Uniwersalny SU 1.2
Obudowa. Obudowa umożliwia montaż sterownika na szynie DIN. Na panelu sterownika znajduje się wyświetlacz LCD 16x2, sygnalizacja LED stanu wejść cyfrowych (LED IN) i wyjść logicznych (LED OUT) oraz klawiatura
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Kod produktu: MP01105T
MODUŁ INTERFEJSU DO POMIARU TEMPERATURY W STANDARDZIE Właściwości: Urządzenie stanowi bardzo łatwy do zastosowania gotowy interfejs do podłączenia max. 50 czujników temperatury typu DS18B20 (np. gotowe
ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32
ZL15AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ATmega32 (oraz innych w obudowie 40-wyprowadzeniowej). Dzięki wyposażeniu
Politechnika Wrocławska
Politechnika Wrocławska Instytut Cybernetyki Technicznej Wizualizacja Danych Sensorycznych Projekt Kompas Elektroniczny Prowadzący: dr inż. Bogdan Kreczmer Wykonali: Tomasz Salamon Paweł Chojnowski Wrocław,
1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych
Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy
MCAR Robot mobilny z procesorem AVR Atmega32
MCAR Robot mobilny z procesorem AVR Atmega32 Opis techniczny Jakub Kuryło kl. III Ti Zespół Szkół Zawodowych nr. 1 Ul. Tysiąclecia 3, 08-530 Dęblin e-mail: jkurylo92@gmail.com 1 Spis treści 1. Wstęp..
LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:
LITEcompLPC1114 Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Bezpłatny zestaw dla Czytelników książki Mikrokontrolery LPC1100. Pierwsze kroki LITEcompLPC1114 jest doskonałą platformą mikrokontrolerową
Kod produktu: MP01105
MODUŁ INTERFEJSU KONTROLNO-POMIAROWEGO DLA MODUŁÓW Urządzenie stanowi bardzo łatwy do zastosowania gotowy interfejs kontrolno-pomiarowy do podłączenia modułów takich jak czujniki temperatury, moduły przekaźnikowe,
Synteza częstotliwości na układzie PLL LM7001
Synteza częstotliwości na układzie PLL LM7001 1 Do zaprojektowania i skonstruowania syntezy częstotliwości, jak to zazwyczaj bywa, zachęciła mnie dostępność na rynku radiotelefonów starszych typów. Do
ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168
ZL16AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168 ZL16AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerówavr w obudowie 28-wyprowadzeniowej (ATmega8/48/88/168). Dzięki
Programowanie mikrokontrolerów - laboratorium
Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu Instytut Techniczny Programowanie mikrokontrolerów- laboratorium Nazwisko i imię 1. 2. Data wykonania ćwiczenia: Grupa: Ocena sprawozdania Zaliczenie: Symbol:
Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy
Ćwiczenie V LABORATORIUM MECHATRONIKI IEPiM Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy Zał.1 - Działanie i charakterystyka sterownika PLC
dokument DOK 02-05-12 wersja 1.0 www.arskam.com
ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania
Modułowy programowalny przekaźnik czasowy firmy Aniro.
Modułowy programowalny przekaźnik czasowy firmy Aniro. Rynek sterowników programowalnych Sterowniki programowalne PLC od wielu lat są podstawowymi systemami stosowanymi w praktyce przemysłowej i stały
Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej
Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza
MIKROKONTROLERY I MIKROPROCESORY
PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy
1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33
Spis treści 3 1. Wprowadzenie...11 1.1. Wstęp...12 1.2. Mikrokontrolery rodziny ARM...13 1.3. Architektura rdzenia ARM Cortex-M3...15 1.3.1. Najważniejsze cechy architektury Cortex-M3... 15 1.3.2. Rejestry
Kurs Elektroniki. Część 5 - Mikrokontrolery. www.knr.meil.pw.edu.pl 1/26
Kurs Elektroniki Część 5 - Mikrokontrolery. www.knr.meil.pw.edu.pl 1/26 Mikrokontroler - autonomiczny i użyteczny system mikroprocesorowy, który do swego działania wymaga minimalnej liczby elementów dodatkowych.
Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne
Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...
ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8
ZL2AVR Zestaw uruchomieniowy z mikrokontrolerem ATmega8 ZL2AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ATmega8 (oraz innych w obudowie 28-wyprowadzeniowej). Dzięki wyposażeniu w
INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie
INSTRUKCJA OBSŁUGI 1. Zastosowanie Przekaźnik czasowy ETM jest zadajnikiem czasowym przystosowanym jest do współpracy z prostownikami galwanizerskimi. Pozwala on załączyć prostownik w stan pracy na zadany
STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107
Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 STM32Butterfly2 Zestaw STM32Butterfly2 jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity
Programowalne Układy Cyfrowe Laboratorium
Zdjęcie opracowanej na potrzeby prowadzenia laboratorium płytki przedstawiono na Rys.1. i oznaczono na nim najważniejsze elementy: 1) Zasilacz i programator. 2) Układ logiki programowalnej firmy XILINX
Technika mikroprocesorowa. Konsola do gier
K r a k ó w 1 1. 0 2. 2 0 1 4 Technika mikroprocesorowa Konsola do gier W yk o n a l i : P r o w a d z ą c y: P a w e ł F l u d e r R o b e r t S i t k o D r i n ż. J a c e k O s t r o w s k i Opis projektu
Konsola operatora TKombajn
KANE Konsola operatora TKombajn INSTRUKCJA Arkadiusz Lewicki 15-12-2016 1 Spis treści Funkcje programu TKombajn... 2 Parametry rejestracji... 3 Aktywacja rejestracji warunkowej... 4 2 Funkcje programu
AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)
AVR DRAGON INSTRUKCJA OBSŁUGI (wersja 1.0) ROZDZIAŁ 1. WSTĘP... 3 ROZDZIAŁ 2. ROZPOCZĘCIE PRACY Z AVR DRAGON... 5 ROZDZIAŁ 3. PROGRAMOWANIE... 8 ROZDZIAŁ 4. DEBUGOWANIE... 10 ROZDZIAŁ 5. SCHEMATY PODŁĄCZEŃ
Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP
Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP ZL32ARM ZL32ARM z mikrokontrolerem LPC1114 (rdzeń Cotrex-M0) dzięki wbudowanemu programatorowi jest kompletnym zestawem uruchomieniowym.
Programowanie mikrokontrolerów AVR
Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem
Mikrokontrolery AVR Wprowadzenie
Mikrokontrolery AVR Wprowadzenie Komunikacja z otoczeniem mikrokontrolera Każdy z mikrokontrolerów posiada pewna liczbę wyprowadzeń cyfrowych które służą do wprowadzania i odbierania informacji z mikrokontrolera.
ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32
ZL15AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ATmega32 (oraz innych w obudowie 40-wyprowadzeniowej). Dzięki wyposażeniu
Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307
Język C Wykład 9: Mikrokontrolery cz.2 Łukasz Gaweł Chemia C pokój 307 lukasz.gawel@pg.edu.pl Pierwszy program- powtórka Częstotliwość zegara procesora μc (należy sprawdzić z kartą techniczną μc) Dodaje
1. Podstawowe wiadomości...9. 2. Możliwości sprzętowe... 17. 3. Połączenia elektryczne... 25. 4. Elementy funkcjonalne programów...
Spis treści 3 1. Podstawowe wiadomości...9 1.1. Sterowniki podstawowe wiadomości...10 1.2. Do czego służy LOGO!?...12 1.3. Czym wyróżnia się LOGO!?...12 1.4. Pierwszy program w 5 minut...13 Oświetlenie
o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)
O autorze (9) Podziękowania (10) Wstęp (11) Pobieranie przykładów (12) Czego będę potrzebował? (12) Korzystanie z tej książki (12) Rozdział 1. Programowanie Arduino (15) Czym jest Arduino (15) Instalacja
Wstęp...10. 1. Podstawy programowania QBASIC...13. 2. Budowa mikroprocesora...35. 3. Zestaw uruchomieniowy...55. 5. Porty wejścia/wyjścia...
Spis treści 3 Wstęp...10 Jak zacząć?...11 1. Podstawy programowania QBASIC...13 Zmienne...17 Instrukcja pętli FOR...NEXT...19 Badanie warunku...20 Instrukcja warunkowa IF...THEN...ELSE...21 Etykiety i
Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011
Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011 1 Spis treści 1 Charakterystyka projektu. 3 2 Schematy układów elektronicznych. 3 2.1 Moduł czujników.................................
Szkolenia specjalistyczne
Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com
DOKUMENTACJA PROJEKTU
Warszawa, dn. 16.12.2015r. Student: Artur Tynecki (E.EIM) atynecki@stud.elka.pw.edu.pl Prowadzący: dr inż. Mariusz Jarosław Suchenek DOKUMENTACJA PROJEKTU Projekt wykonany w ramach przedmiotu Mikrokontrolery
Programator procesorów rodziny AVR AVR-T910
Programator procesorów rodziny AVR AVR-T910 Instrukcja obsługi Opis urządzenia AVR-T910 jest urządzeniem przeznaczonym do programowania mikrokontrolerów rodziny AVR firmy ATMEL. Programator podłączany
Technika Mikroprocesorowa
Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa
RSD Uniwersalny rejestrator danych Zaprojektowany do pracy w przemyśle
Uniwersalny rejestrator danych pochodzących z portu szeregowego RS 232 Uniwersalny rejestrator danych Zaprojektowany do pracy w przemyśle - UNIWERSALNY REJESTRATOR DANYCH Max. 35 GB pamięci! to nowoczesne
Programowanie Mikrokontrolerów
Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:
Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Politechnika Białostocka
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Kod przedmiotu: TS1C 622 388 Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: Elektronika samochodowa Temat: Programowanie
Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści
Arduino dla początkujących. Kolejny krok Autor: Simon Monk Spis treści O autorze Podziękowania Wstęp o Pobieranie przykładów o Czego będę potrzebował? o Korzystanie z tej książki Rozdział 1. Programowanie
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikrokontrolery i Mikroprocesory DMA (Direct Memory Access) laboratorium: 05 autor: mgr inż. Katarzyna Smelcerz
Zestaw Startowy EvB. Więcej informacji na stronie: http://and-tech.pl/zestaw-evb-5-1/
Zestaw Startowy EvB Zestaw startowy EvB 5.1 z mikrokontrolerem ATMega32 jest jednym z najbardziej rozbudowanych zestawów dostępnych na rynku. Został zaprojektowany nie tylko z myślą o początkujących adeptach
2.1 Porównanie procesorów
1 Wstęp...1 2 Charakterystyka procesorów...1 2.1 Porównanie procesorów...1 2.2 Wejścia analogowe...1 2.3 Termometry cyfrowe...1 2.4 Wyjścia PWM...1 2.5 Odbiornik RC5...1 2.6 Licznik / Miernik...1 2.7 Generator...2
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i mikrokontrolery Obsługa portów wyjścia procesora AVR laboratorium: 06 autor: mgr inż. Katarzyna
ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887
ZL5PIC Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887 ZL5PIC jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów PIC16F887 (oraz innych w obudowie 40-wyprowadzeniowej). Dzięki wyposażeniu
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać
Podstawy techniki mikroprocesorowej
Podstawy techniki mikroprocesorowej Temat 2 Obsługa wyświetlaczy v.1.0 Uniwersytet Pedagogiczny, Instytut Techniki Dominik Rzepka, dominik.rzepka@agh.edu.pl, 2014 1. Obsługa pinów mikroprocesora i wyświetlacze
Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.
Nazwa implementacji: Termometr cyfrowy - pomiar temperatury z wizualizacją pomiaru na wyświetlaczu LCD Autor: Krzysztof Bytow Opis implementacji: Wizualizacja działania elementu zestawu modułu-interfejsu
Mikrokontroler AVR ATmega32 - wykład 9
SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 1 Mikrokontroler AVR ATmega32 - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 2 CechyµC ATmega32 1.
AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe www.evboards.eu
AVREVB1 Zestaw uruchomieniowy dla mikrokontrolerów AVR. 1 Zestaw AVREVB1 umożliwia szybkie zapoznanie się z bardzo popularną rodziną mikrokontrolerów AVR w obudowach 40-to wyprowadzeniowych DIP (układy
Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci
Laboratorium 1: Wprowadzenie do środowiska programowego oraz podstawowe operacje na rejestrach i komórkach pamięci Zapoznanie się ze środowiskiem programowym: poznanie funkcji asemblera, poznanie funkcji
Instrukcja obsługi programatora AVR Prog USB v2
Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2 www.and-tech.pl Strona 1 Zawartość Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2
Program APEK Użytkownik Instrukcja użytkownika
Program APEK Użytkownik Instrukcja użytkownika http://www.apek.pl e-mail. Biuro@apek.pl tel. 022 6447970 Systemy monitorowania programem APEK Użytkownik. 1.1 Wiadomości wstępne: Podgląd danych i ustawianie.
Dalmierze firmy SHARP na przykładzie 2D120XJ100F
Często w robotach zachodzi potrzeba zmierzenia dystansu, od robota do przeszkody. Wtedy z pomocą przychodzą nam gotowe dalmierze firmy SHARP. Zależnie od modelu mogą one mierzyć dystans z rożnych przedziałów.
Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa
Projekt MARM Dokumentacja projektu Łukasz Wolniak Stacja pogodowa 1. Cel projektu Celem projektu było opracowanie urządzenia do pomiaru temperatury, ciśnienia oraz wilgotności w oparciu o mikrokontroler
ZASOBY ZMIENNYCH W STEROWNIKACH SAIA-BURGESS
ZASOBY ZMIENNYCH W STEROWNIKACH SAIA-BURGESS Autorzy Wydanie Data : : : Zespół SABUR Sp. z o.o. 3.00 Sierpień 2013 2013 SABUR Sp. z o. o. Wszelkie prawa zastrzeżone Bez pisemnej zgody firmy SABUR Sp. z
Instrukcja do oprogramowania ENAP DEC-1
Instrukcja do oprogramowania ENAP DEC-1 Do urządzenia DEC-1 dołączone jest oprogramowanie umożliwiające konfigurację urządzenia, rejestrację zdarzeń oraz wizualizację pracy urządzenia oraz poszczególnych
LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19
LITEcomp Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19 Moduł LITEcomp to miniaturowy komputer wykonany na bazie mikrokontrolera z rodziny ST7FLITE1x. Wyposażono go w podstawowe peryferia, dzięki
Moduł uruchomieniowy AVR ATMEGA-16 wersja 2
Dane aktualne na dzień: 30-08-2016 20:09 Link do produktu: /modul-uruchomieniowy-avr-atmega-16-wersja-2-p-572.html Moduł uruchomieniowy AVR ATMEGA-16 wersja 2 Cena Cena poprzednia Dostępność 211,00 zł
1.2. Architektura rdzenia ARM Cortex-M3...16
Od Autora... 10 1. Wprowadzenie... 11 1.1. Wstęp...12 1.1.1. Mikrokontrolery rodziny ARM... 14 1.2. Architektura rdzenia ARM Cortex-M3...16 1.2.1. Najważniejsze cechy architektury Cortex-M3... 16 1.2.2.
Systemy Wbudowane. Arduino - rozszerzanie. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD
Wymagania: V, GND Zasilanie LED podswietlenia (opcjonalne) Regulacja kontrastu (potencjometr) Enable Register Select R/W (LOW) bity szyny danych Systemy Wbudowane Arduino - rozszerzanie mgr inż. Marek
Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl
Systemy wbudowane Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie definicja, zastosowania, projektowanie systemów wbudowanych Mikrokontrolery AVR Programowanie mikrokontrolerów
TERMINAL DO PROGRAMOWANIA PRZETWORNIKÓW SERII LMPT I LSPT MTH-21 INSTRUKCJA OBSŁUGI I EKSPLOATACJI. Wrocław, lipiec 1999 r.
TERMINAL DO PROGRAMOWANIA PRZETWORNIKÓW SERII LMPT I LSPT MTH-21 INSTRUKCJA OBSŁUGI I EKSPLOATACJI Wrocław, lipiec 1999 r. SPIS TREŚCI 1. OPIS TECHNICZNY...3 1.1. PRZEZNACZENIE I FUNKCJA...3 1.2. OPIS
Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09
Full Lite MFPST7 Programator ICP mikrokontrolerów rodziny ST7 Instrukcja użytkownika 03/09 Spis treści WSTĘP 3 CZYM JEST ICP? 3 PODŁĄCZENIE PROGRAMATORA DO APLIKACJI 4 OBSŁUGA APLIKACJI ST7 VISUAL PROGRAMMER
ISP ADAPTER. Instrukcja obsługi rev.1.1. Copyright 2009 SIBIT
Instrukcja obsługi rev.1.1 Spis treści 1.Wprowadzenie... 3 2. Rozmieszczenie elementów...4 3. Opis wyprowadzeń złącza ISP...6 4. Zasilanie adaptera...7 5. Wybór źródła taktowania...8 6. Wybór programowanego
Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 PAMIĘCI SZEREGOWE EEPROM Ćwiczenie 3 Opracował: dr inŝ.
1.1. Wymogi bezpieczeństwa Pomoc techniczna TIA Portal V13 instalacja i konfiguracja pakietu...18
3 Przedmowa...9 Wstęp... 13 1. Pierwsze kroki... 15 1.1. Wymogi bezpieczeństwa...16 1.2. Pomoc techniczna...17 1.3. TIA Portal V13 instalacja i konfiguracja pakietu...18 1.3.1. Opis części składowych środowiska
Instrukcje cykliczne (pętle) WHILE...END WHILE
Instrukcje cykliczne (pętle) Pętle pozwalają na powtarzanie fragmentu kodu programu. PĘTLE LOGICZNE WHILE...END WHILE While (warunek)...... End While Pętla będzie się wykonywała dopóki warunek jest spełniony.
Rejestratory Sił, Naprężeń.
JAS Projektowanie Systemów Komputerowych Rejestratory Sił, Naprężeń. 2012-01-04 2 Zawartość Typy rejestratorów.... 4 Tryby pracy.... 4 Obsługa programu.... 5 Menu główne programu.... 7 Pliki.... 7 Typ
Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR
Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR ZL10AVR Zestaw ZL10AVR umożliwia wszechstronne przetestowanie aplikacji wykonanych z wykorzystaniem mikrokontrolerów z rodziny AVR (ATtiny, ATmega,
Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).
ZL2PRG Programator ISP dla mikrokontrolerów AVR firmy Atmel Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).
Instrukcja obsługi programatora AVR Prog USB v2
Instrukcja obsługi programatora AVR Prog USB v2 Strona 1 Spis treści 1. Instalacja...3 2. Instalacja sterowników w trybie HID....3 3. Programowanie w trybie HID...4 4. Instalacja w trybie COM....5 5. Programowanie