Microcontrollers and the C Programming Language (MSP430)
- Information about the laboratory kit and the instructions for downloading the software will be provided in Section 1.
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 MSP430 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.
- This course is meant for individuals who are not familiar with microcontrollers, the MSP430, 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 Is This Course All About?02:28
- Course Introduction04:00
- DOWNLOAD: What Do I Need For This Course?3 pages
- DOWNLOAD: Let's Get Started Lab Manual34 pages
- BONUS DOWNLOAD for the MSP-EXP430G2 Launchpad00:47
- Wrap Up01:21
- Getting Started4 questions
- 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
- 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
- Wrap Up00:54
- Quiz: Binary Numbers and Digital Logic7 questions
- ACTION: What Is a FOR Loop?02:23
- DOWNLOAD: FOR Loops Lab Manual25 pages
- What Is a Flow Chart?00:38
- DOWNLOAD: Flowchart Lab Manual3 pages
- ACTION: What Is a WHILE Loop?02:39
- DOWNLOAD: WHILE Loops Lab Manual10 pages
- DOWNLOAD: What Are the Different C Variable Types?21 pages
- Loops Wrap up00:56
- Quiz: Loops in the C Programming Language5 questions
- BONUS: What Are Nested Loops?00:43
- BONUS DOWNLOAD: Nested Loops Lab Manual9 pages
- BONUS DOWNLOAD: Nested Loops Challenge3 pages
- BONUS DOWNLOAD: What Are the C Shorthand Operators?16 pages
- BONUS: Are FOR Loops and WHILE Loops Really the Same Thing?01:13
- What Is a Digital Input?01:16
- ACTION: What Is the P1.1 Push Button?01:46
- DOWNLOAD: P1.1 Push Button Lab Manual29 pages
- ACTION: What Is the IF Statement?01:29
- DOWNLOAD: IF Statement Lab Manual8 pages
- ACTION: What Are Relational Operators?01:03
- DOWNLOAD: Relational Operators Lab Manual8 pages
- ACTION: How Do I Use More Push Buttons and LEDs?00:33
- DOWNLOAD: Using External Push Buttons and LEDs Lab Manual24 pages
- Digital Inputs Wrap Up01:24
- Quiz: Digital Inputs, Push Buttons, and the IF Statement3 questions
- BONUS: What Are BREAK and CONTINUE?00:34
- BONUS DOWNLOAD: BREAK and CONTINUE Lab Manual11 pages
- What Is a Timer?01:38
- What Can Timers Count?05:00
- Introduction to Timers Wrap Up00:33
- Quiz: Introduction to Timers2 questions
- What Is a Watchdog Timer?02:58
- ACTION: How Do I Use the Watchdog Timer?00:53
- DOWNLOAD: Watchdog Timer Peripheral Lab Manual18 pages
- Watchdog Timer Peripheral Wrap Up00:43
- Quiz: Watchdog Timer Peripheral2 questions
- ACTION: How Do I Use a General Purpose Timer?01:21
- DOWNLOAD: General Purpose Timer Lab Manual18 pages
- DOWNLOAD: Turn On the Red LED for 20s and Then Turn It Off2 pages
- DOWNLOAD: Repeatedly Turn On the LED for 3s and Then Off for 1s3 pages
- Quiz: General Purpose Timers3 questions
- BONUS: How Can I Pet the Watchdog with a General Purpose Timer?01:02
- BONUS DOWNLOAD: Petting the Watchdog with the General Purpose Timer5 pages
- ACTION: How Do I Use Two General Purpose Timers to Count at the Same Time?01:25
- DOWNLOAD: Using Two General Purpose Timers Lab Manual8 pages
- Quiz: Advanced Features of General Purpose Timers2 questions
- ACTION: How Do Functions Improve Your Program?03:44
- DOWNLOAD: What Is a Function?48 pages
- Quiz: Functions5 questions
Mark M. Budnik is the Paul H. 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.