Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add Microcontrollers and the C Programming Language to your Wishlist.

Add to Wishlist

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 (285 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,255 students enrolled
Created by Mark M. Budnik
Last updated 12/2016
$10 $30 67% off
3 days left at this price!
30-Day Money-Back Guarantee
  • 1.5 hours on-demand video
  • 2 Articles
  • 58 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?

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.

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.
Students Who Viewed This Course Also Viewed
What Will I Learn?
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)
View Curriculum
  • Information about the laboratory kit and the instructions for downloading the software will be provided in Section 1.
Curriculum For This Course
Expand All 113 Lectures Collapse All 113 Lectures 31:54:50
How Do I Get Started?
10 Lectures 16:43

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.

Preview 02:28

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

Preview 04:00

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

Preview 01:37

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

Preview 01:54

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

Preview 02:02

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

Preview 02:34

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

Preview 00:47

Summary of the Let's Get Started section.

Preview 01:21

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

Getting Started
4 questions
Binary Numbers and Digital Logic
11 Lectures 04:47

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.

Preview 02:02

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

Preview 01:51

Summary of the Binary Numbers and Digital Logic section.

Preview 00:54

Quiz: Binary Numbers and Digital Logic
7 questions
What's Inside of a Microcontroller
5 Lectures 20:50

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

Preview 04:48

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

Preview 07:26

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

Preview 05:54

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

Preview 01:51

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

Preview 00:51

Quiz: What's Inside of a Microcontroller?
6 questions
Loops in the C Programming Language
13 Lectures 08:32

Students will write programs using FOR loops.

ACTION: What Is a FOR Loop?

Students will write programs using FOR loops.
DOWNLOAD: FOR Loops Lab Manual
25 pages

Students will be able to read a flow chart.

What Is a Flow Chart?

Students will be able to read a flow chart.
DOWNLOAD: Flowchart Lab Manual
3 pages

Students will write programs with WHILE loops.

ACTION: What Is a WHILE Loop?

Students will write programs with WHILE loops.
DOWNLOAD: WHILE Loops Lab Manual
10 pages

DOWNLOAD: What Are the Different C Variable Types?
21 pages

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

Loops Wrap up

Quiz: Loops in the C Programming Language
5 questions

Students will write programs with nested loops.

BONUS: What Are Nested Loops?

Students will write programs with nested loops.

BONUS DOWNLOAD: Nested Loops Lab Manual
9 pages

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?
Digital Inputs, the P1.1 Button, and the IF Statement
12 Lectures 08:05
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
Introduction to Timer Peripherals
3 Lectures 07:11
What Is a Timer?

What Can Timers Count?

Introduction to Timers Wrap Up

Quiz: Introduction to Timers
2 questions
Introduction to the Watchdog Timer Peripheral
4 Lectures 04:34
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
Introduction to the General Purpose Timer
6 Lectures 02:23
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
Advanced Features of General Purpose Timers
2 Lectures 01:25
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
Using Functions to Improve Your Microcontroller Program
2 Lectures 03:44
ACTION: How Do Functions Improve Your Program?

DOWNLOAD: What Is a Function?
48 pages

Quiz: Functions
5 questions
8 More Sections
About the Instructor
4.2 Average rating
284 Reviews
2,255 Students
1 Course
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.

Report Abuse