Ziel der Umsetzung

Ausgabe des Datums und der Uhrzeit auf einem Display

Ausgabe des Datums und der Uhrzeit auf einem Display

Das Projektziel umfasst die Nutzung der im STM32F413ZHT6 hinterlegten Echtzeituhr (Real Time Clock), um Datum und Uhrzeit im Format dd:MM - HH:mm:ss auf einem Display im Sekundentakt auszugeben.

Die Uhrzeit soll außerdem über die UART-Schnittstelle konfigurierbar sein.

Hardware und Datenblätter

STM32 Microkontroller

NUCLEO-F413ZH (https://os.mbed.com/platforms/ST-Nucleo-F413ZH)

Freenove FNK0079 I²C Display

FNK0097 (https://freenove.com/fnk0079)

<aside> ℹ️ Nutzt einen I²C 8-bit I/O expander (PCF8574)

</aside>

Konzeptionelle Lösung

Ausgabe im Sekundentakt

Um jede Sekunde das Display zu aktualisieren, kann die Alarm-Interrupt-Funktionalität genutzt werden. Ein Alarm ist in der RTC zu konfigurieren und kann durch das setzen aller Masks auf Enable.

Notwendige Konfiguration zur Nutzung von Interrupts im Sekundentakt

Notwendige Konfiguration zur Nutzung von Interrupts im Sekundentakt

Verbindung mit dem Display

Der Microcontroller kann einer Verbindung mit dem LCD Display über I²C herstellen. Dabei müssen PB9 (SDA) und PB8 (SCL) mit den entsprechenden Pins am LCD Display verbunden werden.

Nötige Verbindungen mit dem Display

Nötige Verbindungen mit dem Display

Konfiguration der Pins in der STM32CubeIDE

Konfiguration der Pins in der STM32CubeIDE

Mit der I²C Kommunikation spricht der Microkontroller nun mit einem I/O-Expander des Typs PCF8574. In der Dokumentation von Freenove finden sich keine Angaben über die genaue Verbindung des I/O-Expanders mit dem LCD1602 Board. Das ist allerdings notwendig, um die jeweiligen Datenblätter interpretieren und zusammenführen zu können.

Verbindung des PCF8574 mit LCD1602

Verbindung des PCF8574 mit LCD1602

Daraus lässt sich schließen, dass nur 4 Bit für die Übertragung von Daten/Instruktionen an das LCD1602 Board zur Verfügung stehen (P4, …, P7).