三门峡网站建设价格,为wordpress安装iis rewrite 组件与配置方法,企业自建服务器网站建设流程,wood怎么做网站结构图STC单片机选择外部晶振烧录程序无法切换回内部晶振导致单片机不能使用
1.概述
在学习51单片机过程中#xff0c;选择了STC的12C2052AD型号单片机作为入门芯片。前几个课题实验使用默认的内部晶振烧录程序#xff0c;运行都没有问题。 选择一个LED亮度渐变的课题做实验…STC单片机选择外部晶振烧录程序无法切换回内部晶振导致单片机不能使用
1.概述
在学习51单片机过程中选择了STC的12C2052AD型号单片机作为入门芯片。前几个课题实验使用默认的内部晶振烧录程序运行都没有问题。 选择一个LED亮度渐变的课题做实验设置了外部晶振烧录程序。第一次烧录成功之后就再也不能烧录了难道是单片机烧了损坏了 然后开始了各种折腾尝试过使用内部晶振烧录程序外部晶振烧录都没有反应被这个问题困扰住了。接下来的几天阅读STC12C2052AD单片机用户手册寻找答案。。。
2.场景复现
2.1.LED灯渐变实验步骤
1.按照下图给出的接线图在面包板上接好元器件。如果没有多个LED灯只接其中一个也可以。2.使用STC-ISP程序烧录程序选择外部晶振。点击下载程序成功。3.LED按照编写好的程序运行亮度由暗到亮逐渐变化这个实验完成了。4.断掉单片机的电源拆下与单片机连接的元器件。5.给单片机通电然后给单片机烧录程序选择内部晶振。没有反应不能烧录了。6.选择外部晶振给单片机烧录程序还是没有反应不能烧录。 3.单片机起死回生
3.1.定位问题过程
第一次做出假设并验证
难道这个单片机坏了吗还是STC-ISP烧录软件设置不正确或者电压不稳定导致不能烧录程序下面开始验证这几个假设。
首先换了一个新的单片机按照上面的操作步骤烧录程序第一次成功了第二次同样不能烧录了。问题就出现在使用了外部晶振难道是硬件导致的吗。
由于对单片机了解匮乏暂时没有思路了这个时候需要对单片机更加深入的了解掌握更多的信息在来解决这个问题。 通过阅读STC12C2052AD单片机用户手册找到了如下两个关键信息
单片机通过UART串口接收数据需要晶振才能启动STC-ISP设置外部晶振在下次冷启动后生效
第二次做出假设并验证
1.第一次烧录程序选择外部晶振并不是通过外部晶振烧录程序依旧使用内部晶振完成的烧录程序需要在下次断电后才会切换为外部晶振。2.当第二次烧录程序时LED灯渐变实验步骤4给单片机断电并且拆除了外部晶振。导致第二次烧录程序使用外部晶振模式但是硬件中没有外接晶振UART串口无法传输数据导致烧录失败。即使后面尝试在STC-ISP烧录软件上设置为内部晶振也无法烧录因为此时默认的模式是外部晶振。必须通过外部晶振烧录成功后才可切换为内部晶振模式烧录程序。
3.2.解决方法
1.外部晶振烧录程序
首先按照上图将晶振与单片机连接好使单片机可以通过外接的晶振起振。STC-ISP烧录软件设置内部晶振或者外部晶振都可以因为当前单片机使用的是外部晶振。假设我们在STC-ISP设置为外部晶振模式点击下载程序程序烧录成功
2.自由切换内外晶振烧录程序
上面的尝试验证了第二次的推理是正确的那么掌握了这个原理后就可以随心所欲的切换内外晶振烧录程序了。
内部晶振切换为外部晶振
1.单片机硬件上是否外接晶振不重要只有一个单片机即可。
2.在STC-ISP上设置外部晶振然后点击下载程序。此次烧录程序使用的是内部晶振他会成功。
3.断掉单片机5V正极电源在接通5V电源。此时单片机才切换到了外部晶振。
4.再次烧录程序就不会成功了因为它切换为了外部晶振只有硬件外接晶振才可烧录程序。外部晶振切换为内部晶振
1.当前单片机是外部晶振模式第一次烧录程序必须为单片机硬件外接晶振这样他才能通过外部晶振起振。
2.在STC-ISP上设置内部晶振然后点击下载程序。此次烧录程序使用的是外部晶振。
3.断掉单片机5V正极电源在接通5V电源。此时单片机才切换到了内部晶振。4.总结
文章概述中描述的问题原因有两点。
在STC-ISP设置内外部晶振模式第一次烧录程序后并不生效需要在烧录完成后再手动冷启动后生效。单片机烧录程序是通过UART串口该串口数据传输依赖晶振没有晶振将无法传输数据。
因此解决这个问题的关键点就是判断当前单片机使用的是内部还是外部晶振如果无法判断当前使用是哪个晶振那就把外部晶振接好为单片机同时提供内外晶振在烧录程序时有单片机自己选择。只要它找到了晶振就解决了不能烧录程序的问题。