这个过程产生的直接原因不是104电容的问题,而是该单片机IO驱动能力的问题。
STC单片机IO口在默认情况下是标准弱上拉准双向口,高电平驱动能力只有几十微安,很明显这样的高电平再通过你的一个10K三极管基极电阻后是完全不能使三极管处于导通状态的,即不能驱动继电器。这就是你的第一种情况继电器不吸合的原因。
加了上拉电阻后,明显增强了IO口输出1的驱动能力,所以此时输出1时电流已经可以使三极管导通,所以继电器会吸合。这与有没有接104电容影响不大。该电容完全可以去掉。另外,增强型STC单片机可以通过设置IO为推挽模式输出来增强其输出能力,这样就可以不用接上拉电阻了。
最后,为什么明明上电后程序将输出置0继电器还是会动作呢?这是你忽略了STC单片机在上电后并不是马上执行用户程序,而是会有几十ms时间在执行ISP下载检测程序【这就会为什么下载程序需要断电再上电的原因】,在这个过程中,IO脚是输出高电平的,因此继电器会吸合,直到执行用户程序。解决方法应该就很清楚了,不要使用高电平驱动的威廉希尔官方网站
,改为低电平驱动的威廉希尔官方网站
即可。个人觉得你的驱动威廉希尔官方网站
实在太繁琐,其实改为低电平控制后直接一个光耦就可以了,什么三极管都不用。
这个过程产生的直接原因不是104电容的问题,而是该单片机IO驱动能力的问题。
STC单片机IO口在默认情况下是标准弱上拉准双向口,高电平驱动能力只有几十微安,很明显这样的高电平再通过你的一个10K三极管基极电阻后是完全不能使三极管处于导通状态的,即不能驱动继电器。这就是你的第一种情况继电器不吸合的原因。
加了上拉电阻后,明显增强了IO口输出1的驱动能力,所以此时输出1时电流已经可以使三极管导通,所以继电器会吸合。这与有没有接104电容影响不大。该电容完全可以去掉。另外,增强型STC单片机可以通过设置IO为推挽模式输出来增强其输出能力,这样就可以不用接上拉电阻了。
最后,为什么明明上电后程序将输出置0继电器还是会动作呢?这是你忽略了STC单片机在上电后并不是马上执行用户程序,而是会有几十ms时间在执行ISP下载检测程序【这就会为什么下载程序需要断电再上电的原因】,在这个过程中,IO脚是输出高电平的,因此继电器会吸合,直到执行用户程序。解决方法应该就很清楚了,不要使用高电平驱动的威廉希尔官方网站
,改为低电平驱动的威廉希尔官方网站
即可。个人觉得你的驱动威廉希尔官方网站
实在太繁琐,其实改为低电平控制后直接一个光耦就可以了,什么三极管都不用。
举报