×

CH552是8051内核和USB接口的小MCU

消耗积分:2 | 格式:zip | 大小:0.14 MB | 2022-08-02

分享资料个

PCB图如下:
pYYBAGLebE-AX0_vAJoKYQPZAZU308.png
poYBAGLebFWASEFRAADZR-kI7_k247.jpg

描述

CH552龙

 

* * 硬件概述 * *

 

CH552是一个8051内核和USB接口的小MCU,而且非常便宜。

 

pYYBAGLebFiABUm6AAE95Byy7lE134.png

 

到目前为止,我从未使用过 8051 内核,所以这似乎是一个尝试的好机会。

所以我买了一小批 SO-16 版本(CH552G)并做了一个小板来玩它,“ CH552 Dragon ”...... :-)

 

pYYBAGLebFyAHTmdAAR1MzY-KnY354.jpg

 

该板遵循与之前的ARMando相同的“布局概念” ,因此可以直接插入一个或两个面包板中:

 

poYBAGLebGWADrJEAA38mCM21tg662.jpg

pYYBAGLebGmAfJfwAAzaoa9ogsY136.jpg

 

pYYBAGLebG-AFTw1AA4PxbWz9LA614.jpg

 

CH552 Dragon上,我添加了一个物理“用户”键 ( USR ) 和三个触摸按钮(TIN1TIN2TIN3),因为 CH552 具有使用它们的硬件。

 

还有一个可选的 3.3V 电源(如果不感兴趣,可以选择不填充,参见原理图)使用PWR SEL开关在 5V 或 3.3V 之间选择 GPIO 电源(即如果你想连接 3.3V 的东西) .

制造商(WCH)的所有官方文档都是中文的,但是使用谷歌翻译肯定会更具可读性。这里有一个带有自动英文翻译的 CH552 页面的链接

* * 软件概述 * *

要对 CH55X MCU 系列进行编程,可以使用基于 SDCC 编译器的开源 C 工具链,可以在 Github 上找到

在同一存储库中,CH554 手册(添加 USB 主机功能的 MCU 版本)有英文翻译,也可用于 CH552。

在以下视频中,有一个常见的眨眼测试示例:

要刷新我在此处(在 Windows 10 上)使用的可执行 .HEX 文件,可以在此处找到由 WCH (WCHISPTOOL)制作的原始工具。

CH55X MCU 带有一个引导加载程序,允许使用 USB(在上一个视频中使用)或串行接口(引导加载程序“吃掉”一些闪存空间,并且不能使用 USB 或串行接口覆盖)。

要对 CH552 进行编程,您需要使用 5V 电源为其供电(CH552 也可以在 3.3V 下工作,但您无法对其进行编程。如果已安装PWR SEL开关,则必须处于 5V 位置以允许 MCU 编程) ,按下PROG按钮,然后将其通电(即连接到 USB 端口)。

按下RSTPROG键无法激活引导加载程序,但需要通电(按下 PROG 键)。

还请记住,根据数据表,闪存具有有限的“保证”数量200 写入周期

 

 

 

 

 
PCB图如下:

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'CH552是8051内核和USB接口的小MCU',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);