单片机“启动”不了

时间:2013-08-08 16:42 | 来源:金桥电子网 | 点击: 次 [去老版] [去论坛] [去网店]

核心提示:


    在设计制作宾馆锅炉智能控制器时碰到了这样一个问题:用仿真器对目标板进行仿真时运行一切正常,但将该程序通过编程器烧写到相应单片机中后,单片机却启动不了——进不了正常的运行轨道,系统还不断发出嘀嘀嗒嗒的声音。

 

    用仿真器对目标板仿真时运行正常,说明系统软件与电路板上的硬件都没有什么大的问题。仔细检查那嘀嘀嗒嗒的声音是电路板上的继电器所为,整个系统似乎在不断地“启动”,又被不停地“复位”着。

    折腾了一段时间,将寻找问题的“焦点”移到了仿真器编程器及其操作软件上。其中编程器软件有个操作界面:打开编程操作软件烧写PHILIPS的P87LPC系列单片机时,需要进行相应芯片型号的选择及相关配置字的设置。在配置字设置的窗口界面上有看门狗、复位控制、振荡器类型等相关的状态选项(如图1所示)。看门狗的“启动看门狗”或“关闭看门狗”的选择可能就是本问题的关键。

    依照这种猜测笔者做了几个相关的实验,证实猜测是对的——当选择“关闭看门狗”选项进行编程烧写后系统就能正常运行了。但是,关闭了看门狗就意味着损失了看门狗的一切功能!为什么选择“启动看门狗”系统就不能正常运行呢?为此又检查了锅炉控制器的电路结构及源程序,发现PHIl,IPS公司的P87LPC系列单片机内部看门狗的设置与ATMEL公司的AT89S5X系列单片机内部的看门狗设置不一样,后者看门狗什么时候启动可由具体的程序软件来控制,而前者是由配置字的设置来控制的,编程烧写时一旦选择启动看门狗,看门狗就“活”了。
再琢磨图2所示的锅炉控制器的电路,其主要由P87LPC767、时钟电路DS1302、数据存储电路24LC02等组成,也正因为系统中有了 时钟电路和数据存储电路,所以在单片机的“初始化”阶段,即在进入主程序大循环之前需要有不少数据的读取及存储。而在这许多的读取及存储过程中不曾采取“喂狗”措施,难怪看门狗“急”了、要“咬人”了,因此除了在大循环中正常的“喂狗”外,在其初始化读写数据过程中插入几条“喂狗”程序问题就解决了。

443092>
上一篇:LIDA DDS一11A型电导率仪显示数值不稳定、跳字

下一篇:看门狗不起作用

返回金桥电子网首页

(责任编辑:JQDZW)
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片