咨询电话

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

发表于2017-02-09 10:02:59 次查看
本文由湖南硅谷教育小编整理发布
 
IT业的兴起源于美国硅谷,
您的成功起始于湖南硅谷!

问题:最近用一款C8051F380单片机,写一个项目程序,结果奇怪地发现,当我的代码量增加一些后,程序烧录进去后,发现单片机几乎没工作,没有进主函数,串口更是不能工作了。怀疑是内存资源用超了,一看,此单片机4K RAM和64K ROM,资源绰绰有余,而且主函数下第一句就关闭了看门狗。找了好半天原因,无果。
解决:最后,将调试功能的Run to main()勾去掉,发现程序能调试了,但是代码在XDATALOOP这儿就容易产生复位,心想,是不是这个循环上单片机耗费的时间太长了,没有及时关闭看门狗,从而导致单片机复位了。于是,我在单片机的Startup.A51文件里,在STARTUP1下增加了如下代码:
STARTUP1:
;关闭看门狗
MOV A,0D9H
ANL A,#0BFH
MOV 0D9H,A
CLR A
 
问题成功解决了。

本文由湖南硅谷教育小编整理发布
湖南硅谷教育,只为有远见的你!
IT业的兴起源于美国硅谷,
您的成功起始于湖南硅谷!

在线客服
  • 点击这里给我发消息
  • 点击这里给我发消息
  • 微信扫一扫
  • 官方微信