This repository contains the source code for the lab exercises of the "Microcomputers Lab" course, developed by group 53. Each exercise has its own folder with the corresponding code and a brief description of its purpose.
The purpose of the first lab exercise was to familiarize students with assembly language and implement basic functions such as delay and input/output port management.
- Problem 1.1: Implementation of a delay routine in milliseconds.
- Problem 1.2: Calculation of logical functions.
- Problem 1.3: Simulation of a wagon's movement using a bit of the output port.
The second lab exercise focused on the use of interrupts and timers.
- Problem 2.1: Measuring interrupts using an external interrupt and a timer.
- Problem 2.2: Controlling LEDs using a timer and interrupts.
In the third lab exercise, students worked on creating PWM signals and controlling LED brightness.
- Problem 3.1: Controlling LED brightness using PWM.
- Problem 3.2: Changing LED brightness using ADC and PWM.
The fourth lab exercise involved the use of the analog-to-digital converter (ADC) and communication with an LCD screen.
- Problem 4.1: Measuring voltage using ADC and displaying it on the LCD.
- Problem 4.2: Switching messages on the LCD.
In the fifth lab exercise, students used the TWI (Two-Wire Interface) for communication with external devices.
- Problem 5.1: Implementing logical functions using TWI and an external port.
- Problem 5.2: Controlling LEDs using TWI and an external port.
- Problem 5.3: Sending data to the LCD using TWI.
The sixth lab exercise focused on reading data from a 4x4 keypad.
- Problem 6.1: Scanning the keypad and converting to ASCII.
In the seventh lab exercise, students worked on communication through the UART (Universal Asynchronous Receiver/Transmitter) serial port.
- Problem 7.1: Implementing routines for One Wire communication.
- Problem 7.2: Sending and receiving data via UART.
The eighth lab exercise combined the knowledge from the previous exercises to implement a complete system.
- Problem 8.1: Simulating connection with ESP8266 and sending data through it.
- Problem 8.2: Monitoring patient's temperature and pressure using sensors and communication with LCD.
- Problem 8.3: Sending data to a web server via ESP8266.
The exercises were implemented using the ATmega328P microcontroller and the Atmel Studio IDE.