|
看過(guò)之前很多STC自動(dòng)下載方法,這里提供另外一個(gè)思路,歡迎指點(diǎn)。
1. 起因
最近搞了個(gè)普中的51學(xué)習(xí)板研究,如下圖。廠家提供了一個(gè)自動(dòng)下載程序,但是支持的芯片型號(hào)不多。研究其電路發(fā)現(xiàn),原理是靠串口的DTR端控制單片機(jī)復(fù)位,和Arduino的原理差不多,不同是STC單片機(jī)下載時(shí)必須斷電完成復(fù)位,該電路就是DTR控制斷電。
1.jpg (31.1 KB, 下載次數(shù): 78)
下載附件
2017-7-12 11:48 上傳
所以為了自動(dòng)下載又可以用官方STC-ISP程序支持各種型號(hào)單片機(jī),考慮做一個(gè)外掛,達(dá)到下載程序時(shí)控制DTR達(dá)成斷電復(fù)位
2. 準(zhǔn)備材料
1個(gè)USB轉(zhuǎn)串口的下載器,需要引出DTR的,比如下面那個(gè),或者你可以USB轉(zhuǎn)串口芯片的DTR腳自己引出。
1個(gè)三極管s8050,一個(gè)電阻1k
2.jpg (24.13 KB, 下載次數(shù): 105)
下載附件
2017-7-12 11:49 上傳
3. 硬件電路
原理就是DTR端控制單片機(jī)供電,可以用學(xué)習(xí)板那套電路,以下為山寨供電電路,湊合能用。
3.jpg (7.32 KB, 下載次數(shù): 89)
下載附件
2017-7-12 11:50 上傳
4. 軟件說(shuō)明
上位機(jī)控制串口的DTR端的高低靠以下函數(shù)
EscapeCommFunction(h, SETDTR);
EscapeCommFunction(h, CLRDTR);
軟件原理主要是注入代碼到STC官方程序中,掛鉤打開(kāi)串口函數(shù)CreateFile,在打開(kāi)串口后執(zhí)行上面兩句控制DTR,完成復(fù)位。涉及到部分IATHook知識(shí),有興趣深入研究的可以看代碼,或者百度相關(guān)知識(shí)。
本軟件相當(dāng)于STC-ISP的外掛,運(yùn)行時(shí)修改其代碼環(huán)境,不修改原始文件。代碼在下面,Delphi7環(huán)境編譯。
5. 整體效果
測(cè)試環(huán)境用的STC12C2052AD,STC-ISP程序用的6.86,本程序也用于普中學(xué)習(xí)板
4.jpg (3.01 MB, 下載次數(shù): 70)
下載附件
2017-7-12 11:52 上傳
GIF3.gif (508.36 KB, 下載次數(shù): 75)
下載附件
2017-7-12 11:52 上傳
上位機(jī).zip
(221.07 KB, 下載次數(shù): 128)
2017-7-12 11:54 上傳
點(diǎn)擊文件名下載附件
delphi7 下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|