STC单片机免冷启/自动下载原理&DIY免冷启烧录器(纯硬件版和软件版)


【本文发布于https://blog.csdn.net/Stack_/article/details/115429629,未经许可不得转载,转载须注明出处】


当我们在stc官方烧录软件点击下载时,烧录软件会以最低波特率(默认2400)连续发送0x7f,同时ch340的DTR和RTS引脚会拉低,直到给单片机手动掉电再上电或者烧录软件检测超时。



一、纯硬件版


于是我们就可以利用DTR或RTS引脚做一个纯硬件的自动烧录器。


在这里插入图片描述

图1 纯硬件版原理图 1/2

在这里插入图片描述

图2 纯硬件版原理图 2/2,接上图

原理分析

  1. 模块上电稳定后没有下载命令时,DTR/RTS输出高电平,电容C11右端为高电平,NPN三极管Q2导通,pmos管Q1(si2301cds)导通,目标单片机上电。
  2. 当stc烧录软件发出下载信号时,DTR/RTS拉低,左右两端均为高电平的C11左端被拉低。因为电容两端电压不能突变,所以当电容左端电压突变瞬间,电容相当于短路,右端被拉低,pmos截止,目标单片机掉电。
  3. 短暂掉电后,C11右端恢复为高电平,目标单片机上电并检测到stc烧录软件的下载信号后下载程序。



二、软件版


纯硬件版在点击下载时,掉电时间很短,基本上就是点击下载就立刻开始下载了。


但是就因为时间太短,在mcu供电引脚接有稍大的电容时,mcu来不及掉电,没有掉电上电的过程,程序总是下载失败。于是又搞了个软件版



在这里插入图片描述

图3 软件版原理图 1/2

在这里插入图片描述

图4 软件版原理图 2/2,接上图

原理分析

  1. U4 STC15W202S的RXD接到CH340C(CH340G的无晶振版)的TXD,STC15W202S串口中断捕捉数据,波特率2400。或者检测RTS信号,该信号在STC-ISP发起下载时拉低,烧录完成后拉高。
  2. 每200ms为一个单位,在这个单位时间内,连续捕捉到100个0x7f,则暂停计数,MCUPWR_CTRL脚拉低,目标单片机掉电。或者检测到RTS拉低,MCUPWR_CTRL脚拉低,目标单片机掉电。
  3. 等待2秒后MCUPWR_CTRL脚拉高,目标单片机上电开始下载。恢复计数。

注:一开始的设计是加个Q3,在Q1截止的时候Q3导通,放尽目标单片机电容的电。但是因为Q1、Q3是串接在VCC和GND间,也许是因为在Q3导通的时候Q1还没有截止,导致电脑USB接口短路,然后模块重启。焊接时直接去掉了Q3。

基本上就不会有下载失败的情况了




成品图

在这里插入图片描述

图5 红色为纯硬件版

在这里插入图片描述

图6 蓝色为软件版



附:

  1. 软件版的按键是用来使能/失能自动烧录功能的;
  2. 软件版的U2是电压比较器LMV331,用跳线帽短接P1的5、6时,选择整个模块工作电压为5V,STC15W202S控制D1闪烁,D9灭;短接P1的4、5时,整个模块工作电压为3.3V,D9闪烁,D1灭。此功能只是用来提醒自己当前的工作电压。

已在立创开源平台开源,指路 【纯硬版】【软件版】


或者在CSDN下载

【资源】



三、软件PRO版



【NEWEST:软件PRO版,点击该链接查看详情以及下载资源】





在这里插入图片描述


软件PRO版


本文介绍的是带电压电流表的多功能STC免冷启自动下载器,功能如下: 由于常用的STC自动下载器没有电流检测功能,没法判断实验板的工作电流大小,怕电流过大,不方便,所以自己动手DIY个带电压电流表的下载器。主要功能有自动下载、各接口的电压、输出的工作电流、及4路电压表。4路电压表用于实验板特定点的电压监测,充分利用单片机的资源,不浪费。对于自动下载器的原理网上有,就是监测串口是否连续输出0X7F的值,有就说明要断电重启下载数据,本下载器支持1200-115200b的常用波特率,程序是采用每0.1S改变一下串口的波特率(由于采用先判断收到不是7F值就改变波特率的方法会出现有时不响应。所以改为这种方式。),然后检查是否有7F的值,如有就停止改变波特率,如连接接收到7F值,就关电0.4S再开电。 STC自动下载器制作器件清单: 这个制作电压检测最大为25V,电流最大为2A,它的受控输出接有1A的保险的,所以采控电流不能过大,它的输出接口有专门USB供电的直出口,可以利用这个接口外接USB座,可以把这东东变身成USB电压电流表。 工作界面如下,分2页显示,下图为第一页,显示有输出5V的电压值及输出的3.3V的值、输出电流值、外接输入的值、单片机的供电,如当USB电压电流表时,跳线短接USB供电,CPU的电压为USB输出电压。 PCB截图: 说明:由于上图PCB制作是没找到表贴LED的封装,用二极管的封装,所以尺寸大了,而且有一线布不过去,用跳线跳过的,如下图右上角接口那条红线,它是连接两个焊盘。电路板设计是采用表贴47U电容,实际使用中出现向外供电时,单片机出现重启的情况,加表贴电容的方法也解决不了问题,后来只加个普通的100U的电解就解决了,这个有可能是表贴电容性能有问题,所以电路板上多了2个电解电容。 以下是装上元件的图,焊工一般,能用。 接口的图,由于内部单片机及输出有多个输入源可选择,所以有跳线,分别选择USB供电,外接5V供电,外接12V转5V供电,由于板过小,三端稳压散热位小,所以如用12V转5V稳压供电时,电流不能过大,会出现过热的情况。
STC89C52RC单片机开发板是一种基于STC89C52RC单片机的开发板,它包含了连接外部电路和IO口的原理图。原理图是一种电路图,用于展示电路中各个电子元件之间的连接关系和信号传输路径。 STC89C52RC单片机开发板的原理图主要包括以下几个部分: 1. 单片机部分:原理图中会显示STC89C52RC单片机的引脚连接情况,包括微控制器的电源引脚、IO接口引脚、晶振电路和复位电路等。这些引脚的连接关系决定了单片机与外部电路的通信和控制能力。 2. 外部扩展接口:为了满足更多的应用需求,原理图中还会包含一些外部扩展接口,如串口通信接口、LCD显示屏接口、按键输入接口等。这些接口可以连接其他外部设备,实现更多的功能扩展。 3. 电源电路原理图中还会显示单片机开发板的电源电路,包括稳压电路、滤波电容和电源指示灯等。这些电路保证了单片机开发板工作的稳定性和可靠性。 4. 复位电路:为了让单片机正常启动,原理图中会包含复位电路,如电源复位电路和手动复位电路。复位电路能够让单片机在出现异常情况时重新初始化,保证系统的稳定性。 STC89C52RC单片机开发板原理图的设计目的是为了简化开发人员的工作,使他们更方便地了解和掌握单片机的使用和应用。同时,原理图也为后期的维护和升级提供了便利。 总之,STC89C52RC单片机开发板原理图是一种展示单片机与外部电路连接关系的电路图,它通过具体的引脚连接和电路设计,实现单片机的功能扩展和应用开发。
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值