我用单片机IO口加上拉电阻,控制uln2803,驱动继电器,能够正常工作,但就是刚上电时,继电器闪烁

比如,P1.1口初始置低,继电器本不该吸合,但刚上电时会吸合,然后又断开,请问是怎么回事?

     51上电复位再运行需要的时间远大于硬件运行时间,由于上拉电阻的存在uln2003这时已经被触发了,等51程序把电平拉下来黄花菜都凉了。下面的电路可以解决,不需要加非门。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-07
单片机复位以后所有状态都是高电平但是还没有执行你的程序,执行你的程序把端口置低了,所以就有了一次闪烁 ,这是你没考虑51单片机复位后各端口初始状态的问题,建议使用低电平驱动追问

我也感觉是程序运行前,IO口复位暂时拉高的原因,请问有什么好办法解决吗?或者有没有低有效的达林顿管呢?

追答

这样接就OK了

追问

我原来就是这种电路,还加光耦隔离,但光耦老是价格不稳,所以想换个便宜的东西用,不过还是谢谢你

本回答被网友采纳
第2个回答  2012-06-07
在上电时,由于上拉电阻的作用导致继电器动作的。改成下拉电阻试试。追问

下拉肯定不行啊,我不加上拉电阻,单片机单独是无法驱动ULN2803的,不管输出高低,最后都变成低了,所以才加的上拉电阻

第3个回答  2012-06-12
你用哪款单片机?连1mA的驱动能力都没有?追问

我用的是STC10F08XE

追答

加下拉,然后在电位引脚复位之后选择强上拉输出不行吗?

相似回答