Komunikacja w mikrokontrolerach. Podstawy programowania. Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski

Podobne dokumenty
Komunikacja w mikrokontrolerach. Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski

Aplikacje Systemów Wbudowanych

Komunikacja w mikrokontrolerach Laboratorium

SYSTEM PRZERWAŃ ATmega 32

Język C dla mikroprocesorów AVR Wykład 6

Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Mikroprocesory i mikrosterowniki

PROGRAMOWALNE SYSTEMY MECHATRONIKI

Mikrokontrolery AVR Wprowadzenie

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32)

Schemat blokowy architektury AVR

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Programowanie mikrokontrolerów AVR

Instytut Teleinformatyki

Komunikacja w mikrokontrolerach Laboratorium

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Techniki mikroprocesorowe i systemy wbudowane

KARTA PRZEDMIOTU. Egzamin / zaliczenie na ocenę*

Instytut Teleinformatyki

Podstawy Techniki Mikroprocesorowej

Mikrokontrolery ośmiobitowe

Mikroprocesory i Mikrosterowniki Laboratorium

Instytut Teleinformatyki

3 Przygotował: mgr inż. Maciej Lasota

Wbudowane układy peryferyjne cz. 1 Wykład 7

PROGRAMOWANIE w C prolog

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

2. Architektura mikrokontrolerów PIC16F8x... 13

Sterowniki Programowalne (SP) Wykład 13

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

Społeczna Wyższa Szkoła Przedsiębiorczości i Zarządzania. Instrukcja ćwiczeń laboratoryjnych do przedmiotu Systemy Wbudowane

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

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

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Mikrokontroler ATmega32. Język symboliczny

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

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)

Komunikacja w mikrokontrolerach Laboratorium

Mikrokontroler AVR ATmega32 - wykład 9

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

MIKROKONTROLERY I MIKROPROCESORY

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Szkolenia specjalistyczne

Instrukcja do laboratorium Akademii ETI *

Programowanie Niskopoziomowe

Opis bezprzewodowego układu do pomiaru oporu elektrycznego skóry

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

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy

Funkcja (podprogram) void

Współpraca mikrokontrolera z klawiaturą

Wstęp Architektura... 13

Podstawy systemów mikroprocesorowych

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

ŚRODOWISKO PROTOTYPOWANIA SP AVR

Programowanie mikrokontrolerów rodziny AVR. Narzdzia rozwojowe

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Mikrokontrolery w mechatronice. Wykład 4

Egzamin / zaliczenie na ocenę*

Mikrokontrolery AVR ATmega

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

Programowanie mikrokontrolerów - laboratorium

Język C zajęcia nr 11. Funkcje

Wstęp do Programowania, laboratorium 02

Podstawy systemów mikroprocesorowych. Interfejs USART. Interfejsy szeregowe w mikrokontrolerach AVR

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Tablice, funkcje - wprowadzenie

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA

Podstawy systemów mikroprocesorowych

SPRAWOZDANIE. Architektura systemów komputerowych projekt robota W Y K O N A N I E :

Systemy wbudowane Mikrokontrolery

dokument DOK wersja 1.0

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

Komunikacja w mikrokontrolerach Laboratorium

Programowanie mikrokontrolerów. 8 listopada 2007

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Opis procedur asemblera AVR

Język C. Wykład 9: Mikrokontrolery cz.1. Łukasz Gaweł Chemia C pokój 307

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Użycie AVR Studio do kompilacji AVRUB

Inne układy peryferyjne AVR

Mikrokontrolery w mechatronice. Wstępne uwagi

Transkrypt:

Komunikacja w mikrokontrolerach Podstawy programowania Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.

AVR GCC AVR-GCC - kompilator języka C dla mikrokontrolerów serii AVR firmy ATMEL Dołączony do darmowego środowiska AVR Studio Umożliwia tworzenie projektów w C/C++ Licencja GNU Biblioteki dołączamy instrukcją #include

Biblioteki

Biblioteki <avr/io.h> - definicje rejestrów i bitów I/O (kompilator automatycznie dołącza właściwe dla wybranego MCU) <util/delay.h> - funkcje opóźnienia <avr/interrupt.h> - funkcje obsługi przerwań <avr/sleep.h> - funkcje zarządzania stanami uśpienia <ctype.h> - operacje na znakach <math.h> - funkcje matematyczne <string.h> - funkcje operujące na łańcuchach <stdlib.h> - funkcje standardowe <avr/eeprom.h> - funkcje dostępu do wewnętrznej pamięci EEPROM <avr/wdt.h> - funkcje obsługi Watchdoga <util/twi.h> - funkcje obsługi interfejsu TWI <alloca.h> - alokacja pamięci stosu <stdint.h> - definicje standardowych typów całkowitych

Biblioteki <assert.h> - diagnostyka <errno.h> - obsługa błędów <inttypes.h> - konwersje typów całkowitych <setjmp.h> - długie skoki <stdio.h> - standardowa biblioteka wejścia/wyjścia <avr/boot.h> - narzędzia wspierające funkcje bootloadera <avr/pgmspace.h> - funkcje dostępu do pamięci programu <avr/power.h> - funkcje zarządzania energią <avr/sfr_defs.h> - funkcje operujące na rejestrach funkcyjnych <avr/version.h> - marka wersji <util/crc16.h> - obliczanie sum CRC <util/delay_basic.h> - funkcje podstawowych opóźnień <util/parity.h> - generowanie bitu parzystości <compat/deprecated.h>- informacje o starszych funkcjach <compat/ina90.h> - funkcje kompatybilności z IAR EWB 3.x

<avr/io.h> Podstawowa biblioteka programów AVR GCC Definicje rejestrów i bitów dla wybranego MCU Zdefiniowane stałe właściwe dla danego MCU, np.: RAMEND adres ostatniej komórki pamięci RAM FLASHEND adres ostatniej komórki pamięci FLASH EEPROM E2END adres ostatniej komórki dodatkowej pamięci EEPROM

<util/delay.h> Zawiera funkcje opóźnień: _delay_ms() opóźnienie w ms _delay_us() opóźnienie w us Wymaga wcześniejszego zdefiniowania stałej F_CPU, np.: #define F_CPU 1000000L #include <util/delay.h>

<avr/interrupt.h> Zawiera funkcje obsługi przerwań: sei () globalne odblokowanie przerwań cli () globalne zablokowanie przerwań ISR (<vector>) funkcja obsługi przerwania Przerwania muszą zostać Konkretne przerwanie musi zostać CPU przejdzie do podprogramu

<vector>=... TIMER0_COMP_vect TIMER0_OVF_vect TIMER1_COMPA_vect TIMER1_COMPB_vect TIMER1_OVF_vect TIMER1_CAPT_vect TIMER2_COMP_vect TIMER2_OVF_vect INT0_vect INT1_vect SPI_STC_vect TWI_vect USART_RX_vect USART_TX_vect USART_UDRE_vect ADC_vect ANA_COMP_vect EE_RDY_vect SPM_RDY_vect INT2_vect

<avr/sleep.h> Zawiera funkcje obsługi stanów uśpienia: set_sleep_mode(<mode>) wybór stanu uśpienia sleep_mode() wejście w stan uśpienia <mode>: SLEEP_MODE_IDLE SLEEP_MODE_ADC SLEEP_MODE_PWR_ DOWN SLEEP_MODE_PWR_ SAVE

<ctype.h> Zawiera m.in. funkcje: spr. czy dana jest znakiem ASCII spr. czy dana jest znakiem alfanumerycznym spr. czy dana to spacja lub TAB konwersja danej do znaku ASCII zmiana wielkości litery

<math.h> Zawiera m.in. funkcje: sin cos arcsin zaokrąglanie liczby potęga pierwiastek

<stdlib.h> Zawiera m.in. funkcje: wartość bezwzględna sortowanie liczba pseudolosowa wyszukiwanie

Operacje bitowe

OR & AND ^ XOR << przesunięcie bitowe w L >> przesunięcie bitowe w P ~ negacja PORTA = 0xF0 => PORTA &= 0xF0 => PORTA ^= 0xF0 => PORTB >>= 2 => PORTB = (1<<3) (1<<5) (1<<7) => PORTB = (1<<3) (1<<5) (1<<7) => PORTC = 0b00011000 =>

Pętle warunkowe

IF(rejestr & maska) if(tccr0 & 0x08) => if(!(pina & 0x20)) => (zał.: przycisk na PA5, pull-up) WHILE(rejestr & maska) while(pina & 0x08) { } => (zał.: przycisk na PA3, pull-up) while(!(spsr & SPIF)) { } => (oczekiwanie na koniec transmisji SPI)