Programowanie mikrokontrolerów 2.0
|
|
- Judyta Baranowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Programowanie mikrokontrolerów 2.0 Układy peryferyjne, wyjścia i wejścia binarne Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 4 października 2016
2 Co możemy podłączyć do mikrokontrolera? Jako wyjście: diody świecące LED (ang. Light Emitting Diode) wyświetlacz ciekłokrystaliczny LCD (ang. Liquid Crystal Display) nadajnik podczerwieni IR (ang. Infra Red) układ sterujący silniczkiem, serwomechanizmem, wiatraczkiem...
3 Co możemy podłączyć do mikrokontrolera? Jako wejście: przycisk klawiaturę matrycową odbiornik IR termometr analogowy...
4 Co możemy podłączyć do mikrokontrolera? Jako wejście-wyjście: zewnętrzną pamięć komputer (np. łączem szeregowym) inny mikrokontroler akcelerometr inne czujniki... Będziemy poznawać sukcesywnie na kolejnych zajęciach
5 Wyjście przeciwsobne (ang. push-pull) U = 3,3 V wyj. Gdy zapiszemy na wyjście 0 dolny tranzystor przewodzi górny tranzystor nie przewodzi na wyjściu mikrokontrolera jest stan niski, napięcie bliskie 0 V logiczne 0 Gdy zapiszemy na wyjście 1 dolny tranzystor nie przewodzi górny tranzystor przewodzi na wyjściu mikrokontrolera jest stan wysoki, napięcie bliskie napięciu zasilania logiczna 1 Uwaga: tu i dalej stosujemy dodatnią konwencję logiczną
6 Wyjście otwarty dren (ang. open-drain) wyj. Gdy zapiszemy na wyjście 0 tranzystor przewodzi na wyjściu mikrokontrolera jest stan niski, napięcie bliskie 0 V logiczne 0 Gdy zapiszemy na wyjście 1 tranzystor nie przewodzi na wyjściu mikrokontrolera jest stan nieustalony, czyli stan wysokiej impedancji Z
7 Wyjście otwarty dren z rezystorem podciągającym U = 3,3 V wyj. Gdy zapiszemy na wyjście 0 tranzystor przewodzi na wyjściu mikrokontrolera jest stan niski, napięcie bliskie 0 V logiczne 0 Gdy zapiszemy na wyjście 1 tranzystor nie przewodzi na wyjściu mikrokontrolera jest napięcie bliskie napięciu zasilania, słaby (ang. weak) stan wysoki H Rezystor podciągający może być wewnętrzny lub zewnętrzny Uwaga: symbol H został wzięty z VHDL-a, ale w wielu dokumentach oznacza zwykły stan wysoki
8 2.8 Wyjścia otwarty dren można ze sobą łączyć Tworzą iloczyn logiczny 0 H Z H 0 H H Z 0 H Z Aby uniknąć stanu nieustalonego, musi być przynajmniej jeden rezystor podciągający Stan wynikowy można odczytać, czytając wartość wejścia Korzysta się z tego np. w I 2 C i 1-Wire
9 Diody świecące, LED 2.9
10 Charakterystyka diody Typowe parametry pracy prąd od kilku do kilkudziesięciu ma spadek napięcia od 0,2 V do 3,5 V Jasność diody świecącej zależy od prądu przez nią płynącego Żywotność też! Nadmierny prąd może uszkodzić diodę Dioda przewodzi prąd w jednym kierunku (kierunek przewodzenia) Zbyt duże napięcie przyłożone w kierunku zaporowym może uszkodzić diodę 2.10
11 Jak przyłączyć diodę świecącą do mikrokontrolera? wyj. wyj. U = 3,3 V R R Prawo Ohma: U = RI Dla założonego prądu płynącego przez diodę: sprawdzamy, jaki będzie spadek napięcia na niej włączamy w obwód rezystor dobrany tak, aby spadki napięcia na nim i na diodzie sumowały się do napięcia zasilania Przykład: prąd diody 5 ma spadek napięcia na diodzie 1,7 V napięcie zasilania 3,3 V wartość rezystora: 3,3 V 1,7 V 5 ma = 1,6 V 5 ma = 320 Ω Wybieramy rezystor 330 Ω
12 LED podsumowanie Dioda świecąca: przewodzi prąd w jednym kierunku (i wtedy świeci) wymaga ograniczenia prądu za pomocą rezystora W zestawie laboratoryjnym: odpowiednie rezystory są wlutowane wyprowadzenie mikrokontrolera musi być ustawione jako wyjście przeciwsobne (ang. push-pull) po połączeniu diody z wyprowadzeniem mikrokontrolera dioda będzie świecić po podaniu na to wyprowadzenie stanu 0 lub 1 (zależnie od sposobu przyłączenia diody)
13 2.13 Peryferie w STM32F411 RCC GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOH EXTI PWR, SYSCFG, FLASH ADC, ADC1 TIM1, TIM2, TIM3, TIM4, TIM5, TIM9, TIM10, TIM11 IWDG, WWDG RTC I2C1, I2C2, I2C3, I2S2ext, I2S3ext SDIO SPI1, SPI2, SPI3, SPI4, SPI5 USART1, USART2, USART6 USB OTG FS DMA1, DMA2 CRC NVIC, SCB, SysTick Większość będziemy sukcesywnie poznawać
14 Peryferie dostępne w innych STM32 GPIOF, GPIOG, GPIOI, GPIOJ, GPIOK ADC2, ADC3 DAC TIM6, TIM7, TIM8, TIM12, TIM13, TIM14 CAN1, CAN2 USART3, UART4, UART5, UART7, UART8 SAI1 SPI6 USB OTG HS ETH LTDC, DCMI DMA2D FSMC, FMC CRYP, HASH, RNG MPU Nie będziemy o nich mówić, ale warto wiedzieć, że są dostępne w innych modelach STM
15 Jak korzysta się z peryferii? Programista widzi peryferie jako 16- lub 32-bitowe rejestry umieszczone w przestrzeni adresowej mikrokontrolera Przykład uint16_t reg; reg = *(volatile uint16_t*)(0x ); *(volatile uint32_t*)(0x ) = 0; Co robi ten kod? Dlaczego użyto słowa kluczowego volatile? Nieeleganckie Podatne na trudne do wykrycia błędy
16 Biblioteka CMSIS Cortex Microcontroller Software Interface Standard definiuje odpowiednie struktury, na przykład #define IO volatile typedef struct { IO uint32_t MODER; /* mode */ IO uint32_t OTYPER; /* output type */ IO uint32_t OSPEEDR; /* output speed */ IO uint32_t PUPDR; /* pull-up/pull-down */ IO uint32_t IDR; /* input data */ IO uint32_t ODR; /* output data */ IO uint16_t BSRRL; /* bit set */ IO uint16_t BSRRH; /* bit reset */ IO uint32_t LCKR; /* configuration lock */ IO uint32_t AFR[2]; /* alternate function */ } GPIO_TypeDef;
17 2.17 Biblioteka CMSIS Dla każdego układu peryferyjnego CMSIS definiuje jego położenie w pamięci, na przykład #define PERIPH_BASE (0x ) #define AHB1PERIPH_BASE (PERIPH_BASE + 0x ) #define GPIOA_BASE (AHB1PERIPH_BASE + 0x0000) #define GPIOA ((GPIO_TypeDef *)GPIOA_BASE) Teraz kod może wyglądać czytelnie uint16_t reg; reg = GPIOA->IDR; GPIOA->ODR = 0; Dostarcza też funkcji rozwijających się w miejscu do instrukcji asemblerowych realizujących operacje, których nie ma w języku C, np. widziana już NOP() W labie dostępna w katalogu /opt/arm/stm32/cmsis
18 Biblioteka CMSIS Aby użyć CMSIS, należy przy wywoływaniu kompilatora zdefiniować model procesora za pomocą stałej preprocesora -DSTM32F411xE podać kompilatorowi, gdzie ma szukać plików nagłówkowych -I/opt/arm/stm32/CMSIS/Include -I/opt/arm/stm32/CMSIS/Device/ST/STM32F4xx/Include włączyć właściwy plik nagłówkowy #include <stm32f4xx.h> Nazwa pliku nagłówkowego może się zmienić (w przeszłości już się to zdarzało) Może się okazać, że trzeba włączyć więcej plików Dobrze jest wszystko zgromadzić w jednym miejscu sugerujemy włączanie pliku #include <stm32.h> ścieżka dla kompilatora -I/opt/arm/stm32/inc dzięki temu zmiana modelu mikrokontrolera nie musi wymagać modyfikowania kodu źródłowego, a tylko wystarczy go przekompilować
19 2.19 Jak korzysta się z peryferii? Odczytać rejestr już umiemy uint16_t reg; reg = GPIOA->IDR; Zapis jest równie prosty GPIOA->ODR = 0x00e0U; A co, gdy chcemy ustawić tylko niektóre bity? GPIOA->ODR = 0x00e0U; Albo wyzerować niektóre bity? GPIOA->ODR &= ~0x00e0U; Albo zanegować niektóre bity? GPIOA->ODR ^= 0x00e0U;
20 Jak korzysta się z peryferii? Jak zmienić wartości bitów, których aktualnych wartości nie znamy? uint32_t reg; reg = GPIOA->MODER; reg &= ~(3U << (2U * pin_n)); reg = new_mode << (2U * pin_n); GPIOA->MODER = reg; A właściwie dlaczego nie tak? GPIOA->MODER &= ~(3U << (2U * pin_n)); GPIOA->MODER = new_mode << (2U * pin_n); Pierwsza wersja generuje krótszy (wydajniejszy) kod maszynowy: tylko jeden odczyt i jeden zapis rejestru MODER Druga wersja skutkuje dwoma odczytami i zapisami oraz powoduje występowanie w rejestrze przez chwilę stanu pośredniego Dotychczas przedstawione sposoby modyfikowania bitów w rejestrach peryferyjnych nie są atomowe 2.20
21 Atomowe modyfikowanie stanu wyjść Niektóre peryferie mają rejestry pozwalające na atomowe modyfikacje Bity w rejestrach BSRRL i BSRRH mogą być tylko zapisywane Zapis bitu rejestru BSRRL wartością 1 ustawia odpowiedni bit w rejestrze ODR Zapis bitu rejestru BSRRH wartością 1 zeruje odpowiedni bit w rejestrze ODR Zapisywanie wartości 0 do bitów rejestrów BSRRL i BSRRH jest ignorowane Ustaw na wyprowadzeniu PA5 poziom wysoki GPIOA->BSRRL = 1U << 5; Ustaw na wyprowadzeniu PA5 poziom niski GPIOA->BSRRH = 1U << 5;
22 2.22 Taktowanie Zanim się czegokolwiek użyje, trzeba włączyć taktowanie Włączenie taktowania portów PA i PB (układy GPIOA i GPIOB) RCC->AHB1ENR = RCC_AHB1ENR_GPIOAEN RCC_AHB1ENR_GPIOBEN; Włączenie taktowania interfejsów USART1 i USART2 RCC->APB2ENR = RCC_APB2ENR_USART1EN; RCC->APB1ENR = RCC_APB1ENR_USART2EN; Włączenie taktowania licznika TIM2 RCC->APB1ENR = RCC_APB1ENR_TIM2EN; Można dostrzec konwencję nazywania bitów: UKŁAD REJESTR BIT
23 Diody świecące w zestawie laboratoryjnym Na płytce Nucleo mamy zieloną LED przyłączoną do wyprowadzenia PA5 włączaną poziomem wysokim logiczna 1 Na ekspanderze mamy trójkolorową LED czerwona wyprowadzenie PA6 zielona wyprowadzenie PA7 niebieska wyprowadzenie PB0 włączane poziomem niskim logiczne 0
24 Hello World, czyli zamigaj diodami (1) Tworzymy plik leds_main.c Potrzebujemy różnych definicji #include <delay.h> #include <gpio.h> #include <stm32.h> Pliki nagłówkowe są dostępne w labie w katalogu /opt/arm/stm32/inc
25 Hello World, czyli zamigaj diodami (2) Należy zdefiniować konfigurację sprzętu #define RED_LED_GPIO GPIOA #define GREEN_LED_GPIO GPIOA #define BLUE_LED_GPIO GPIOB #define GREEN2_LED_GPIO GPIOA #define RED_LED_PIN 6 #define GREEN_LED_PIN 7 #define BLUE_LED_PIN 0 #define GREEN2_LED_PIN 5
26 Hello World, czyli zamigaj diodami (3) Dobrze jest zdefiniować powtarzające się operacje, zwiększając jednocześnie czytelność kodu #define RedLEDon() \ RED_LED_GPIO->BSRRH = 1 << RED_LED_PIN #define RedLEDoff() \ RED_LED_GPIO->BSRRL = 1 << RED_LED_PIN... #define Green2LEDon() \ GREEN2_LED_GPIO->BSRRL = 1 << GREEN2_LED_PIN #define Green2LEDoff() \ GREEN2_LED_GPIO->BSRRH = 1 << GREEN2_LED_PIN Czy ktoś widzi jakąś różnicę?
27 Hello World, czyli zamigaj diodami (4) int main() { RCC->AHB1ENR = RCC_AHB1ENR_GPIOAEN RCC_AHB1ENR_GPIOBEN; NOP(); RedLEDoff(); GreenLEDoff(); BlueLEDoff(); Green2LEDoff();
28 Hello World, czyli zamigaj diodami (5) GPIOoutConfigure(RED_LED_GPIO, RED_LED_PIN, GPIO_OType_PP, GPIO_Low_Speed, GPIO_PuPd_NOPULL);... GPIOoutConfigure(GREEN2_LED_GPIO, GREEN2_LED_PIN, GPIO_OType_PP, GPIO_Low_Speed, GPIO_PuPd_NOPULL);
29 Hello World, czyli zamigaj diodami (6) } for (;;) { RedLEDon(); Delay( ); RedLEDoff(); GreenLEDon(); Delay( ); GreenLEDoff(); BlueLEDon(); Delay( ); BlueLEDoff(); Green2LEDon(); Delay( ); Green2LEDoff(); }
30 Pytania Dlaczego wyłączamy diody przed skonfigurowaniem wyprowadzeń? Po co jest instrukcja NOP? Jakie wartości parametrów przyjmuje funkcja GPIOoutConfigure?
31 Jak skompilować? Plik makefile CC = arm-eabi-gcc OBJCOPY = arm-eabi-objcopy FLAGS = -mthumb -mcpu=cortex-m4 \ -mfloat-abi=softfp -mfpu=fpv4-sp-d16 CPPFLAGS = -DSTM32F411xE CFLAGS = $(FLAGS) -Wall -g \ -O2 -ffunction-sections -fdata-sections \ -I/opt/arm/stm32/inc \ -I/opt/arm/stm32/CMSIS/Include \ -I/opt/arm/stm32/CMSIS/Device/ST/STM32F4xx/Include LDFLAGS = $(FLAGS) -Wl,--gc-sections -nostartfiles \ -L/opt/arm/stm32/lds -Tstm32f411re.lds vpath %.c /opt/arm/stm32/src
32 2.32 Jak skompilować? Plik makefile, cd. OBJECTS = leds_main.o startup_stm32.o delay.o gpio.o TARGET = leds.secondary: $(TARGET).elf $(OBJECTS) all: $(TARGET).bin %.elf : $(OBJECTS) $(CC) $(LDFLAGS) $^ -o $@ %.bin : %.elf $(OBJCOPY) $< $@ -O binary clean : rm -f *.bin *.elf *.hex *.d *.o *.bak *~
33 Optymalizacja Mikrokontrolery mają ograniczoną pamięć i ograniczoną częstotliwość taktowania Optymalizacje przyspieszające wykonywanie kodu zwykle zmniejszają też jego rozmiar W większości przypadków najodpowiedniejsza jest opcja -O2 Zmniejszenie rozmiaru kodu wykonywalnego można uzyskać, stosując opcje -ffunction-sections i -fdata-sections biblioteki muszą być skompilowane z tymi opcjami konsolidator musi być wywołany z opcją --gc-sections Podglądanie efektu pracy kompilatora: arm-eabi-objdump -M reg-names-std -d *.elf
34 Jak zaprogramować mikrokontroler? Podłączyć, znajdujący się na płytce Nucleo, ST-LINK/V2-1 do gniazda USB w komputerze Pierwszy sposób (jeśli nie potrzebujemy debugera) Użyć OpenOCD w trybie wsadowym (w bieżącym katalogu musi być obraz pamięci *.bin) za pomocą skryptu /opt/arm/stm32/ocd/qfn4 Drugi sposób (jeśli potrzebujemy debuger) Uruchomić OpenOCD jako GDB-serwer za pomocą skryptu /opt/arm/stm32/ocd/dbgn4 w katalogu domowym musi być plik.gdbinit zawierający coś takiego target remote :3333 monitor reset halt W katalogu, w którym mamy plik wykonywalny, uruchomić GDB poleceniem arm-eabi-gdb *.elf Następnie w GDB użyć polecenia load
35 Jak zaimplementować prostą funkcję opóźniającą? Pierwszy pomysł void Delay(unsigned count) { while (count--); } Dlaczego count--, a nie --count? Delay(0); Dlaczego ta implementacja jest zła? <Delay>: 0: 4770 bx lr 2: bf00 nop
36 Jak zaimplementować prostą funkcję opóźniającą? Użyjmy słowa kluczowego volatile, żeby zablokować optymalizację void Delay(volatile unsigned count) { while (count--); } Dlaczego ta implementacja jest zła? <Delay>: 0: b082 sub sp, #8 2: 9001 str r0, [sp, #4] 4: 9b01 ldr r3, [sp, #4] 6: 1e5a subs r2, r3, #1 8: 9201 str r2, [sp, #4] a: 2b00 cmp r3, #0 c: d1fa bne.n 4 <Delay+0x4> e: b002 add sp, #8 10: 4770 bx lr 12: bf00 nop 2.36
37 2.37 Jak zaimplementować prostą funkcję opóźniającą? Spróbujmy inaczej void Delay(unsigned count) { while (count--) { NOP(); NOP(); } } Dlaczego ta implementacja jest dobra? <Delay>: 0: 1e43 subs r3, r0, #1 2: b120 cbz r0, e <Delay+0xe> 4: bf00 nop 6: bf00 nop 8: f113 33ff adds.w r3, r3, # ; -1 c: d2fa bcs.n 4 <Delay+0x4> e: 4770 bx lr
38 Jak zaimplementować prostą funkcję opóźniającą? Nasza ostateczna wersja funkcji opóźniającej void Delay(unsigned count) { while (count--) { NOP(); NOP(); } } Dlaczego dwie instrukcje NOP? Jak dobrać wartość argumentu, aby otrzymać żądane opóźnienie? 250tf gdzie t to żądany czas opóźnienia w ms, a f to częstotliwość taktowania mikrokontrolera w MHz
39 2.39 Jak przyłączyć przycisk do mikrokontrolera? wej. U = 3,3 V R Gdy przycisk niewciśnięty, rezystor ustala na wejściu mikrokontrolera stan wysoki, napięcie bliskie napięciu zasilania logiczna 1 Wciśnięcie przycisku ustala na wejściu mikrokontrolera stan niski, napięcie bliskie 0 V logiczne 0 Gdy przycisk niewciśnięty, przez rezystor prąd praktycznie nie płynie Gdy przycisk wciśnięty, przez rezystor płynie prąd, przykładowo I = U R = 3,3 V = 0,33 ma 10 kω
40 2.40 Jak przyłączyć przycisk do mikrokontrolera? wej. U = 3,3 V R Gdy przycisk niewciśnięty, rezystor ustala na wejściu mikrokontrolera stan niski, napięcie bliskie 0 V logiczne 0 Wciśnięcie przycisku ustala na wejściu mikrokontrolera stan wysoki, napięcie bliskie napięciu zasilania logiczna 1 Gdy przycisk niewciśnięty, przez rezystor prąd praktycznie nie płynie Gdy przycisk wciśnięty, przez rezystor płynie prąd, przykładowo I = U R = 3,3 V = 0,33 ma 10 kω
41 2.41 Zjawisko drgania styków W rzeczywistości wciśnięcie i puszczenie przycisku powoduje mikrodrgania Stan stabilizuje się po pewnym czasie
42 Algorytm obsługi przycisku bez powtarzania if (przycisk wciśnięty) then begin wait(t); if (przycisk wciśnięty) then begin obsłuż zdarzenie; while (przycisk wciśnięty) wait(t) end end
43 Algorytm obsługi przycisku z powtarzaniem if (przycisk wciśnięty) then begin wait(t); while (przycisk wciśnięty) then begin obsłuż zdarzenie; count := 0; while (przycisk wciśnięty and (count < timeout)) begin wait(t); count := count + 1 end; zmodyfikuj(timeout) end end
44 Przycisk podsumowanie Przycisk monostabilny zwierny: przewodzi prąd, gdy jest wciśnięty wymaga rezystora ustalającego stan, gdy jest niewciśnięty stabilizuje swój stan po kilku do kilkunastu milisekundach od wciśnięcia lub puszczenia W zestawie laboratoryjnym: wyprowadzenie mikrokontrolera musi być ustawione jako wejście odpowiednie zewnętrzne rezystory podciągające do zasilania lub ściągające do masy są wlutowane (ustawienie wewnętrznego rezystora nie przeszkadza)
45 Przyciski w zestawie laboratoryjnym Na płytce Nucleo mamy przycisk USER przyłączony do wyprowadzenia PC13 stan aktywny niski logiczne 0 Na ekspanderze mamy dżojstik przycisk w lewo wyprowadzenie PB3 przycisk w prawo wyprowadzenie PB4 przycisk w górę wyprowadzenie PB5 przycisk w dół wyprowadzenie PB6 przycisk akcja wyprowadzenie PB10 stan aktywny niski logiczne 0 Na ekspanderze mamy przycisk AT MODE przyłączony do wyprowadzenia PA0 stan aktywny wysoki logiczna 1
46 Układy GPIO podsumowanie Mikrokontroler ma kilka układów GPIO (ang. General Purpose Input Optput) portów wejścia wyjścia Są oznaczane kolejnymi literami alfabetu układy wejścia-wyjścia: GPIOA, GPIOB, GPIOC,... porty wejścia-wyjścia: PA, PB, PC,... Każdy port obsługuje 16 wyprowadzeń (wejść-wyjść), oznaczanych kolejnymi liczbami: PA0, PA1,..., PA15, PB0, PB1,..., PB15, PC0, PC1,..., PC15,... Odczyt stanu wejścia odbywa się poprzez rejestr IDR Ustawienie stanu wyjścia odbywa się poprzez rejestr ODR albo jeden z rejestrów BSRRL lub BSRRH ustawiony stan wyjścia można odczytać z rejestru ODR rzeczywisty stan wyjścia można odczytać z rejestru IDR
47 Konfigurowanie GPIO podsumowanie Każde wyprowadzenie może być indywidualnie konfigurowane jako wejście cyfrowe wyjście cyfrowe funkcja alternatywna wejście analogowe Patrz pliki gpio.h, gpio.c dostępne w labach w katalogach odpowiednio /opt/arm/stm32/inc, /opt/arm/stm32/src
Programowanie mikrokontrolerów 2.0
Programowanie mikrokontrolerów 2.0 Układy peryferyjne, wyjścia i wejścia binarne Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 31 marca 2015 Co możemy podłączyć do mikrokontrolera?
Programowanie mikrokontrolerów 2.0
4.1 Programowanie mikrokontrolerów 2.0 Taktowanie Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 22 listopada 2016 4.2 Drzewo taktowania w STM32F411 Źródło: RM0383 Reference
Programowanie mikrokontrolerów 2.0
13.1 Programowanie mikrokontrolerów 2.0 Sterowanie fazowe Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 19 grudnia 2016 Triak Triak jest półprzewodnikowym elementem przełączającym
Programowanie mikrokontrolerów 2.0
Programowanie mikrokontrolerów 2.0 Tryby uśpienia Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 19 grudnia 2016 Zarządzanie energią Często musimy zadbać o zminimalizowanie
Porty GPIO w mikrokontrolerach STM32F3
Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM Podstawy Programowania Mikroprocesorów i Procesorów DSP Porty GPIO w mikrokontrolerach
Programowanie mikrokontrolerów 2.0
1.1 Programowanie mikrokontrolerów 2.0 Wstęp Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 16 kwietnia 2015 Co to jest mikrokontroler? Układ scalony integrujący następujące
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/
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.
Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach
Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach Semestr zimowy 2012/2013, E-3, WIEiK-PK 1 Porty wejścia-wyjścia Input/Output ports Podstawowy układ peryferyjny port wejścia-wyjścia
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
Programowanie mikrokontrolerów 2.0
Programowanie mikrokontrolerów 2.0 Propozycje dużego zadania zaliczeniowego Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 29 listopada 2016 Wymagania ogólne Wymagamy osobistego
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
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
Programowanie mikrokontrolerów 2.0
6.1 Programowanie mikrokontrolerów 2.0 Liczniki Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 31 października 2017 Liczniki Układy sprzętowe wyposażone w wewnętrzny rejestr
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikrokontrolery i Mikroprocesory Zapoznanie się ze środowiskiem CUBE, obsługa portów I/O laboratorium: 02 autor:
Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.
Sprawozdanie z projektu MARM Część druga Specyfikacja końcowa Prowadzący: dr. Mariusz Suchenek Autor: Dawid Kołcz Data: 01.02.16r. 1. Temat pracy: Układ diagnozujący układ tworzony jako praca magisterska.
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.
Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI
Inż. Kamil Kujawski Inż. Krzysztof Krefta Wykład w ramach zajęć Akademia ETI Metody programowania Assembler Język C BASCOM Assembler kod maszynowy Zalety: Najbardziej efektywny Intencje programisty są
2. PORTY WEJŚCIA/WYJŚCIA (I/O)
2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2.1 WPROWADZENIE Porty I/O mogą pracować w kilku trybach: - przesyłanie cyfrowych danych wejściowych i wyjściowych a także dla wybrane wyprowadzenia: - generacja przerwania
Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:
Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi
Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach
0-- Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach Semestr zimowy 0/0, WIEiK-PK Porty wejścia-wyjścia Input/Output ports Podstawowy układ peryferyjny port wejścia-wyjścia do
ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103
ZL27ARM Zestaw uruchomieniowy dla mikrokontrolerów STM32F103 Zestaw ZL27ARM jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów STM32F103. Dzięki wyposażeniu w szeroką gamę zaawansowanych układów
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
Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C
Systemy wbudowane Mikrokontrolery AVR Wprowadzenie do programowania w C dr inż. Maciej Piechowiak Wprowadzenie język C jest językiem strukturalnym wysokiego poziomu, jednak działającym blisko sprzętu i
Programowanie mikrokontrolerów 2.0
Programowanie mikrokontrolerów 2.0 Sterowanie podczerwienią, zaawansowane tryby liczników Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 8 grudnia 2016 Sterowanie podczerwienią
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ć
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
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
Niektóre piny mogą pełnić różne role, zależnie od aktualnej wartości sygnałów sterujących.
Podłączenie mikrokontrolera ATmega8: zasilanie 8 i 22
KA-NUCLEO-UniExp. Wielofunkcyjny ekspander dla NUCLEO i Arduino z Bluetooth, MEMS 3DoF, LED-RGB i czujnikiem temperatury
Wielofunkcyjny ekspander dla NUCLEO i Arduino z Bluetooth, MEMS 3DoF, LED-RGB i czujnikiem temperatury jest uniwersalnym ekspanderem dla komputerów NUCLEO oraz Arduino, wyposażonym w analogowy czujnik
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
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.
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
KA-NUCLEO-Weather. ver. 1.0
Ekspander funkcjonalny dla NUCLEO i Arduino z zestawem sensorów środowiskowych: ciśnienia, wilgotności, temperatury i natężenia światła oraz 5-pozycyjnym joystickiem i LED RGB jest uniwersalnym ekspanderem
ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103
ZL30ARM Zestaw uruchomieniowy dla mikrokontrolerów STM32F103 Zestaw ZL30ARM jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów STM32F103. Dzięki wyposażeniu w szeroką gamę układów peryferyjnych
MARM. Laboratorium 1 system zegarów, porty wejścia/wyjścia. M. Suchenek
MARM M. Suchenek Laboratorium 1 system zegarów, porty wejścia/wyjścia Celem laboratorium jest zapoznanie się ze środowiskiem uruchomieniowym Keil µvision, w tym konfiguracja środowiska, systemu zegarów,
ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107
ZL29ARM Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 Zestaw ZL29ARM jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity Line (STM32F107).
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ą
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
KAŻDY Z 8-MIO BITOWYCH PORTÓW MIKROKONTROLERÓW RODZINY 51 MA JEDYNIE REJESTR PORTU: P0, P1, P2, P3, PEŁNIĄ ONE ROLĘ REJESTRÓW DANYCH WE/WY.
- Port to grupa (8, 16, 32 ) linii wyprowadzeń, które pełnią rolę wyjść/wejść mikrokontrolera. - Jako grupa mają wspólne rejestry, ale zwykle każda z linii ma swoją indywidualną rolę. - Zwykle poszczególne
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
Programowanie mikrokontrolerów 2.0
Programowanie mikrokontrolerów 2.0 Magistrala I 2 C, układy MEMS Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 15 listopada 2016 Magistrala I 2 C Akronim Inter-Intergrated
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 Mikroprocesory i Mikrokontrolery Dostęp do portów mikrokontrolera ATmega32 język C laboratorium: 10 autorzy: dr
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
KA-Nucleo-Weather. Rev Źródło:
KA-Nucleo-Weather Rev. 20170811113639 Źródło: http://wiki.kamami.pl/index.php?title=ka-nucleo-weather Spis treści Podstawowe cechy i parametry... 2 Wyposażenie standardowe... 3 Schemat elektryczny... 4
Timery w mikrokontrolerach STM32F3
Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM Podstawy Programowania Mikroprocesorów i Procesorów DSP Timery w mikrokontrolerach
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
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
STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107
Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 STM32 Butterfly Zestaw STM32 Butterfly jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity
3. Sygnały zegarowe i ich konfiguracja, mechanizmy bezpieczeństwa... 47
Spis treści 3 1. Rdzeń Cortex-M3...9 1.1. Firma ARM i jej wyroby...10 1.2. Rodzina rdzeni Cortex...12 1.3. Ogólne spojrzenie na architekturę rdzenia Cortex-M3...13 1.4. Rejestry podstawowe...16 1.5. Przestrzeń
Parametryzacja przetworników analogowocyfrowych
Parametryzacja przetworników analogowocyfrowych wersja: 05.2015 1. Cel ćwiczenia Celem ćwiczenia jest zaprezentowanie istoty działania przetworników analogowo-cyfrowych (ADC analog-to-digital converter),
Uniwersalny sterownik silnika krokowego z portem szeregowym RS232 z procesorem AT90S2313 na płycie E200. Zestaw do samodzielnego montażu.
microkit E3 Uniwersalny sterownik silnika krokowego z portem szeregowym RS3 z procesorem AT90S33 na płycie E00. Zestaw do samodzielnego montażu..opis ogólny. Sterownik silnika krokowego przeznaczony jest
/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>
Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch
Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32)
Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32) wersja 0.4 (20 kwietnia 2015) Filip A. Sala W niniejszym, bardzo krótkim opracowaniu, postaram się przedstawić
Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści
Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów...2 2. ISP...2 3. I/O Ports...3 4. External Interrupts...4 5. Analog Comparator...5 6. Analog-to-Digital Converter...6
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
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
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ą
Laboratorium 2 Sterowanie urządzeniami z wykorzystaniem systemu plików Intel Galileo
Laboratorium 2 Sterowanie urządzeniami z wykorzystaniem systemu plików Intel Galileo Zakres: Laboratorium obrazuje podstawy sterowania urządzeń z wykorzystaniem wirtualnego systemu plików sysfs z poziomu
Programowanie mikrokontrolerów. 8 listopada 2007
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
Rafał Staszewski Maciej Trzebiński, Dominik Derendarz
R Staszewski Rafał Staszewski Maciej Trzebiński, Dominik Derendarz Henryk Niewodniczański Institute of Nuclear Physics Polish Academy of Sciences (IFJ PAN Cracow) Zagraj w Naukę 27 października 2014 1
Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1
Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32 Instrukcja Obsługi SKN Chip Kacper Cyrocki Page 1 Spis treści Wstęp... 3 Wyposażenie płytki... 4 Zasilanie... 5 Programator... 6 Diody LED...
Instrukcja programowania płytek edycji 2014
Instrukcja programowania płytek edycji 2014 Spis treści 1. Opis płytki procesorowej (sumo_base_5)...1 1.1. Podstawowe elementy płytki...2 1.2. Pozostałe elementy płytki...3 2. Opis płytki sterującej napędami
Generator funkcyjny. Spis treści. Działanie. Interfejs. Adam Miarka Maksymilian Szczepanik
Generator funkcyjny Wykonany przez Data wykonania Paweł Białas Adam Miarka Maksymilian Szczepanik 13 czerwca 2015 r. Generator został zbudowany w ramach XI Prezentacji Aplikacji Mikrokontrolerów Freescale.
KA-NUCLEO-F411CE. Płytka rozwojowa z mikrokontrolerem STM32F411CE
Płytka rozwojowa z mikrokontrolerem STM32F411CE to płytka rozwojowa o rozstawie złącz typowym dla Arduino UNO, bazująca na mikrokontrolerze STM32F411CE. Dzięki wbudowanemu programatorowi zgodnemu z ST-Link/v2-1,
Immobilizer samochodowy otwierający dostęp poprzez kod czteroznakowy.
Uniwersytet Warszawski Wydział Fizyki sierpień 2015 Projekt Zaliczeniowy przedmiotu Programowanie Mikrokontrolerów Immobilizer samochodowy otwierający dostęp poprzez kod czteroznakowy. Autor: Marcin Cybulski
Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów
2008 Instrukcja obsługi PROGRAMATOR dualavr redflu Tarnów 1. Instalacja. Do podłączenia programatora z PC wykorzystywany jest przewód USB A-B (często spotykany przy drukarkach). Zalecane jest wykorzystanie
Programowanie mikrokontrolerów 2.0
Programowanie mikrokontrolerów 2.0 DMA, przerwania Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 22 października 2018 DMA Akronim Direct Memory Access Przesyłanie danych
Mikrokontrolery ARM. Elektroniczny zegar / budzik / kalendarz z wyświetlaczem NIXIE. Opis projektu
Mikrokontrolery ARM Elektroniczny zegar / budzik / kalendarz z wyświetlaczem NIXIE. Opis projektu 27.06.2016 Tomasz Jaroszewski Opis funkcjonalny W ramach projektu wykonany został elektroniczny zegar z
Instrukcja obsługi. Zamek szyfrowy ATLO-RM (wersja bez klawiatury) Dane techniczne oraz treść poniższej instrukcji mogą ulec zmianie bez uprzedzenia.
Instrukcja obsługi Zamek szyfrowy ATLO-RM (wersja bez klawiatury) Dane techniczne oraz treść poniższej instrukcji mogą ulec zmianie bez uprzedzenia. Odbiornik zgodny jest z warunkami dyrektywy 89/336/EEC
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
Laboratorium Procesorów Sygnałowych
Laboratorium Procesorów Sygnałowych Moduł STM32F407 Discovery GPIO, C/A, akcelerometr I. Informacje wstępne Celem ćwiczenia jest zapoznanie z: Budową i programowaniem modułu STM32 F4 Discovery Korzystaniem
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikrokontrolery i Mikroprocesory Przetwornik ADC laboratorium: 04 autor: mgr inż. Katarzyna Smelcerz Kraków, 2016
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
Programowalne układy logiczne
Programowalne układy logiczne Układy synchroniczne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 26 października 2015 Co to jest układ sekwencyjny? W układzie sekwencyjnym,
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
Karta katalogowa JAZZ OPLC JZ20-R31
Karta katalogowa JAZZ OPLC JZ20-R31 W tym dokumencie znajduje się specyfikacja Unitronics Jazz Micro-OPLC JZ20-R31. Dodatkowe informacje znajdują się na płycie instalacyjnej CD Unitronics i w bibliotece
Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe
Mikrokontroler ATmega32 System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe 1 Przerwanie Przerwanie jest inicjowane przez urządzenie zewnętrzne względem mikroprocesora, zgłaszające potrzebę
ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC
1 ZL4PIC Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC Zestaw jest przeznaczony dla elektroników zajmujących się aplikacjami mikrokontrolerów PIC. Jest on przystosowany do współpracy z mikrokontrolerami
Programowanie mikrokontrolerów 2.0
Programowanie mikrokontrolerów 2.0 Zegar czasu rzeczywistego Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 5 maja 2015 Zegar czasu rzeczywistego Niezależny układ RTC (ang.
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikrokontrolery i Mikroprocesory Zapoznanie się ze środowiskiem IAR Embedded Workbench; kompilacja, debuggowanie,
ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC
ZL28ARM Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC Zestaw ZL28ARM jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów AT91SAM7XC. Dzięki wyposażeniu w szeroką gamę układów peryferyjnych
BF20 JTAG dla ARM ów z interfejsem USB Instrukcja obsługi
BF20 JTAG dla ARM ów z interfejsem USB Instrukcja obsługi Copyright (c) 2007 2008 Boff Spis treści 1. Opis urządzenia...3 2. Instalacja oprogramowania w Windows...4 3. Instalacja oprogramowania w UBUNTU
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.
Zestaw Edukacyjny Atmega-8 (AJAWe-0711) Porty wejścia-wyjścia.
Zestaw Edukacyjny Atmega-8 (AJAWe-0711) LEKCJA 4 Porty wejścia-wyjścia W poprzedniej lekcji napisaliśmy pierwszy program, który zapalił nam jedną diodę led Teraz omówimy szczegółowo działanie niniejszego
Laboratorium Systemów wbudowanych Wyższa Szkoła Zarządzania i Bankowości, Informatyka studia inżynierskie
Laboratorium Systemów wbudowanych Wyższa Szkoła Zarządzania i Bankowości, Informatyka studia inżynierskie Ćwiczenie nr l Podstawy programowania mikrokontrolerów rodziny AVR8 opracował dr inż. Wojciech
ZL8AVR. Płyta bazowa dla modułów dipavr
ZL8AVR Płyta bazowa dla modułów dipavr Zestaw ZL8AVR to płyta bazowa dla modułów dipavr (np. ZL7AVR z mikrokontrolerem ATmega128 lub ZL12AVR z mikrokontrolerem ATmega16. Wyposażono ją w wiele klasycznych
ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM
ĆWICZENIE 5 TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM Wiadomości wstępne: Port szeregowy może pracować w czterech trybach. Tryby różnią się między sobą liczbą bitów
ZL3ST7. Zestaw uruchomieniowy dla mikrokontrolerów
ZL3ST7 Zestaw uruchomieniowy dla mikrokontrolerów ST7FLITE3x Zestaw ZL3ST7 jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ST7FLITE3x. Dzięki wyposażeniu w szeroką gamę układów peryferyjnych
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
ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]
ZL25ARM Płyta bazowa dla modułów diparm z mikrokontrolerami STR912 [rdzeń ARM966E-S] ZL25ARM to płyta bazowa umożliwiająca wykonywanie różnorodnych eksperymentów z mikrokontrolerami STR912 (ARM966E-S).
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
4 Transmisja szeregowa, obsługa wyświetlacza LCD.
1 4 Transmisja szeregowa, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy, - ramka transmisyjna, - przeznaczenie buforów obsługi
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
Klawiatura matrycowa
Klawiatura matrycowa Budowa matrycy klawiatury. Nieodzownym elementem każdego systemu mikroprocesorowego jest klawiatura. Umożliwia ona wpływ użytkownika na wykonywany przez niego program. Jednak teoretycznie
SML3 październik
SML3 październik 2005 24 100_LED8 Moduł zawiera 8 diod LED dołączonych do wejść za pośrednictwem jednego z kilku możliwych typów układów (typowo jest to układ typu 563). Moduł jest wyposażony w dwa złącza
ZASTOSOWANIE PLATFORM CYFROWYCH ARDUINO I RASPBERRY PI W NAUCZANIU STEROWANIA OBIEKTEM PNEUMATYCZNYM
ZASTOSOWANIE PLATFORM CYFROWYCH ARDUINO I RASPBERRY PI W NAUCZANIU STEROWANIA OBIEKTEM PNEUMATYCZNYM Adam MUC, Lech MURAWSKI, Grzegorz GESELLA, Adam SZELEZIŃSKI, Arkadiusz SZARMACH CEL Wykorzystanie popularnych
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