计时器没有满,就跳到计时中断函数了,怎么回事啊?

[复制链接]
4044|9
 楼主| joy晴天 发表于 2007-2-13 14:01 | 显示全部楼层 |阅读模式
有时候计时器没有达到溢出条件(t0值为0xFC5D)程序下一步就跳到计时中断函数了,这是怎么回事?


另外:无断点调试时,发现I/O有22Hz的方波是咋回事啊?几乎所有I/O口,并且keil软件里看I/O口值没有变化,IO上用示波器看到22Hz方波
我又在计时器中断函数的头和尾各设置断点,发现没有方波的事情!
剑寒情暖 发表于 2007-2-13 14:02 | 显示全部楼层

某个IO还是所有的IO?

NE5532 发表于 2007-2-13 14:49 | 显示全部楼层

几个可能性

1.看门狗没关
2.电源不干净
3.复位电路有问题
4.示波器地线没夹好
 楼主| joy晴天 发表于 2007-2-13 15:11 | 显示全部楼层

这几个里,只有1有可能


但是仿真器里不用设置看门狗吧?
----------------------------------

1.看门狗没关
2.电源不干净
3.复位电路有问题
4.示波器地线没夹好
 楼主| joy晴天 发表于 2007-2-13 15:12 | 显示全部楼层

没有中断以前都正常

外部中断0触发后,启动t0计时。接下来就不对了,就出现方波了
emailli 发表于 2007-2-14 08:05 | 显示全部楼层

可以参考我写的一篇说说中断处理!

我怀疑你这里存在一个可能性。

中断初始化有问题导致。

当然,其他的可能性需要看你的硬件原理图和你的程序才可以比较准确的分析出来!
CGHA 发表于 2007-2-14 08:24 | 显示全部楼层

估计中断优先级,堆栈等出问题。

 楼主| joy晴天 发表于 2007-2-14 08:44 | 显示全部楼层

6楼的

怎么连接到你的博客啊?
给个**连接阿
emailli 发表于 2007-2-15 15:46 | 显示全部楼层

http://emailli.21ic.org

无悔 发表于 2007-2-17 15:51 | 显示全部楼层

PC溢出,堆栈溢出或存储器溢出

1.对于51(其他的还没有测试过,自己测试)来说,当指令指针溢出时,各个IO口就会有跳变,具体情况自己搭建个电路测一测就知道了.
2.存储器溢出,对于51单片机来说,你直接操作了80H以上的RAM存储单元,或者是堆栈造成的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

159

帖子

0

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