Elektronika: ‘Podstawy techniki mikroprocesorowej’ - laboratorium
oprac. A. St
ę
pie
ń
strona 1/2
Zadanie 7
Wykorzystując moduł STM32L053Disco (mikrokontroler STM32L053), środowisko MDK-Lite
Version 5 (
µ
Vision v5) oraz doświadczenia przy testowaniu programu z projektu nr 5 przygotować
program realizujący następujące założenia i zadania.
Założenia:
1.
do mikrokontrolera Cortex-M0+ (STM32L053C8T6) w module STM32L053Disco (UM1775,
rysunek na str. 36; wybrany fragment na następnej stronie opisu zadania) do wybranych linii
portu PA i PB dołączono [2]:
- klawisz B1 ‘USER & WAKE-UP Button’ (z filtrem dolnoprzepustowym) do linii PA0,
- zieloną diodę LED LD3 do linii PB4,
- czerwoną diodę LED LD4 do linii PA5,
2.
w projekcie należy użyć standardowych plików: startup_stm32l053xx.s
system_stm32l0xx.c
3.
mikrokontroler taktowany wewnętrznym generatorem MSI (MultiSpeed Internal oscillator) o
częstotliwości F
MSI
= 2,1 MHz (domyślna wartość po stanie RESET F
MSI
podzakres 5
= 2,097 MHz);
częstotliwość taktowania rdzenia F
CCLK
= F
MSI
= 2,1 MHz [3].
Zadanie A (wersja podstawowa):
każdorazowo po naciśnięciu klawisza B1 zanegować stan linii PA5 (sterowanie czerwoną diodą LED
LD4).
Zadanie B (wersja rozszerzona):
1.
zliczać liczbę naciśnięć klawisza B1 w 2-bitowym liczniku binarnym ‘Licznik[1:0]’ (programowa
realizacja licznika),
2.
diody LED LD3 i LD4 sygnalizują stan 2-bitowego licznika binarnego ‘Licznik[1:0]’:
– zielona dioda LED LD3 sygnalizuje bardziej znaczący bit ‘Licznik[1]’,
– czerwona dioda LED LD4 sygnalizuje mniej znaczący bit ‘Licznik[0]’.
Uwagi
:
1.
zmodyfikować strukturę projekt nr 5 zgodnie z zaleceniami podanymi w pliku ‘Jak przenosic
programy z LPC1114 do STM32L053Disco.pdf’,
2.
zachować sposób deklaracji wszystkich stałych i zmiennych, tak jak w projekcie nr 5,
3.
zastosować ‘SysTick Timer’ do wyznaczania momentów testowania klawisza B1 (w pliku
system_stm32l0xx.c zadeklarowano: uint32_t SystemCoreClock = 2000000;),
4.
wykonywać testowanie klawisza B1 co 4 ms (tak jak w projekcie nr 5),
5.
przy testowaniu klawisza B1 (linia PA0) zwrócić uwagę na stany nieustalone tej linii występujące
przy każdej zmianie stanu klawisza (naciśnięcie / zwolnienie klawisza, mimo dołączonego filtru
dolnoprzepustowego).
Elektronika: ‘Podstawy techniki mikroprocesorowej’ - laboratorium
oprac. A. St
ę
pie
ń
strona 2/2
Pomoc i literatura:
1.
Zrealizowany projekt nr 5.
2.
UM1775. User manual Discovery kit for STM32L0 series with STM32L053C8 MCU.
STMicroelectronics, DocID026429 Rev 2, June 2014.
3.
RM0367. Reference manual. Ultra-low-power STM32L0x3 advanced ARM
®
-based 32-bit MCUs.
STMicroelectronics, DocID025274 Rev 3, May 2015.
UM1775: fragment rysunku na str. 36