BIVBlog #49: Schmitt Triggers, and Analog Voltages on Microcontroller Digital Input Pins

While digital inputs on microcontrollers are meant to be fed digital input signals, what will actually happen if we feed them a real world input voltage? And what is a Schmitt Trigger, and what is it good for anyway?

No, you’re not supposed to feed analog data to a digital input, but yes, real world input is always somewhat analog. So whenever we have to deal with any noisy kind of input, then we need to be aware of these phenomena and how microcontrollers deal with them (or possibly don’t, as in the case of the PIC16F887).

And one more thing: The difference between the upper and lower thresholds of a Schmitt Trigger is called hysteresis, not “hysteric”.

Table of Contents

00:00:25 Don’t do this at home—or in an undergraduate hardware lab…
00:01:15 The setup
00:02:05 Cranking up the voltage
00:03:55 Lowering the voltage again
00:05:00 One vs. two threshold voltages
00:06:45 Why this? The concept of Schmitt Triggers
00:08:50 What’s wrong with the PIC 16F887?
00:11:50 What are the threshold values?
00:12:35 Matching input voltages to the thresholds


bivblog48-basic-input-20161209-133700.tar.gz: The source code for the microcontroller programs I used, from the previous episode 48.
EEVBlog #941: Dave Jones’ Schmitt Trigger tutorial


Long term IPv6 evangelist/book author/trainer/consultant and generic Unix guy (*BSD, Linux, Solaris, and about a dozen more).

Leave a Reply

Your email address will not be published.