解决:C8051系列单片机,代码量较大时工作不正常问题

来源:互联网 发布:管家婆软件打不开 编辑:程序博客网 时间:2024/06/11 06:37

问题:最近用一款C8051F380单片机,写一个项目程序,结果奇怪地发现,当我的代码量增加一些后,程序烧录进去后,发现单片机几乎没工作,没有进主函数,串口更是不能工作了。怀疑是内存资源用超了,一看,此单片机4K RAM和64K ROM,资源绰绰有余,而且主函数下第一句就关闭了看门狗。找了好半天原因,无果。

解决:最后,将调试功能的Run to main()勾去掉,发现程序能调试了,但是代码在XDATALOOP这儿就容易产生复位,心想,是不是这个循环上单片机耗费的时间太长了,没有及时关闭看门狗,从而导致单片机复位了。于是,我在单片机的Startup.A51文件里,在STARTUP1下增加了如下代码:

STARTUP1:
;关闭看门狗
MOV A,0D9H
ANL A,#0BFH
MOV 0D9H,A
CLR A


问题成功解决了。

0 0