手把手教你纯硬件STC单片机自动下载

时间:2023-07-21

摘要:STC单片机具有方便的ISP串口程序的功能,无需购买专用的编程器;然而在反复调试程序的过程中,每次都需要冷启动就令人厌烦了,同时还缩短了开关原件的寿命;为此笔者研发了一种完全用硬件实现单片机自动冷启动的电路,实现一键程序,明显的降低了硬件成本,减小了操作难度,并且不占用单片机的串口。

1.基本原理

进行STC时,需要使用提供的STC-ISP软件;使用国产的ch340g芯片作为USB转TTL的芯片,其引脚如下图。第13和14引脚为MODEM联络信号输出引脚,受到STC-ISP软件的控制,默认为高电平,点击时变为持续的低电平,完成又变回高电平。

手把手教你纯硬件STC单片机自动

用MODEM联络信号引脚的下降沿作为触发信号,硬件电路检测到下降沿时给单片机断电一段时间,然后上电,即实现自动冷启动。

2.具体硬件电路

Ch340g的电路在此不做赘述,值得注意的是二极管D1使用肖特基二极管或者开关管1n4148,确保单片机彻底断电。

下面主要讲解自动冷启动部分,将RTS或者DTR引脚作为信号的输入端,由于两个引脚在时都会跳变为低电平,因此可以任意选择一个引脚;使用一个10uf的钽电容C4用于耦合输入信号,只有电平跳变时有信号通过,后级电路主要由三个NPN三极管组成,笔者使用的是贴片的SS8050三极管,允许通过1.5A的电流,完全可以满足单片机供电的需求;其中两个三极管作为单稳态振荡电路的组件,一个三极管作为电子开关,控制单片机的通断电。

对电路进行分析,未点击时,RTS/DTR为高电平,无信号通过耦合电容C4,单稳态多谐振荡器处于稳态,3Q1饱和而Q2截止,单稳态振荡电路输出端(R8)为高电平,Q3饱和导通,对单片机处于供电状态;点击时,RTS/DTR迅速跳变为低电平,电平跳变时相当于交流电,通过耦合电容R4,输入一个负向脉冲信号到Q1的b极,Q1截止,Q2导通,振荡电路输出低电平,Q3截止,单片机断电,同时脉冲信号经电容C6耦合使Q1的b极电压下降,形成正反馈,振荡电路处于非稳态;经电容C6通过电阻R6放电,电路回到稳态。

分析知非稳态时间即断电时间受到R6和C6的大小影响,计算式为:

非稳态时间 T=0.7*R6*C6

按照图中参数断电时间约为0.5秒


手把手教你纯硬件STC单片机自动


手把手教你纯硬件STC单片机自动

图片

3.优势与缺点

目前常见的两种自动方式存在的问题:

*1使用STC15F014W单片机检测串口命令流——电路体积较大,自动部分硬件成本高,约为1.3元,由于STC15单片机没有原生串口,需要用软件模拟串口,代码较为复杂,对于波特率有限制,有一定的失败率;

*2使用51单片机自带的串口检测命令流——每次写程序都要加入自动检测代码,操作复杂,占用了单片机的串口功能,往往是复杂的程序才需要反复调试,占用了串口对于单片机的使用造成了较大的困扰;

本设计的优势在于,使用纯硬件电路实现自动冷启动,硬件系统工作比软件可靠,自动部分硬件成本极低,约为0.4元(钽电容可用普通瓷片电容代替),电路体积小,使用的三极管均为常见的SS8050三极管,材料易得,电路较为简单,便于DIY;硬件电路响应速度快,不用等待检测命令,成功率高,可靠性高,笔者调试成功后失败率几乎为0;

设计缺陷:由于模块上电时,计算机与ch340g联络通信,RTS/DTR引脚会在4秒左右的时间内高低电平反复跳变,同样会触发冷启动电路,如果此时自动电路连接了单片机,会导致单片机反复通断电三次,影响使用体验,笔者进行优化设计后未取得明显效果,故在此不做处理;

另附笔者焊接的自动模块如下图,电路较为紧凑

手把手教你纯硬件STC单片机自动

图片

参考资料:杨欣 等 《电子设计从零开始》 2010年出版

上一篇:多路LED驱动电源技术关键技术解析
下一篇:一文看懂ARM Cortex-M处理器

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料