2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理)
前言:了解就行,不必深究
?
上一篇鏈接
http://www.cnblogs.com/yangfengwu/p/8720148.html?
?
源碼鏈接:https://pan.baidu.com/s/1wT8KAOIzvkOXXNpkDI7E8g?
提取碼:1q9y?
?
這一篇說(shuō)一下自己板子的51單片機(jī)自動(dòng)冷啟動(dòng)下載原理,我揮舞著鍵盤和鼠標(biāo),發(fā)誓要把世界寫個(gè)明明白白,突然想起來(lái)第一行代碼的那句話了.
當(dāng)接上usb線連接到電腦上的時(shí)候
看一下RTS引腳的變化,這個(gè)信號(hào)是連絡(luò)信號(hào)
?
所以很多用繼電器實(shí)現(xiàn)的自動(dòng)下載在接上電的時(shí)候會(huì)先啪啪啪的動(dòng)作一下繼電器
?
說(shuō)一下當(dāng)點(diǎn)擊下載的時(shí)候CH340G的RTS和DTR引腳的變化
先說(shuō)一下平時(shí)RTS和DTR都是高電平,正常的串口通信也是高電平,
下載的時(shí)候會(huì)變化,這樣的時(shí)候也會(huì)變化?不過(guò)只有第一次打開(kāi)使用的時(shí)候才會(huì)有信號(hào),其余都是高電平
注意:如果用串口助手連接過(guò),那么親們會(huì)發(fā)現(xiàn)自動(dòng)下載不能用了,我用示波器測(cè)試了一下,發(fā)現(xiàn)RTS和DTR沒(méi)有信號(hào)了,一直是高電平
所以如果用串口助手連接過(guò)需要給板子重新斷電上電,不知道別人的自動(dòng)冷啟動(dòng)是不是這種情況,還是說(shuō)我買的芯片的問(wèn)題.....
?
?按照上面的接法當(dāng)點(diǎn)擊
?
?
?
?
?
? ?咱們就是利用這個(gè)信號(hào),其實(shí)應(yīng)該利用兩個(gè)信號(hào),我是為了簡(jiǎn)單實(shí)用所以只用的RTS信號(hào)
我的最初的想法是在RTS來(lái)一個(gè)下降沿的時(shí)候觸發(fā)一個(gè)什么延時(shí)電路控制一個(gè)三極管或者場(chǎng)效應(yīng)管(管子為51提供電源),斷電,
?
?不知道親們看沒(méi)看過(guò)我這篇文章
http://www.cnblogs.com/yangfengwu/p/4933033.html
利用74hc123是最好的選擇
?
我把RTS的信號(hào)接到123的A引腳上來(lái)一個(gè)下降沿Q引腳就會(huì)輸出一個(gè)高脈沖,脈沖的時(shí)間利用電阻R和電容C控制,然后Q引腳接到PNP三極管
或者P溝道的場(chǎng)效應(yīng)管上就可以實(shí)現(xiàn),點(diǎn)擊一下下載單片機(jī)就會(huì)斷電上電,然后程序就下進(jìn)去了,自己沒(méi)有用123是因?yàn)?23的引腳太多...占空間................
?
? 看一下我的原理圖
?
?
?補(bǔ)充:
?
注意:建議51單片機(jī)單獨(dú)供電,不要和其它設(shè)備一塊斷電上電(如果其它元器件一上電需要很大的電流),
因?yàn)槿绻渌骷黄饎?dòng)就需要一定大的電流,那么一瞬間就會(huì)拉低電壓,造成CH340不穩(wěn)定,會(huì)有斷開(kāi)重連的過(guò)程,
所以單片機(jī)下程序就有問(wèn)題了....
如果接到了一塊
上面的儲(chǔ)能電容一定要用的大一些,建議470uf或更大,再者一定用好的USB轉(zhuǎn)micro的串口線
這個(gè)電阻最好是大于20K,我用的鉭電容,如果用電解電容大于10K應(yīng)該沒(méi)問(wèn)題,鉭電容和電解電容充電速度和放電速度不一樣,鉭電容要快很多
還有這個(gè)電阻
?
最好用470K左右的,其實(shí)是受NE555的輸出能力決定的,制造NE555的很多,輸出能力小的如果電阻小就拉不高,無(wú)法斷電,所以下拉電阻要大一些,輸出能力大的還行
?
?先說(shuō)NE555的電路
?
?這種接法是NE555的2引腳來(lái)一個(gè)低電平3腳就會(huì)輸出一個(gè)高脈沖(脈沖時(shí)間由C25和R66決定),記住2引腳是來(lái)一個(gè)低脈沖信號(hào)
?
如果2引腳一直是低電平那么3腳就會(huì)一直輸出高....
這里就不說(shuō)大約延時(shí)的時(shí)間了親們可以自己去查資料,或者直接示波器去量,因?yàn)槲乙膊恢?..................
所以我的做法
一開(kāi)始穩(wěn)定的時(shí)候2腳是高電平,當(dāng)RTS來(lái)一個(gè)低電平,由于是突然一下子,電容(可以用一個(gè)電容就可以)以為是交流電呢,所以低電平就過(guò)來(lái)了,2腳是低電平,3腳開(kāi)始輸出高電平,如果RTS保持了低電平一會(huì)電容開(kāi)始充電哈,然后2腳又變成了高電平,這樣的話2腳就相當(dāng)于來(lái)了一個(gè)低脈沖.3腳會(huì)根據(jù)延時(shí)多少再變回低電平.
不過(guò)呢實(shí)際的信號(hào)
?
???
?
?
?一通電的時(shí)候,2引腳是高電平而且電壓大于了A2比較器的反向輸入端 ?所以S輸出高 ?S=1;
常理來(lái)講
?
6引腳和7引腳突然的一上電由于有電容C25(先給電容充電)所以6引腳和7引腳應(yīng)該是低電平(不是真的低,是不太高的電平)
當(dāng)然5腳也接了一個(gè)電容,但是呢,容值小一點(diǎn),所以5腳是大于6腳的,所以R也是1......
都是1不定態(tài)..........現(xiàn)在就要看不定態(tài)輸出的數(shù)高還是低了
我用示波器看的,測(cè)量的3引腳和6引腳,發(fā)現(xiàn)都是低電平,當(dāng)然一上電的時(shí)候稍微有一點(diǎn)高的波動(dòng)(電壓不是很高大約0.5V的波動(dòng))
所以一上電的時(shí)候Q輸出的是1 ?
里面的三極管導(dǎo)通
所以6,7引腳輸出的都是低電平
?
現(xiàn)在呢讓2引腳來(lái)一個(gè)低脈沖信號(hào)(只要小于1/3的VCC)就會(huì)小于比較器的反向輸入端,記得哈是低脈沖信號(hào),最后2是高電平,所以S輸出0
R咱知道是1,所以?
然后 ?
經(jīng)過(guò)了一個(gè)非門 所以3輸出高
當(dāng)然因?yàn)镼是0所以三極管截止,,,開(kāi)始給C25充電
假設(shè)2腳中途沒(méi)有信號(hào)過(guò)來(lái)了,當(dāng)充電達(dá)到6腳電壓大于5腳電壓的時(shí)候經(jīng)過(guò)比較器,所以R==0
現(xiàn)在3腳就會(huì)輸出低電平,三極管也會(huì)導(dǎo)通,又開(kāi)始給電容放電......................然后又變成了原來(lái)的樣子
假設(shè)2引腳中途又有低脈沖信號(hào)
?
2引腳先來(lái)下降沿的時(shí)候,按照上面說(shuō)的3引腳確實(shí)輸出1;
現(xiàn)在呢又來(lái)了一個(gè)上升沿,來(lái)上升沿的時(shí)候6引腳的電壓還沒(méi)大于5引腳的電壓呢,,,因?yàn)槲曳诺碾娙莺碗娮栎^大,充電慢些,所以R輸出1
R=1,S=1,不定態(tài),,,,,,一看3腳電壓輸出的是低................................不定態(tài)的時(shí)候Q輸出的是1
所以才會(huì)造成了
?
當(dāng)然可以前級(jí)加一些電路讓它只有一個(gè)下降沿,我是為了用的芯片最少
注意哈
? 這個(gè)電容最好是用有極性的,我用10UF是因?yàn)樽约喊遄由铣S?0UF的
這個(gè)充電的電阻最好大于20K,讓單片機(jī)有充足的斷電時(shí)間,單片機(jī)的電路可千萬(wàn)別加儲(chǔ)能電容哈,,,,要是有的話還要考慮放電
親們可以根據(jù)自己的信號(hào)去分析別人的一鍵下載哈,
還有一個(gè)地方要說(shuō)一下
?
4引腳接電容然后接5V和接GND,RTS,DTR產(chǎn)生的信號(hào)是不一樣的,后期用示波器測(cè)量后補(bǔ)上,
有時(shí)候參考資料只是參考資料,很多東西還是要靠自己動(dòng)手去實(shí)踐,實(shí)踐才出真知.很多人都喜歡用懶來(lái)給自己找借口,你自己不做出改變,誰(shuí)都救不了你,你也別指望誰(shuí)會(huì)救你,你要靠自救.
為什么我接電容然后5V,因?yàn)樽约簻y(cè)試發(fā)現(xiàn)如果接一個(gè)電容接地,有時(shí)候會(huì)出現(xiàn)無(wú)法識(shí)別設(shè)備....
下一篇連接
?http://www.cnblogs.com/yangfengwu/p/8757513.html
轉(zhuǎn)載于:https://www.cnblogs.com/yangfengwu/p/8757036.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python文件处理
- 下一篇: 【BZOJ4004】装备购买(线性基)