This repository contains laboratory exercises for the Microprocessors Lab course at the National Technical University of Athens (NTUA), focusing on programming the ATmega328PB microcontroller.
- Delay routine implementation with configurable timing
- Logical function calculations (F0, F1) with iterative variable updates
- Moving wagon simulation using PORTD with directional control
- MPLAB X simulation and Stopwatch tool usage
- INT0 and INT1 interrupt handling in Assembly and C
- Button debouncing techniques
- Binary counter with interrupt control
- Lighting automation system with timeout reset
- Timer/Counter1 configuration for PWM generation
- Fast PWM mode with variable duty cycle
- ADC conversion with polling and interrupt methods
- Analog voltage measurement and LED indication
- LCD initialization and control routines
- Voltage measurement display with ADC
- CO gas monitoring system with threshold detection
- Display messages and sensor value presentation
- PCA9555 I/O expander configuration
- TWI (I²C) communication protocol implementation
- Logical function output through expander
- Keypad input handling and LCD interfacing
- Keypad scanning with debouncing
- ASCII conversion for key presses
- Electronic lock system with team code validation
- Real-time key display on LCD
- 1-wire protocol implementation
- Temperature measurement routines
- Decimal temperature display on LCD
- "NO Device" detection and reporting
- UART communication with ESP8266 WiFi module
- HTTP communication with cloud server
- Patient monitoring with temperature and pressure sensors
- JSON payload formatting and transmission
- Edge computing architecture implementation
- ntuAboard_G1 development board
- ATmega328PB microcontroller
- Various sensors: DS18B20, potentiometers, keypad, LCD
- ESP8266 WiFi module
- USB-to-serial adapter
- MPLAB X IDE
- AVR-GCC compiler
- Serial terminal software