找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3012|回复: 10
打印 上一主题 下一主题
收起左侧

STC单片机不能下载程序之个人经历

[复制链接]
跳转到指定楼层
楼主
说一说我学习STC单片机踩过的坑。

入门单片机编程是从杜洋的《爱上单片机》开始的。看过这本书的朋友可能都有所了解,这本入门性质的书籍,语言风趣幽默,能够吸引人不停的读下去,从而提高学习的兴趣。刚开始是从STC12C2052AD这款型号的单片机开始的,并使用面包板搭建简单电路。随书籍附赠的光盘提供了一些丰富的例程,对于刚开始学习单片机的我,对照着例程,把一个个程序下载进去,看着单片机按照相应程序执行,玩儿的不亦乐乎,别提多高兴了。但该来的总会来,悲剧这就发生了!谁又能保证自己学习单片机没有踩过坑呢?

记得有一次下载程序,没反应,怎么回事?然后就开始各种检查,百度大家在学习单片机下载程序出现过的类似情况,对照着逐一排查,一连折腾了好几天,最后还是不行只能放弃。将这块芯片做好标记——串口不能下载程序,放到一旁吃灰去了。

后面由于工作需要,就直接买了STM32的开发板,学习ARM单片机了。最近整理房间的时候,又把之前学习51单片机的相关东西翻了出来,准备打包扔掉了。但转念又想到当时的悲剧,是自己当时操作有误,还是设置有问题?还是那块单片机彻底坏掉了?抱着试一试的态度,又把它拿了出来,连接好电路后,重新下载程序,可惜奇迹并没有发生!就在我准备放弃的时候,想着用万用表测一下各个引脚,看看有没有异常的情况。P1口都是5v,RXD、TXD都是3v左右,也没发现什么不正常的地方呀!但当我将红表笔搭到4脚和5脚时,黑表笔当然是搭到GND了,准备测量XTAL1和XTAL2的电压情况时,面包板上没有晶振?随便找了一颗晶振给装上去。就在晶振装上的那一瞬间奇迹发生了,USB转TTL小板的下载灯闪烁,程序下载进去了。But Why?之前为什么不行?装了晶振就行了?这是什么鬼?

静下心来重新打开STC12C2052AD的数据手册,翻开时钟部分的介绍,通过仔细阅读,终于让我发现问题所在。原来按照《爱上单片机》书里面的那些例程,一个一个程序下载进去,刚开始的时候由于精简化电路,并没有使用外部晶振,但后面的例程由于对时钟频率要求较高,所以在STC-ISP下载的时候设置的是外部时钟,电路当然也接了外部晶振。随后当我再次搭建不需要晶振的电路,比如下载流水灯的那些例程时,由于没有外接晶振,所以冷启动后一直没有反应。而当我误打误撞装上晶振后,程序下载成功了!问题完美解决,这块单片机又能“再战五百年”了,又能和它愉快的玩耍了!

通过这次“教训”,让我更加知道细节的重要性!虽然这种情况在实际的单片机电路里可能不会出现,但由于没有仔细阅读数据手册,而忽略掉了一些重要的细节问题,从而导致当初的窘境。现在将我的心得与大家分享,希望大家可以共同学习、共同进步!



评分

参与人数 1黑币 +80 收起 理由
admin + 80 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:514317 发表于 2022-5-30 07:31 | 只看该作者
这么大好晶振都能忘了???很多的问题调试不通都是因为细节问题
好在现在STC的新片都带内部振荡器,都不需要另外配晶振了
回复

使用道具 举报

板凳
ID:712493 发表于 2022-5-30 10:21 | 只看该作者
lzzasd 发表于 2022-5-30 07:31
这么大好晶振都能忘了???很多的问题调试不通都是因为细节问题
好在现在STC的新片都带内部振荡器,都不 ...

本来修理CPU的线路,三大要术:电源、晶振(时钟)、复位(RESET)最少保证芯片能正常工作的条件
回复

使用道具 举报

地板
ID:645485 发表于 2022-5-30 10:27 | 只看该作者
lzzasd 发表于 2022-5-30 07:31
这么大好晶振都能忘了???很多的问题调试不通都是因为细节问题
好在现在STC的新片都带内部振荡器,都不 ...

你说的很对,有时候细节决定了能否成功!所以我说这个“坑”在实际问题中基本不会出现,因为实际应用基本不会用到内部RC时钟,都是外接的晶振。自己刚开始也是懵懵懂懂,像这类问题遇到的多了,自然就能够提高自己!
回复

使用道具 举报

5#
ID:383215 发表于 2022-5-30 17:32 | 只看该作者
这个坑我基本上不会踩,AVR单片机的熔丝设置很容易错,设置错误要用外接晶体甚至高压编程器才能改回来,用AVR单片机的时候,已经注意这个问题,STC单片机的设置比AVR简单方便了很多,不管是AVR还是STC单片机,我基本上都是用内部RC振荡器,很少用外部晶体。
回复

使用道具 举报

6#
ID:645485 发表于 2022-5-30 23:28 | 只看该作者
kmsj 发表于 2022-5-30 17:32
这个坑我基本上不会踩,AVR单片机的熔丝设置很容易错,设置错误要用外接晶体甚至高压编程器才能改回来,用A ...

在实际的单片机设计中也是用的内部RC时钟?不会吧?
回复

使用道具 举报

7#
ID:645485 发表于 2022-5-30 23:30 | 只看该作者
fj51hei 发表于 2022-5-30 10:21
本来修理CPU的线路,三大要术:电源、晶振(时钟)、复位(RESET)最少保证芯片能正常工作的条件

是的,以后会注意的!
回复

使用道具 举报

8#
ID:213173 发表于 2022-5-31 05:44 | 只看该作者
tongguan123 发表于 2022-5-30 23:28
在实际的单片机设计中也是用的内部RC时钟?不会吧?

自从选用STC15系列MCU设计电路以后就没有用过外部晶振。只要不是做钟表,一小时十几秒的误差完全可以忽略。
回复

使用道具 举报

9#
ID:390416 发表于 2022-5-31 09:11 | 只看该作者


下载失败的情况,这里解释很清楚  单片机入门九章.pdf
回复

使用道具 举报

10#
ID:645485 发表于 2022-5-31 10:49 | 只看该作者
wulin 发表于 2022-5-31 05:44
自从选用STC15系列MCU设计电路以后就没有用过外部晶振。只要不是做钟表,一小时十几秒的误差完全可以忽略 ...

还没用过STC15系列的,有机会可以去试试!
回复

使用道具 举报

11#
ID:645485 发表于 2022-5-31 10:52 | 只看该作者
人人学会单片机 发表于 2022-5-31 09:11
下载失败的情况,这里解释很清楚

果断收藏!为什么没有早点儿遇见你?茫茫人海中,多谢你的分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表