1.典型晶体管控制电路
STC15W4K32S4单片机的I/O口引脚本身的驱动能力有限,如果需要驱动较大功率的器件,不能用I/O口线直接驱动大功率器件,而需要在引脚外部连接驱动电路进行输出驱动。如图2-14所示是常用的晶体管驱动方法,晶体管可选用9013或8050。若I/O口使用上拉驱动,可以接入电阻R1,阻值一般为3~10kΩ。如果不采用上拉驱动,建议限流电阻R2的阻值要大一些,或采用推挽输出模式驱动。
图2-14 晶体管驱动电路
2.典型发光二极管驱动电路
采用准双向口模式的内部上拉驱动时,以灌电流方式驱动发光二极管,如图2-15a所示。采用推挽输出驱动时,可以使用拉电流的方式驱动LED,如图2-15b所示。
在实际应用中,应尽量采用灌电流驱动方式,这样可以提高系统的负载能力和可靠性。特别要求供电线路比较简单时,才会采取拉电流驱动方式。
用I/O设计矩阵键盘扫描电路,每个I/O引脚均要加限流电阻。因为按键按下时,交叉的两个I/O瞬间短接在一起,若此时两个I/O口均输出低电平,而CMOS电路的两个输出引脚不能直接短接在一起。在按键扫描电路中,一个I/O口线为了读另一个口线的状态,必须先置“1”,才能读另一个引脚的状态。而单片机的弱上拉模式,在“0”变“1”电平时,会有两个时钟的强推挽输出电流,输出到另一个输出低电平的I/O口,这样有可能会造成I/O口损坏。因此,在按键扫描电路中,两侧应各串接一个限流电阻,在软件编程处理方面,不要出现按键两端的I/O口同时为低电平的情况。
图2-15 发光二极管驱动电路
a)灌电流驱动 b)拉电流驱动
3.混合电压供电互连方法
STC15单片机的典型工作电压为5V,也有的为3.3V。当5V单片机与3.3V低压器件连接时,为了防止低压器件承受不了5V电压,可将5V器件的I/O口设置成开漏配置,断开内部上拉电阻,并串接一个330Ω限流电阻与低压器件的I/O口相连接;在低压器件的I/O口上加一个10kΩ上拉电阻到3.3V电源,如图2-16所示。这样高电平时为3.3V,低电平时为0V,可以保证正常的输入、输出。
图2-16 5V器件与3.3V器件的I/O口互连电路(www.xing528.com)
4.上电复位时输出控制
STC单片机上电复位时,所有I/O口为弱上拉高电平输出。而在很多实际应用中,要求上电时某些端口应输出低电平,否则系统会误动作(例如,控制对象为电动机时,就可能发生电动机误动作)。为了解决这个问题,有以下3种解决办法:
1)通过硬件实现高、低电平的逻辑反转功能。如图2-14所示,在单片机复位后,端口输出高电平致VT1导通,使晶体管集电极输出低电平,实现了高、低电平转换。
2)STC单片机既有弱上拉输出模式,也有强推挽输出模式,可在单片机I/O口上串接一个下拉电阻,阻值选用1kΩ、2kΩ或3kΩ,如图2-17所示。此时,当单片机上电复位时,从I/O口输出高电平,由于内部连接是弱上拉方式,上拉能力有限;而外部下拉电阻较小,无法在I/O口输出高电平。因此,上电复位后,在该I/O口线上输出低电平。
3)设计接口电路采用I/O口输出低电平有效触发控制对象。如图2-18所示,单片机复位后,I/O口输出高电平,使VT1晶体管截止,集电极输出高电平,不会导致误动作。只有当程序控制I/O口输出低电平时,控制对象才会有效动作。
图2-17 下拉电阻方式控制输出低电平
图2-18 晶体管方式控制输出低电平
5.PWM输出状态控制
PWM是输出信号频率不变、脉冲宽度可调节的信号输出。当I/O口用作PWM时,需要使用强推挽或外部接强上拉输出,该I/O口的状态变化见表2-9。
表2-9 PWM应用时I/O口状态
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。