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
make
to 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!