当前位置: 首页 > news >正文

51单片机下载不进去程序?(pcb的设计问题)

一,创作背景

        闲来无事,有多余的STC89C516RD+芯片,于是结合51单片机的原理图,自己画了一块最小系统板,方便板子烧录和使用。于是呼,在这个过程就遇到了问题了。

二、PCB绘制

        

到手焊接完,完事儿大吉,便以为可以烧录程序了,

三、问题分析

(1)下载器选择

        硬件上使用的自制的多功能ch340G,链接放这里了,喜欢的朋友可以看看喽。首先排除的是硬件问题,因为这款ch340g我已长期使用,并无不良状况。

多功能CH340Gicon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/138393467

        然后是软件的选择,使用了普中的下载器,确保串口没问题,反复更换芯片类型,波特率,始终下不进去,于是我又使用宏晶原厂下载器,stc—isp

        这款软件是宏晶官方出品,配置好芯片类型,调整波特率,但还是下不进去,于是我开始了思考pcb本身的问题。

(2)晶振不对吗?

        我仔细检查了原理图,12M晶振,搭配33pF电容,下载不成功,于是更换22pF电容,更换晶振,效果依旧不成。接入示波器,检查晶振波形。

XLA1XLA2

        第一张图是XLA1,第二张图是XLA2,波形都是12MHZ,波形峰峰值不一致的原因是:晶振的两个脚通常连接到单片机的XTAL1和XTAL2引脚上。在正常工作状态下,这两个脚上的波形并不会完全相同。

  • XTAL1:这个引脚通常作为晶振的输入,它接收由晶振驱动的振荡信号。在此引脚上,可以看到一个相对稳定的正弦波或接近正弦波的波形。

  • XTAL2:这个引脚是晶振的输出,用于将振荡信号反馈回晶振。在XTAL2上的波形可能与XTAL1略有不同,通常振幅较小,并且形状可能更接近方波。

  • 晶振与单片机之间的交互是通过这种反馈机制实现稳定振荡的。因此,尽管两个脚的基本频率相同,但由于振荡反馈机制的存在,两个脚的波形细节是不完全一样的。

(3) 晶振真的不对吗?

根据pcb设计要求,有如下规则需要注意。

  1. 电源不稳定:晶振的供电电压不稳定可能导致输出峰峰值不一致。检查电源线和去耦电容是否适当,确保供电稳定。

  2. 负载不匹配:晶振周围的电路或负载如果不匹配,可能导致输出波形失真。确保晶振的负载电容与推荐值一致,或根据实际电路调整负载电容。

  3. 温度影响:晶振的频率和输出电压可能会受到温度变化的影响。如果工作环境温度波动较大,尝试使用温度补偿晶振或在更稳定的温度环境中测试。

  4. 布线和布局问题:PCB布线长度过长或布局不当,特别是接地处理不良,可能会引入额外的噪声和干扰,影响晶振输出。优化布线和增强接地层的连续性。

  5. 晶振老化或损坏:晶振本身也可能由于老化或损坏导致输出不稳定。尝试更换晶振,检查是否有改善。

  6. 输入信号问题:如果晶振是受控振荡器,输入信号的不稳定可能导致输出波动。检查输入信号源的稳定性。

  7. 电磁干扰(EMI):强烈的外部电磁干扰可能影响晶振的稳定性。考虑增加屏蔽措施或远离强干扰源。

        当然我在设计布局时,确实没有考虑到信号的问题,将P20,P21,P22,P23的引脚连接线布局到了晶振的下面,我还拿刀子把这几根线划断,发现还是下载不成功。 

(4)试试别的板子

        就当我快要放弃的时候,我试了之前做的51单片机,通过我制作的多功能CH340G,在RXD和TXD上有信号指引灯,可初步判断信号情况。

        正常下载时,先点击下载按钮,51单片机断电,只切断vcc脚,ch340G上的rxd会亮起后熄灭,然后txd亮起后熄灭,程序下载成功。

        给我的板子下载时,按照上述步骤,会停在rxd亮起后熄灭,于是我将单片机的vcc脚接入示波器,正常的下载情况是VCC会立刻降到0V,而我的单片机VCC脚的电压缓慢下降。

(5)完美收工

        于是,我大抵是知道了问题出在了哪里,再次对比了别人的原理图,在设计去耦电容时候,只用到了一颗104电容,但是我使用了两颗104,和一颗106。

        那为什么选用104作为退耦电容呢?

高频特性: 100nF电容器在高频范围内具有较低的阻抗,能够有效地去除高频噪声。在去耦电路中,需要快速响应来过滤掉从电源线传播的高频噪声。

而我一昧地按照防止冲击电流,在电源部分接入了个106电容,导致在下载程序时候,VCC不能很快地降到0V,导致超时,下载失败。将106贴片电容拆下后,程序即可正常下载。

四、致谢

        感谢观看,如有问题,请评论指出,临文涕零,不知所言。

http://www.xdnf.cn/news/822475.html

相关文章:

  • OTN技术
  • C语言回调函数详解(全网最全)
  • 预警功能深度测评:系统如何降低设备突发故障率?
  • Redis 复制(replica)
  • Web前端 | HTML表单form
  • c语言中atoi函数用法以及功能
  • 卫星导航中DOP的简易数学科普
  • 尤菲·如月 与你有约 ぐりぐりキュートユフィ汉化补丁
  • 读零信任网络:在不可信网络中构建安全系统21读后总结与感想兼导读
  • 英语学习资源
  • sinon.js的spy、stub和mock
  • c++ 图形函数
  • 自学实践前后端项目4 MMall商城 6
  • 攻防世界-pwn-dice_game(srand(),rand(),随机数)
  • 盲打键盘的正确指法指南
  • 值得看的SQL书籍
  • R语言-knn算法的实现
  • Java/JDK下载安装与环境配置(Windows 10 超详细的图文版教程 )
  • 使用sourcesafe时遇到的问题
  • NationalInstruments(二)深圳市裕量科技有限公司
  • 支持 PS/2 与 USB 的键盘过滤驱动(可卸载)
  • ICE简介
  • CSV大表格分割难题解决,全靠这些软件!
  • 局域网限速工具幻境网盾使用教程
  • Leetcode 3 最长不重复字符串
  • MFC动态创建(dynamic creation)实现原理
  • 炫酷登录注册界面【超级简单 jQuery+JS+HTML+CSS实现】
  • mysql的如何输入dateadd_mysql中date_add()函数的使用?
  • java jersey使用总结_Java 中使用 Jersey 实现上传文件(附加密和解密)
  • android platform.pk8在那个文件下_o泡果奶软件在哪下载 o泡果奶一份礼物魔性文件下载...