Top Banner
Czujnik zbliżeniowy indukcyjny Wizualizacja Danych Sensorycznych Projekt Lukasz Adamczuk (133047) 1. Wstęp. Czujniki indukcyjne zbliżeniowe są elementami automatyki reagującymi na wprowadzenie metalu w ich strefę dzialania. Powszechnie wykorzystywane są w ukladach automatyki przemyslowej do precyzyjnego określania polożenia ruchomych części maszyn i urządzeń. Charakteryzują się dużą pewnością dzialania i niezawodnością w trudnych warunkach środowiskowych jak nadmierne zapylenie, wilgotność itp. Celem projektu bylo stworzenie czujnika indukcyjnego zbliżeniowego zrealizowanego na mikrokontrolerze z możliwością wizualizacji pomiaru na wyświetlaczu LCD oraz przy pomocy zlącza RS na komputerze PC. Uklad zostal zrealizowany na plytce uniwersalnej do programowania AVR-ów z wykorzystaniem mikrokontrolera Atmega8.
20

Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

Feb 28, 2019

Download

Documents

phungtuong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

Czujnik zbli żeniowy indukcyjny

Wizualizacja Danych Sensorycznych Projekt

Łukasz Adamczuk (133047)

1. Wstęp.

Czujniki indukcyjne zbliżeniowe są elementami automatyki reagującymi na

wprowadzenie metalu w ich strefę działania. Powszechnie wykorzystywane są w układach

automatyki przemysłowej do precyzyjnego określania położenia ruchomych części maszyn

i urządzeń. Charakteryzują się dużą pewnością działania i niezawodnością w trudnych

warunkach środowiskowych jak nadmierne zapylenie, wilgotność itp.

Celem projektu było stworzenie czujnika indukcyjnego zbliżeniowego zrealizowanego

na mikrokontrolerze z możliwością wizualizacji pomiaru na wyświetlaczu LCD oraz przy

pomocy złącza RS na komputerze PC. Układ został zrealizowany na płytce uniwersalnej do

programowania AVR-ów z wykorzystaniem mikrokontrolera Atmega8.

Page 2: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

2. Budowa elektroniczna czujnika zbliżeniowego indukcyjnego.

Na poniższych rysunkach został przedstawiony schemat blokowy czujnika

zbliżeniowego indukcyjnego zrealizowanego na mikrokontrolerze Atmega8, schemat całego

układu oraz zdjęcia pokazujące zrealizowany projekt.

Rysunek 2.1: Schemat blokowy czujnika zbliżeniowego indukcyjnego.

Rysunek 2.2: Schemat układu czujnika zbliżeniowego indukcyjnego.

Page 3: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

Rysunek 2.3: Wygląd układu czujnika zbliżeniowego indukcyjnego wykonanego na płytce

uniwersalnej.

Rysunek 2.4: Wygląd obudowy wraz z wyświetlaczem oraz czujnika indukcyjnego

.

Page 4: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

Rysunek 2.5: Wyjście RS-a do wizualizacji wyników na PC oraz LPT do programowania

mikrokontrolera.

3. Mikrokontroler Atmega8. 3.1 Charakterystyka mikrokontrolerów AVR

Budowa rodziny mikrokontrolerów AVR opiera się na architekturze harwardzkiej.

Cechą charakterystyczną tej architektury jest rozdzielnie przestrzeni pamięci adresowej

programu i przestrzeni adresowej pamięci danych. Rozdzielenie to jest wynikiem

zastosowania oddzielnych magistrali adresowych. Dzięki temu umożliwione zostało

stosowanie słowa o różnej szerokości dla pamięci programu i dla pamięci danych. Chroni to

przed przypadkiem, kiedy dane mogłyby być zinterpretowane jako instrukcje.

Mikrokontrolery AVR należą do grupy o architekturze RISC (Reduced Instruction Set

Computer). Wykonanie większości rozkazów jest realizowana w jednym takcie zegara

w przeciwieństwie np. do rodziny mikrokontrolerów 51 zbudowanych w oparciu o

architekturę CISC, gdzie na wykonanie jednego rozkazu potrzeba kilka taktów zegarowych.

Wykonywane rozkazy realizowane są dwustopniowym przetwarzaniem potokowym

(pipeline). Podczas wykonywania rozkazu pobierany jest już wstępnie kod kolejnego.

Page 5: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

3.2 Architektura mikrokontrolerów AVR

W rodzinie AVR zastosowano klasyczny sposób budowania mikrokontrolerów

o różnych możliwościach, które powstają w wyniku integrowania wspólnego dla rodziny

AVR rdzenia z różnymi blokami peryferyjnymi .

Na poniższym rysunku przedstawiono budowę wewnętrzną mikrokontrolera

ATMEGA8

Rysunek 3.2.1: Budowa wewnętrzna mikrokontrolera Atmrga8

Page 6: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

Duża ilość rejestrów zwiększa efektywność programowania w językach wyższego

rzędu. Znacznie przyspiesza wykonywanie programu.

Rysunek 3.2.2: Mapa pamięci mikrokontrolera Atmega8

Znaczna część pracy mikrokontrolera to wykonanie operacji arytmetyczno-logicznych.

Wewnętrzne bloki funkcjonalne komunikują się miedzy sobą 8-bitową magistralą, oraz

dodatkowymi liniami sterującymi. W mikrokontrolerze stos został umieszczony w

wewnętrznej pamięci danych (SRAM). Ze względu na to, iż w pamięci tej lokowane są dane

programu, kompilator przeznacza na działanie stosu tylko pozostałe komórki pamięci.

W rodzinie mikroprocesorów AVR dysponujemy wewnętrzną pamięcią programu

typu Flash (Rysunek 3.2.2 ). Cały obszar 1 klow (1 słowo=2 bajty) jest dostępny

bezpośrednio dla wywołań podprogramów i skoków warunkowych.

Wbudowana pamięć Flash upraszcza znacznie prace konstrukcyjne. Programowanie

odbywa się poprzez prosty interfejs, dlatego zbędne stały się skomplikowane i drogie

programatory.

Page 7: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

Rysunek 3.2.3: Architektura rdzenia mikrokontrolerów AVR

System przerwań mikrokontrolera AVR wykorzystuje niektóre rejestry sterujące

znajdujące się w przestrzeni we/wy. Każde z przerwań ma indywidualny wektor przerwania,

czyli adres skoku do procedury obsługi przerwania.

Tablica wektorów przerwań jest zawsze umieszczana na początku pamięci programu.

Wszystkie przerwania charakteryzują się przypisanym priorytetem obsługi. Im jest niższy

adres danego wektora przerwania, tym wyższy ma on priorytet .

3.3 Funkcje wyprowadzeń

Na poniższym rysunku przedstawiono rozmieszczenie wyprowadzeń mikrokontrolera

Atmega8 w obudowie PDIP lub SOIC. Funkcje wyprowadzeń są następujące:

Page 8: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

Rysunek 3.3.1: Rozmieszczenie wyprowadzeń mikrokontrolera Atmega8

3.4 Generator taktujący

Do generowania impulsu zegarowego synchronizującego pracę mikrokontrolera

wykorzystano wbudowany wzmacniacz odwracający fazę. Końcówki XTAL1 i XTAL2

pełnią odpowiednio funkcję wejścia i wyjścia. Wzmacniacz zamienia się w generator sygnału

taktującego po dołączeniu zewnętrznego rezonatora. Sposób podłączenia ukazano na rysunku

3.4.1

Wzmacniacz również może współpracować z rezonatorami kwarcowymi

i ceramicznymi.

Rysunek 3.4.1: Zalecany sposób dołączenia zewnętrznego rezonatora kwarcowego

Page 9: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

3.5 Porty

Mikrokontroler komunikuje się ze światem zewnętrznym poprzez porty

komunikacyjne. Kierunek każdego wyprowadzenia może być przypisany indywidualnie.

Dostęp do portu zapewniony jest przez 3 lokacje w przestrzeni adresowej we/wy

mikrokontrolera. Pierwszym rejestrem jest rejestr danych (Data Register).

PORTx -rejestr danych portu

Rysunek 3.5.1: Rejestr PORTx

Rejestr DDRx służy do ustalenia kierunku transmisji. Każda linia może zostać ustawiona

indywidualnie.

PINx –rejestr wejściowy portu

Rysunek 3.5.2: Rejestr PINx

Rejestr PINx służy do odczytu bezpośredniego stanu na wyprowadzeniach portu.

Zgodnie z tabelą wyprowadzenia portu B mogą spełniać funkcje alternatywne. Port B

może służyć również jako interfejs programowy ISP. Dzięki temu rozwiązaniu wykorzystując

prosty programator zbudowany w oparciu o układ buforujący 74C244 i podłączony do portu

równoległego drukarki zapewniamy sobie możliwość programowania układu. Komunikacja z

układem odbywa się szeregowo w systemie ISP (In System Programming)

3.6 Układ transmisji szeregowej (UART)

Najpopularniejszym standardem przesyłu danych jest standard RS232 powoli

wypierany przez standard USB. Szereg współczesnych urządzeń posiada wbudowany

interfejs szeregowy (synchroniczny/asynchroniczny). Określany jest mianem UART-u

(Universal Asynchronous Receiver and Transmitter). Jest to kompletna implementacja

Page 10: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

sprzętowa interfejsu. Gdy odległości są większe niż wieloprocesorowe (pracujące w

bezpośrednim sąsiedztwie), należy wykorzystać zewnętrzne układy dopasowujące poziom

sygnałów do standardu RS232 zwiększające możliwości przesyłowe. Znaczna większość

urządzeń,

w których wykorzystany jest interfejs RS232 reaguje na jedynkę logiczną z przedziału od -3

do -12 V, zaś logicznemu zeru przyporządkowany jest przedział napięcia zakresu 3 do

12 V. Sygnały na liniach transmisyjnych nie powinny zawierać się w przedziale od -3 do 3 V,

gdyż mogą być przypadkowo zakwalifikowane wprowadzając tym samym błąd w transmisji.

Najczęściej spotykaną realizacją sprzętową układu dopasowującego poziom napięć

jest układ MAX232. Układ wyprowadzeń przedstawiono na poniższym rysunku

Rysunek 3.6.1: Rozmieszczenie wyprowadzeń układu MAX232

Podstawowe cechy UART wbudowanego w mikrokontrolery AVR to:

- wbudowany generator podstawy czasu dla transmisji szeregowej,

- możliwość uzyskiwania wysokich prędkości transmisji dla niskich częstotliwości rezonatora

kwarcowego,

- dana o długości 8 lub 9 bitów,

- układ redukcji szumów zakłócających transmisję,

- detekcja nadpisania zawartości bufora odbiornika,

- detekcja błędu ramki,

- detekcja błędnego bitu startu,

- trzy wydzielone przerwania do obsługi zdarzeń: zakończenia transmisji danej, opróżnienia

bufora nadawczego, zapełnienia bufora odbiorczego.

Page 11: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

3.6.1 Sterowanie transmisją. Do obsługi transmisji szeregowej poprzez UART służą cztery rejestry specjalne. UDR -rejestr danych nadawanych/odbieranych

Rysunek 3.6.1.1: Rejestr UDR

- rejestr danych nadawanych/odbieranych przez UART, fizycznie są to dwa oddzielne

rejestry, występujące pod tym samym adresem (przestrzeń I/O). Podczas zapisu dane są

kierowane do rejestru danych wysyłanych (UART Transmit Data Register). Odczyt następuj z

rejestru danych odbieranych (UART Receive Data Register).

UCSRA - rejestr stanu

Rysunek 3.6.1.2: Rejestr UCRSA

- rejestr UCSRA jest rejestrem tylko do odczytu. Sygnalizuje stan pracy układu UART.

Najważniejsze bity z rejestru oznaczają:

RXC (UART Receive Complete): flaga sygnalizująca odebranie znaku przez odbiornik.

Znacznik ten ustawiany jest podczas przenoszenia danej odebranej z rejestru

przesuwającego do rejestru UDR. Ustawienie flagi odbywa się niezależnie od wykrycia

błędu ramki. Jeżeli bit RXCIE w rejestrze UCR jest ustawiony, to podczas wystąpienia

jedynki logicznej na bicie RXC nastąpi zgłoszenie przerwania przez UART Receive

Complate. Oznacza to, że w rejestrze UDR znajduje się dana do odczytu.

TXC (UART Transmit Complete): flaga sygnalizująca zakończenie wysyłania danej

przez nadajnik.

Znacznik ten jest ustawiany w stan logicznej jedynki, gdy cała dana nadawana, łącznie

z bitem stopu zostanie wysunięta z rejestru przesuwającego i nie ma nowej danej

zapisanej w rejestrze UDR. Włączenie nadajnika bitem TXCIE w rejestrze UCR

i ustawienie flagi TXC spowoduje zgłoszenie przerwania od nadajnika UART i będzie

Page 12: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

ono oznaczało ze nadajnik gotowy jest na przyjęcie kolejnej danej. Bit TXC jest

automatycznie zerowany podczas przejścia do procedury obsługi przerwania.

UDRE (UART Data Register Empty): flaga sygnalizująca opróżnienie bufora UART.

Bit UDRE ustawiany jest podczas przenoszenia danej z rejestru UDR do nadawczego

rejestru przesuwającego. Zgłaszana jest w ten sposób gotowość nadajnika do wczytania

kolejnej danej do wysłania. Gdy bit UDRE jest ustawiony to przerwanie UART Transmit

Complete będzie mogło być obsługiwane dopóty, dopóki bit UDRE jest ustawiony.

Flaga zostaje skasowana podczas wpisu do UDR nowej danej. Należy pamiętać, aby

wchodząc do procedury obsługo przerwania zapisać UDR, ponieważ może to

spowodować wywołanie kolejnego przerwania. Po zerowaniu mikroprocesora flaga

UDRE ustawiana jest sygnalizując gotowość nadajnika do przyjęcia danej.

FE (Framming Error): flaga sygnalizująca błąd ramki.

W przypadku, gdy w bicie stopu wystąpi zerowa wartość, następuje ustawienie flagi,

która zostaje skasowana automatycznie po odebraniu prawidłowego bitu stopu.

OR (OverRun): flaga sygnalizująca nadpisanie danych w rejestrze odbiornika.

Flaga OR jest ustawiana, jeśli zostanie wykryte nadpisanie danych w rejestrze

odbiornika (np. gdy dana znajdująca się aktualnie w rejestrze UDR nie zostanie

odczytana przed wprowadzeniem następnego znaku do odbiorczego rejestru

przesuwającego). Znacznik OR jest zerowany po przesianiu odebranej danej do rejestru

UDR.

UCSRB - rejestr sterujący UART-u

Rysunek 3.6.1.3: Rejestr UCSRB

RXCIE (RX Complete Interrupt Enable): bit zezwalający na przerwanie od odbiornika

Ustawienie znacznika zezwala na przyjęcie przerwania zgłaszanego automatycznie po

odebraniu danej i ustawienie flagi RXC. Przerwanie będzie obsłużone, gdy wcześniej

zostanie odblokowane globalne zezwolenie przerwań.

TXCIE (TX Complete Interrupt Enable): bit zezwalający na przerwanie od nadajnika

Page 13: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

Jest to zezwolenie przyjęcia przerwania od nadajnika, gdy dana zostanie wyemitowana

i ustawiona zostanie flaga TXC. Przerwanie może być obsłużone, gdy wcześniej

zostanie odblokowane globalne przerwania.

UDRIE (UART Data Register Empty Interrupt Enable): bit zezwalający na przerwanie

od nadajnika po opróżnieniu bufora nadajnika UDR.

Bit zezwala na przyjęcie przerwania po opróżnieniu bufora nadajnika UDR i ustawieniu

flagi UDRIE. Przerwanie zostanie obsłużone pod warunkiem globalnego odblokowania

przerwań.

RXEN (Receiver Enable): bit włączający/wyłączający odbiornik UART

Ustawienie bitu RXEN powoduje włączenie odbiornika UART. Gdy bit jest

wyzerowany odbiór jest niemożliwy.

TXEN (Transmitter Enable): bit włączający/wyłączający nadajnik UART

Ustawienie bitu TXEN powoduje włączenie nadajnika UART. Gdy bit jest wyzerowany

nadawanie jest niemożliwe. Gdy wyzerowanie bitu nastąpi podczas transmisji danej,

nadajnik nie zostanie od razu wyłączony. Nastąpi to dopiero po zakończeniu nadawania

danej znajdującej się w rejestrze UDR.

UCSZ2 (9 Bit Characters Enable): bit ustalający długość danej nadawanej/odbieranej

Ustawienie jedynki logicznej powoduje przyjęcie 9-bitowej długości danej odbieranej

i nadawanej.

RXB8 (Receive Data Bit 8): ósmy bit odebranej danej.

Gdy CHR9 jest ustawione na „1”, RXB8 zawiera najstarszy bit odebranej danej.

TXB8 (Transmit Data Bit 8): ósmy bit nadawanej danej.

Gdy CHR9 jest ustawione na „1”, TXB8 zawiera najstarszy bit nadawanej danej.

UBRR. - rejestr wyboru prędkości transmisji UART

Rysunek 3.6.1.4: Rejestr RUBR

Rejestr UBRR zawiera 8-bitowy parametr określający prędkość transmisji szeregowej.

Sygnały synchronizujące pracą UART są wytwarzane poprzez odpowiednie podzielenie

Page 14: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

częstotliwości oscylatora systemowego. Wartość wpisu UBRR dobiera się według poniższego

wzoru :

)1(16 +=

UBRR

fBAUD CK

gdzie:

BAUD - prędkość transmisji, −CKf częstotliwość oscylatora taktującego CPU,

UBRR - wartość rejestru UBRR zapewniającą transmisje z ustaloną prędkością (może przyjmować wartości od 0 do 255).

Dla prędkości 9600 i zegara taktującego 8Mhz wartość UBRR to 51. W tym

przypadku błąd transmisji wynosi 0,2%.

Prędkość transmisji dla zastosowanego oscylatora można dobrać wg poniższej tabeli.

Tabela 3.6.1: Dobór parametru UBRR

3.7 Przetworniki A/C Przetworniki A/C to układ elektroniczny mający za zadanie zmianę wartości wielkości

analogowej (ciągłej) na wartość cyfrową - czyli zapisanie za pomocą odpowiedniego kodu

cyfrowego - wielkości analogowej w określonych momentach czasu.

Zasada dzialania :

Page 15: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

1024

2048

tKo

d cy

frowy

próbkowanie

Rysunek 3.7.1: Próbkowanie sygnałów.

Powyższy wykres pokazuje pewne prawidłowości:

- zamiana wartości wielkości analogowej na kod cyfrowy następuje w określonym momencie

czasu;

- momenty czasowe są tak dobrane aby wykonanie kolejnych konwersji (próbkowanie)

zachowało pełną informację o sygnale analogowym tzn. aby móc go w pełni odtworzyć z

zapisanych kolejnych wartości z postaci cyfrowej (z próbek).

Zamiana wartości wielkości analogowej na kod cyfrowy wymaga wykonania dwóch

kolejnych operacji: zkwantowania wartości analogowej, oraz przypisaniu każdemu

poziomowi kwantowania odpowiedniego kodu cyfrowego.

Przy zwykłych pomiarach prądu i napięcia oraz w większości czujników elektroniki

przemysłowej, elektryczne wartości mierzone występują jako wartości analogowe. Należy je

zatem przekształcić do takiej postaci, która nadawałaby się do dalszego cyfrowego

przetwarzania i przedstawiania jako wartości liczbowych.

000

001

010

011

100

101

110

111

Stan wyjścia(zapisany cyfrowo)

Uwej

KO

DO

WA

NIE

KWANTOWANIE

Błą

d

kw

anto

wania

+Q/2

-Q/2

Rysunek 3.7.2: Kwantowanie sygnałów.

Page 16: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

Rysunek 3.7.3: Budowa przetwornika ADC w Atmega8.

Page 17: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

Rysunek 3.7.4: Prescaler ADC

Prescaler posłużył do ustalenia częstotliwości próbkowania

ADMUX - rejestr wyboru wejścia analogowego

Rysunek 3.7.5: rejestr wyboru wejścia analogowego

Tabela 3.7.1: Wybór wejść

Tabela 3.7.2: Wybór napięcia odniesienia (referencyjnego)

Page 18: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

Opis rejestrów

Rejestr kontrolny przetwornika

Rysunek 3.7.6: Rejestr kontrolny przetwornika

ADEN: uruchamianie przetwornika.

ADSC: pojedyncze przetworzenie.

ADFR: ciągłe przetwarzanie

ADIF : flaga skończonego przetwarzania

ADIE : załączenie przerwania od przetwornika

ADPS2 – 0 : flagi określające częstotliwość próbkowania

4. Wyświetlacz alfanumeryczny LCD

Sterowanie wyświetlaczem alfanumerycznym ze sterownikiem HD44780 odbywa się

na zasadzie wysyłania odpowiednich komend oraz zapisu danych do wewnętrznej pamięci

wyświetlacza. Komendy i dane są rozróżniane na podstawie stanu linii RS (0 - komendy; 1 -

dane). Kierunek transmisji jest określany stanem linii R/W. Sterownik HD44780 posiada dwa

rodzaje pamięci : pamięć generatora znaków (CGROM) oraz pamięć danych (DD RAM).

Pamięć generatora znaków zawiera graficzną postać znaków wyświetlanych na wyświetlaczu

(można porównać do czcionki). Oprócz znaków zdefiniowanych na stałe przez producenta

sterownika do dyspozycji użytkownika pozostaje 8-znakowa pamięć RAM, w której można

zdefiniować własne znaki (np. polskie znaki diakrytyczne). Pamięć danych DD RAM ma

pojemność 80 bajtów (jeden sterownik HD4478 może obsłużyć maksymalnie 80 znaków,

czyli np. 2 linie po 40 znaków, lub 4 linie po 20 znaków).

Zestawienie rozkazów kontrolera HD44780 przedstawia poniższa tabela.

Page 19: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

Tabela 4.1: Zestawienie rozkazów kontrolera HD44780

Display clear - (RS = 0, R/W = 0, dane = 00000001) -instrukcja ta powoduje wyczyszczenie

wyświetlacza poprzez wypełnienie go spacjami, ustawienie trybu zapisu danych od pozycji w

lewym górnym rogu wyświetlacza oraz wyłączenie trybu przesuwania okna; maksymalny

czas trwania instrukcji - 1,64ms

Display/cursor home - (RS - 0, R/W = 0, dane = 0000001x) - instrukcja powoduje

ustawienie kursora na pozycji pierwszego znaku w pierwszej linii; maksymalny czas trwania

instrukcji 1,64ms

Entry mode set - (RS = 0; R/W = 0, dane = 000001IS) - określenie trybu pracy kursora/okna

wyświetlacza :

- dla S = 1 po zapisaniu znaku do wyświetlacza kursor nie zmienia położenia, natomiast

przesuwa się cała zawartość wyświetlacza

- dla S = 0 po zapisaniu znaku do wyświetlacza kursor zmienia położenie, a przesuwanie okna

jest wyłączone

- dla I = 1 kursor lub okno wyświetlacza przesuwa się w prawo (inkrementacja adresu znaku)

- dla I = 0 kursor lub okno wyświetlacza przesuwa się w lewo (dekrementacja adresu znaku)

Maksymalny czas trwania instrukcji - 40us

Display ON/OFF - (RS = 0, R/W = 0, dane = 00001DCB)

- dla D = 1 - włączenie wyświetlacza

- dla D = 0 - wyłączenie wyświetlacza

- dla C = 1 - włączenie kursora

- dla C = 0 - wyłączenie kursora

- dla B = 1 - włączenie migania kursora

- dla B = 0 - wyłączenie migania kursora

Page 20: Czujnik zbli żeniowy indukcyjny - Laboratorium Robotykirab.ict.pwr.wroc.pl/~kreczmer/wds/projekty/SPR/2006-07/adamczuk... · zastosowania oddzielnych magistrali adresowych. Dzięki

Display cursor shift - (RS = 0, R/W = 0, dane = 0001SRxx)

- dla S = 1 - przesuwana jest zawartość okna

- dla S = 0 - przesuwany jest kursor

- dla R = 1 - kierunek przesuwu w prawo

- dla R = 0 - kierunek przesuwu w lewo

Function set (RS= 0, R/W = 0, dane = 001DNFxx)

- dla D = 1 - interfejs 8-bitowy

- dla D = 0 - interfejs 4-bitowy

- dla N = 1 - wyświetlacz dwuwierszowy

- dla N = 0 - wyświetlacz jednowierszowy

- dla F = 1 - matryca znaków 5*10 punktów

- dla F = 0 - matryca znaków 5*7punktów

CG RAM set - (RS= 0, RW = 0, dane = 01AAALLL) - ustawia adres pamięci generatora

znaków. AAA - 3-bitowy adres znaku, LLL - 3-bitowy numer linii składającej się na

graficzne odwzorowanie znaku.

DD RAM set - (RS = 0, R/W = 0, dane = 1AAAAAAA) - ustawia adres pamięci

wyświetlacza, pod który nastąpi zapis (bądź odczyt) danych operacją Data write lub Data

read.

Busy flag read - (RS = 0, R/W = 1, dane = BAAAAAAA) - odczyt flagi zajętości i adresu

pamięci wyświetlacza. B - flaga zajętości wyświetlacza, AAAAAAA - 7-bitowy adres

pamięci.

Data read - (RS = 1, R/W= 1, dane = odczytywany bajt danych) - odczyt danych z pamięci

wyświetlacza, bądź pamięci CG RAM (jeśli poprzednio wydano komendę CG RAM set)

Data write - (RS = 1, R/W = 0, dane = zapisywany bajt danych) - zapis danych do pamięci

wyświetlacza, bądź pamięci CG RAM (jeśli poprzednio wydano komendę CG RAM set)