2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理)
前言:了解就行,不必深究
上一篇链接
http://www.cnblogs.com/yangfengwu/p/8720148.html
源码链接:https://pan.baidu.com/s/1wT8KAOIzvkOXXNpkDI7E8g
提取码:1q9y
这一篇说一下自己板子的51单片机自动冷启动下载原理,我挥舞着键盘和鼠标,发誓要把世界写个明明白白,突然想起来第一行代码的那句话了.
当接上usb线连接到电脑上的时候
看一下RTS引脚的变化,这个信号是连络信号

所以很多用继电器实现的自动下载在接上电的时候会先啪啪啪的动作一下继电器
说一下当点击下载的时候CH340G的RTS和DTR引脚的变化
先说一下平时RTS和DTR都是高电平,正常的串口通信也是高电平,
下载的时候会变化,这样的时候也会变化
不过只有第一次打开使用的时候才会有信号,其余都是高电平
注意:如果用串口助手连接过,那么亲们会发现自动下载不能用了,我用示波器测试了一下,发现RTS和DTR没有信号了,一直是高电平
所以如果用串口助手连接过需要给板子重新断电上电,不知道别人的自动冷启动是不是这种情况,还是说我买的芯片的问题.....

按照上面的接法当点击





咱们就是利用这个信号,其实应该利用两个信号,我是为了简单实用所以只用的RTS信号
我的最初的想法是在RTS来一个下降沿的时候触发一个什么延时电路控制一个三极管或者场效应管(管子为51提供电源),断电,

不知道亲们看没看过我这篇文章
http://www.cnblogs.com/yangfengwu/p/4933033.html
利用74hc123是最好的选择

我把RTS的信号接到123的A引脚上来一个下降沿Q引脚就会输出一个高脉冲,脉冲的时间利用电阻R和电容C控制,然后Q引脚接到PNP三极管
或者P沟道的场效应管上就可以实现,点击一下下载单片机就会断电上电,然后程序就下进去了,自己没有用123是因为123的引脚太多...占空间................
看一下我的原理图

补充:

注意:建议51单片机单独供电,不要和其它设备一块断电上电(如果其它元器件一上电需要很大的电流),
因为如果其它元器件一起动就需要一定大的电流,那么一瞬间就会拉低电压,造成CH340不稳定,会有断开重连的过程,
所以单片机下程序就有问题了....
如果接到了一块
上面的储能电容一定要用的大一些,建议470uf或更大,再者一定用好的USB转micro的串口线

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

还有这个电阻

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

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

如果2引脚一直是低电平那么3脚就会一直输出高....
这里就不说大约延时的时间了亲们可以自己去查资料,或者直接示波器去量,因为我也不知道...................
所以我的做法

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

不过呢实际的信号



一通电的时候,2引脚是高电平而且电压大于了A2比较器的反向输入端 所以S输出高 S=1;
常理来讲
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,所以 
然后 
经过了一个非门 所以3输出高
当然因为Q是0所以三极管截止,,,开始给C25充电
假设2脚中途没有信号过来了,当充电达到6脚电压大于5脚电压的时候经过比较器,所以R==0

现在3脚就会输出低电平,三极管也会导通,又开始给电容放电......................然后又变成了原来的样子
假设2引脚中途又有低脉冲信号

2引脚先来下降沿的时候,按照上面说的3引脚确实输出1;
现在呢又来了一个上升沿,来上升沿的时候6引脚的电压还没大于5引脚的电压呢,,,因为我放的电容和电阻较大,充电慢些,所以R输出1
R=1,S=1,不定态,,,,,,一看3脚电压输出的是低................................不定态的时候Q输出的是1
所以才会造成了

当然可以前级加一些电路让它只有一个下降沿,我是为了用的芯片最少
注意哈
这个电容最好是用有极性的,我用10UF是因为自己板子上常用10UF的
这个充电的电阻最好大于20K,让单片机有充足的断电时间,单片机的电路可千万别加储能电容哈,,,,要是有的话还要考虑放电
亲们可以根据自己的信号去分析别人的一键下载哈,
还有一个地方要说一下

4引脚接电容然后接5V和接GND,RTS,DTR产生的信号是不一样的,后期用示波器测量后补上,
有时候参考资料只是参考资料,很多东西还是要靠自己动手去实践,实践才出真知.很多人都喜欢用懒来给自己找借口,你自己不做出改变,谁都救不了你,你也别指望谁会救你,你要靠自救.
为什么我接电容然后5V,因为自己测试发现如果接一个电容接地,有时候会出现无法识别设备....
下一篇连接
http://www.cnblogs.com/yangfengwu/p/8757513.html
2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理)的更多相关文章
- 1-51单片机ESP8266学习-AT指令(开发板介绍)
51单片机+ESP8266开发教程(AT指令篇) 开发板资源分布: 开发板部分原理图: 1--通信下载 2--51单片机 3--ESP8266(WIFI模块) 4--DHT11(温湿度传感器) 5-- ...
- 4-51单片机WIFI学习(开发板51单片机自动冷启动下载原理)
上一篇链接 http://www.cnblogs.com/yangfengwu/p/8743936.html 这一篇说一下自己板子的51单片机自动冷启动下载原理,我挥舞着键盘和鼠标,发誓要把世界写个明 ...
- 3-51单片机ESP8266学习-AT指令(学会刷固件)
前言:体验一下刷固件(给单片机更新程序) 上一篇链接 http://www.cnblogs.com/yangfengwu/p/8757036.html 源码链接:https://pan.baidu. ...
- 10-51单片机ESP8266学习-AT指令(ESP8266连接路由器,建立TCP服务器,分别和C#TCP客户端和AndroidTCP客户端通信+花生壳远程通信)
http://www.cnblogs.com/yangfengwu/p/8871464.html 先把源码和资料链接放到这里 源码链接:https://pan.baidu.com/s/1wT8KAOI ...
- 5-51单片机ESP8266学习-AT指令(8266TCP服务器--用手机TCP调试助手发信息给单片机控制小灯的亮灭)
http://www.cnblogs.com/yangfengwu/p/8759294.html 源码链接:https://pan.baidu.com/s/1wT8KAOIzvkOXXNpkDI7E8 ...
- 4-51单片机ESP8266学习-AT指令(测试TCP服务器--使用串口调试助手--不连接路由器)
上一篇连接 http://www.cnblogs.com/yangfengwu/p/8757513.html 源码链接:https://pan.baidu.com/s/1wT8KAOIzvkOXXN ...
- 12,13,14节-51单片机ESP8266学习-AT指令(暂停更新)需要整理
从这一节开始,以视频加源码的形式,后期视频和程序将放在链接中 资料链接 链接: https://pan.baidu.com/s/1jpHZjW_7pQKNfN9G4B6ZjA 密码:nhn3 ...
- 9-51单片机ESP8266学习-AT指令(单片机采集温湿度数据通过8266发送给AndroidTCP客户端显示)
http://www.cnblogs.com/yangfengwu/p/8798512.html 补充:今天答应了一个朋友写一下如果单片机发过的是字符串应该怎么解析,答应了今天写,哦哦哦是明天了,闲话 ...
- 8-51单片机ESP8266学习-AT指令(单片机采集温湿度数据通过8266发送给C#TCP客户端显示)
http://www.cnblogs.com/yangfengwu/p/8785516.html 先写单片机端的程序 先把源码和资料链接放到这里 链接: https://pan.baidu.com/s ...
随机推荐
- 安装php扩展redis (windows环境)
首先十分感谢网络上支持开源分享的前辈们,资源真的太丰富了,虽然也有许多优秀的国外资源被墙了... 想要给php增加redis扩展第一步当然要知道自己使用的php版本以及一些配置.查看 phpinfo ...
- ios 下拉列表
#import <UIKit/UIKit.h> @class FVPullDownMenu; /** 指示器状态*/ typedef enum { IndicatorStateShow = ...
- Android 对话框 (AlertDialog)
Android 提供了 AlertDialog 类可通过其内部类 Builder 轻松创建对话框窗口,但是没法对这个对话框窗口进行定制,为了修改 AlertDialog 窗口显示的外观,解决的办法就是 ...
- 一步一步 Pwn RouterOS之exploit构造
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 前面已经分析完漏洞,并且搭建好了调试环境,本文将介绍如何利用漏洞写 ...
- 一步一步 Pwn RouterOS之ctf题练手
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 本文目的是以一道比较简单的 ctf 的练手,为后面的分析 Rout ...
- 【个人经历】记自己的第一次GitHub开源代码共享经历
题记: 自己做程序员快三年有余了,感觉自己和刚入职相比确实有了不少进步,当然三年要是不进步那不就傻了吗,有时候我也在想,我在这三年里留下了什么,当然也不是说有多么高尚的想法,就是以后对别人介绍自己的时 ...
- Selectivizr-让IE6~8支持CSS3伪类和属性选择器
一.下载和demo 下载: 您可以狠狠地点击这里:selectivizr-1.0.0.zip(右键-[目标|链接另存为] 9.24K) demo: 您可以狠狠地点击这里:Selectivizr部分属性 ...
- Invalid argument during startup: unknown conf file parameter : requirepass
redis 设置来密码,出现来这个错误, 把配置文件那一行的 空格 去掉 # requirepass foobared 改成 requirepass 123456 因为# 和 requirepass ...
- 4 个用于构建优秀的命令行用户界面的 Python 库
作者: Amjith Ramanujam 译者: LCTT Lv Feng 在这个分为两篇的关于具有绝佳命令行界面的终端程序的系列文章的第二篇教程中,我们将讨论 Prompt.Toolkit.Clic ...
- [翻译] USING GIT IN XCODE [1] 在XCODE中使用GIT[1]
USING GIT IN XCODE http://www.cimgf.com/2013/12/10/using-git-in-xcode/ Git has become a very popular ...