Serial LCD Displays Proteus Simulation

by Marwen Maghrebi

In this article, we dive into how Serial LCD Displays can enhance embedded projects, offering improved interfaces and streamlined data visualization.

STM32 microcontroller interfacing with serial LCD displays for simplified text output

Things used in this project

Software apps and online services

1- STMicroelectronics STM32CubeMX

2- STMicroelectronics STM32CubeIDE

3- Proteus 8

Efficient Integration of Serial LCDs with STM32 Microcontrollers via UART Communication

Serial LCDs, also known as serially-interfaced LCDs, offer a streamlined solution for displaying information in electronic projects. With their simplified interface and versatile compatibility, they have become a staple in hobbyist and professional circuits alike. Let’s delve into the world of Serial LCDs and explore their capabilities, configurations, and applications.

Introducing Serial LCDs:

Serial LCD Displays come in various configurations, each tailored to specific needs. Among the products available are the BPK LCD Driver Board and a range of compatible Serial LCD Displays modules:

  • BPK LCD Driver Board, Part Number 6-201
  • Serial LCD 2×16, Part Number 6-111
  • Serial LCD 2×20, Part Number 6-121
  • Serial LCD 2×40, Part Number 6-131
  • Serial LCD 4×20, Part Number 6-141

Compatibility and Connectivity:

The BPK Serial Driver Board serves as a bridge between LCD modules and microcontrollers, converting standard parallel interfaces to a manageable serial interface. Compatible with Hitachi 44780 controllers or equivalents, it supports up to 80 on-screen characters. However, it’s worth noting that it’s not suitable for 4×40 displays. Connecting the BPK Board to LCDs is a straightforward process, requiring careful consideration of pin arrangements, especially for backlit LCDs. The board ensures compatibility with both non-backlit and backlit displays, making it adaptable to various setups.

Programming and Operation:

Programming Serial LCDs involves sending text serially at either 2400 or 9600 baud, adhering to specific formatting requirements. Preceding instruction commands with the byte <254> transitions the LCD into Instruction mode temporarily. It’s important to note that LCDs require a brief settling period after power-up, and certain commands may necessitate additional pauses for optimal operation.

Furthermore, Serial LCDs seamlessly integrate with STM32 microcontrollers via UART communication, significantly enhancing their compatibility and utility. Leveraging the UART capabilities of STM32 devices facilitates effortless interfacing with Serial LCD modules, empowering developers to enhance the display capabilities of their applications.

To commence this project, we will initiate the configuration of UART (Universal Asynchronous Receiver-Transmitter), a pivotal step in establishing communication between the microcontroller and the Serial LCD. Subsequently, we will embark on the development of a dedicated driver module, denoted as ‘LCD_UART’, meticulously crafted to facilitate seamless interaction between the microcontroller and the Serial LCD module.

STM32CubeMX Configuration:

  • Open CubeMX & Create New Project Choose The Target MCU STM32F103C6 & Double-Click Its Name
  • Go To The Clock Configuration & Set The System Clock To 8MHz

Configuration for the UART Mode:

    • Enable USART1 Module (Asynchronous Mode)
    • Set the USART1 communication parameters (baud rate = 115200, parity=NON, stop bits =1, and word length =8bits)
    • Generate The Initialization Code & Open The Project In CubeIDE

STM32CubeIDE Configuration:

    • Write The Application Layer Code
    • Serial-LCD.h & Serial-LCD.c
    • main.c

Proteus Configuration :

  • Open Proteus & Create New Project and click next

  • Click on Pick Device
  • Search for STM32F103C6 & MILFORD-2X20-BKP & MILFORD-4X20-BKP & MILFORD-2X16-BKP
  • Click on Terminal Mode then choose (DEFAULT & POWER &GROUND)
  • finally make the circuit below and start the simulation
Serial LCD display interface with STM32

That’s all!

If you have any questions or suggestions don’t hesitate to leave a comment below

You Might Also Like

Leave a Comment


Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?
-
00:00
00:00
Update Required Flash plugin
-
00:00
00:00