This project presents a streamlined solution for programming an LCD1602 display using an Atmega328p microcontroller with AVR-GCC. Focused on embedded programming in C/C++, it offers a cross-platform framework suitable for a range of applications in embedded systems development.
If you want to try this project in a Wowki project follow the compilation steps and run it in this Wowki.
https://wokwi.com/projects/383283130065573889
- Simon Thorell
- Robert Krantz
- Emil Kool
- Nicole Nilsson
This project aims to program an LCD1602 display using AVR-GCC for an Atmega328p microcontroller. The code is written in C/C++ and is designed to be cross-platform, ensuring compatibility with various operating systems.
The project is organized into several directories, each containing specific types of files:
avr_random_noise.h: Header file for the noise class.buttons.h: Header file for the buttons.customer_data.h: Header file containing customer data structures.lcd_display_option.h: Header file for LCD display options.set_Clock.h: Header file for the function to set time.special_functions.h: Header file for the functions triggered by buttons.timer.h: Header file for the internal timer.
lcd.cpp: Source file for the LCD control functions.lcd.h: Header file for the LCD control functions.
avr_random_noise.cpp: Implementation of a random class listening to noise from the ADC.buttons.cpp: Implementation of the button functionality.customer_data.cpp: Implementation of customer data handling.lcd_display_options.cpp: Implementation of LCD display options.main.cpp: The main entry point for the program.set_Clock.cpp: Implementation of the ability to select the time.special_functions.cpp: Implements functions that can be triggered by buttons.timer.cpp: Implementation of the internal timer.
Makefile: Contains commands to compile the project.README.md: This file, providing an overview and instructions.
- Ensure you have AVR-GCC installed on your system.
- Clone the repository to your local machine.
- Navigate to the root directory of the project.
- Run
maketo compile the project. - After successful compilation, upload the binary to the Atmega328p microcontroller.
- The LCD should display the programmed output upon successful upload.
This project is designed to be cross-platform. It has been tested on Windows, macOS and archLinux through WSL2, but it should work on other systems where AVR-GCC is supported.
For any contributions or modifications, please contact one of the team members.
License what?! This is free to use!
Thank you for your interest in our AVR-GCC LCD Interface Project!