SlideShare a Scribd company logo
Basics of Embedded C Program and
Programming Structure for
Beginners
BY
G.KAMESHWARAN.B.E.M.Tech.MISTE.
FOTRONICHS,VELLORE
9791899533
Embedded C Programming is the soul of the processor functioning inside each and
every embedded system we come across in our daily life, such as mobile phone,
washing machine, and digital camera.
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
2
 Each processor is associated with an embedded software.
 The first and foremost thing is the embedded software that decides
functioning of the embedded system.
 Embedded C language is most frequently used to program the
microcontroller.
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
3
 Earlier, many embedded applications were developed using assembly level
programming. However, they did not provide portability.
 This disadvantage was overcome by the advent of various high level languages
like C, Pascal, and COBOL. However, it was the C language that got extensive
acceptance for embedded systems, and it continues to do so.
 The C code written is more reliable, scalable, and portable; and in fact, much
easier to understand.
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
4
About C Language
•C language was developed by Dennis Ritchie in 1969.
•It is a collection of one or more functions, and every function is a collection of
statements performing a specific task.
•C language is a middle-level language as it supports high-level applications
and low-level applications.
•Before going into the details of embedded C programming, we should know
about RAM memory organization.
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
5
∗ Salient features of the language
 C language is a software designed with different keywords, data types, variables,
constants, etc.
 Embedded C is a generic term given to a programming language written in C,
which is associated with a particular hardware architecture.
 Embedded C is an extension to the C language with some additional header files.
These header files may change from controller to controller.
 The microcontroller 8051 #include<reg51.h> is used.
∗ The embedded system designers must know about the hardware architecture to write programs.
These programs play prominent role in monitoring and controlling external devices. They also directly
operate and use the internal architecture of the microcontroller, such as interrupt handling, timers,
serial communication and other available features.
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
6
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
7
Data typesData types
The data type refers to an extensive system for declaring variables of
different types like integer, character, float, etc.
The embedded C software uses four data types that are used to store data
in the memory.
The ‘char’ is used to store any single character; ‘int’ is used to store integer
value, and ‘float’ is used to store any precision floating point value.
The size and range of different data types on a 32-bit machine is given in
the following table. The size and range may vary on machines with different
word sizes.
The basic additional features of the embedded software
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
8
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
9
KeywordsKeywords
There are certain words that are reserved for doing specific tasks. These
words are known as keywords.
They are standard and predefined in the Embedded C.
Keywords are always written in lowercase. These keywords must be defined
before writing the main program.
The basic keywords of an embedded software are given below:
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
10
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
11
∗ sbit: This data type is used in case of accessing a single bit of
SFR register.
∗ Syntax: sbit variable name = SFR bit ;
∗ Ex: sbit a=P2^1;
∗ Explanation: If we assign p2.1 as ‘a’ variable, then we can use
‘a’ instead of p2.1 anywhere in the program, which reduces
the complexity of the program.
∗ Bit: This data type is used for accessing the bit addressable
memory of RAM (20h-2fh).
∗ Syntax: bit variable name;
∗ Ex: bit c;
∗ Explanation: It is a bit sequence setting in a small data area
that is used by a program to remember something.
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
12
∗ SFR: This data type is used for accessing a SFR register by another name. All
the SFR registers must be declared with capital letters.
∗ Syntax: SFR variable name = SFR address of SFR register;
∗ Ex: SFR port0=0x80;
∗ Explanation: If we assign 0x80 as ‘port0’, then we can use 0x80 instead of
port0 anywhere in the program, which reduces the complexity of the
program.
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
13
SFR Register:SFR Register:
∗The SFR stands for ‘Special Function Register’. Microcontroller
8051 has 256 bytes of RAM memory.
∗This RAM is divided into two parts: the first part of 128 bytes is
used for data storage, and the other of 128 bytes is used for SFR
registers.
∗All peripheral devices like I/O ports, timers and counters are
stored in the SFR register, and each element has a unique
address.
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
14
∗ The Structure of an Embedded C Program
∗ comments
∗ preprocessor directives
∗ global variables
∗ main() function
∗ {
∗ local variables
∗ statements
∗ …………..
∗ …………..
∗ }
∗ fun(1)
∗ {
∗ local variables
∗ statements
∗ …………..
∗ …………..
∗ }
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
15
Comments:
∗In embedded C programming language, we can place
comments in our code which helps the reader to understand
the code easily.
C=a+b; /* add two variables whose value is stored in another variable C*/
Preprocessor directives:Preprocessor directives:
∗All the functions of the embedded C software are included in
the preprocessor library like “#includes<reg51.h>, #defines”.
These functions are executed at the time of running the
program.
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
16
Global variableGlobal variable
∗A global variable is a variable that is declared before the
main function, and can be accessed on any function in the
program.
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
17
Local variableLocal variable
∗A local variable is a variable declared within a function,
and it is valid only to be used within that function.
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
18
Main () functionMain () function
∗The execution of a program starts with the main function.
Every program uses only one main () function.
Advantages of embedded C programAdvantages of embedded C program
∗Its takes less time to develop application program.
∗It reduces complexity of the program.
∗It is easy to verify and understand.
∗It is portable in nature from one controller to another.
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
19
∗ Examples of a few Embedded C Programs
∗ The following are a few simple Embedded C programs
used for microcontroller-based projects.
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
20
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
21
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
22
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
23
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
24
 We hope that we have been successful in providing an easy and approachable
way for the beginners of Embedded C programming.
 Better understanding of the Embedded C programming is the most essential
prerequisite for designing embedded based projects.
 In addition to this, a better understanding and proper knowledge about
embedded C programming help students immensely in the selection of a
rewarding career.
 We encourage and welcome queries, suggestions and comments from our
readers.
 Therefore, you can post your queries and feedback about this article in the
comments section given below. Follow the below link for:
fotronichsvellore@gmail.com, www,fotronichs.com
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
25
G.KAMESHWARAN.B.E,M.Tech,MISTE
www.fotronichs.com
26

More Related Content

PPTX
Embedded c
PPT
8051 instruction set
PPT
Microprocessor & microcontroller
PPTX
ODT
SEMICONDUCTOR (project)
PPT
Arduino
PPTX
Intelligent Traffic Management
PPTX
Fpga architectures and applications
Embedded c
8051 instruction set
Microprocessor & microcontroller
SEMICONDUCTOR (project)
Arduino
Intelligent Traffic Management
Fpga architectures and applications

What's hot (20)

PPT
8237 / 8257 DMA
PDF
Embedded C - Lecture 1
PDF
Unit II Arm 7 Introduction
PDF
Introduction to pic microcontroller
PPSX
Lect 2 ARM processor architecture
PPTX
ARM Processors
PPT
PIC Introduction and explained in detailed
PPT
ARM Micro-controller
PPTX
Architecture of 8051
PPTX
DOCX
Programmable logic array
DOC
PIC MICROCONTROLLERS -CLASS NOTES
PDF
ARM Architecture
PPT
8051 MICROCONTROLLER
PPTX
MAXIMUM MODE OF 8086 MICROPROCESSOR-1.pptx
PPT
PPTX
8051 Microcontroller PPT's By Er. Swapnil Kaware
PPTX
Interrupts on 8086 microprocessor by vijay kumar.k
PDF
8086 instructions
8237 / 8257 DMA
Embedded C - Lecture 1
Unit II Arm 7 Introduction
Introduction to pic microcontroller
Lect 2 ARM processor architecture
ARM Processors
PIC Introduction and explained in detailed
ARM Micro-controller
Architecture of 8051
Programmable logic array
PIC MICROCONTROLLERS -CLASS NOTES
ARM Architecture
8051 MICROCONTROLLER
MAXIMUM MODE OF 8086 MICROPROCESSOR-1.pptx
8051 Microcontroller PPT's By Er. Swapnil Kaware
Interrupts on 8086 microprocessor by vijay kumar.k
8086 instructions
Ad

Viewers also liked (20)

PDF
Embedded c
PPT
Introduction To Embedded Systems
PPT
Embedded System Basics
DOC
Basic construction of c
PPTX
Overview of embedded system
DOCX
15 el83 automatic washing machine using microchip pic18f series microcontro...
PPT
Embedded system - embedded system programming
PPTX
States & Capitals 111
PPT
C++ for Embedded Programming
PPTX
Embedded c programming
ODP
C prog ppt
PPTX
PDF
Programming with c language practical manual
PPT
Embeded system by Mitesh Kumar
PPTX
Embedded C workshop
PPTX
Embeded system
PPT
Embedded systems
PPTX
S3 Individual Presentation - Washing Machine
PDF
Selection and Integration of Embedded Display Devices
PPTX
Linux Timer device driver
Embedded c
Introduction To Embedded Systems
Embedded System Basics
Basic construction of c
Overview of embedded system
15 el83 automatic washing machine using microchip pic18f series microcontro...
Embedded system - embedded system programming
States & Capitals 111
C++ for Embedded Programming
Embedded c programming
C prog ppt
Programming with c language practical manual
Embeded system by Mitesh Kumar
Embedded C workshop
Embeded system
Embedded systems
S3 Individual Presentation - Washing Machine
Selection and Integration of Embedded Display Devices
Linux Timer device driver
Ad

Similar to Embedded c program and programming structure for beginners (20)

PPTX
Embedded C.pptx
PPTX
Unit-2.pptx
PDF
Introduction To C++ programming and its basic concepts
PPTX
C programming
PDF
C Tutorials
PPTX
IIM.Com-FIT-Unit2(14.9.2021 TO 30.9.2021).pptx
PDF
Unit 2 introduction to c programming
PDF
Consider the following interrupting system. The active-edge inputs o.pdf
PPTX
Introduction to c language
DOCX
C LANGUAGE UNIT-1 PREPARED BY MVB REDDY
PPTX
C language
PDF
C programming notes BATRACOMPUTER CENTRE IN Ambala CANTT
PPTX
Introduction to computers, input and output devices
DOCX
Resume
DOCX
C tutorials
PPT
Embedded systems
PDF
C programming session9 -
PPTX
Unit-1_c.pptx you from the heart of the day revision
PDF
CS8251_QB_answers.pdf
DOCX
Programming In C- (1)jhgjhgjhgjhghj.docx
Embedded C.pptx
Unit-2.pptx
Introduction To C++ programming and its basic concepts
C programming
C Tutorials
IIM.Com-FIT-Unit2(14.9.2021 TO 30.9.2021).pptx
Unit 2 introduction to c programming
Consider the following interrupting system. The active-edge inputs o.pdf
Introduction to c language
C LANGUAGE UNIT-1 PREPARED BY MVB REDDY
C language
C programming notes BATRACOMPUTER CENTRE IN Ambala CANTT
Introduction to computers, input and output devices
Resume
C tutorials
Embedded systems
C programming session9 -
Unit-1_c.pptx you from the heart of the day revision
CS8251_QB_answers.pdf
Programming In C- (1)jhgjhgjhgjhghj.docx

More from Kamesh Mtec (10)

PDF
Water level indicator abstract
PDF
Voltage doubler
PDF
Over voltage abstract
PDF
Letter box abstract
PDF
Cell abstract
PDF
11.automatic water tap control abstract
PDF
4.fire detector abstract
PDF
3.automatic street light abstract
PDF
2.pir based abstract
PDF
Project titles 2015 16
Water level indicator abstract
Voltage doubler
Over voltage abstract
Letter box abstract
Cell abstract
11.automatic water tap control abstract
4.fire detector abstract
3.automatic street light abstract
2.pir based abstract
Project titles 2015 16

Recently uploaded (20)

PPTX
Presentation on Janskhiya sthirata kosh.
PPTX
Open Quiz Monsoon Mind Game Final Set.pptx
PPTX
Strengthening open access through collaboration: building connections with OP...
PPTX
Information Texts_Infographic on Forgetting Curve.pptx
PPTX
UNDER FIVE CLINICS OR WELL BABY CLINICS.pptx
PDF
Electrolyte Disturbances and Fluid Management A clinical and physiological ap...
PDF
LDMMIA Reiki Yoga Workshop 15 MidTerm Review
PDF
UTS Health Student Promotional Representative_Position Description.pdf
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PPTX
Skill Development Program For Physiotherapy Students by SRY.pptx
PDF
Module 3: Health Systems Tutorial Slides S2 2025
PDF
Sunset Boulevard Student Revision Booklet
PPTX
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
PPTX
ACUTE NASOPHARYNGITIS. pptx
PPTX
How to Manage Bill Control Policy in Odoo 18
PPTX
PPTs-The Rise of Empiresghhhhhhhh (1).pptx
PPTX
Cardiovascular Pharmacology for pharmacy students.pptx
PDF
Phylum Arthropoda: Characteristics and Classification, Entomology Lecture
PPTX
Nursing Management of Patients with Disorders of Ear, Nose, and Throat (ENT) ...
PPTX
Open Quiz Monsoon Mind Game Prelims.pptx
Presentation on Janskhiya sthirata kosh.
Open Quiz Monsoon Mind Game Final Set.pptx
Strengthening open access through collaboration: building connections with OP...
Information Texts_Infographic on Forgetting Curve.pptx
UNDER FIVE CLINICS OR WELL BABY CLINICS.pptx
Electrolyte Disturbances and Fluid Management A clinical and physiological ap...
LDMMIA Reiki Yoga Workshop 15 MidTerm Review
UTS Health Student Promotional Representative_Position Description.pdf
Week 4 Term 3 Study Techniques revisited.pptx
Skill Development Program For Physiotherapy Students by SRY.pptx
Module 3: Health Systems Tutorial Slides S2 2025
Sunset Boulevard Student Revision Booklet
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
ACUTE NASOPHARYNGITIS. pptx
How to Manage Bill Control Policy in Odoo 18
PPTs-The Rise of Empiresghhhhhhhh (1).pptx
Cardiovascular Pharmacology for pharmacy students.pptx
Phylum Arthropoda: Characteristics and Classification, Entomology Lecture
Nursing Management of Patients with Disorders of Ear, Nose, and Throat (ENT) ...
Open Quiz Monsoon Mind Game Prelims.pptx

Embedded c program and programming structure for beginners

  • 1. Basics of Embedded C Program and Programming Structure for Beginners BY G.KAMESHWARAN.B.E.M.Tech.MISTE. FOTRONICHS,VELLORE 9791899533
  • 2. Embedded C Programming is the soul of the processor functioning inside each and every embedded system we come across in our daily life, such as mobile phone, washing machine, and digital camera. G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 2
  • 3.  Each processor is associated with an embedded software.  The first and foremost thing is the embedded software that decides functioning of the embedded system.  Embedded C language is most frequently used to program the microcontroller. G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 3
  • 4.  Earlier, many embedded applications were developed using assembly level programming. However, they did not provide portability.  This disadvantage was overcome by the advent of various high level languages like C, Pascal, and COBOL. However, it was the C language that got extensive acceptance for embedded systems, and it continues to do so.  The C code written is more reliable, scalable, and portable; and in fact, much easier to understand. G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 4
  • 5. About C Language •C language was developed by Dennis Ritchie in 1969. •It is a collection of one or more functions, and every function is a collection of statements performing a specific task. •C language is a middle-level language as it supports high-level applications and low-level applications. •Before going into the details of embedded C programming, we should know about RAM memory organization. G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 5
  • 6. ∗ Salient features of the language  C language is a software designed with different keywords, data types, variables, constants, etc.  Embedded C is a generic term given to a programming language written in C, which is associated with a particular hardware architecture.  Embedded C is an extension to the C language with some additional header files. These header files may change from controller to controller.  The microcontroller 8051 #include<reg51.h> is used. ∗ The embedded system designers must know about the hardware architecture to write programs. These programs play prominent role in monitoring and controlling external devices. They also directly operate and use the internal architecture of the microcontroller, such as interrupt handling, timers, serial communication and other available features. G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 6
  • 8. Data typesData types The data type refers to an extensive system for declaring variables of different types like integer, character, float, etc. The embedded C software uses four data types that are used to store data in the memory. The ‘char’ is used to store any single character; ‘int’ is used to store integer value, and ‘float’ is used to store any precision floating point value. The size and range of different data types on a 32-bit machine is given in the following table. The size and range may vary on machines with different word sizes. The basic additional features of the embedded software G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 8
  • 10. KeywordsKeywords There are certain words that are reserved for doing specific tasks. These words are known as keywords. They are standard and predefined in the Embedded C. Keywords are always written in lowercase. These keywords must be defined before writing the main program. The basic keywords of an embedded software are given below: G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 10
  • 12. ∗ sbit: This data type is used in case of accessing a single bit of SFR register. ∗ Syntax: sbit variable name = SFR bit ; ∗ Ex: sbit a=P2^1; ∗ Explanation: If we assign p2.1 as ‘a’ variable, then we can use ‘a’ instead of p2.1 anywhere in the program, which reduces the complexity of the program. ∗ Bit: This data type is used for accessing the bit addressable memory of RAM (20h-2fh). ∗ Syntax: bit variable name; ∗ Ex: bit c; ∗ Explanation: It is a bit sequence setting in a small data area that is used by a program to remember something. G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 12
  • 13. ∗ SFR: This data type is used for accessing a SFR register by another name. All the SFR registers must be declared with capital letters. ∗ Syntax: SFR variable name = SFR address of SFR register; ∗ Ex: SFR port0=0x80; ∗ Explanation: If we assign 0x80 as ‘port0’, then we can use 0x80 instead of port0 anywhere in the program, which reduces the complexity of the program. G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 13
  • 14. SFR Register:SFR Register: ∗The SFR stands for ‘Special Function Register’. Microcontroller 8051 has 256 bytes of RAM memory. ∗This RAM is divided into two parts: the first part of 128 bytes is used for data storage, and the other of 128 bytes is used for SFR registers. ∗All peripheral devices like I/O ports, timers and counters are stored in the SFR register, and each element has a unique address. G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 14
  • 15. ∗ The Structure of an Embedded C Program ∗ comments ∗ preprocessor directives ∗ global variables ∗ main() function ∗ { ∗ local variables ∗ statements ∗ ………….. ∗ ………….. ∗ } ∗ fun(1) ∗ { ∗ local variables ∗ statements ∗ ………….. ∗ ………….. ∗ } G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 15
  • 16. Comments: ∗In embedded C programming language, we can place comments in our code which helps the reader to understand the code easily. C=a+b; /* add two variables whose value is stored in another variable C*/ Preprocessor directives:Preprocessor directives: ∗All the functions of the embedded C software are included in the preprocessor library like “#includes<reg51.h>, #defines”. These functions are executed at the time of running the program. G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 16
  • 17. Global variableGlobal variable ∗A global variable is a variable that is declared before the main function, and can be accessed on any function in the program. G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 17
  • 18. Local variableLocal variable ∗A local variable is a variable declared within a function, and it is valid only to be used within that function. G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 18
  • 19. Main () functionMain () function ∗The execution of a program starts with the main function. Every program uses only one main () function. Advantages of embedded C programAdvantages of embedded C program ∗Its takes less time to develop application program. ∗It reduces complexity of the program. ∗It is easy to verify and understand. ∗It is portable in nature from one controller to another. G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 19
  • 20. ∗ Examples of a few Embedded C Programs ∗ The following are a few simple Embedded C programs used for microcontroller-based projects. G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 20
  • 25.  We hope that we have been successful in providing an easy and approachable way for the beginners of Embedded C programming.  Better understanding of the Embedded C programming is the most essential prerequisite for designing embedded based projects.  In addition to this, a better understanding and proper knowledge about embedded C programming help students immensely in the selection of a rewarding career.  We encourage and welcome queries, suggestions and comments from our readers.  Therefore, you can post your queries and feedback about this article in the comments section given below. Follow the below link for: [email protected], www,fotronichs.com G.KAMESHWARAN.B.E,M.Tech,MISTE www.fotronichs.com 25