STC单片机无法下载故障总结

来源:互联网 发布:交换机端口安全配置 编辑:程序博客网 时间:2024/05/16 14:34

STC单片机(宏晶公司,现在好像改成南通国芯微电子)属于8051类单片机,因其价格低廉,性价比高,以及烧写程序简单而得到广泛应用,特别受到大学生的青睐。这款芯片的最大优点可能就是串口烧写程序相对简单,但是也带来了不能在线Debug调试的缺点;同时芯片手册的介绍夸大其词,鄙视标准不统一,在使用中要注意多看手册,不然会出现莫名奇妙的问题。暂且不对其评价了,本文就说说在开发过程中可能遇到的不能下载的问题。微笑

当我们兴冲冲点击编译好的程序下载时,忽然发现出现问题,这种不爽是可以想象的。

1.下载前请确保硬件正常,并且确保串口线连接正确,特备是新制作的板子,第一次下载容易出现问题。硬件不正常,一般是复位电路没做好。STC单片机高电平复位,很多时候焊接的会粗心把复位电路中电容、电阻的位置焊反了。所以上电后请用万用表测量复位引脚,确保是低电平。只有上电一瞬间或按住复位键时是高电平。再就是最好上电后用示波器测量晶振引脚或单片机的ALE引脚,默认状态下ALE输出(系统时钟/6)波形。

2.串口部分的设计和连接也时常出问题,单片机的收发经过RS232芯片转化后要连接串口座,RS-232端口(DB9母头/孔型)引脚定义:
引脚序号:2          3            5 
信号定义:TXD     RXD        地 
RS-232端口(DB9公头/针型)引脚定义: 
引脚序号:2          3             5 
信号定义:RXD    TXD         地 

因为计算机后面的串口多为公头,所以单片机多采用母头,接线的时候就是:rs232的TOUT连接母头的2脚(发送),rs232的RIN连接母头的3脚(接收),单片机开发板与电脑采用直连的串口线连接(2--2,3--3)。假如开发板采用了公头,那么你的串口线就要采用交叉的串口线。总之,要确保单片机的发送连接计算机的接收,单片机的接收连接计算机的发送!

3.当硬件确认没问题,就利用STC_ISP软件下载,个人感觉选择4.80和4.83版本就好,4.88版本似乎不稳定。点击了下载命令后,给单片机上电,但出现下图的信息就说明能检测到你的芯片,你的单片机工作了,串口通信也正常。

当没出现上图信息,可能是以下原因:
①电源不稳定,请尽量不要用10元到30元左右的小开关电源模块来给电路板供电,这种模块纹波大,对下载干扰强,这类模块如下图所示:,特别是驱动能力强的模块,干扰更强,最好用线性稳压芯片,如:7805等。

②电脑的串口坏了,如果你带电插拔,很容易烧坏电脑串口(本人烧过3台电脑),如果你用的是USB转串口,那么可以热插拔。但是请一定一定买那种质量好的(贵的一般质量好),我们不能在这上面省钱。同样是2303的USB-UART线,20元的比8元的好很多。尽量买FT232主芯片的转接线,其他的ch341和CP2102也比Pl2303好点。

③多换几台电脑试试,有时候操作系统也会出错,特别是很旧的机器,我遇到过在一台电脑不行,换台电脑就好的情况。

④调整下载的波特率,有时需要把最高和最低的下载波特率设置一样,一般可设置成2400来试验。

4.检测到芯片,不能擦出程序区的情况,一般因为下载波特率设置的太高,或者个别单片机本身的问题,这是就按照提示把最高波率调低点。如下图:

试着调整波特率,遇到不能检测芯片时就把最高和最低都设置2400,如果使用STC_ISP4.88版本下载,遇到不能擦出程序区,就把波特率设置成一样(1200~115200都行)。

5.假如你每次下载采用了P1.0/P1.1都为0时下载程序,那么你下次下载就必须让P1.0/P1.1在上电前接地,否则不能下载。当然以后可以改成“与下载无关”,以后P1.0/P1.1就不用接地了。

下载器还提供自定义下载,如果你熟悉的话请慎用,不然你下载后会出现串口不能打印等等问题

 

6.假如以上措施都测试过了,问题依旧没有解决,我们就换个芯片试试,STC单片机串口很容易坏掉的,这就是便宜没好货吧微笑

7.补充:如果选用的是3V的单片机,那么下载程序前最好用导线短接一下电源和地线(记住关闭电源),放掉板子上多余的电量,特别是反复烧写时,串口和能给板子提供少量的电。

8:如果你的复位引脚设置成用作普通IO口,那么记住第一次下载程序还是要接复位电路,同时在下载软件中选择内部复位,这样你下载就可以去掉复位电路也能下载了!

骆驼祥子曰:文章胡乱写,引用需谨慎!