当前位置:首页>编程日记>正文

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理)

前言:了解就行,不必深究

 

上一篇链接

http://www.cnblogs.com/yangfengwu/p/8720148.html 

源码链接:https://pan.baidu.com/s/1wT8KAOIzvkOXXNpkDI7E8g 
提取码:1q9y 

这一篇说一下自己板子的51单片机自动冷启动下载原理,我挥舞着键盘和鼠标,发誓要把世界写个明明白白,突然想起来第一行代码的那句话了.

当接上usb线连接到电脑上的时候

看一下RTS引脚的变化,这个信号是连络信号

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图01

所以很多用继电器实现的自动下载在接上电的时候会先啪啪啪的动作一下继电器

说一下当点击下载的时候CH340G的RTS和DTR引脚的变化

先说一下平时RTS和DTR都是高电平,正常的串口通信也是高电平,

下载的时候会变化,这样的时候也会变化 2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图02不过只有第一次打开使用的时候才会有信号,其余都是高电平

注意:如果用串口助手连接过,那么亲们会发现自动下载不能用了,我用示波器测试了一下,发现RTS和DTR没有信号了,一直是高电平

所以如果用串口助手连接过需要给板子重新断电上电,不知道别人的自动冷启动是不是这种情况,还是说我买的芯片的问题.....

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图03

 按照上面的接法当点击

 2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图04

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图05

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图06

 2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图07

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图08

   咱们就是利用这个信号,其实应该利用两个信号,我是为了简单实用所以只用的RTS信号

我的最初的想法是在RTS来一个下降沿的时候触发一个什么延时电路控制一个三极管或者场效应管(管子为51提供电源),断电,

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图09

 不知道亲们看没看过我这篇文章

http://www.cnblogs.com/yangfengwu/p/4933033.html

利用74hc123是最好的选择

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图10

我把RTS的信号接到123的A引脚上来一个下降沿Q引脚就会输出一个高脉冲,脉冲的时间利用电阻R和电容C控制,然后Q引脚接到PNP三极管

或者P沟道的场效应管上就可以实现,点击一下下载单片机就会断电上电,然后程序就下进去了,自己没有用123是因为123的引脚太多...占空间................

  看一下我的原理图

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图11

 补充:

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图12

注意:建议51单片机单独供电,不要和其它设备一块断电上电(如果其它元器件一上电需要很大的电流),

因为如果其它元器件一起动就需要一定大的电流,那么一瞬间就会拉低电压,造成CH340不稳定,会有断开重连的过程,

所以单片机下程序就有问题了....

如果接到了一块

上面的储能电容一定要用的大一些,建议470uf或更大,再者一定用好的USB转micro的串口线

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图13

这个电阻最好是大于20K,我用的钽电容,如果用电解电容大于10K应该没问题,钽电容和电解电容充电速度和放电速度不一样,钽电容要快很多

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图14

还有这个电阻

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图15

最好用470K左右的,其实是受NE555的输出能力决定的,制造NE555的很多,输出能力小的如果电阻小就拉不高,无法断电,所以下拉电阻要大一些,输出能力大的还行

 先说NE555的电路

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图16

 这种接法是NE555的2引脚来一个低电平3脚就会输出一个高脉冲(脉冲时间由C25和R66决定),记住2引脚是来一个低脉冲信号

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图17

如果2引脚一直是低电平那么3脚就会一直输出高....

这里就不说大约延时的时间了亲们可以自己去查资料,或者直接示波器去量,因为我也不知道...................

所以我的做法

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图18

一开始稳定的时候2脚是高电平,当RTS来一个低电平,由于是突然一下子,电容(可以用一个电容就可以)以为是交流电呢,所以低电平就过来了,2脚是低电平,3脚开始输出高电平,如果RTS保持了低电平一会电容开始充电哈,然后2脚又变成了高电平,这样的话2脚就相当于来了一个低脉冲.3脚会根据延时多少再变回低电平.

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图19

不过呢实际的信号

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图20

 2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图21  2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图22

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图23

 一通电的时候,2引脚是高电平而且电压大于了A2比较器的反向输入端  所以S输出高  S=1;

常理来讲2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图24

6引脚和7引脚突然的一上电由于有电容C25(先给电容充电)所以6引脚和7引脚应该是低电平(不是真的低,是不太高的电平)

当然5脚也接了一个电容,但是呢,容值小一点,所以5脚是大于6脚的,所以R也是1......

都是1不定态..........现在就要看不定态输出的数高还是低了

我用示波器看的,测量的3引脚和6引脚,发现都是低电平,当然一上电的时候稍微有一点高的波动(电压不是很高大约0.5V的波动)

所以一上电的时候Q输出的是1  

里面的三极管导通

所以6,7引脚输出的都是低电平

现在呢让2引脚来一个低脉冲信号(只要小于1/3的VCC)就会小于比较器的反向输入端,记得哈是低脉冲信号,最后2是高电平,所以S输出0

R咱知道是1,所以 2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图25

然后  2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图26

经过了一个非门 所以3输出高

当然因为Q是0所以三极管截止,,,开始给C25充电

假设2脚中途没有信号过来了,当充电达到6脚电压大于5脚电压的时候经过比较器,所以R==0

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图27

现在3脚就会输出低电平,三极管也会导通,又开始给电容放电......................然后又变成了原来的样子

假设2引脚中途又有低脉冲信号

 2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图28

2引脚先来下降沿的时候,按照上面说的3引脚确实输出1;

现在呢又来了一个上升沿,来上升沿的时候6引脚的电压还没大于5引脚的电压呢,,,因为我放的电容和电阻较大,充电慢些,所以R输出1

R=1,S=1,不定态,,,,,,一看3脚电压输出的是低................................不定态的时候Q输出的是1

所以才会造成了

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图29

当然可以前级加一些电路让它只有一个下降沿,我是为了用的芯片最少

注意哈

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图30  这个电容最好是用有极性的,我用10UF是因为自己板子上常用10UF的

这个充电的电阻最好大于20K,让单片机有充足的断电时间,单片机的电路可千万别加储能电容哈,,,,要是有的话还要考虑放电

亲们可以根据自己的信号去分析别人的一键下载哈,

还有一个地方要说一下

2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理) 配图31

4引脚接电容然后接5V和接GND,RTS,DTR产生的信号是不一样的,后期用示波器测量后补上,

有时候参考资料只是参考资料,很多东西还是要靠自己动手去实践,实践才出真知.很多人都喜欢用懒来给自己找借口,你自己不做出改变,谁都救不了你,你也别指望谁会救你,你要靠自救.

为什么我接电容然后5V,因为自己测试发现如果接一个电容接地,有时候会出现无法识别设备....

下一篇连接

 http://www.cnblogs.com/yangfengwu/p/8757513.html


http://www.coolblog.cn/news/80d9bebfa6c343fe.html

相关文章:

  • asp多表查询并显示_SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询
  • s7day2学习记录
  • 【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。
  • 矿Spring入门Demo
  • 拼音怎么写_老师:不会写的字用圈代替,看到孩子试卷,网友:人才
  • Linux 实时流量监测(iptraf中文图解)
  • Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
  • 美颜
  • shell访问php文件夹,Shell获取某目录下所有文件夹的名称
  • 如何优雅的实现 Spring Boot 接口参数加密解密?
  • LeCun亲授的深度学习入门课:从飞行器的发明到卷积神经网络
  • Mac原生Terminal快速登录ssh
  • 支撑微博千亿调用的轻量级RPC框架:Motan
  • java受保护的数据与_Javascript类定义语法,私有成员、受保护成员、静态成员等介绍...
  • mysql commit 机制_1024MySQL事物提交机制
  • 法拉利虚拟学院2010 服务器,法拉利虚拟学院2010
  • 2019-9
  • jquery 使用小技巧
  • vscode pylint 错误_将实际未错误的py库添加到pylint白名单
  • 科学计算工具NumPy(3):ndarray的元素处理
  • 工程师在工作电脑存 64G 不雅文件,被公司开除后索赔 41 万,结果…
  • linux批量创建用户和密码
  • js常用阻止冒泡事件
  • newinsets用法java_Java XYPlot.setInsets方法代碼示例
  • 气泡图在开源监控工具中的应用效果
  • 各类型土地利用图例_划重点!国土空间总体规划——土地利用
  • php 启动服务器监听
  • dubbo简单示例
  • [iptables]Redhat 7.2下使用iptables实现NAT
  • Ubuntu13.10:[3]如何开启SSH SERVER服务
  • 【设计模式】 模式PK:策略模式VS状态模式
  • JS实现-页面数据无限加载
  • CSS小技巧——CSS滚动条美化
  • 最新DOS大全
  • Django View(视图系统)
  • 阿里巴巴分布式服务框架 Dubbo
  • 阿里大鱼.net core 发送短信
  • 程序员入错行怎么办?
  • Sorenson Capital:值得投资的 5 种 AI 技术
  • 两张超级大表join优化
  • Arm芯片的新革命在缓缓上演
  • 第九天函数
  • Linux软件安装-----apache安装
  • HDU 5988 最小费用流
  • 《看透springmvc源码分析与实践》读书笔记一
  • 正式开课!如何学习相机模型与标定?(单目+双目+鱼眼+深度相机)
  • nagios自写插件—check_file
  • python3 错误 Max retries exceeded with url 解决方法
  • 通过Spark进行ALS离线和Stream实时推荐
  • 行为模式之Template Method模式