Microcontroller Embedded C Programming: Absolute Beginners

*#1 Most Popular Online Course in Computer Science* You can enroll today & get certified from EasyShiksha & HawksCode

Microcontroller Embedded C Programming: Absolute Beginners Description

An embedded system is an application that contains at least one programmable computer (typically in the form of a microcontroller, a microprocessor or digital signal processor chip) and which is used by individuals who are, in the main, unaware that the system is computer-based. Use of embedded processors in passenger cars, mobile phones, medical equipment, aerospace systems and defence systems is widespread, and even everyday domestic appliances such as dishwashers, televisions, washing machines and video recorders now include at least one such device.

 This  course  provides a ‘hardware-free’ introduction to embedded software for students who:

● Already know how to write software for ‘desktop’ computer systems.

● Are familiar with a C-based language (Java, C++ or C).

● Want to learn how C is used in practical embedded systems.

Chapter 1 Programming embedded systems in C


What is an embedded system?

Which processor should you use?

Which programming language should you use?

Which operating system should you use?

How do you develop embedded software?


 Chapter 2 Introducing the 8051 microcontroller family


What’s in a name?

The external interface of the Standard 8051

 Reset requirements

Clock frequency and performance

Memory issues

I/O pins



Serial interface

Power consumption


Chapter 3 Hello Embedded World


Installing the Keil software and loading the project

Configuring the simulator

Building the target

Running the simulation

Dissecting the program

Aside: Building the hardware


Chapter 4 Reading switches


Basic techniques for reading from port pins

 Example: Reading and writing bytes

Example: Reading and writing bits (simple version)

Example: Reading and writing bits (generic version)

The need for pull-up resistors

Dealing with switch bounce

Example: Reading switch inputs (basic code)

Example: Counting goats


Chapter 5 Adding structure to your code


Object-oriented programming with C

The Project Header (MAIN.H)

The Port Header (PORT.H)

Example: Restructuring the ‘Hello Embedded World’ example

Example: Restructuring the goat-counting example

Further examples


Chapter 6 Meeting real-time constraints


Creating ‘hardware delays’ using Timer 0 and Timer 1

Example: Generating a precise 50 ms delay

Example: Creating a portable hardware delay

Why not use Timer 2?

The need for ‘timeout’ mechanisms

Creating loop timeouts

Example: Testing loop timeouts

Example: A more reliable switch interface

Creating hardware timeouts

Example: Testing a hardware timeout


Chapter 7 Creating an embedded operating system


The basis of a simple embedded OS

Introducing sEOS

Using Timer 0 or Timer 1

Is this approach portable?

Alternative system architectures

Important design considerations when using sEOS

Example: Milk pasteurization


Chapter 8 Multi-state systems and function sequences


Implementing a Multi-State (Timed) system

Example: Traffic light sequencing

Example: Animatronic dinosaur

Implementing a Multi-State (Input/Timed) system

Example: Controller for a washing machine


Chapter 9 Using the serial interface


What is RS-232?

Does RS-232 still matter?

The basic RS-232 protocol

Asynchronous data transmission and baud rates

Flow control

The software architecture

Using the on-chip UART for RS-232 communications

Memory requirements

Example: Displaying elapsed time on a PC

The Serial-Menu architecture

Example: Data acquisition

Example: Remote-control robot


Chapter 10 Case study: Intruder alarm system


The software architecture

Key software components used in this example

Running the program

The software


Chapter 11 Where do we go from here


Have we achieved our aims?

Suggestions for further study

Patterns for Time-Triggered Embedded Systems

Embedded Operating Systems


What You Need For This Course?

  • Access to Smart Phone / Computer
  • Good Internet Speed (Wifi/3G/4G)
  • Good Quality Earphones / Speakers
  • Basic Understanding of English
  • Dedication & Confidence to clear any exam

Internship Students Testimonials

Relevant Courses

easyshiksha badges
Frequently Asked Questions

Q.Is the course 100% online? Does it require any offline classes too?

The following course is fully online, and hence there is no need for any physical classroom session. The lectures and assignments can be accessed anytime and anywhere through a smart web or mobile device.

Q.When can I start the course?

Anyone can choose a preferred course and start immediately without any delay.

Q.What are the course and session timings?

As this is a purely online course program, you can choose to learn at any time of the day and for as much time as you want. Though we follow a well-established structure and schedule, we recommend a routine for you as well. But it finally depends on you, as you have to learn.

Q.What will happen when my course is over?

If you have completed the course, you would be able to have lifetime access to it for future reference too.

Q.Can I download the notes and study material?

Yes, you can access and download the content of the course for the duration. And even have lifetime access to it for any further reference.

Q. What software/tools would be needed for the course and how can I get them?

All the software/tools that you need for the course would be shared with you during the training as and when you need them.

Q. Do I get the certificate in a hard copy?

No, only a soft copy of the certificate will be awarded, which can be downloaded and printed, if required.

Q. I’m unable to make a payment. What to do now?

You can try to make the payment through a different card or account (maybe a friend or family). If the problem persists, email us at info@easyshiksha.com

Q. The payment got deducted, but the updated transaction status is showing “failed”. What to do now?

Due to some technical faults, this can happen. In such a case the amount deducted will be transferred to the bank account in the next 7-10 working days. Normally the bank takes this much time to credit the amount back into your account.

Q. The payment was successful but it still shows ‘Buy Now’ or not showing any videos on my dashboard? What should I do?

At times, there may be a slight delay in your payment reflecting on your EasyShiksha dashboard. However, if the problem is taking longer than 30 minutes, please let us know by writing to us at info@easyshiksha.com from your registered email id, and attach the screenshot of the payment receipt or transaction history. Soon after verification from the backend, we will update the payment status.

Q. What is the refund policy?

If you have enrolled, and are facing any technical problem then you can request a refund. But once the certificate has been generated, we shall not refund that.

Q.Can I just enrol in a single course?

Yes! You surely can. To begin this, just click the course of your interest and fill in the details to enrol. You are ready to learn, once the payment is made. For the same, you earn a certificate too.

My questions are not listed above. I need further help.

Please contact us at: info@easyshiksha.com

Experience the Speed: Now Available on Mobile!

Download EasyShiksha Mobile Apps from Android Play Store, Apple App Store, Amazon App Store, and Jio STB.

Curious to learn more about EasyShiksha's services or need assistance?

Our team is always here to collaborate and address all your doubts.