Programowanie mikrokontrolerów. 8 listopada 2007

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

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Wbudowane układy peryferyjne cz. 3 Wykład 9

Przetworniki analogowo-cyfrowe (A/C)

Instytut Teleinformatyki

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

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

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Programowanie Mikrokontrolerów

Mikroprocesory i Mikrosterowniki Laboratorium

Programowanie mikrokontrolerów. 5 grudnia 2007

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

2. Architektura mikrokontrolerów PIC16F8x... 13

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

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Opis procedur asemblera AVR

Zespół Szkół Technicznych. Badanie wyświetlaczy LCD

Hardware mikrokontrolera X51

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

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

Podstawy systemów mikroprocesorowych

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

Programowanie mikrokontrolerów. 15 stycznia 2008

Karta katalogowa JAZZ OPLC JZ20-T40/JZ20-J-T wejść cyfrowych, 2 wejścia analogowe/cyfrowe, 2 wejścia analogowe. 20 wyjść tranzystorowych

Komunikacja w mikrokontrolerach Laboratorium

PROTOKÓŁ MQTT (uzupełnienie do instrukcji obsługi miernika ND30)

ZL8AVR. Płyta bazowa dla modułów dipavr

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

Uniwersalny sterownik silnika krokowego z portem szeregowym RS232 z procesorem AT90S2313 na płycie E200. Zestaw do samodzielnego montażu.

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

Karta katalogowa JAZZ OPLC. Modele JZ20-T10/JZ20-J-T10 i JZ20-T18/JZ20-J-T18

Systemy wbudowane Obsługa interfejsu 1-Wire na przykładzie termometru DS18B20

2. Format danych i zaimplementowane funkcje MODBUS

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Wstęp Architektura... 13

Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4 firmy Atmel

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART

Wbudowane układy komunikacyjne cz. 1 Wykład 10

PROGRAMOWALNE SYSTEMY MECHATRONIKI

GND(VSS) i VCC - masa i zasilanie. V0 - regulacja kontrastu

Gdzie przyjęto, że: IR7...IR4 to starsze bity przesyłanej danej lub rozkazu, IR3...IR0 to młodsze bity przesyłanej danej lub rozkazu.

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Instrukcja użytkownika ARSoft-WZ1

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

Instrukcja obsługi rejestratora SAV35 wersja 10

Karta katalogowa JAZZ OPLC. Modele JZ20-R10/JZ20-J-R10 i JZ20-R16/JZ20-J-R16

PRUS. projekt dokumentacja końcowa

UW-DAL-MAN v2 Dotyczy urządzeń z wersją firmware UW-DAL v5 lub nowszą.

Programowanie mikrokontrolerów 2.0

Karta katalogowa JAZZ OPLC JZ20-R31

Kod produktu: MP01611-ZK

Komunikacja RS485 - MODBUS

Interfejs analogowy LDN-...-AN

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

MCAR Robot mobilny z procesorem AVR Atmega32

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

SML3 październik

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

Wyjście do drukarki Centronix

Programowanie mikrokontrolerów. 3 stycznia 2008

Dokumentacja Techniczna. Czytnik RFID UW-M4GM

Samba OPLC SM35-J-R20

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Pomiar przyspieszeń wzdłuŝwych i poprzeczwych.

Architektura mikrokontrolera MCS51

Samba OPLC SM35-J-T20

MultiTool instrukcja użytkownika 2010 SFAR

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

Programowanie w językach asemblera i C

Politechnika Wrocławska

Architektura mikrokontrolera MCS51

Problematyka sieci miejscowej LIN

Programator układów HCS

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

Programowanie mikrokontrolerów 2.0

Rejestrator wielokanałowy CL 460

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Kod produktu: MP01105T

JAZZ OPLC JZ20-R10 i JZ20-R16

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

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

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

JAZZ OPLC JZ20-R31/JZ20-J-R31

TECHNIKA MIKROPROCESOROWA II

3GHz (opcja 6GHz) Cyfrowy Analizator Widma GA4063

Opis czytnika TRD-FLAT CLASSIC ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

GRM-10 - APLIKACJA PC

Komunikacja w mikrokontrolerach Laboratorium

INSTRUKCJA OBSŁUGI systemu pomiarowego

Opis Ogólny OPIS INTERFEJSU POMIAROWEGO AL154SAV5.

ODPOWIEDŹ DO ZAPYTANIA O WYJAŚNIENIE TREŚCI SIWZ

Instrukcja Obsługi. Modułu wyjścia analogowego 4-20mA PRODUCENT WAG ELEKTRONICZNYCH

Transkrypt:

Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007

Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik sterownik zwykle zgodny z HD44780 komunikacja za pomocą interfejsu równoległego wpisujemy kod znaku do określonej komórki pamięci wyświetlacza przykładowa pamięć obrazu 0 1 2 3 4 5 6 7 8 9 0A 0B 0C 0D 0E 0F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F

Interfejs zasilanie: masa i 5 V napięcie regulacji kontrastu linia RS 0 przesyłanie instrukcji 1 przesyłanie danych linia RW, kierunek transmisji 0 zapis 1 odczyt linia E, potwierdzanie zboczem opadającym linie danych D0 do D7 opcjonalnie dwie linie zasilające podświetlanie

Interfejs uproszczony będziemy tylko zapisywać dane linia RW zawsze ustawiona na 0 (zwarta do masy) będziemy stosować interfejs 4-bitowy do transmisji używamy linii D4 do D7 linie D0 do D3 zawsze ustawione na 0 (zwarte do masy) linia kontrastu nie jest sterowana przez µc wyświetlacz nie ma podświetlania

Protokół transmisji jednego bajtu tryb 8-bitowy ustaw rodzaj transmisji na linii RS 0 przesyłanie instrukcji 1 przesyłanie danych ustaw linię E w stan 1 ustaw na liniach D0 do D7 odpowiednio bity 0 do 7 transmitowanego bajtu odczekaj kilka taktów zegara ustaw linię E w stan 0 odczekaj 40 µs

Protokół transmisji jednego bajtu tryb 4-bitowy ustaw rodzaj transmisji na linii RS 0 przesyłanie instrukcji 1 przesyłanie danych ustaw linię E w stan 1 ustaw na liniach D4 do D7 odpowiednio bity 4 do 7 transmitowanego bajtu odczekaj kilka taktów zegara ustaw linię E w stan 0 odczekaj kilka taktów zegara ustaw linię E w stan 1 ustaw na liniach D4 do D7 odpowiednio bity 0 do 3 transmitowanego bajtu odczekaj kilka taktów zegara ustaw linię E w stan 0 odczekaj 40 µs

Inicjalizacja wyświetlacza po włączeniu zasilania jesteśmy w trybie 8-bitowym odczekaj po włączeniu zasilania 40 ms wyślij instrukcję 0x3* odczekaj 4,1 ms wyślij instrukcję 0x3* odczekaj 100 µs wyślij instrukcję 0x3* odczekaj 100 µs włącz interfejs 4-bitowy instrukcja 0x2* odczekaj 40 µs

Konfiguracja wyświetlacza 1-liniowy lub 2-liniowy matryca znaku 5 8 pikseli lub 5 10 pikseli kursor: migający, niemigający, brak przesuwane okno definiowanie własnych znaków

Przetwornik analogowo-cyfrowy (1) procesor ATmega16 ma wbudowany przetwornik analogowo-cyfrowy przetwarza wartość napięcia elektrycznego na liczbę rozdzielczość 10 bitów rozróżnia 1024 wartości pomiar wartość napięcia elektrycznego względem masy układu wartość wyjściowa z przedziału 0 do 1023 określona wzorem V IN 1024 V REF pomiar różnicy wartości dwóch napięć elektrycznych (opcja niedostępna w obudowie DIP40) wartość wyjściowa z przedziału 512 do 511 (kod U2) określona wzorem (V POS V NEG ) GAIN 512 V REF

Przetwornik analogowo-cyfrowy (2) jako wejścia V IN, V POS, V NEG można wybrać nogi portu A współczynnik wzmocnienia GAIN może wynosić 1, 10 lub 200 napiecie odniesienia V REF napięcie zasilania układu wewnętrzne napięcie odniesienia, nominalnie 2,56 V, wartość rzeczywista między 2,3 a 2,7 V zewnętrzne napięcie odniesienia podane na nogę AREF taktowany zegarem od 50 do 200 khz jedno przetwarzanie trwa od 13 do 260 µs przetwarzanie może być wyzwalane jednokrotnie lub automatycznie powtarzane koniec przetwarzania i gotowość do odczytania wyniku może być zgłaszana przerwaniem

Przetwornik analogowo-cyfrowy (3) przed użyciem przetwornik trzeba skonfigurować rejestr ADMUX źródło napięcia odniesienia V REF sposób prezentacji wyniku wybór wejścia V IN, V POS, V NEG współczynnik wzmocnienia GAIN rejestr ADCSR(A) włączenie przetwornika wybór sposobu wyzwalania włączenie obsługi przerwania ustawienie częstotliwości taktowania 3 najstarsze bity rejestru SFIOR wybór źródła automatycznego wyzwalania rejestry ADCL i ADCH zawierają przetworzoną wartość

Rejestr ADMUX (1) 7 6 5 4 3 2 1 0 REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0 bity 7:6 REFS1 REFS0 napięcie odniesienia 0 0 zewnętrzne, podane na nogę AREF 0 1 napięcie zasilania 1 0 wartość zarezerwowana 1 1 wewnętrzne 2,56 V bit 5 rozmieszczenie bitów wyniku ADLAR rejestr ADCH rejestr ADCL 0 - - - - - - 9 8 7 6 5 4 3 2 1 0 1 9 8 7 6 5 4 3 2 1 0 - - - - - -

Rejestr ADMUX (2) bity 4:0 wybór wejścia interuje nas tylko pomiar napięcia względem masy układu podajemy numer nogi portu A przykładowy kod ldi r16, (1 << REFS0) (1 << ADLAR) (1 << PA0) out ADMUX, r16

Rejestr ADCSR(A) (1) 7 6 5 4 3 2 1 0 ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0 bit 7 włączenie przetwornika bit 6 start konwersji bit 5 włączenie automatycznego trybu wyzwalania bit 4 znacznik przerwania ustawiony, gdy przetwarzanie zakończone bit 3 włączenie przerwania

Rejestr ADCSR(A) (2) bity 2:0 ustalenie częstotliwości taktowania przetwornika ADPS2 ADPS1 ADPS0 współczynnik podziału 0 0 0 2 0 0 1 2 0 1 0 4 0 1 1 8 1 0 0 16 1 0 1 32 1 1 0 64 1 1 1 128 przykład częstotliwość zegara systemowego 1 MHz przetwornik należy taktować ok. 100 khz (między 50 a 200 khz) wybieramy współczynnik podziału 8

Rejestr ADCSR(A) (3) przykładowy kod ldi r16, (1 << ADEN) (1 << ADSC) (1 << ADIE) (1 << ADPS1) (1 << ADPS0) out ADCSR, r16

Obsługa przerwania (1) ;skok w wektorze przerwań.org ADCCaddr jmp ADC_interrupt ;procedura obsługi przerwania ADC_interrupt: ; odłożenie na stos używanych rejestrów ; i rejestru znaczników push r16 in r16, SREG push r16 push r17 ; wczytanie wartości napięcia in r17, ADCH in r16, ADCL

Obsługa przerwania (2) ; kod korzystający z wczytanej wartości... ; odtworzenie wartości rejestrów ; i rejestru znaczników pop r17 pop r16 out r16, SREG pop r16 ; powrót z przerwania reti

Konfiguracja VMLAB źródła mierzonego napięcia możemy symulować za pomocą suwaków w Control Panel przykład V0 PA0 VSS SLIDER_1(0 5)