微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 解决:C8051系列单片机,代码量较大时工作不正常问题

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

时间:10-02 整理:3721RD 点击:

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

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

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


问题成功解决了。


挺实用的技巧,赞一个

领教了,哈哈

感谢小编,收藏了,哈哈哈哈哈!

感觉电子发烧友里的回复基本都是客套话:谢谢小编分享。

谢谢小编分享。

单片机上有这么大量的初始化内容也是很少见啊

出现这样的问题真的是很郁闷啊。幸好小编能解决了。

主要是变量初始化赋值占用时间

这样的  分析 结果  挺好    说不定看到后  会少走弯路

实用的技巧,赞一个

嗯,小编分享的很有用,个人感觉应该时代码量增加后,相应的变量也增加,在单片机启动时,从flash读取变量的时间加长,导致复位

那可以晚一点开启看门狗吧。

能有点用

支持一个

学习了,支持一个

mark                                       !

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top