Embedded Systems Internship -
B7
Presented by: Povaku Shivani
Date: 2025
Introduction to C Programming
• C is a general-purpose programming language.
• It is widely used in embedded systems due to
its efficiency and control over hardware.
• Used for system programming, developing
operating systems, and embedded firmware.
Data Types & Input/Output
• Data Types: int, char, float, double, void.
• printf() - Used to display output.
• scanf() - Used to take user input.
Control Statements in C
• Conditional Statements: if, else, switch-case.
• Loops: for, while, do-while - Used for iteration.
• Example: Using a loop to blink an LED
continuously.
Operators in C
• Arithmetic Operators: +, -, *, /, %.
• Logical Operators: &&, ||, !.
• Bitwise Operators: &, |, ^, ~, <<, >>.
Overflow & Underflow
• Occurs when a variable exceeds its maximum
or minimum storage capacity.
• Example: Integer overflow when adding two
large numbers.
Arrays & Pointers
• Array: Collection of elements of the same
type.
• Pointer: Stores the memory address of
another variable.
• Pointers are widely used in embedded
programming for direct memory access.
Advanced C Concepts
• Endianness: Big-endian vs Little-endian.
• Null & Wild Pointers: Avoiding segmentation
faults.
• Pass by Value vs Pass by Reference: Function
calling methods.
• Static & Recursive Functions: Memory
optimization techniques.
Strings & Storage Classes
• String Handling in C using char arrays and
functions like strcpy, strcat, strlen.
• Storage Classes: Auto, Register, Static, Extern.
Preprocessor & Macros
• Preprocessor Directives: #define, #include,
#ifdef.
• Macros: Used to define constants and
functions for code optimization.
What are Embedded Systems?
• An embedded system is a combination of
hardware and software designed for a specific
task.
• Examples: IoT devices, automotive systems,
medical devices.
Development Tools Used
• MPLAB IDE: Used for PIC microcontroller
development.
• XC8 Compiler: Compiles C code into machine
code for PIC.
• PICSimLab: A simulator for PIC
microcontrollers.
Components of Embedded Systems
• Microcontroller or Microprocessor.
• Memory (RAM, ROM, EEPROM).
• Sensors, Actuators, Communication Interfaces.
Embedded C vs Standard C
• Embedded C has additional features for direct
hardware control.
• More efficient memory management
techniques.
• Used for writing firmware that interacts with
hardware components.
Overview of Microcontrollers
• Microcontrollers are small computing devices
with CPU, memory, and I/O ports.
• Common architectures: PIC, AVR, ARM.
• Registers and Memory Architecture in PIC
microcontrollers.
LED Programming in C
• Blinking LED using GPIO pins.
• Code example: Turning an LED ON/OFF using
C.
• Using delays to create a blinking effect.
Switches & Keypad Interfacing
• Switches: Used for user input.
• Edge and Level Triggering in switches.
• Matrix Keypad: Allows multiple button inputs
using fewer pins.
Interrupts & Timers in
Microcontrollers
• Interrupts allow the microcontroller to
respond to external or internal events.
• Timers are used for time-dependent
operations like delays and PWM generation.
• Example: Using Timer2 to generate a 1-second
delay.
CLCD (Character LCD) Interfacing
• Character LCD is used to display information.
• Requires data and control signals for
operation.
• Example: Displaying 'Hello, World!' on a 16x2
LCD.
Project Overview
• Project involves programming a PIC
microcontroller to control peripherals.
• Tools Used: MPLAB, XC8, PICSimLab.
• Objectives and Expected Outcomes.
Challenges & Learning Outcomes
• Challenges faced during implementation.
• Key learnings in C programming and
microcontroller interfacing.
Conclusion & Future Scope
• Career Opportunities in Embedded Systems.
• Next steps: Advanced projects, Certifications,
Industry Applications.
Thank You!
• Presented by: Povaku Shivani.
• Contact for any queries.