标题: 单片机烧录程序后损坏 [打印本页]

作者: hzh173    时间: 2022-2-22 16:59
标题: 单片机烧录程序后损坏
芯片型号STC15W204S单片机,烧录的DS18B20测温程序,工作都正常,后来在DS18B20的程序中增加了一段读取DS18B20序列号的程序,如下///////////////////////////////////////////////////////////////

void get_rom()        //获取DS18B20的序列号
{
        unsigned char i,j;
        Ds18B20_Rst(); //复位
        Delay_ms(1); //延时
        Ds18B20_Wr(0x33); //发送读序列号命令
        for(j=0;j<9;j++)
        {
                table[j]=Ds18B20_Rd(); //读取序列号存入数组
        }
}


///////////////////////////////////////////////////////////////
在主程序中测试一下,调用get_rom(),然后把序列号送串口。编译后烧录,第一次烧录正常,断电再上电后,板子就不能再启动了,烧录程序也烧录不进去了,示波器测量下载程序时单片机的RXD与TXD引脚,也有信号,但就是不能下载程序,最后实在没办法,换了MCU,烧最原始的程序,板子运行启动都正常,手贱又烧录了一次加上  读序列号的程序,结果又是同样的问题,不能下载程序不能启动,MCU又坏了。
有大佬知道是怎么回事吗?

作者: npn    时间: 2022-2-22 18:41
请测量其他IO口有无信号
作者: 188610329    时间: 2022-2-22 19:35
把芯片从板子上取下来,就能烧录了, 如果你经常要在板烧录的话,最好加入启动延时,不然很容易烧录失败。
作者: npn    时间: 2022-2-22 20:23
188610329 发表于 2022-2-22 19:35
把芯片从板子上取下来,就能烧录了, 如果你经常要在板烧录的话,最好加入启动延时,不然很容易烧录失败。

贴片的芯片取不下来,板子设计可能有问题。

作者: 188610329    时间: 2022-2-22 21:29
npn 发表于 2022-2-22 20:23
贴片的芯片取不下来,板子设计可能有问题。

恩,我只是通过这个告诉他,问题不在代码,也不在芯片,而是在于,板子在设计时没有考虑,在板烧录的问题,一般需要边测试,边修改代码,反复重新烧录的话,板子上面要多加一些可以和外围切断的跳线,不然就应该考虑用 DIP的封装 配合IC座 来方便拆装烧录。
作者: wulin    时间: 2022-2-23 06:10
只要硬件电路没有隐患,再烂的代码也不会导致MCU损坏。检查烧录时的硬件选项是否得当、硬件电路有无瑕疵。
作者: aking991    时间: 2022-2-23 08:38
是不是你的P30P31有复用电路存在,把你的原理图发出来让人帮你看一下就知道了
作者: hzh173    时间: 2022-2-23 08:50
npn 发表于 2022-2-22 18:41
请测量其他IO口有无信号

其它口也没有输出,程序就跟没启动一样,外部有个706看门狗,程序没启动,没喂狗,然后就又导致一致复位。
作者: hzh173    时间: 2022-2-23 08:51
本帖最后由 hzh173 于 2022-2-23 09:36 编辑
188610329 发表于 2022-2-22 19:35
把芯片从板子上取下来,就能烧录了, 如果你经常要在板烧录的话,最好加入启动延时,不然很容易烧录失败。

谢谢,应该是电路有影响了。
作者: hzh173    时间: 2022-2-23 09:15
本帖最后由 hzh173 于 2022-2-23 09:40 编辑
188610329 发表于 2022-2-22 21:29
恩,我只是通过这个告诉他,问题不在代码,也不在芯片,而是在于,板子在设计时没有考虑,在板烧录的问题 ...

谢谢,可能就是周边电路影响了。我把拆下的不良芯片焊到一个光PCB板子上,重新下载原始程序,可下载成功了,然后再把这个芯片从光PCB板上拆下来,重新焊回到原电路板上,测试功能正常,奇怪的是在电路板上重新下载原始程序,也可以正常下载。
作者: hzh173    时间: 2022-2-23 09:35
电路比较简单,就是实现测温,然后根据设定控制继电器通断的功能,再一个串口通讯。应该是哪个在地方影响。

51hei截图20220223093120.jpg (75.17 KB, 下载次数: 78)

51hei截图20220223093120.jpg

作者: man1234567    时间: 2022-2-23 10:34
P3.0和3.1接入电路,如何保证不受SE232芯片影响 ?
作者: Y_G_G    时间: 2022-2-23 13:38
12#应该就是正解了
STC15W204S的串口IO是可以切换的,可以把串口切换到P3.6和P3.7上,这样一来,P3.0和P3.1就不用接入电路了
作者: 188610329    时间: 2022-2-23 13:58
hzh173 发表于 2022-2-23 09:35
电路比较简单,就是实现测温,然后根据设定控制继电器通断的功能,再一个串口通讯。应该是哪个在地方影响。 ...

看你的图,就如同我所说的, P3.0 和 P3.1 与 SP232 之间的连接最好 用跳线帽连接,那么你要下载的时候,如果发现不能成功下载,只要断开,P3.0 P3.1 与 SP232 之间的连接即可成功下载。

我不知道你电路图上  P3.6 P3.7 的接地跳线 是什么原因,是什么目的,如果是一种类似 拨码开关的性质,我觉得,你可以考虑13楼的说法,把串口通信换到 P3.6 P3.7, 把原来P3.6,P3.7 需要接地的责任 给P3.0 P3.1, 那么你需要下载的时候,只要断开  P3.0,3.1 的接地即可。
作者: tiantangniao    时间: 2022-2-23 14:13
已经接了232芯片的话,就不要使用TTL方式去刷程序了,直接232线来刷,先启动软件,再给板子通电
作者: Blearlove    时间: 2022-2-23 14:14
我有几块芯片用STC-ISP烧录不进去...
作者: npn    时间: 2022-2-23 14:19
wulin 发表于 2022-2-23 06:10
只要硬件电路没有隐患,再烂的代码也不会导致MCU损坏。检查烧录时的硬件选项是否得当、硬件电路有无瑕疵。

代码可能会损坏板子外的元件,某MOS管截止频率10Khz,1Mhz进去直接冒烟。
作者: yzwzfyz    时间: 2022-2-26 15:50
5#错,
6#、7#是正确!请采纳。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1