LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH

Podobne dokumenty
LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH

ĆWICZENIE. TEMAT: OBSŁUGA PRZETWORNIKA A/C W ukontrolerze 80C535 KEILuVISON

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Wstęp Architektura... 13

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Badanie modułów wewnętrznych mikrokontrolera 311[07].Z4.02

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Komunikacja w mikrokontrolerach Laboratorium

Programowanie w językach asemblera i C

Przetworniki analogowo-cyfrowe (A/C)

Komputerowe systemy pomiarowe. Podstawowe elementy sprzętowe elektronicznych układów pomiarowych

P 6.7 P 6.6 P 6.5 P 6.4 MAX 232. RxD TxD

Programowanie mikrokontrolerów. 8 listopada 2007

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Interfejs analogowy LDN-...-AN

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci

Mikroprocesory i Mikrosterowniki Laboratorium

Parametryzacja przetworników analogowocyfrowych

2. Architektura mikrokontrolerów PIC16F8x... 13

Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1.

Instytut Teleinformatyki

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

PRZETWORNIKI A/C I C/A.

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

E-TRONIX Sterownik Uniwersalny SU 1.2

Przetworniki analogowo-cyfrowe

dokument DOK wersja 1.0

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

WPROWADZENIE Mikrosterownik mikrokontrolery

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

TECHNIKA MIKROPROCESOROWA

Przykładowe pytania DSP 1

KAmodRPiADCDAC. Moduł przetwornika A/C i C/A dla komputerów RaspberryPi i RaspberryPi+

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Przetworniki AC i CA

Research & Development Ultrasonic Technology / Fingerprint recognition DATA SHEETS. Opis karty OPCONZ. optel@optel.

Komputerowe systemy pomiarowe. Dr Zbigniew Kozioł - wykład Mgr Mariusz Woźny - laboratorium

ASTOR IC200ALG320 4 wyjścia analogowe prądowe. Rozdzielczość 12 bitów. Kod: B8. 4-kanałowy moduł ALG320 przetwarza sygnały cyfrowe o rozdzielczości 12

Instrukcja do oprogramowania ENAP DEC-1

Ćwiczenie 7 Matryca RGB

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe

MIKROKONTROLERY I MIKROPROCESORY

APPLICATION OF ADUC MICROCONTROLLER MANUFACTURED BY ANALOG DEVICES FOR PRECISION TENSOMETER MEASUREMENT

Kurs SIMATIC S7-300/400 i TIA Portal - Zaawansowany. Spis treści. Dzień 1

8 kanałowy przedłużacz analogowy z RS485

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

Przetworniki cyfrowo-analogowe C-A CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

Wyjścia analogowe w sterownikach, regulatorach

start Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.

Przetworniki A/C i C/A w systemach mikroprocesorowych

SPECYFIKACJA PRZETWORNIK RÓŻNICY CIŚNIEŃ

System mikroprocesorowy i peryferia. Dariusz Chaberski

Statyczne badanie wzmacniacza operacyjnego - ćwiczenie 7

1.2. Architektura rdzenia ARM Cortex-M3...16

M-1TI. PRECYZYJNY PRZETWORNIK RTD, TC, R, U NA SYGNAŁ ANALOGOWY 4-20mA Z SEPARACJĄ GALWANICZNĄ. 2

Szkolenia specjalistyczne

Przetwornik analogowo-cyfrowy

Instytut Teleinformatyki

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400

Technika Mikroprocesorowa

Obsługa przetwornika ADC na mikrokontrolerze ATmega8 CEZARY KLIMASZ OBSŁUGA PRZETWORNIKA ADC NA MIKROKONTROLERZE ATMEGA8

CL600. Precyzyjny cyfrowy miernik tablicowy serii CL 600. Zastosowanie

ZAKŁAD SYSTEMÓW ELEKTRONICZNYCH I TELEKOMUNIKACYJNYCH Laboratorium Podstaw Telekomunikacji WPŁYW SZUMÓW NA TRANSMISJĘ CYFROWĄ

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM

Hardware mikrokontrolera X51

Mikroprocesor Operacje wejścia / wyjścia

Research & Development Ultrasonic Technology / Fingerprint recognition

MiniModbus 4DO. Moduł rozszerzający 4 wyjścia cyfrowe. Wyprodukowano dla. Instrukcja użytkownika

Moduł wejść/wyjść VersaPoint

Laboratorium Komputerowe Systemy Pomiarowe

Politechnika Warszawska

Przetwarzanie A/C i C/A

Przetworniki analogowo - cyfrowe CELE ĆWICZEŃ PODSTAWY TEORETYCZNE Zasada pracy przetwornika A/C

Przetwarzanie analogowo-cyfrowe sygnałów

KOMPUTEROWE SYSTEMY POMIAROWE

Przetwarzanie AC i CA

Procedury obsługi monolitycznego przetwornika analogowo-cyfrowego AD 7865

Ultradźwiękowy miernik poziomu

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Zmierzyć się z żywiołami, czyli jak zbudować własną stację badawczą! Zaczynamy! Pole komunikatów programu. Nawigacja w programie Arduino

Szczegółowy Opis Przedmiotu Zamówienia: Zestaw do badania cyfrowych układów logicznych

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Zakres wymaganych wiadomości do testów z przedmiotu Metrologia. Wprowadzenie do obsługi multimetrów analogowych i cyfrowych

Wyniki (prawie)końcowe - Elektroniczne warcaby

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

Obługa czujników do robota śledzącego linie. Michał Wendland czerwca 2011

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

Układ pomiarowy CoachLab II

Rozdział 21 Moduły analogowo - temperaturowe

SiMod-X-(A1) Przetwornik parametrów powietrza z interfejsem RS485 (MODBUS RTU) oraz wyjściem analogowym (dotyczy wersji -A1)

Uśrednianie napięć zakłóconych

Transkrypt:

POLITECHNIKA WROCŁAWSKA INSTYTUT MASZYN I NAPĘDÓW ELEKTRYCZNYCH LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM Opracowanie: mgr inż. Krzysztof P. Dyrcz mgr inż. Zdzisław Żarczyński

1. CEL ĆWICZENIA Celem ćwiczenia jest poznanie 8 bitowego przetwornika analogowocyfrowego wbudowanego w mikrokontroler SAB 80C535 i zapoznanie się z metodą pomiaru sygnału analogowego. Podczas ćwiczenia należy napisać program w języku asemblera do obsługi przetwornika oraz program w języku BASIC do wizualizacji mierzonego sygnału, uruchomić programy, a także zapoznać się ze sposobem zwiększenia rozdzielczości przetwornika do 10 bitów. 2. PRZYGOTOWANIE DO ĆWICZENIA Zapoznanie się ze strukturą wewnętrzną przetwornika analogowo-cyfrowego, Instrukcje asemblera SAB 80C535, Zintegrowane środowisko programowe asm535. 3. STANOWISKO LABORATORYJNE Sterownik Minikon z klawiaturą i wyświetlaczem, IBM PC z programem Monitor, miernik cyfrowy uniwersalny. 4. WPROWADZENIE Przetwornik a/c jest wewnętrznym układem mikrokontrolera SAB 80C535 przeznaczonym do przetwarzania sygnałów z postaci analogowej na cyfrową 8 - bitową. Istnieje jednak możliwość zwiększenia rozdzielczości przetwornika do 10 bitów dzięki programowalnemu zawężeniu zakresu pomiarowego przetwornika. Wejście przetwornika a/c stanowi 8-wejściowy analogowy multiplekser umożliwiający pomiar napięciowego sygnału analogowego w 8 różnych kanałach w zakresie 0..5V. Czas przetwarzania przetwornika wynosi 13 cykli maszynowych. (15 cykli maszynowych dla mikrokontrolera SAB 80535). Przetwornik a/c wyróżnia się następującymi parametrami: 8 kanałów analogowych AN0..AN7, 8-bitowy port wejść cyfrowych P6, 8-bitowa rozdzielczość pomiaru (10 bitowa przy programowym zawężeniu zakresu pomiarowego), 16 programowalnych podzakresów pomiarowych, programowe wyzwalanie pojedynczego pomiaru lub serii pomiarów, możliwość generowania przerwania po każdym pomiarze. Przetwornik analogowo-cyfrowy Strona 2

Przetwornik korzysta z 3 rejestrów specjalnych SFR: ADCON (adres 0D8H) - wybór kanału pomiarowego i rodzaju przetwarzania, Rejestr ADCON adres 0D8H BD CLK - BSY ADM MX2 MX1 MX0 Znaczenia poszczególnych bitów są następujące: BD - bit używany do określenia szybkości transmisji łącza szeregowego. Zmiana stanu tego bitu może powodować zawieszenie systemu, dlatego podczas pracy przetwornika nie należy modyfikować jego wartości. CLK - umożliwia uzyskanie na wyprowadzeniu procesora CLKOUT (P1.6) sygnału o częstotliwości f CLKOUT = f GEN /12 i wypełnieniu 1/6, przy czym f GEN jest częstotliwością zewnętrznego rezonatora kwarcowego dołączonego do mikrokontrolera. Podobnie jak dla bitu BD nie modyfikuje się jego wartości podczas pracy przetwornika. BSY - wskazuje aktualny stan przetwornika. Jest znacznikiem o atrybucie tylko do odczytu, ustawianym i kasowanym sprzętowo. BSY=0 - przetwornik po zakończeniu przetwarzania, BSY=1 - przetwornik w trakcie przetwarzania. ADM - określa rodzaj przetwarzania. ADM=1 - przetwornik w trybie pracy wielokrotnego pomiaru. Przetwornik wykonuje serię pomiarów, aż do chwili gdy ADM=0. ADM=0 - pomiar pojedynczy, przy czym każdy pomiar musi być uruchamiany programowo. MX2..MX0 - wybór numeru kanału pomiarowego Tabela 4.1. Wybór numeru kanału pomiarowego. MX2 MX1 MX0 Kanał Wejście 0 0 0 0 AN0/P6.0 0 0 1 1 AN1/P6.1 0 1 0 2 AN2/P6.2 0 1 1 3 AN3/P6.3 1 0 0 4 AN4/P6.4 1 0 1 5 AN5/P6.5 1 1 0 6 AN6/P6.6 1 1 1 7 AN7/P6.7 Należy pamiętać, że wejścia AN0..AN7 są jednocześnie wejściami portu cyfrowego P6. Przetwornik analogowo-cyfrowy Strona 3

ADDAT (adres 0D9H) - modyfikowany wynik przetwarzania, Rejestr ADDAT adres 0D9H bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 MSB LSB Przy czym: MSB - najbardziej znaczący bit (Most Significant Bit), LSB - najmniej znaczący bit (Last Significant Bit) W rejestrze ADDAT przechowywana jest całkowita wielokrotność poziomów kwantowania : U x ADDAT =, 1LSB przy czym: 1LSB = V V IntAREF IntAGND 2 8 ( 1LSB oznacza tu najmniejszy poziom kwantowania) Jeżeli podczas pracy mikrokontrolera nie wykorzystujemy przetwornika a/c, wówczas rejestr ADDAT może służyć jako rejestr ogólnego przeznaczenia. DAPR (adres 0DAH) - wybór zakresu przetwarzania. Wybór zakresu rozpoczyna pomiar i przetwarzanie a/c na wybranym kanale. Rejestr DAPR adres 0DAH bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 Napięcie V IntAREF Napięcie V IntAGND przy czym: Napięcie V IntAREF - górne wewnętrzne napięcie odniesienia, Napięcie V IntAGND - dolne wewnętrzne napięcie odniesienia. Napięcia te tworzone są przez podział różnicy napięć V AREF i V GND zgodnie ze wzorami: V IntAREF = V AGND + DAPR 7.. 4 16 gdy DAPR 7..4 > 3H (V AREF - V AREF ) V IntAGND = V AGND + DAPR 30.. 16 gdy DAPR 3..0 < 0CH (V AREF - V AREF ) Przetwornik analogowo-cyfrowy Strona 4

Wyboru podzakresu pomiarowego dokonuje się wg tabeli 2 przy założeniu, że wartości napięć odniesienia są następujące: V AREF = +5V, V AGND = 0V. Tabela 4.2. Wybór podzakresu pomiarowego. Podzakres pomiarowy DAPR 7..4 V IntAREF DAPR 3..0 V IntAGND [V] [V] 0 0000 5.0 0000 0.0 1 0001-0001 0.3125 2 0010-0010 0.625 3 0011-0011 0.9375 4 0100 1.25 0100 1.25 5 0101 1.5625 0101 1.5625 6 0110 1.875 0110 1.875 7 0111 2.1875 0111 2.1875 8 1000 2.5 1000 2.5 9 1001 2.8125 1001 2.8125 10 1010 3.125 1010 3.125 11 1011 3.4375 1011 3.4375 12 1100 3.75 1100 3.75 13 1101 4.0625 1101-14 1110 4.375 1110-15 1111 4.6875 1111 - Przy pomiarze na pełnym zakresie pomiarowym 0V..5V dokładność przetwarzania przetwornika wynosi 1LSB = V IntAREF V IntAGND = 5 V 0 V = 19,531 mv, 2 8 256 natomiast przy pomiarze na zakresie zawężonym do 1.25V 1LSB = V IntAREF V IntAGND = 125, V 0 V = 4,883 mv. 2 8 256 Z powyższych obliczeń wynika prosty sposób na zwiększenie dokładności przetwornika o dodatkowe dwa bity. Należy tylko dokonać dwóch pomiarów: pierwszego, na pełnym zakresie pomiarowym dla określenia dwóch najbardziej znaczących bitów wyniku oraz określenia nowego podzakresu pomiarowego, oraz drugiego pomiaru na zawężonym podzakresie pomiarowym dla uzyskania 8 mniej znaczących bitów wyniku przetwarzania. Przetwornik analogowo-cyfrowy Strona 5

Ponieważ rejestr ADDAT jest modyfikowany po każdym cyklu pomiarowym, należy zwrócić uwagę na to, aby podczas pomiaru z dokładnością 10 bitów przed dokonaniem drugiego pomiaru na zawężonym zakresie zapamiętać aktualną zawartość rejestru w innym, nie modyfikowanym podczas pracy przetwornika rejestrze ogólnego przeznaczenia. Do prawidłowej pracy przetwornika a/c wymagane jest spełnienie następujących warunków: napięcia V IntAREF i V IntAGND muszą być dołączone do wyprowadzeń mikrokontrolera. Obecność tych napięć nie jest konieczna, gdy przetwornik nie pracuje, jeżeli napięcia V IntAREF i V IntAGND dołączone są do napięć zasilających mikrokontroler V CC i V SS, to muszą spełniać warunek: V IntAREF = V CC ± 5%, V IntAGND = V SS ± 0.2V, minimalna różnica napięć (V IntAREF - V IntAGND ) 1V, rezystancja wewnętrzna źródła mierzonego napięcia i napięcia wzorcowego nie może być większa niż 5 kω. Po każdym wykonanym pomiarze przetwornik ma możliwość generowania przerwania. Ustawiany jest wówczas bit IADC w rejestrze IRCON, przy czym wektor przerwania ma adres 43H. Rejestr IRCON adres 0C0H EXF2 TF2 IEX6 IEX5 IEX4 IEX3 IEX2 IADC Na rys.4.1 przedstawiono schemat blokowy przetwornika a/c. Przetwornik analogowo-cyfrowy Strona 6

wewnętrzna magistrala procesora AN7 AN0 Multiplexer Układ próbkująco-pamiętający (Sample&Hold) V AREF V GND wpis do DAPR f GEN Przetwornik analogowo-cyfrowy V intaref V intagnd Programowanie podzakresu pomiarowego Port P6 wersja ACMOS MX2 MX1 MX0 Rejestr sterujący działaniem ADCON BSY ADM Rejestr wyniku przetwarzania ADDAT Rejestr programowania podzakresu pomiarowego DAPR adres 0DBH adres 0D8H adres 0D9H adres 0DAH BD CLK BSY ADM MX2 MX1 MX0 ADCON MSB bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 LSB ADDAT bit 3 bit 2 bit 1 bit 0 bit 3 bit 2 bit 1 bit 0 DAPR V intaref V intagnd Rys.3.1. Schemat blokowy przetwornika a/c. Przetwornik analogowo-cyfrowy Strona 7

5. LITERATURA 1. SIEMENS, Microcomputer Components. SAB 80515 / SAB 80C515 8 bit single chip Microcontroller Family. Users Manual. 2. Krzysztof P. Dyrcz, Czesław T. Kowalski, Zdzisław Żarczyński, Podstawy techniki mikroprocesorowej, skrypt PWr., Wrocław 1999 3. A. Rydzewski, Mikrokontrolery jednoukładowe rodziny MCS-51. Przetwornik analogowo-cyfrowy Strona 8

Przetwornik analogowo-cyfrowy Strona 9

1. WSTĘP Najprostszym zastosowaniem przetwornika a/c jest jednokrotny pomiar napięcia z rozdzielczością 8 bitową. Ponieważ w rejestrze ADDAT przechowywana jest całkowita wielokrotność poziomów kwantowania, wartość zmierzonego napięcia należy obliczyć ze wzoru: U x = ADDAT 10 * 1LSB, przy czym: ADDAT 10 - dziesiętna postać zawartości rejestru ADDAT. Wynik pomiaru można wyświetlić na linijce diodowej, sterowanej z dowolnego portu wyjścia, na przykład z portu P5. Jednak lepszym sposobem wizualizacji wyniku pomiaru jest wyświetlenie go na ekranie monitora w postaci dziesiętnej, korzystając z programu napisanego w języku BASIC. Listing programu w języku BASIC przedstawiono poniżej: 10 CALL 00H 20 U=XBY(100H) 30 V=(U*5)/256 40 PRINT U = 50 PRINT USING (##.##),V 60 PRINT V 70 INPUT CZY JESZCZE JEDEN POMIAR? 0-NIE, 1-TAK,Z 80 IF Z=1 THEN GOTO 10 90 END przy czym: CALL 00H - wywołanie podprogramu przetwornika a/c, U=XBY(100H) - przypisanie zmiennej U wyniku pomiaru zawartego w zewnętrznej pamięci RAM w komórce o adresie 100H. Algorytm podprogramu do pomiaru napięcia, który należy napisać w asemblerze SAB 535 jest następujący: Przetwornik analogowo-cyfrowy Strona 10

Start programu Deklaracja stałych. Adres początku programu org $00 Konfiguracja przetwornika. Start pomiaru TAK BSY=1 NIE Wysłanie wyniku z ADDAT do zewn. pamięci RAM do komórki #100 Stop programu Rys.4.2. Algorytm programu do pomiaru 8-bitowego przetwornika a/c. 2. PRZEBIEG ĆWICZENIA 1. Zapoznać się z wyposażeniem stanowiska. 2. Przygotować moduł sterownika do pracy z przetwornikiem a/c i do współpracy z komputerem PC. 3. Uruchomić komputer IBM PC. 4. Napisać program w języku asemblera do pomiaru napięcia z rozdzielczością 8 bitów. 5. Uruchomić i przetestować program. 6. Napisać program w języku BASIC do obsługi programu pomiarowego asembler. 7. Uruchomić program BASIC i wyświetlić wyniki pomiaru na ekranie monitora. Przetwornik analogowo-cyfrowy Strona 11

Przetwornik analogowo-cyfrowy Strona 12

1. WSTĘP Jeżeli istnieje potrzeba pomiaru z dokładnością 10 bitów, to pomiaru napięcia U x zawartego w przedziale 0..5V należy dokonać dwukrotnie. Pierwszy pomiar odbywa się przy pełnym zakresie pomiarowym 0..5V. Na podstawie wyniku pomiaru dokonywany jest dobór właściwego podzakresu pomiarowego do wykonania drugiej operacji przetwarzania a/c. Przy doborze podzakresu należy spełnić warunki: V IntAREF - V IntAGND 1V, mierzone napięcie nie może znajdować się na granicy podzakresu, ponieważ wynik drugiego pomiaru może zostać zafałszowany. Sposób pomiaru z rozdzielczością 10 bitów został przedstawiony na rys. poniżej. U 5V pierwszy pomiar 8 bitowy na peł nym zakresie pomiarowym V IntAREF - V IntAGND >= 1V V IntAREF U x V IntGND drugi pomiar 8 bitowy na zawężonym zakresie pomiarowym 0V Rys.4.3. Dobór zakresu pomiarowego. Algorytm doboru podzakresu pomiarowego przedstawiony został poniżej. Dla lepszego zrozumienia ograniczono się do 4 podzakresów pomiarowych: 0..1.25V, 1.25..2.5V, 2.5V..3.75V, 3.75..5V. Dobór podzakresu pomiarowego dokonywany jest na podstawie analizy dwóch najbardziej znaczących bitów wyniku uzyskanego z pierwszego pomiaru. Jeżeli dwa najbardziej znaczące bity mają wartość 00, to wynik pomiaru mieści się w przedziale 6 mniej znaczących bitów, czyli może przyjmować wartości 0..64 d (0..3FH), stąd mierzone napięcie znajduje się w zakresie: (0..64)* 5 256 = 0..1.25V Należy zatem do drugiego pomiaru wybrać zakres 0..1.25V, czyli do rejestru DAPR wpisać wartość 01000000 b = 40H. Przetwornik analogowo-cyfrowy Strona 13

Jeżeli dwa najbardziej znaczące bity mają wartość 01, to wynik pomiaru mieści się w przedziale 7 mniej znaczących bitów, czyli może przyjąć wartości 64..128 d (40H..80H), a mierzone napięcie zmienia się w zakresie: (64..128)* 5 256 = 1.25..2.5V, do drugiego pomiaru należy zatem wybrać zakres 1.25..2.5V, czyli do rejestru DAPR wpisać wartość 10000100 b = 84H. Jeżeli dwa najbardziej znaczące bity mają wartość 10, to wynik pomiaru mieści się w przedziale 8 bitów, czyli przyjmuje wartości 128..192 d (80H..C0H). Mierzone napięcie przyjmuje zatem wartości w zakresie: (128..192)* 5 256 = 2.5..3.75V, czyli należy wybrać zakres 2.5..3.75V wpisując do rejestru DAPR wartość 11001000 b = 0C8H. W ostatnim przypadku dwa najstarsze bity mogą przyjąć wartość 11. Wówczas wynik pomiaru mieści się w przedziale 192..255 d (C0H..FFH), a zmierzone napięcie mieści się w zakresie (192..255)* 5 256 = 3.75..5V, czyli należy wybrać zakres 3.75..5V wpisując do rejestru DAPR wartość 11111100 b = 0FCH. A zatem deklaracja tablicy, w której umieszczone są wartości podzakresów pomiarowych wygląda następująco: db #$40, #$84,#$0C8,#$0FC Wartość mierzonego napięcia obliczana jest na podstawie obu pomiarów wg wzoru: U = A+ B*256 *5, 1024 przy czym: A - osiem bitów z drugiego pomiaru, B - dwa najbardziej znaczące bity z pierwszego pomiaru. B A 1024 256 Przetwornik analogowo-cyfrowy Strona 14

Podobnie jak w pierwszej części ćwiczenia, wynik pomiaru należy wyświetlić na ekranie monitora, korzystając z programu napisanego w języku BASIC, przy czym dwa najbardziej znaczące bity z pierwszego pomiaru należy przesłać do zewnętrznej pamięci RAM do komórki o adresie #101, a osiem bitów z drugiego pomiaru do komórki o adresie #100. Listing programu w języku BASIC przedstawiono poniżej: 10 CALL 00h 20 A=XBY(100H) 30 B=XBY(1O1H) 40 U=256*B+A 50 V=(U*5)/1024 60 PRINT U= 70 PRINT USING (##.##),V 80 PRINT V 90 INPUT CZY JESZCZE JEDEN POMIAR? 0-NIE, 1-TAK,Z 100 IF Z=1 THEN GOTO 10 110 END przy czym: CALL 00H - wywołanie podprogramu przetwornika a/c, A=XBY(100H) - przypisanie zmiennej A wyniku pomiaru zawartego w zewnętrznej pamięci RAM w komórce o adresie 100H, B=XBY(101H) - przypisanie zmiennej B wyniku pomiaru zawartego w zewnętrznej pamięci RAM w komórce o adresie 101H. Algorytm podprogramu do pomiaru napięcia z rozdzielczością 10 bitów, który należy napisać w asemblerze SAB 535 jest następujący: Przetwornik analogowo-cyfrowy Strona 15

Start programu Deklaracja stałych. Adres początku programu org $00 Konfiguracja przetwornika. Start pomiaru TAK BSY=1 NIE Analiza wyniku pomiaru i określenie nowego podzakresu pomiarowego Zapamiętanie 2 najbardziej znaczących bitów pomiaru w komórce o adresie 20H Wybór podzakresu z tablicy. Start pomiaru TAK BSY=1 NIE Przesłanie zawartości komórki #20 do zewn. pamięci RAM do komórki #100 Przesłanie wyniku 2 pomiaru z ADDAT do zewn. pamięci RAM do komórki #100 Stop programu Rys.4.4. Algorytm programu do przetwarzania 10-bitowego przetwornika a/c. Przetwornik analogowo-cyfrowy Strona 16

2. PRZEBIEG ĆWICZENIA 1. Przygotować moduł sterownika do pracy z przetwornikiem a/c i do współpracy z komputerem PC. 2. Uruchomić komputer IBM PC. 3. Napisać program w języku asembler do pomiaru napięcia z rozdzielczością 10 bitów. 4. Uruchomić i przetestować program. 5. Zmodyfikować program BASIC. 6. Uruchomić program BASIC, wyświetlić wyniki pomiaru na ekranie monitora. Przetwornik analogowo-cyfrowy Strona 17