33个单片机I/O接口电路
1、可靠的逻辑高电平I/O电路(输入)
微控制器I/O端口线能承受的最大电压不超过5V(不同微控制器有所区别),否则有可能烧坏I/O端口。本电路中,即使使用较大的电源电压,分压网络也会送一个安全的(5V)逻辑电平给I/O端口。
2、基本输入开关网络(输入)
A.低电平有效网络:如果P0端口是0,则开关闭合;
B.高电平有效网络:如果P0端口是1,则开关闭合;
C.高电平有效网络:如果P0端口是1,则开关闭合;
D.低电平有效网络:如果P0端口是0,则开关闭合;
3、开关防抖和延时电路(输入)
本电路有两方面用途:用做开关防抖,可消除由于抖动造成错误的高/低状态输入;用作延时,当开关按下后,控制器还可以兼顾到其它任务,555构成单稳态触发器,RC时间常数决定了延时时间。
4、输入电压调节电路(输入)
如果某较高电压源产生的开关信号超过了微控制器的安全电压,微控制器可以通过稳压二极管将电压稳定在安全范围内。本电路使用的是5.1V的稳压二极管。
5、低电平触发电路(输入)
微控制器无法将一些很微弱的电压信号当做高电平直接接收,利用本电路则可检测这些微弱的电压信号。电路使用了一个比较器,其参考电压可由上面的分压公式计算。
6、光线开关检测电路(输入)
无光照时,R1的电阻很大,使得P0处电位值接近零,微控制器将其当做逻辑0接收;有光照时,R1电阻下降,且P0电压升高(逻辑1)。可用作灵敏度检验。
7、光照检测电路(输入)
光照检测电路使用了光电晶体管,当有光线时,晶体管中产生电流,这个装置可用来检测光敏度。采用施密特触发器,可消除由于振荡产生的错误输入信号。
8、太阳能电源电路(电源)
本电路采用太阳能电池给微控制器供电,每块电池接受太阳光照产生0.5V电压,串联16快可获得8V电压,经7805调压器进行降压和稳压,电容器用来消除电源耦合。
9、感光检测电路(输入)
太阳能电池属于光敏元件,其产生的电压经过LM324运算放大器同相放大后,输入到微控制器,此电路通常被用于光波通信接收器。
10、数字光强检测电路(输入)
电路使用AD0831模/数转换器检测光强,转换器的参考电压为0.5V,等于一块太阳能电池的最大输出电压。AD0831是8位逐次逼近式模数转换器,只需要使用3根线与微控制器相连。片选信号(CS)低电平有效,有效时启动转换过程。DO是数据线,CLK端口每触发一次,DO端口就串行输出一位数据。转换时,CLK端口必须先触发一次,启动转换,之后每触发一次,产生一位数据。
11、霍尔效应数字传感器电路(输入)
图示为UGN3142霍尔效应数字传感器(带施密特触发器),当检测到给定的磁场强度时,输出状态发生改变,有很多不同种类的霍尔效应传感器,一些是线性的(输出电压与磁场呈线性关系),另一些具有类似触发器的特征(必须用相反磁场来切换回原态)。
12、测温电路(输入)
电路使用AD0831模/数转换器检测光强,将热敏电阻分压器送来的输入电压转换成一组二进制数据流。温度改变时,热敏电阻的阻值改变。片选信号CS低电平有效,有效时启动转换过程,DO是数据线,CLK端口每触发一次,DO端口就串行的输出一位数据,转换时,CLK端口必须先触发一次,启动转换,之后每触发一次,产生一位数据。
13、温度切换电路(输入)
此电路采用LM324温度传感器,图中由变阻器为比较器提供参考电压,经过校准,当LM324达到预设电压/温度值时,可切换状态。
14、温度测量电路(输入)
此处采用A/D转换将LM324送来的电压转换成数字量,然后由微控制器以预定的速率采样。
15、声控开关检测电路(输入)
此电路采用LM324比较器集成电路,连接到动圈式麦克风或扬声器上。通过设置,当达到所需声音电平(由变阻器决定),输出突变,送出高电平到微控制器。
16、最大吸收\释放电流(输出)
典型的微控制器I/O端口线单个能吸收和释放的电流值仅约20毫安(不同微控制器有所区别),如下图所示,该电流足够驱动一个普通的LED。当P0端口为低电平时,上方的LED被点亮(电流穿过微控制器流入大地)。当P0端口为高电平时,下方的LED被点亮(电流从微控制器的P1端口流出,经过LED和电阻,流入大地)。
17、扩大输出吸收能力(输出)
单个典型的微控制器I/O端口线在正常情况下,只能承受约20毫安电流(不同微控制器有所区别),该电流值足以驱动一个普通的LED,但是当驱动一个红外LED时,需要的是100毫安甚至更大的电流,本电路利用一个反向缓冲器处理大的吸收电流,当通过P0端口将它的输入设为高电平时,它的输出变为低电平,电流就会通过它流入大地,另外,也可以使用集电极开路输出的74HC05反相缓冲器,将多路输出连接在一起。
18、双极驱动器电路(输出)
双极晶体管常用来接通或者断开负载,在左边的电路中,当P0端口为高电平时,NPN型晶体管导通-C和E极间为低阻状态。在右边的电路中,当P0端口为低电平时,PNP晶体管导通,微控制器I/O端口可以给双极晶体管提供足够的基极电流。选择晶体管时,要注意电压/电流等级是否与负载匹配。
19、MOS场效应管驱动器(输出)
MOS场效应管的导通电阻值(毫欧级)要远小于双极晶体管的导通电阻(10~100倍的毫欧),这意味着MOS场效应管驱动器的压降小,可以承受更大的电流。此外,它具有高输入阻抗,几乎不从微控制器的I/O吸收电流。有些MOS场效应管可以承受60安培甚至更大的电流。而左边的电路中,P0端口为高电平时,N沟道场效应管导通;而在右边的电路中,P0口为低电平时,P沟道的MOS场效应管导通。可以使用分离负载,在电路中有感性负载时,尤其值得推荐。
20、专用闪光电路(输出)
通过编程可以实现灯和LED的闪烁,但是它会占用微控制器的时间和代码存储空间。所以可以选择图示的专用555闪光电路。555可以被设定在一个稳定模式,控制灯按某个频率闪烁,这个频率由变阻器设定。当P0端口为低电平时,闪光器不工作。
21、负载驱动(输出)
由低直流电压控制动作的固态继电器,可被用来接通知和切断120V的交流负载,除了本图所示的类型外,还有许多其它类型的、不同构造的固态继电器,大多数都使用内置光隔离电路,将数字边与高压边隔离开。下图中,P0端口为高电平时,正逻辑继电器接通。
22、螺线管驱动(输出)
螺线管电磁装置由螺线管(缠绕着磁芯的线圈)和一块可移动的铁或铜块组成。当线圈内有电流时,螺线管被磁化,吸引衔铁朝它移动。这种装置可用做机械开关,液压和气压螺旋管。阀门就是利用螺线管控制阀门的开启和闭合。本电路中,使用了MOSFET驱动,74HC07缓冲器(用来保护控制器和扩大电路的驱动力)为螺线管供电。二极管可以消除瞬变电压。P0端口为高电平时,MOSFET导通,螺线管激活。
23、120V交流螺线管驱动(输出)
由低直流电压控制动作的固态继电器,可用来被接通和切断120V的交流负载。除了本图所示的类型外,还有许多其它类型的、不同构造的固态继电器,大多数都使用内置光隔离电路,将数字边与高压边隔离开。下图中,P0端口为高电平时,正逻辑继电器接通。
24、继电气控制(低电流)(输出)
当P0端口为高电平时,双极型NPN晶体管导通,电流流过继电器线圈,继电器发生动作。二极管可消除继电器线圈动作时产生的高压感应尖峰。
25、继电气控制(大电流)(输出)
在应用大电流时,比如一个12V的继电器,MOSFET晶体管要比双极性晶体管更适合,本图中,微控制器通过74HC07缓冲器驱动N沟道MOSFET。二极管用来消除继电器线圈动作时产生的高压感应尖峰,P0端口为高电平时,MOSFET导通,继电器动作。
26、直流电机控制(输出)
P0端口为高电平时,MOSFET导通,使电流流过电机。缓冲器和二极管起到保护微控制器的作用,可消除电机产生瞬变感应尖峰。通过脉宽调制PWM可控制电机的速度。100%占空比,50%占空比和25%占空比的波形,还有加速状态的波形,均在图中给出。
27、电机转向控制(输出)
由MOSFET组成的H型桥式电路可提供直流电机的正转和反转控制,H桥形式电路可采取内置的动力制动行为,更有效的控制电机。为了使电机固定在同一转向,需将P0端口设为低电平,P1端口设为高低平。可用光隔离器取代缓冲器74HC07,达到更好的电气隔离效果,将电路中的电机部分隔离开。
28、基本的伺服控制器(输出)
本图中,使用控制器控制一个电流值相对较小的伺服控制器,P0端口发送控制信息,间隔10毫秒,持续1毫秒的脉冲流,可驱动伺服器的轴转向极限。持续2毫秒的控制脉冲(间隔同前)可驱使伺服器的轴转向相反的极限方向。介于两者之间的任意持续时间,可驱动转轴转向介于两个极限方向之间的任意方向。当脉冲消失后,伺服器回到原位。
29、带有555定时器的优化伺服控制器(输出)
伺服器需要接收连续的、速度为10毫秒的脉冲来保持转轴的位置。脉冲的持续时间决定了转轴的位置。通常情况下,1毫秒和2毫秒分别使转轴达到两个极限位置。前面介绍的电路使用微控制器产生脉冲流,但是这样会占用处理器的时间,如果微处理器正在处理其他任务,伺服器的动作就无法被顾及到,采用专用555定时器产生脉冲可以优化电路,变阻器可用来设置脉冲的持续时间。
30、步进电机控制(输出)
图示电路中,微控制器通过集电极开路TTL驱动集成电路,控制一台12V的步进电机。图中列出了旋转电机的步进顺序。除本电路外,不少新型的步进电机驱动电路都带有许多必要的附属配件。
31、扩音器音量驱动(输出)
本电路使用555作为音频振荡发生器。P0端口送一个高电平给555的引脚4(复位端),555会产生一串脉冲,频率由RC电路决定。P0端口仅用作使能端,以便控制器可完成其他任务。数字变阻器可用来控制音调的高低。
32、4线8输出(输出)
本电路使用3-8线的74HCT138译码器。它由A0、A1、A2三根地址线选择输出端,其中A0是最低有效位,。E1端必须被置为高电平,以便译码器工作。例如,当地址端为010时,输出端2为低电平,E1端每触发一次,输出端2跟着变动一次状态(相反的状态)。因此,通过设定正确的地址,可以将串行数据从任意期望的端口输出。
33、数控增益电路(输出)
本图中,微控制器通过数字变阻器控制运算放大器的增益。