找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 11315|回復(fù): 25
打印 上一主題 下一主題
收起左側(cè)

1個(gè)三極管實(shí)現(xiàn)STC自動(dòng)下載,上位機(jī)代碼開(kāi)源

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
看過(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控制斷電。




所以為了自動(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
   

3. 硬件電路

   原理就是DTR端控制單片機(jī)供電,可以用學(xué)習(xí)板那套電路,以下為山寨供電電路,湊合能用。
   

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í)板





上位機(jī).zip (221.07 KB, 下載次數(shù): 128)




評(píng)分

參與人數(shù) 5黑幣 +148 收起 理由
zmc419 + 12 很實(shí)用,電路簡(jiǎn)單。比開(kāi)關(guān)電源方便,比單片.
ycg123 + 1 很給力!
copower + 30 贊一個(gè)!
qgcwh + 5 很給力!
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏18 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2017-7-12 20:37 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:263813 發(fā)表于 2018-1-3 10:58 | 只看該作者
一直在努力學(xué)習(xí)!
回復(fù)

使用道具 舉報(bào)

地板
ID:269211 發(fā)表于 2018-2-8 16:21 | 只看該作者

一直在努力學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

5#
ID:285258 發(fā)表于 2018-3-3 23:43 | 只看該作者
本帖最后由 copower 于 2018-3-4 11:01 編輯

謝謝分享
回復(fù)

使用道具 舉報(bào)

6#
ID:26275 發(fā)表于 2018-8-15 18:50 | 只看該作者
是不是太過(guò)復(fù)雜了?

如果不用上位機(jī), 就直接用這個(gè)三極管,直接改,不行么

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

7#
ID:137736 發(fā)表于 2018-8-17 18:40 來(lái)自觸屏版 | 只看該作者
很好。必須改上位機(jī),因?yàn)橐淖僁TR電平。
回復(fù)

使用道具 舉報(bào)

8#
ID:137736 發(fā)表于 2018-8-17 18:48 來(lái)自觸屏版 | 只看該作者
cqqwing 發(fā)表于 2018-8-15 18:50
是不是太過(guò)復(fù)雜了?

如果不用上位機(jī), 就直接用這個(gè)三極管,直接改,不行么

上位機(jī)要轉(zhuǎn)換DTR電平
回復(fù)

使用道具 舉報(bào)

9#
ID:137736 發(fā)表于 2018-8-21 17:47 | 只看該作者
太好了,比純軟件法和外加單片機(jī)法都好,電路簡(jiǎn)單,不占用串口。
回復(fù)

使用道具 舉報(bào)

10#
ID:359281 發(fā)表于 2018-8-22 14:17 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

11#
ID:53978 發(fā)表于 2018-9-4 16:47 | 只看該作者

好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

12#
ID:403089 發(fā)表于 2018-9-27 11:31 | 只看該作者
看看咯,好像是個(gè)好東西
回復(fù)

使用道具 舉報(bào)

13#
ID:137736 發(fā)表于 2019-1-14 22:37 | 只看該作者
這是我找到的最好方案,比起硬件方案不外加單片機(jī),比起純軟件方案不占用串口和硬件資源。樓主上位機(jī)、單片機(jī)都精通,贊一個(gè)。
回復(fù)

使用道具 舉報(bào)

14#
ID:229361 發(fā)表于 2019-1-29 11:16 | 只看該作者
好東西

回復(fù)

使用道具 舉報(bào)

15#
ID:448822 發(fā)表于 2019-2-6 17:40 | 只看該作者
好資料,51黑有你更精彩!!
回復(fù)

使用道具 舉報(bào)

16#
ID:164864 發(fā)表于 2019-2-6 18:36 來(lái)自觸屏版 | 只看該作者
贊一個(gè)
回復(fù)

使用道具 舉報(bào)

17#
ID:452731 發(fā)表于 2019-2-7 23:12 | 只看該作者
非常好的資料
回復(fù)

使用道具 舉報(bào)

18#
ID:45334 發(fā)表于 2019-12-3 13:42 | 只看該作者
用的是S8050 npn三極管,發(fā)射級(jí)輸出電壓會(huì)降低0.7V左右,如果目標(biāo)單片機(jī)是3.3V的,不知道行不行。最好改一下上位機(jī)軟件,三極管用PNP型的就完美了
回復(fù)

使用道具 舉報(bào)

19#
ID:514317 發(fā)表于 2019-12-3 14:07 | 只看該作者
牛逼。。。。。。。軟件注入    軟硬件高手
回復(fù)

使用道具 舉報(bào)

20#
ID:742666 發(fā)表于 2020-5-2 09:31 | 只看該作者

牛逼。。。。。。。軟件注入    軟硬件高手
回復(fù)

使用道具 舉報(bào)

21#
ID:452539 發(fā)表于 2020-5-2 10:07 | 只看該作者
厲害學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

22#
ID:32675 發(fā)表于 2020-5-2 10:51 來(lái)自觸屏版 | 只看該作者
好資料,學(xué)習(xí)了謝謝樓主
回復(fù)

使用道具 舉報(bào)

23#
ID:71618 發(fā)表于 2021-11-19 11:03 | 只看該作者
用RTS引腳控制三極管基極就不用加上位機(jī)代碼了
回復(fù)

使用道具 舉報(bào)

24#
ID:343102 發(fā)表于 2021-11-20 13:35 | 只看該作者
可以搞個(gè)tx信號(hào)控制的。
回復(fù)

使用道具 舉報(bào)

25#
ID:275111 發(fā)表于 2021-12-10 12:08 | 只看該作者
MARK一下,但目前看不懂的說(shuō)。
回復(fù)

使用道具 舉報(bào)

26#
ID:981034 發(fā)表于 2021-12-13 21:32 | 只看該作者
太好了,比純軟件法和外加單片機(jī)法都好,電路簡(jiǎn)單,不占用串口。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表