
Learn to read a button on a low-cost launchpad using GPIO with a pull-up, enable the port clock, and toggle an LED in a simple loop.
Explore how the Hitachi HD44780 LCD controller works, including pin descriptions, command and data registers, and connecting it to a microcontroller in 4-bit mode with backlight and contrast control.
Learn to control the lcd by using rs to select command or data registers, enable the data register to send data, and issue commands like 0x01 and 0x08 with delays.
Select the lcd data register and write data to the lcd. Learn command versus data modes, and apply enable pulses and timing for reliable lcd interfacing.
Implement LCD 4-bit write function to separate data and control pins, extract upper and lower four bits, and write commands or data to the LCD in 4-bit mode.
Learn to implement LCD 4-bit programming by splitting data and commands into two 4-bit halves, sending commands, writing data, and handling initialization, delays, and cursor control.
Learn to implement a 4x4 keypad scan on an ARM Cortex-M by building a key map, configuring rows and columns, and identifying pressed keys with a sensing loop.
Download Keil uVision5, run the installer, and configure CMSIS and compilers for various microcontrollers, and install necessary drivers to detect them.
This course takes a step-by-step practical approach on how to write drivers and libraries that will allow your Cortex-Microcontroller to talk to Keyboards and Liquid Crystal Displays. It goes on to provide optimization methods such as accessing the LCD with 4-bits rather than 8-bits and also programming keyboards using the matrix arrangement approach.
We will start by differentiating between GPIO and SPIO, this will give students the understanding on how registers relates to IO ports then we shall write out the code to see how these registers actually work with inputs and outputs.
We shall look at how to write our own LCD Drivers and Libraries, we shall take a look at the pinout and how we interface with the microcontroller, take a look at how we control the shift registers inside the LCD, then we shall go on to code our own driver and library.The last section of the LCD chapter deals with writing data in 4-bits to reduce the number of IO pins used for LCD.
The final chapter of the course deals with interfacing to keyboards, I will introduce how keyboards also conserve the number of IO pins by using the matrix arrangement and then we shall go on to write our keyboard driver and library. In a nutshell, this are the key areas we shall be looking at in this course :
If you interested in having bare-metal level access to keyboards and LCDs then this course is for you.