您的位置:首页 > 编程语言

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

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

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

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

问题成功解决了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息