background image

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)

background image

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