一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 2590|回复: 12
收起左侧

[碳纤维发热管DIY] 自己做个STC的USB自动下载器

[复制链接]
发表于 2021-4-30 11:26 | 显示全部楼层 |阅读模式
本帖最后由 1ylh 于 2021-4-30 11:32 编辑

USB自动下载器
截图202104301122089983..png
一直以来业余玩单片机,只会51,只用汇编,也不愿意换个思路换个天地,反正偶尔玩玩,兴趣爱好而已。STC的好处就是下载方便,所以后来基本就用STC了,买过一个单片机学习板,不过每次下载都要按那个开关上电,不烦其厌还是小事,关键是那个按键质量不行,接触不良,只得想法子解决,记得偶然看过有人做过STC自动下载器,经过一番学习,参考自己那个学习板的电路(奇怪,那个学习板上其实有自动下载电路,可是不知道为什么就是用不了,导致天天按那个开关直至损坏为止)。最终决定采用CH340SOP16脚封装的加一些阻容元件和几个mos管来做一个自动下载器。
最终采用的电路图是这样的:
截图202104301122287746..png
说明一下:1、CH340有好几个型号,其中CH340C是不需晶振的,CH340G是需要晶振的,我购买的时候每种买了俩,所以题图里的两个是不同版本的芯片。
2、POMS考虑了两种方案,一种是单独的SOT23封装的SI2301,一种是4953,大家可以选择一种即可。题图里两种方案都做了一个。
3、关于保险,在usb口入口处设计了一个0805保险位,大家酌情选择自恢复保险,我在用一个选了500ma自恢复保险的下载板开发远程开关是,wifi会因供电不足反复重启,应该是电流超过500ma导致的。
4、关于自动下载,用STC下载软件时,如果提示失败请将最高波特率调小一点再试。
5、关于3/5v电平转换跳线。5V芯片的时候,电压跳线接标注5V的跳线上,CH340芯片下面的跳线悬空不接,3.3V芯片时电压跳线接在3V跳线上,CH340芯片下面跳线短接即可。

截图202104301122454646..png
附件里有电路图和pcb文件,可以直接打板,也可以自行修改,比如我打板时就增加了4个固定用孔,因为是拼板,切割时是用钻头钻成邮票孔形式分开的,也没用处理,所以边沿有孔洞。将就用下吧。
截图202104301123178347..png

pcb.jpg

USB自动下载器.pdf

82.98 KB, 下载次数: 22, 下载积分: 一乐金币 -1

USB自动下载PCB.zip

2.1 MB, 阅读权限: 10, 下载次数: 29, 下载积分: 一乐金币 -1

发表于 2021-5-2 16:46 | 显示全部楼层
本帖最后由 8055 于 2021-5-2 16:49 编辑

做的不错~~
发表于 2021-5-4 17:42 | 显示全部楼层
不错 不错,收下了
发表于 2021-5-4 18:00 | 显示全部楼层
不错 不错 难得的好贴
发表于 2021-5-10 13:12 | 显示全部楼层
本帖最后由 上官梦舞 于 2021-5-10 13:16 编辑

大哥啊,可以用命令重启下载啊!
微信截图_20210510131504.png
微信截图_20210510131418.png

code unsigned char Restart[5]="RESET";
void UART1_Int() interrupt 4 using 3
{
    unsigned char temp;
    if (RI){
        RI = 0;                 //清除RI位
        temp = SBUF;
        if(RX1.Sta == RESET){
          RX1.OverTime = 3;
          if(RX1.Cnt < RX1_MAXLEN)
            RX1.Buff[RX1.Cnt++] = temp;
          else
            RX1.Buff[RX1.Cnt-1] = temp;//覆盖最后一字节
         //调试时启用DEBUG宏定义,发布版不支持命令
          #ifdef DEBUG
          if(RX1.Cnt == 5){
            if(memcmp(Restart, RX1.Buff, 5) == 0)
              IAP_CONTR |= 0x60;//软件复位单片机
          }
          #endif
        }      
    }
    if (TI){
        TI = 0;                 //清除TI位
        busy = 0;               //清忙标志
    }
}

STC-ISP设置“收到用户命令后复位到ISP监控程序区”设置串口参数,自定义命令“RESET”,勾选“每次下载前都先发送自定义命令
微信截图_20210510130117.png
这种方法更实用。






点评

第一次烧录不能实现吧????  详情 回复 发表于 2021-5-11 09:42
发表于 2021-5-11 09:42 | 显示全部楼层
上官梦舞 发表于 2021-5-10 13:12
大哥啊,可以用命令重启下载啊!

第一次烧录不能实现吧????
发表于 2021-5-24 15:22 | 显示全部楼层
好帖
发表于 2021-12-25 05:32 来自手机 | 显示全部楼层
非常不错,收下了
发表于 2021-12-28 10:39 | 显示全部楼层
不错,下载了,有时间做一个玩玩
发表于 2021-12-29 10:29 | 显示全部楼层
不错,收下了。

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-4-27 21:54 , Processed in 0.055807 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表