Microcontrollers and the C Programming Language

Create C programs for a microcontroller using inputs/outputs, timers, analog-to-digital converters, comm ports, and LCD.
4.2 (268 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
2,173 students enrolled Bestselling in C
50% off
Take This Course
  • Lectures 113
  • Length 32 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 9/2015 English

Course Description

The course is laboratory based. Almost every lecture and section of the course leads directly to a hands-on laboratory assignment. The more practice you get using the “real world" Texas Instruments hardware and software the more proficient you will be.

The course does not waste your time. From the very beginning, we jump right in to your first laboratory assignment – Let's Get Started.

The course is modular in nature. Are you new to the world of microcontrollers? Great! Start at the beginning, and we'll teach you everything you need to know. Do you have some background in microcontrollers but want to learn more? Fantastic! You can pick and choose the modules that you need.

The course is packed with information. From the beginnings of the C programming language to advanced microcontroller peripherals, the course teaches you all of the building blocks you would need to build your own electronic systems.

We use lots and lots of examples. We take you step-by-step through the lessons – each time providing sample code and documentation to make sure you are supported through the course.

We are here to help. We are educators with a singular focus of providing a meaningful experience for our students. And, while we cannot do the work for you, we are willing to work WITH you help you succeed.

What are the requirements?

  • Information about the laboratory kit and the instructions for downloading the software will be provided in Section 1.

What am I going to get from this course?

  • Program microcontrollers with the C programming language.
  • Use timer peripherals
  • Use communication peripherals
  • Use analog-to-digital converter peripherals
  • Use a liquid crystal display (LCD)

Who is the target audience?

  • This course is meant for individuals who are not familiar with microcontrollers and/or the C programming language.
  • For more experienced individuals, the course will also expedite the learning curve for the Texas Instruments MSP430 and Code Composer Studio integrated development environment.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: How Do I Get Started?

Introduce students to how the course will be structured and provides background on Texas Instruments's hardware and software tools we will be using in the course.


Introduces students to the the course outline and provides information on ordering the hardware laboratory kit from Texas Instruments and element14.


Students will be able to explain what a microcontroller is and what it is used for.


Students will be able to explain what an embedded system is, how they are different from traditional computers, and why they use microcontrollers.


Students will be able to explain how programs provide the step-by-step instructions microcontrollers use to complete a task.


Students will be introduced to the software development tools developers use to create programs.


Students will create their first programs, download them to their Texas Instruments Launchpad Development Kits, and watch them run.

DOWNLOAD: What Do I Need For This Course?
3 pages
DOWNLOAD: Let's Get Started Lab Manual
34 pages

Summary of the Let's Get Started section.

4 questions

This quiz will cover the material from Section 1 including developing and running your first microcontroller program.

Section 2: Binary Numbers and Digital Logic

Students will be able to use binary and hexadecimal numbers. They will learn how to use a programming calculator, and how microcontrollers store and manipulate non-decimal numbers.

DOWNLOAD: What Are Binary Numbers?
21 pages
DOWNLOAD: What Are Hexadecimal Numbers?
7 pages
DOWNLOAD: What Are Bits, Nibbles, Bytes, And Words?
3 pages
DOWNLOAD: How Can I Use The Programming Calculator?
7 pages

Students will write programs using the binary logic operators (AND, OR, NOT, and Exclusive-OR) to perform logic operations and conditions.

DOWNLOAD: What Is The AND Operator?
18 pages
DOWNLOAD: What Is The OR Operator?
10 pages
DOWNLOAD: What Is The NOT Operator?
7 pages
DOWNLOAD: What Is The XOR Operator?
8 pages

Summary of the Binary Numbers and Digital Logic section.

Quiz: Binary Numbers and Digital Logic
7 questions
Section 3: What's Inside of a Microcontroller

Students will be able to explain the functional blocks found inside of microcontrollers.


Students will be able to explain the different types of program memory, their advantages, and disadvantages that developers to consider.


Students will be able to explain the different types of data memory, their advantages, and disadvantages that developers need to consider.


Students will be able to explain the role of the peripheral functional block and how they distinguish microcontrollers from microprocessors.


A summary of the What's Inside of a Microcontroller section.

Quiz: What's Inside of a Microcontroller?
6 questions
Section 4: Loops in the C Programming Language

Students will write programs using FOR loops.

25 pages
Students will write programs using FOR loops.

Students will be able to read a flow chart.

3 pages
Students will be able to read a flow chart.

Students will write programs with WHILE loops.

10 pages
Students will write programs with WHILE loops.
DOWNLOAD: What Are the Different C Variable Types?
21 pages

Summary of FOR loops, WHILE loops, and the use of flow charts.

Quiz: Loops in the C Programming Language
5 questions

Students will write programs with nested loops.

9 pages

Students will write programs with nested loops.

BONUS DOWNLOAD: Nested Loops Challenge
3 pages
BONUS DOWNLOAD: What Are the C Shorthand Operators?
16 pages
BONUS: Are FOR Loops and WHILE Loops Really the Same Thing?
Section 5: Digital Inputs, the P1.1 Button, and the IF Statement
What Is a Digital Input?
ACTION: What Is the P1.1 Push Button?
DOWNLOAD: P1.1 Push Button Lab Manual
29 pages
ACTION: What Is the IF Statement?
DOWNLOAD: IF Statement Lab Manual
8 pages
ACTION: What Are Relational Operators?
DOWNLOAD: Relational Operators Lab Manual
8 pages
ACTION: How Do I Use More Push Buttons and LEDs?
DOWNLOAD: Using External Push Buttons and LEDs Lab Manual
24 pages
Digital Inputs Wrap Up
Quiz: Digital Inputs, Push Buttons, and the IF Statement
3 questions
11 pages
Section 6: Introduction to Timer Peripherals
What Is a Timer?
What Can Timers Count?
Introduction to Timers Wrap Up
Quiz: Introduction to Timers
2 questions
Section 7: Introduction to the Watchdog Timer Peripheral
What Is a Watchdog Timer?
ACTION: How Do I Use the Watchdog Timer?
DOWNLOAD: Watchdog Timer Peripheral Lab Manual
18 pages
Watchdog Timer Peripheral Wrap Up
Quiz: Watchdog Timer Peripheral
2 questions
Section 8: Introduction to the General Purpose Timer
ACTION: How Do I Use a General Purpose Timer?
DOWNLOAD: General Purpose Timer Lab Manual
18 pages
DOWNLOAD: Turn On the Red LED for 20s and Then Turn It Off
2 pages
DOWNLOAD: Repeatedly Turn On the LED for 3s and Then Off for 1s
3 pages
Quiz: General Purpose Timers
3 questions
BONUS: How Can I Pet the Watchdog with a General Purpose Timer?
BONUS DOWNLOAD: Petting the Watchdog with the General Purpose Timer
5 pages
Section 9: Advanced Features of General Purpose Timers
ACTION: How Do I Use Two General Purpose Timers to Count at the Same Time?
DOWNLOAD: Using Two General Purpose Timers Lab Manual
8 pages
Quiz: Advanced Features of General Purpose Timers
2 questions
Section 10: Using Functions to Improve Your Microcontroller Program
ACTION: How Do Functions Improve Your Program?
DOWNLOAD: What Is a Function?
48 pages
Quiz: Functions
5 questions
Section 11: Introduction to Interrupt Service Routines
ACTION: What Are Interrupt Service Routines?
DOWNLOAD: What Is an Interrupt Service Routine?
40 pages
DOWNLOAD: ISR Challenge 1
3 pages
DOWNLOAD: ISR Challenge 2
6 pages
Quiz: Interrupt Service Routines
3 questions
BONUS DOWNLOAD: How Do I Use Semi-Automatic Pulse Width Modulation (PWM) Mode?
13 pages
BONUS DOWNLOAD: How Do I Use Automatic PWM Mode?
9 pages
BONUS DOWNLOAD: How Do I Use One Timer to Create Multiple Frequency Outputs?
14 pages
Section 12: Introduction to Low Power Modes
What Is Low-Power Mode?
ACTION: How Do I Use Low-Power Mode?

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Mark M. Budnik, ECE Department Chair, Valparaiso University

Mark M. Budnik is the Electrical and Computer Engineering Department Chair and the Paul and Cleo Brandt Professor of Engineering at Valparaiso University. He received his bachelor of science degree in electrical engineering from the University of Illinois and his master of science and doctoral degrees in electrical engineering from Purdue University.

Prior to joining the faculty at Valparaiso University in 2006, Mark worked in the semiconductor industry, culminating as a Staff Engineer and the Director of White Goods and Motor Control at Hitachi Semiconductor. In these roles, he had a unique opportunity to work closely with a diverse customer base to identify and establish a number of best practices in embedded systems education.

In his career, he received multiple educational awards from academia and industry including ST Microelectronics, National Semiconductor, Hitachi Semiconductor, Valparaiso University, and the American Society for Engineering Education (ASEE). Most recently, Mark was an ASEE Section Outstanding Teacher of the Year and a finalist for the 2015 ASEE National Outstanding Teaching Award.

Mark is the author of more than fifty book chapters, journal articles, and conference proceedings and the recipient of five best paper/presentation awards. He is a Senior Member of the IEEE and a Fellow of the International Symposium on Quality Electronic Design.

Ready to start learning?
Take This Course