You are on page 1of 5


Aurora’s Scientific Technological and Research Academy

This subject introduces students to procedural programming in the C programming
language. Students analyse and develop programs that could run in an embedded environment
(which may not necessarily support an operating system). In addition, structured analysis and
design techniques are introduced and developed.
Embedded C, even if it’s similar to C, and embedded languages in general requires a
different kind of thought process to use. Embedded systems, like cameras or TV boxes, are
simple computers that are designed to perform a single specific task. They are also designed to
be efficient and cheap when performing their task. For example, they aren’t supposed to use a lot
of power to operate and they are supposed to be as cheap as possible. As an embedded system
programmer, you will have simple hardware to work with. You will have very little RAM, ROM
and very little processing power and stack space. Your goal is to write programs that are able to
leverage this limited processing power for maximum effect. As an ordinary C programmer, you
don’t have as many constraints.
The reason why most embedded systems use Embedded C as a programming language is
because Embedded C lies somewhere between being a high level language and a low level
language. Embedded C, unlike low level assembly languages, is portable. It can run on a wide
variety of processors, regardless of their architecture. Unlike high level languages, Embedded C
requires less resources to run and isn’t as complex. Some experts estimate that C is 20% more
efficient than a modern language like C++. Another advantage of Embedded C is that it is
comparatively easy to debug.
Subject objectives
Upon successful completion of this subject students should be able to:
1. Exhibit a high standard of competency as programmers in the C programming language.
2. Identify and describe thoroughly the use and workings of programming tools (such as
compilers, linkers and debuggers).
3. Use library and operating system functions to support program execution.
4. Systematically develop and test multi-file programs of a reasonable complexity.
This subject also contributes specifically to the development of the following course intended
learning outcomes:

Identify, interpret and analyse stakeholder needs
Identify and apply relevant problem solving methodologies
Design components, systems and/or processes to meet required specifications
Apply decision making methodologies to evaluate solutions for efficiency, effectiveness and

The external interface of the Standard 8051. Which programming language should you use. Conclusions UNIT – III: Adding Structure to the Code Introduction. Conclusions Introducing the 8051 Microcontroller Family Introduction. Conclusions UNIT – IV: Meeting Real-Time Constraints Introduction. Example: Restructuring the goat-counting example. The need for ‘timeout’ mechanisms.H). Example: Reading and writing bits (simple version). Example: Testing loop timeouts. Which operating system should you use. Example: Reading and writing bytes. Pont. Example: Generating a precise 50 ms delay. The need for pull-up resistors. Example: Creating a portable hardware delay. Embedded C . Power consumption . Creating loop timeouts. Example: Counting goats. Conclusions TEXT BOOKS: 1. Example: Restructuring the ‘Hello Embedded World’ example. I/O pins. How do you develop embedded software.Michael J. Example: Testing a hardware timeout. Object-oriented programming with C. 2008 REFERENCE BOOKS: 1. The software architecture. Creating ‘hardware delays’ using Timer 0 and Timer 1. Example: Reading and writing bits (generic version).Nigel Gardner. The Microchip PIC in CCS C . The Port Header (PORT. Memory issues. Interrupts. Creating hardware timeouts.Clock frequency and performance. Timers. Pearson Education. What is an embedded system. PICmicro MCU C-An introduction to programming. Example: A more reliable switch interface. The Project Header (MAIN. Why not use Timer 2?. running the program.EMBEDDED C  Aurora’s Scientific Technological and Research Academy Implement and test solutions Teaching and learning strategies SYLLABUS UNIT – I: Programming Embedded Systems in C Introduction. Dealing with switch bounce. .H). Further examples. 2nd Ed. Reset requirements . Key software components used in this example. Example: Reading switch inputs (basic code).. Conclusions UNIT – V: Case Study: Intruder Alarm System Introduction.Conclusions UNIT – II: Reading Switches Introduction. Which processor should you use. What’s in a name. the software. Basic techniques for reading from port pins. Serial interface.

Books Referred UNIT – I : Introduction to cellular mobile radio systems 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Introduction Overview of the subject. N o Topics as per JNTU Syllabus Modules /Sub-modules Lectur e No. present trends History Efficiency considerations Limitation of conventional mobile systems L1 T1-Ch1 Pg 1 – 7 L2 Remarks . Session Plan Discussion.EMBEDDED C Aurora’s Scientific Technological and Research Academy SESSION PLAN S.

EMBEDDED C S. N o 15 16 17 18 18 19 20 21 22 23 24 25 26 27 28 Topics as per JNTU Syllabus Aurora’s Scientific Technological and Research Academy Modules /Sub-modules Lectur e No. Books Referred Remarks .

Books Referred Remarks . N o 29 30 31 32 33 34 35 36 37 Topics as per JNTU Syllabus Aurora’s Scientific Technological and Research Academy Modules /Sub-modules Lectur e No.EMBEDDED C S.