Spisu treści:

Animacja na 16x2 I2c LCD PRZY UŻYCIU STM32 Nucleo: 4 kroki
Animacja na 16x2 I2c LCD PRZY UŻYCIU STM32 Nucleo: 4 kroki

Wideo: Animacja na 16x2 I2c LCD PRZY UŻYCIU STM32 Nucleo: 4 kroki

Wideo: Animacja na 16x2 I2c LCD PRZY UŻYCIU STM32 Nucleo: 4 kroki
Wideo: Kurs STM32 #16 Wyświetlacz LCD 2024, Listopad
Anonim
Image
Image

Cześć przyjaciele, to jest samouczek ilustrujący jak zrobić niestandardową animację na wyświetlaczu LCD 16x2 i2c. Jest bardzo niewiele rzeczy potrzebnych do projektu, więc jeśli masz dostęp do kodu, możesz go ukończyć w 1 godzinę.

Po przejściu tego samouczka będziesz mógł zaprojektować własną niestandardową animację na mikrokontrolerze.

ELEKTRONIKA POTRZEBNA DO PROJEKTU:-

1) płyta Nucelo STM32L476RG

2) wyświetlacz LCD 16x2 i2c

3) Przewody połączeniowe

POTRZEBNE OPROGRAMOWANIE:-

1)STM32cubemx

2)Keil uVision5

Połączenia: Podłącz PB6 do I2C-SCK i I2C-SDA do pinu PB7 płyty jąder.

Krok 1: Otwórz STM32Cubemx i skonfiguruj ustawienia odpowiadające załączonym obrazom

Otwórz STM32Cubemx i skonfiguruj ustawienia odpowiadające załączonym obrazom
Otwórz STM32Cubemx i skonfiguruj ustawienia odpowiadające załączonym obrazom
Otwórz STM32Cubemx i skonfiguruj ustawienia odpowiadające załączonym obrazom
Otwórz STM32Cubemx i skonfiguruj ustawienia odpowiadające załączonym obrazom

1) Po wybraniu STM32L476RG jako mikrokontrolera w STM32CUBE wybierz interfejs I2C1 jako i2c.

2) Ustaw wartość zegara na wartość maksymalną (80 MHz)

3) Następnie wybierz Timer1 i Timer2, a następnie zainicjuj ich wartości, jak podano w dalszej części samouczka.

4) Wybierz przerwanie aktualizacji Timer1 i globalne przerwanie Timer2 w ustawieniach NVIC.

5) Wygeneruj kod dla projektu w Keil 5.

Krok 2: Utwórz niezbędne niestandardowe obrazy i dodaj ich kody w pliku Custom_char.h

Utwórz niezbędne niestandardowe obrazy i dodaj ich kody w pliku Custom_char.h
Utwórz niezbędne niestandardowe obrazy i dodaj ich kody w pliku Custom_char.h
Utwórz niezbędne niestandardowe obrazy i dodaj ich kody w pliku Custom_char.h
Utwórz niezbędne niestandardowe obrazy i dodaj ich kody w pliku Custom_char.h

1) Każda pozycja na wyświetlaczu LCD 16x2 może być podzielona na 32 segmenty, każdy segment składa się z 5x8 pikseli.

2) Możesz wizualizować obraz i jego granicę na segmencie i przedstawiać każdą część segmentu wartością 1, jeśli pozycja na segmencie jest częścią obrazu, w przeciwnym razie przypisz ją jako wartość 0, która daje wartości dla każdego wiersza, jak pokazano w załączeniu zdjęcie.

3) Umieść tę wartość z kroku 2 w pliku custom_char.h podanym w załączonym kodzie.

Krok 3: Dodawanie odpowiedniego kodu w Keil 5

Dodawanie odpowiedniego kodu w Keil 5
Dodawanie odpowiedniego kodu w Keil 5
Dodawanie odpowiedniego kodu w Keil 5
Dodawanie odpowiedniego kodu w Keil 5
Dodawanie odpowiedniego kodu w Keil 5
Dodawanie odpowiedniego kodu w Keil 5

1)Wpisz polecenie, aby uruchomić Timer1 i Timer2 w pliku main.c. Timer 1 służy do czyszczenia wyświetlacza LCD, a Timer2 jest używany do wyświetlania obrazów.

2)Zapisz wartości dla Prescalar i Autoreload dla Timer1 i Timer2 w pliku main.c, który jest taki sam dla obu timerów.

3) Dodaj odpowiedni kod w procedurze przerwania Timer1 oraz w procedurze przerwania Timer2 w pliku stm32l4_it.c.

Zalecana: