基于STC8G1K08的CH549单键进入USB下载模式实验
一、实验原因
CH552或CH549进入USB下载,通常需要两个按键,一个控制电源的通断,一个通过串联电阻(一头接VCC或V33)冷启动时抬高UDP电平。时序上是这样的:断电--按下接UDP的轻触开关--通电--松开接UDP的轻触开关。这样的话,操作上一般需要双手并用,比较麻烦。
二、电路改进
本制作是在前面纯硬件实现CH549或CH552单键进入USB下载模式(详见开源项目 https://oshwhub.com/xxkj2010/single-key-bring-in-circuit-test )的基础上进行修改的,即利用手头闲置的STC8G1K08写入延时代码,通过一定顺序控制电源输出和UDP电平,从而为CH552或CH549提供进入USB下载模式的时序。
三、板子实物
板子实物图(USB母口未接)如下:

原设计欠缺R5,目前用直插电阻补焊到板子的背面。

与CH549连接的实物图如下:

四、开源项目
开源项目中的线路和PCB已经补上R5,欢迎朋友们直接使用。

开源项目网址:
https://oshwhub.com/xxkj2010/experiment-of-ch549-single-key-e
五、两点说明
1、原设计上的K2和K3是为了测试双按键进入USB下载模式功能的,非必要可以不用焊上。K1为单键进入下载模式轻触开关。
2、鉴于开发板上的电源滤波电容容量各不相同,所以附件提供了两个HEX文件,一般情况下两个都可以用。选择上可以根据板载电容容量选择。如果你的实验板使用大容量电容,则可以选择 时间较长.hex,相反则选择 时间较短.hex。
六、使用方法
打开WCHISPStudio并选择芯片系列,下载接口选择USB,连接好线,按一下K1,即可令CH549或CH552进入USB下载模式。
七、测试效果

因个人业余水平有限,电路和源代码仍然有修改和完善的需要,所以敬请各位大佬提出修改意见,谢谢!
2025.1.7
欢迎关注本人公众号,了解更多。

基于STC8G1K08的CH549单键进入USB下载模式实验的更多相关文章
- 基于ZedBoard的Webcam设计(一):USB摄像头(V4L2接口)的图片采集【转】
转自:http://www.cnblogs.com/surpassal/archive/2012/12/19/zed_webcam_lab1.html 一直想把USB摄像头接到Zedboard上,搭建 ...
- 使用复合索引代替单键索引,来避免单键有null值的情况
查看原表: SQL> select count(*) from t1; COUNT(*) ---------- 3229088 SQL> select count(*) from t1 w ...
- 设计模式-单键(Singleton)
[摘要] 在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性.以及良好的效率. 如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例? 这应该 ...
- [置顶] 单键模式的C++描述
设计模式-单键(Signelton):其实单键的设计模式说来很简单,说的直白一点就是程序运行过程中保证只有一个实例在运行而已.在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例, ...
- 基于IMX515EVK+WINCE6.0---支持PB6.0通过USB下载镜像文件
基于IMX515EVK+WINCE6.0---支持PB6.0通过USB下载镜像文件 在INAND还没有写入镜像文件之前,通过ATK工具烧录xldr.nb0和eboot.nbo到INAND中,见相关链接 ...
- Jeff Atwood质疑iPhone的单键设计
我喜欢使用iPhone,但我对它的一个设计不敢苟同:苹果始终坚持,设备的正面永远只能有一个按键. 我还买了一个Kindle Fire,它更离谱,一个按键都没有!我完全赞成,任何小器具的正面都应该在明显 ...
- "《算法导论》之‘线性表’":基于数组实现的单链表
对于单链表,我们大多时候会用指针来实现(可参考基于指针实现的单链表).现在我们就来看看怎么用数组来实现单链表. 1. 定义单链表中结点的数据结构 typedef int ElementType; cl ...
- mongodb索引 单键索引
单键索引是最普通的索引,比如一条记录,形式为{x:1,y:2,z:3},我们在x上建立索引,之后就可以以x为条件进行查询,与_id索引不同,单键索引不会自动创建 创建索引 > db.test2. ...
- 【原创】-- Linux 下利用dnw进行USB下载
原帖地址: http://blog.csdn.net/jjzhoujun2010 http://blog.csdn.net/yf210yf/article/details/6700391 http:/ ...
- 850 USB 烧录模式
/************************************************************************* * 850 USB 烧录模式 * 说明: * 本文 ...
随机推荐
- 五分钟掌握Python中配置文件解析器configparser的使用
--- 好的方法很多,我们先掌握一种 --- [背景] 这里描述的配置文件为自动化用例中使用到的信息,非pytest自动化框架中例如pytest.ini, conftest.py等具有特殊意义的配 ...
- vue3 + typescript + element-plus 大文件上传
大文件上传 思路:前端获取 file 文件对象使用 slice 方法截取切片,然后异步上传切片,再合并 技术栈 TypeScript Vue3 Element-plus Nodejs 客户端实现 创建 ...
- TXT文本Log日志分割工具(附工具链接)
前言 相信大家也会像我一样,生产出现了问题,拿下来的日志,用文本编辑器打开直接卡死,甚至说非常卡,查起来非常麻烦且费时间 当当当当 ~~~~~~ 又小,免费非安装的TXT文件分割器就此诞生 链接地址: ...
- Air780EP低功耗4G模组AT开发:阿里云应用
Air780EP是合宙推出的一款低功耗4G全网通模组,兼容模组行业1618经典封装,支持OpenCPU开发及全功能数传AT开发,可广泛应用于多样化的物联网终端. 针对客户朋友需求反馈,本期特别推出 ...
- Docker配置Trojan代理
1.遇到的问题 在做云计算作业,使用阿里云的ECS服务器尝试使用docker拉取镜像的时候,发现一直无法从仓库拉取,更换了多个镜像源也没有解决问题,于是决定学会去配置linux的代理,记录过程. 2. ...
- 接口自动化测试框架【python+requests+pytest+excel/yaml+allure+jenkins】
一.在整个框架中需要用到哪些东西? 1.python环境安装 https://www.python.org/downloads/windows/ 下载解压后直接安装,选择 Add python to ...
- 通过Java代码发送OutLook邮件
准备 我们想通过Java代码实现发送OutLook邮件,必须准备以下材料: OutLook邮箱 目标邮箱 查看OutLook邮箱信息 打开OutLook邮箱,在Settings中搜索或找到SMTP: ...
- java——棋牌类游戏斗地主(webddz1.0)之二
package com.ddz; import java.io.ObjectInputStream; import java.net.DatagramSocket; /**************** ...
- AtCoder Beginner Contest 152
Flatten 给定\(n\)个正整数\(a_i\),,现在让你求出\(n\)个整数\(b_i\),使得任取\(1\le i < j \le n\),\(a_ib_i=a_jb_j\)始终成立, ...
- KETTLE 复制次数
作用就是开启多线程. 比如上例设置为6. 总共 17条数据,分为6次执行,可以看出是启用了多线程执行.