Embedded Systems Class Test Programs With Comments
Embedded Systems Class Test Programs With Comments
Q1 b. List data types in Embedded C with their size in bit and data range.
- int: Size = 16/32 bits, Range = -32,768 to 32,767 (16-bit signed), 0 to 65,535 (16-bit unsigned)
VDD: Power supply pin (+5V or +3.3V) for the LCD module.
#include <reg51.h>
// Function to create a delay for generating a 2kHz square wave
void delay() {
// Calculate delay for 500 microseconds using Timer 0
// TH0 and TL0 are set to create the necessary delay based on an 11.0592 MHz crystal
TH0 = 0xFC; // Load high byte for 500 microseconds delay
TL0 = 0x66; // Load low byte for 500 microseconds delay
TR0 = 1; // Start Timer 0
while (TF0 == 0); // Wait for the timer to overflow (500 microseconds)
#include <reg51.h>
// Loop to generate the delay (value may need adjustment for exact timing)
for(i = 0; i < 2000; i++); // Delay loop
}
void main() {
// Infinite loop to toggle Port 0 bits
while(1) {
P0 = ~P0; // Toggle all bits of Port 0
delay(); // 200 milliseconds delay
}
}
Q2 d. Program to Compare Data from Port 1 and Port 2, Send Bigger to Port 3
#include <reg51.h>
void main() {
unsigned char data1, data2;