0% found this document useful (0 votes)
16 views27 pages

Embedded Systems Internship Report

Uploaded by

Pcp Chowdary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views27 pages

Embedded Systems Internship Report

Uploaded by

Pcp Chowdary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

EMBEDDED SYSTEMS

An Internship report submitted to


Jawaharlal Nehru Technological University, Kakinada,
In the partial fulfillment for the award of the Degree in

BACHELOR OF TECHNOLOGY
IN
ELECTRONICS & COMMUNICATION ENGINEERING
Submitted by
PIDIKITI PRAKASH
22F91A0455
Under the Supervision of
[Link] RAO
[Link],(Ph.D)

PRAKASAM ENGINEERING COLLEGE

(An ISO 9001-2008 & NAAC Accredited Institution)

(Affiliated to Jawaharlal Nehru Technological University, Kakinada)

[Link], KANDUKUR-523105, A.P.

A.Y : 2025-2026
PRAKASAM ENGINEERING COLLEGE
(An ISO 9001-2008 & NAAC Accredited Institution)

(Affiliated to Jawaharlal Nehru Technological University, Kakinada)

[Link], KANDUKUR-523105, A.P.

DEPARTMENT OF
ELECTRONICS & COMMUNICATION ENGINEERING

BONAFIDE CERTIFICATE
This is to certify that the Internship report entitled “EMBEDDED SYSTEMS” is a bonafide work of

PIDIKITI PRAKASH (22F91A0455)


in the partial fulfillment of the requirement for the award of the

degree in Bachelor of Technology in ELECTRONICS & COMMUNICATION ENGINEERING

for the academic year 2025-2026.

Signature of the Coordinator Signature of the HOD


[Link] RAO Dr.G. SURESH
[Link] (Ph.D) [Link] (Ph.D)
ACKNOWLEDGEMENT

I feel to render my thankful acknowledgement to the following distinguished personalities,


who stretched their helping hand to me, in completing my mini project work.

I am very grateful and my sincere thanks to our secretary & correspondent [Link]
SRINIVAS of PRAKASAM ENGINEERING COLLEGE for giving this opportunity.

I hereby, express my regards and extend my gratitude to our PRINCIPAL, [Link]. RAVI
KUMAR , for giving this opportunity to do the thesis as a part of our course.

I express my deep sense of gratitude to [Link] [Link](Ph.d), Head of the


Department, Department of ECE for having shown keen interest at every stage of
development of our thesis and guiding us in every aspect.

I am thankful to my internship Coordinator [Link] RAO [Link](Ph.D) who has

channeled my thoughts and timely suggestion.

I would like to thank [Link] TAVVA CEO ExcelR Edtech PVT LTD,HYDERABAD for
giving me the opportunity to do an internship within the organization.

I would also like to thank all my Faculties in Prakasam Engineering College for their
constant encouragement and for being a great group of knowledgeable and cooperative
people to work with.

SHAIK THASEEN

22F91A0453
TABLE OF CONTENT

[Link] TITLE

1 Introduction

2 Agenda or Index
3 Topic
3.1 Embedded system
3.1.1 Characteristics
3.1.2 Structure
3.2 Introduction to Atmega8
3.2.1 Pin Description
3.3 Introduction to L293D IC
3.3.1 L293D Pin Diagram
3.3.2 Working of L293D

3.4 Introduction to LM35 Sensor


3.4.1 Working
3.5 Introduction to Arm Cortex
3.5.1 RISC
3.5.2 Arm7 Architecture
3.5.3 Functional Diagram
3.5.4 ARM Register Modes
Assessment
4
4.1 ARM Cortex based Solar Street
Light
4.2 Designing of Traffic signal system

4
5
1. Introduction

An Embedded System is a computer system with a dedicated [Link]


using specialized hardware and software (often called firmware) integrated
into a large devices.

General Purpose Computer, Embedded Systems are designed for a Specific


Purpose, such as control system in a microwave or a car’s anti-lock breakes.
key components include a microcontroller or microprocessor
hardware, software, and sometimes a real time operating system.

❖ Learn machine learning.

❖ Learn Artificial Intelligence



❖ Learn Data Science.

❖ Learn Advance Python Programming.

❖ Learn IOT.

❖ Learn embedded System.

❖ Learn Electrical designs.

6
In this Internship, I had learnt about Programming with python. Such
that 15 Days of internship has few topics and did mini projects and final
assessment in the end of internship i.e. from 13th day.

2. INDEX

CHAPTER 1 : Introduction to embedded systems and


software requirements to download.
CHAPTER 2 : LP293D Architecture and tools used in programming.
CHAPTER3&4 :L35 temp Sensor
architecture and programming.
CHAPTER5&6 :Programming using LP2918
IC,L35 Temperature sensor and LCD
CHAPTER7&8 : Introduction to LCD
CHAPTER 9&10 : Programming in
ARM7.
CHAPTER 11&12 : Introduction to Arm Cortex.
CHAPTER 13&14 : Programming of Solar Street
Light using Arm Cortex.

7
3. Topics

3.1 Embedded system


An embedded system is a combination of computer hardware and software
designed for a specific function. Embedded systems may also function
within a larger system. The systems can be programmable or have a fixed
functionality. Industrial machines, consumer electronics, agricultural and
processing industry devices, automobiles, medical equipment, cameras,
digital watches, household appliances, airplanes, vending machines and
toys, as well as mobile devices, are possible locations for an embedded
system. While embedded systems are computing systems, they can range
from having no user interface (UI) -- for example, on devices designed to
perform a single task -- to complex graphical user interfaces (GUIs), such
as in mobile devices. User interfaces can include buttons, LEDs and
touchscreen sensing. Some systems use remote user interfaces as well.

3.1.2 Characteristics
The main characteristic of embedded systems is that they are task- specific.
Additionally, embedded systems can include the following characteristics:

• typically, consist of hardware, software and firmware;

8
• can be embedded in a larger system to perform a specific function,
as they are built for specialized tasks within the system, not various
tasks;
• can be either microprocessor-based or microcontroller-based --
both are integrated circuits that give the system compute power;
• are often used for sensing and real-time computing in internet of
things (IoT) devices, which are devices that are internet- connected
and do not require a user to operate;
• can vary in complexity and in function, which affects the type of
software, firmware and hardware they use; and
• are often required to perform their function under a time constraint
to keep the larger system functioning properly.

3.1.3 Structure
• Embedded systems vary in complexity but, generally, consist of
three main elements:
• Hardware. The hardware of embedded systems is based around
microprocessors and microcontrollers. Microprocessors are very
similar to microcontrollers and, typically, refer to a CPU (central
processing unit) that is integrated with other basic computing
components such as memory chips and digital signal processors
(DSPs). Microcontrollers have those components built into one
chip.
• Software and firmware. Software for embedded systems can vary
in complexity. However, industrial-grade microcontrollers and
embedded IoT systems usually run very simple software that
requires little memory.
• Real-time operating system. These are not always included in
embedded systems, especially smaller-scale systems. RTOSes
define how the system works by supervising the software and
setting rules during program execution.

9
• In terms of hardware, a basic embedded system would consist of
the following elements:
• Sensors convert physical sense data into an electrical signal.
• Analog-to-digital (A-D) converters change an analog electrical
signal into a digital one.
• Processors process digital signals and store them in memory.
• Digital-to-analog (D-A) converters change the digital data from the
processor into analog data.
• Actuators compare actual output to memory-stored output and
choose the correct one.
3.2 Introduction to Atmega8 Microcontroller
AVR Microcontroller is produced by the “Atmel Corporation”. The
Microcontroller includes the Harvard architecture that works rapidly with
the RISC. The features of this Microcontroller include different features
compared with other like sleep modes-6, inbuilt ADC (analog to digital
converter), internal oscillator and serial data communication, performs the
instructions in a single execution cycle. These Microcontrollers were very
fast and they utilize low power to work in different power saving modes.
There are different configurations of AVR microcontrollers are available to
perform various operations like 8-bit, 16-bit, and 32-bit.

3.2.1 Pin Description


The main feature of Atmega8 Microcontroller is that all the pins of the
Microcontroller support two signals except 5-pins. The Atmega8
microcontroller consistsof 28 pins where pins 9,10,14,15,16,17,18,19 are
used for port B, Pins 23,24,25,26,27,28 and 1 are used for port C and pins
2,3,4,5,6,11,12 are used for port D.

10
3.3 Introduction to L293D Motor Driver IC

L293D is a typical Motor driver or Motor Driver IC which allows DC motor


to drive on either direction. L293D is a 16-pin IC which can control a set of
two DC motors simultaneously in any direction. It means that you can
control two DC motor with a single L293D IC. It works on the concept of
H-bridge. H-bridge is a circuit which allows the voltage to be flown in either
direction. As you know voltage need to change its direction for being able
to rotate the motor in clockwise or anticlockwise direction, Hence H-bridge
IC are ideal for driving a DC motor. In a single L293D chip there are two h-
Bridge circuit inside the IC which can rotate two dc motor independently.
Due its size it is very much used in robotic application for controlling DC
motors. Given below is the pin diagram of a L293D motor controller.

3.3.1 L293D Pin Diagram

11
3.3.2 Working of L293D

There are 4 input pins for l293d, pin 2,7 on the left and pin 15 ,10 on the
right as shown on the pin diagram. Left input pins will regulate the rotation
of motor connected across left side and right input for motor on the right-
hand side. The motors are rotated on the basis of the inputs provided across
the input pins as LOGIC 0 or LOGIC [Link] simple you need to provide Logic
0 or 1 across the input pins for rotating the motor.

INPUT 1 INPUT 2 ENABLE 1, Result

0 0 1 Stop

0 1 1 Anti-clockwise rotation

1 0 1 Clockwise rotation

1 1 1 Stop

0 1 50% duty cycle Anti-clockwise

3.4 Introduction to LM35 Precision Centigrade Temperature Sensors

LM35 is an analog, linear temperature sensor whose output voltage varies


linearly with change in temperature. LM35 is three terminal linear
temperature sensor from National semiconductors. It can measure
temperature from-55 degree celsius to +150 degree celsius. The voltage
output of the LM35 increases 10mV per degree Celsius rise in temperature.
LM35 can be operated from a 5V supply and the stand by current is less than
60uA.

12
3.4.1 Working
LM35 sensor uses the basic principle of a diode ,where as the temperature
increases, the voltage across a diode increases at a known [Link] precisely
amplifying the voltage change, it is easy to generate an analog signal that is
directly proportional to temperature. There are two transistors in the center
of the circuit. One has ten times the emitter area of the other. This means it
has one tenth of the current density, since the same current is going through
both transistors. This causes a voltage across the resistor R1 that is
proportional to the absolute temperature, and is almost linear across the
range we care about.

The amplifier at the top ensures that the voltage at the base of the left
transistor (Q1) is proportional to absolute temperature (PTAT) by
comparing the output of the two transistors. The amplifier at the right
converts absolute temperature (measured in Kelvin) into either Fahrenheit
or Celsius, depending on the part (LM34 or LM35). The little circle with the
"i" in it is a constant current source circuit. The two resistors are calibrated
in the factory to produce a highly accurate temperature sensor. The
integrated circuit has many transistors in it - two in the middle, some in each
amplifier, some in the constant current source, and some in the curvature
compensation circuit. All of that is fit into the tiny package with three leads.

13
3.5 Introduction to Arm Cortex
ARM-Advanced RISC Machine is a 32-bit RISC (Reduced Instruction Set
Computer) processor architecture developed by ARM Holdings. Many
beginners sometimes misunderstood that the ARM is microcontroller or
processor but in reality, ARM is an architecture which is used in many
processors and microcontrollers. The ARM architecture licensed to
companies that want to manufacture ARM-based CPUs or System-on- Chip
products. This enables the companies to develop their own processors
compliant with the ARM instruction set architecture. For example, the
device we are using LPC2148 is ARM architecture-based SOC product
developed by NXP Semiconductor. Similarly, all major semiconductor
manufacturers like Atmel, Samsung, TI etc. they all make ARM based
SOCs.
3.5.1 RISC
A Reduced Instruction Set Computer is a type of microprocessor
architecture that utilizes a small, highly-optimized set of instructions rather
than the highly-specialized set of instructions typically found in other
architectures. RISC is an alternative to the Complex Instruction Set
Computing (CISC) architecture and is often considered the most efficient
CPU architecture technology available today. With RISC, a central
processing unit (CPU) implements the processor design principle of
simplified instructions that can do less but can execute more rapidly. The
result is improved performance. A key RISC feature is that it allows
developers to increase the register set and increase internal parallelism by
increasing the number of parallel threads executed by the CPU and
increasing the speed of the CPU's executing instructions. ARM, or
“Advanced RISC Machine” is a specific family of instruction set
architecture that’s based on reduced instruction set architecture developed
by Arm Ltd. Processors based on this architecture are common in
smartphones, tablets, laptops, gaming consoles and desktops, as well as a
growing number of other intelligent devices.
RISC provides high performance per watt for battery operated devices
where energy efficiency is key. A RISC processor executes one action per
instruction. By taking just one cycle to complete, operation execution time
14
is optimized. Because the architecture uses a fixed length of instruction, it’s
easier to pipeline. And because it lacks complex instruction decoding logic,
it supports more registers and spends less time on loading and storing values
to memory. For chip designers, RISC processors simplify the design and
deployment process and provide a lower per-chip cost due to the smaller
components required. Because of the reduced instruction set and simple
decoding logic, less chip space is used, fewer transistors are required, and
more general-purpose registers can fit into the central processing unit.
3.5.2 Arm7 Architecture
The ARM architecture processor is an advanced reduced instruction set
computing [RISC] machine and it’s a 32bit reduced instruction set computer
(RISC) microcontroller. It was introduced by the Acron computer
organization in 1987. This ARM is a family of microcontroller developed
by makers like ST Microelectronics, Motorola, and so on. The ARM
architecture comes with totally different versions like ARMv1, ARMv2,
etc., and, each one has its own advantage and disadvantages. The ARM
processor conjointly has other components like the Program status register,
which contains the processor flags (Z, S, V and C). The modes bits
conjointly exist within the program standing register, in addition to the
interrupt and quick interrupt disable bits; Some special registers: Some
registers are used like the instruction, memory data read and write registers
and memory address register.

The Arm7 Architecture description are as follows

• Arithmetic Logic Unit (ALU)

The ALU has two 32-bits inputs. The primary comes from the register
file, whereas the other comes from the shifter. Status registers flags
modified by the ALU outputs. The V-bit output goes to the V flag as well
as the Count goes to the C flag. Whereas the foremost significant bit
really represents the S flag, the ALU output operation is done by NORed
to get the Z flag. The ALU has a 4-bit function bus that permits up to 16
opcode to be implemented.

15
• Booth Multiplier Factor

The multiplier factor has 3 32-bit inputs and the inputs return from the
register file. The multiplier output is barely 32-Least Significant Bits of
the merchandise. The entity representation of the multiplier factor is
shown in the above block diagram. The multiplication starts whenever
the beginning 04 input goes active. Fin of the output goes high when
finishing.

• Booth Algorithm

Booth algorithm is a noteworthy multiplication algorithmic rule for 2’s


complement numbers. This treats positive and negative numbers
uniformly. Moreover, the runs of 0’s or 1’s within the multiplier factor
are skipped over without any addition or subtraction being performed,
thereby creating possible quicker multiplication. The figure shows the
simulation results for the multiplier test bench. It’s clear that the
multiplication finishes only in16 clock cycle.

• Barrel Shifter

The barrel shifter features a 32-bit input to be shifted. This input is


coming back from the register file or it might be immediate data. The
shifter has different control inputs coming back from the instruction
register. The Shift field within the instruction controls the operation of
the barrel shifter. This field indicates the kind of shift to be performed
(logical left or right, arithmetic right or rotate right). The quantity by
which the register ought to be shifted is contained in an immediate field
within the instruction or it might be the lower 6 bits of a register within
the register file.

The shift_val input bus is 6-bits, permitting up to 32 bit shift. The


shifttype indicates the needed shift sort of 00, 01, 10, 11 are
corresponding to shift left, shift right, an arithmetic shift right and rotate
right, respectively. The barrel shifter is especially created with
multiplexers.

16
• Control Unit

For any microprocessor, control unit is the heart of the whole process and
it is responsible for the system operation,so the control unit design is the
most important part within the whole design. The control unit is
sometimes a pure combinational circuit design. Here, the control unit is
implemented by easy state machine. The processor timing is additionally
included within the control unit. Signals from the control unit are
connected to each component within the processor to supervise its
operation.

3.5.3 ARM7 Functional Diagram

The final thing that must be explained is how the ARM will be used
and the way in which the chip appear. The various signals that interface
with the processor are input, output or supervisory signals which will
be used to control the ARM operation.

3.5.4 ARM Microcontroller Register Modes

An ARM micrcontroller is a load store reducing instruction set


computer architecture means the core cannot directly operate with the
memory. The data operations must be done by the registers and

17
the information is stored in the memory by an address. The ARM
cortex-M3 consists of 37 register sets wherein 31 are general purpose
registers and 6 are status registers. The ARM uses seven processing

modes to run the user task.

• USER Mode: The user mode is a normal mode, which has the least
number of registers.

• FIQ and IRQ: The FIQ and IRQ are the two interrupt caused modes
of the CPU. The FIQ is processing interrupt and IRQ is standard
interrupt. The FIQ mode has additional five banked registers to
provide more flexibility and high performance when critical
interrupts are handled.

• SVC Mode: The Supervisor mode is the software interrupt mode of


the processor to start up or reset.

• Undefined Mode: The Undefined mode traps when illegal


instructions are executed. The ARM core consists of 32-bit data bus
and faster data flow.

• THUMB Mode: In THUMB mode 32-bit data is divided into 16- bits
and increases the processing speed.

18
• THUMB-2 Mode: In THUMB-2 mode the instructions can be either
16- bit or 32-bit and it increases the performance of the ARM cortex
–M3 microcontroller. The ARM cortex-m3 microcontroller uses
only THUMB- 2 instructions.

Some of the registers are reserved in each mode for the specific use of
the core. The reserved registers are

• Stack Pointer (SP).


• Link Register (LR).
• Program Counter (PC).
• Current Program Status Register (CPSR).
• Saved Program Status Register (SPSR).

The reserved registers are used for specific functions. The SPSR and
CPSR contain the status control bits which are used to store the
temporary data. The SPSR and CPSR register have some properties
that are defined operating modes, Interrupt enable or disable flags and
ALU status flag. The ARM core operates in two states 32-bit state.

19
4. ASSESSMENT

3.2 ARM Cortex (STM32) based Solar Street Light

Present days, solar technology has been progressing in many


applications like homes, industries, etc. The main goal of this project is
to conserve the electrical energy:here an Arm-Cortex- based solar
street light is implemented that works on solar energy. Generally, solar
street lights are used where electricity is not available.
Hardware Components

• STM32 with ARM cortex board


• White LEDs
• MOSFET
• Battery
• Regulator
• Solar Panel
Software

• Keil compiler
• Embedded C Language

This project utilizes an ARM-Cortex processor of the STM32 family


and a battery for power supply. This project uses a solar panel to charge
the battery where charge controller circuit controls the battery
charging. ARM- Cortex processor is interfaced to a set of LEDs with
the help of the MOSFET Switch.

The intensity control of the LED lights is possible by varying the duty
cycle from a DC source. A programmed ARM-Cortex microcontroller
unit is engaged to afford different intensities at different times of night
by using the Pulse Width Modulation technique. The charge controller
circuit is used to protect the

battery from the deep discharge and overload conditions


19
WAP to toggle the single LED through Embedded C language using
ARM cortex microcontroller.

#include
#include “stm32f10x_rcc.h”
GPIO_InitTypeDef int
#define Void
GPIO_InitStructure;
i; GPIOB
binky();
main()
Void
{

Void binky();
}

20
void binky(void)

21
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,
ENABLE); //enable the PORTB pins//
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //set the port
frequency//
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //set the
PORTB in output//
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All ; //enabled all PORTB
pins//
GPIO_Init(GPIOB, &GPIO_InitStructure); //initialize the PORTB pins//

while(1)
{ GPIO_WriteBit(LED_PORT,GPIO_Pin_8,Bit_SET);
for (i=0;i<1000000;i++);
GPIO_WriteBit(LED_PORT,GPIO_Pin_8,Bit_RESET);
for (i=0;i<1000000;i++);

GPIO_WriteBit(LED_PORT,GPIO_Pin_9,Bit_SET);
for (i=0;i<1000000;i++);
GPIO_WriteBit(LED_PORT,GPIO_Pin_9,Bit_R
ESET); for (i=0;i<1000000;i++);

GPIO_WriteBit(LED_PORT,GPIO_Pin_10,Bit_SET);
for (i=0;i<1000000;i++);
GPIO_WriteBit(LED_PORT,GPIO_Pin_10,Bit_RESET);
for(i=0;i<1000000;i++);

22
3.3 Designing of embedded System using LP2918, L35 temp sensor and LCD
interface

Interfacing LCD and LM35 temp sensor:-

#include<LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


const int sensor=A1; // Assigning analog pin A1 to variable'sensor' float tempc;
//variable to store temperature in degree Celsius float tempf; //variable to store
temperature in Fahreinheit
float vout; //temporary variable to hold sensor reading void setup()
{
pinMode(sensor,INPUT); // Configuring pin A1 as input [Link](9600);
[Link](16,2); delay(500);
}
void loop()
{
vout=analogRead(sensor); vout=(vout*500)/1023;
tempc=vout; // Storing value in Degree Celsius tempf=(vout*1.8)+32; //
Converting to Fahrenheit [Link](0,0);
[Link]("in DegreeC= "); [Link](tempc); [Link](0,1); [Link]("in

23
Fahrenheit="); [Link](tempf);
delay(1000); //Delay of 1 second for ease of viewing in serial monitor
}
PRESS SWITCH 1 ALL LED WILL GLOW RESPECTIVELY
int switch1; int switch2;
int switch3; void setup()
{ pinMode(5,INPUT_PULLUP
);
pinMode(8,OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT);
pinMode(11,OUTPUT); pinMode(12,OUTPUT); pinMode(13,OUTPUT);
}
void loop()
{
switch1=digitalRead(5); if(switch1==0)
{
digitalWrite(8,LOW);
}
else
{
digitalWrite(8,HIGH);
}

switch1=digitalRead(5); if(switch1==0)
{
digitalWrite(8,LOW); digitalWrite(9,LOW);
}
else
{
digitalWrite(8,HIGH); digitalWrite(9,HIGH);
}
switch1=digitalRead(5); if(switch1==0)
{
digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW);
}
else
{
digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH);
}
switch1=digitalRead(5); if(switch1==0)
{
digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW);
24
digitalWrite(11,LOW);
}
else
{
digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
}
switch1=digitalRead(5); if(switch1==0)
{
digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW);
digitalWrite(11,LOW); digitalWrite(12,LOW);
}

}
else
{
digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH);
digitalWrite(11,HIGH); digitalWrite(12,HIGH);
}
switch1=digitalRead(5); if(switch1==0)
{
digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW);
digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW);
}
else
{
digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH);
digitalWrite(11,HIGH); digitalWrite(12,HIGH); digitalWrite(13,HIGH);
}

L239D interfacing dc motor using Atmega 8A


#include <avr/io.h>
#include <util/delay.h> // for _delay_ms()

int main(void)
{

25
DDRC = 0x0F; // initialize port C
// motors connected across PC0...Pc3 while(1)
{
// clockwise rotation
PORTC = 0b00000101;// PC0 = High = Vcc
// PC1 = Low = 0
// PC2 = High = Vc
// counter-clockwise rotation
PORTC = 0b00001010;// PC0 = Low = 0
// PC1 = High = Vcc
// PC2 = Low = 0
// PC3 = High = Vcc

_delay_ms(500); // wait 0.5s


}

Conclusion:
My internship in embedded systems has been an enriching experience, blending
theory with practical application. I gained hands-on exposure to microcontroller
programming, sensor integration, and real-time system design. Working on live
projects enhanced my problem-solving skills and deepened my understanding of
hardware-software interaction. Collaborating with professionals helped me
appreciate the importance of teamwork and communication in engineering. This
internship has solidified my interest in embedded systems and inspired me to pursue
further specialization. Overall, it was a transformative journey that laid a strong
foundation for my future career.

Submitted By
Pidikiti Prakash
22F91A0455.

26

You might also like