基于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 烧录模式 * 说明: * 本文 ...
随机推荐
- AI Undetect是什么?
标题:AI UNDETECT:超越AI检测的反检测神器 在数字时代,人工智能的飞速发展已经渗透到我们生活的各个领域,包括教育.科技.网络内容制作等.越来越多的人依赖AI来生成各种内容,从学术作业.论文 ...
- 在嵌入式设备中实现webrtc的第三种方式②
先贴上效果图以及操作路径. 操作路径为:启动信令服务器,配置浏览器关闭mDNS,双端登录,浏览器端邀请.最终连接成功建立,我们通过datachannel成功通信 (关闭mDNS是因为谷歌浏览器隐藏了局 ...
- 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现二
一.前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势.传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速.便捷需求.这些问题不 ...
- CAD Plus 移动端使用帮助
Mac端使用帮助 English help 如果您有疑问或需要帮助请发送邮件至 3167292926@qq.com 1. 权限要求 1.1 获取位置信息 使用文件管理功能时显示网络信息需要获取位置信息 ...
- Golang的GMP调度模型与源码解析
0.引言 我们知道,这当代操作系统中,多线程和多进程模型被广泛的使用以提高系统的并发效率.随着互联网不断的发展,面对如今的高并发场景,为每个任务都创建一个线程是不现实的,使用线程则需要系统不断的在用户 ...
- 【一步步开发AI运动小程序】二十、AI运动小程序如何适配相机全屏模式?
引言 受小程序camera组件预览和抽帧图像不一致的特性影响,一直未全功能支持全屏模式,详见本系列文件第四节小程序如何抽帧:随着插件在云上赛事.健身锻炼.AI体测.AR互动场景的深入应用,各开发者迫切 ...
- gearman任务分发改进
基于我上次在这里发现的问题,就是一次性投递20个消息,用sleep等待后发现,最后一个任务需要等前面19个都跑完才能执行,所以这里做一下改进. client.php <?php $client ...
- npm link的作用——避免频繁发布更新
web-components 里面的组件库 修改频繁 可以使用link 创建链接,引用放就不需要每次都重新发布重新安装更新了 功能 在本地开发npm模块的时候,我们可以使用npm link命令,将n ...
- (Python基础教程之十九)Python优先级队列示例
1.什么是优先队列 优先级队列是一种抽象数据类型,类似于常规队列或堆栈数据结构,但每个元素还具有与之关联的"优先级". 在优先级队列中,优先级高的元素先于优先级低的元素提供. 如果 ...
- Linux命令之ncdu
简介 Ncdu - NCurses Disk Usage Ncdu 是一个带有 ncurses 接口的磁盘使用分析器. 它旨在在您没有完整图形设置可用的远程服务器上查找空间占用,但即使在常规桌面系统上 ...