简单的电子钟,带出两个问题.请帮忙分析.谢谢!

[复制链接]
2899|7
 楼主| 新好男孩 发表于 2008-7-15 20:08 | 显示全部楼层 |阅读模式
源代码:
https://bbs.21ic.com/upfiles/img/20078/200783020164729.rar

问题1:
在 while循环中加入PCON |= 0x01;语句会死机.
相关链接:https://bbs.21ic.com/upfiles/img/20078/200783020164729.rar
 楼主| 新好男孩 发表于 2008-7-15 20:19 | 显示全部楼层

Up


问题2:
时钟不谁.
中断用的是T0低位自动加载,软件上认为没有误差??位还是每小时大约有1秒的误差(快1秒).
请大家指点一下.谢谢!
jerkoh 发表于 2008-7-15 20:23 | 显示全部楼层

re

PCON |= 0x01是进入待机
是否狗没喂好
 楼主| 新好男孩 发表于 2008-7-15 20:24 | 显示全部楼层

用的是STC12C2052AD单片机.

用的是STC12C2052AD单片机.因为代码空间的太小,只有校正时间的功能.
 楼主| 新好男孩 发表于 2008-7-15 20:27 | 显示全部楼层

喂了,程序能复位,但最后还是死在某个地方.

喂了,程序能复位,但最后还是死在某个地方.
 楼主| 新好男孩 发表于 2008-7-16 08:40 | 显示全部楼层

关于时钟不准确的修整方案.

在程序在增加一个时间调整变量:unsigned char ClockReviseTemp = 0;
方案如下:
调整后,时钟的准确度有了大幅的提高,目前12个小时好像没有什么误差.
mcumi 发表于 2008-7-18 14:36 | 显示全部楼层

关狗看看

要进入休闲,得把狗关了吧,在中断里开狗,还有PCON后应有一句空语句吧?
 楼主| 新好男孩 发表于 2008-7-18 19:57 | 显示全部楼层

谢谢mcumi

1. 不执行 PCON |= 0x01; 这条语句,用狗和不用狗都一样,不会死机.
执行PCON |= 0x01;  这条语句,进入休闲,把狗关了吧,在中断里开狗,同样死机,还死得更快,按键后立马死.
2. PCON后应有一句空语句吧?不明白.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

136

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部