11126|15

1673

帖子

0

TA的资源

五彩晶圆(中级)

楼主
 

除了定时器我还能用啥来喂狗 [复制链接]

我用了一个看门狗芯片LTC1232,想每100ms喂狗,程序如下,OK没问题。
但现在我的两个定时器都要用到别的地方,做计数器用,难道我要在主程序里面每过一段时间喂狗码?
请高手指教


void time0() interrupt 1//定时器中断time0
{
  TH0=(65536-60000)/256;
  TL0=(65536-60000)%256;
  count++;
  P0_4=1;
  if(count==2)
     {
       P0_4=0;//100ms喂狗
    count=0;
      }
}

[ 本帖最后由 simonprince 于 2010-2-4 13:33 编辑 ]
此帖出自单片机论坛

最新回复

讲得很好  详情 回复 发表于 2014-3-22 16:17
点赞 关注
个人签名要把目标订的实现起来辛苦一点!
 

回复
举报

6366

帖子

4935

TA的资源

版主

沙发
 
你用的是51还是52
此帖出自单片机论坛
 
 

回复

1673

帖子

0

TA的资源

五彩晶圆(中级)

板凳
 

回复 沙发 tiankai001 的帖子

AT89S52,
您是说P1口的第二功能吗
此帖出自单片机论坛
 
个人签名要把目标订的实现起来辛苦一点!
 
 

回复

6366

帖子

4935

TA的资源

版主

4
 
S52有3个定时器啊,用一下那第三个定时器哦

还有:在主程序里面喂狗也是可行的,我们以前用会编写程序的时候就是在主程序里喂狗的。
汇编的优点就是能够根据指令准确计算一段程序运行了多长时间,所以在汇编程序里,看门狗在主程序中定时喂狗完全可以。
但是C语言的准确执行时间不好计算,所以如果在主程序中喂狗的话,一定要计算好每段程序执行的时间,确保按时喂狗。
此帖出自单片机论坛

赞赏

1

查看全部赞赏

 
 
 

回复

1673

帖子

0

TA的资源

五彩晶圆(中级)

5
 

回复 4楼 tiankai001 的帖子

您是说P1口的第二功能吧,P1.0是有个T2的功能。但是已经用到别的地方了,没法更改了
此帖出自单片机论坛
 
个人签名要把目标订的实现起来辛苦一点!
 
 

回复

1673

帖子

0

TA的资源

五彩晶圆(中级)

6
 
除了在主程序里喂狗,没有别的办法了吗?
此帖出自单片机论坛
 
个人签名要把目标订的实现起来辛苦一点!
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

7
 
纠正一下你的问题。因为很晚了。不多说
首先,定时器喂狗,这本身就是错误的习惯,一个良好的嵌入式设计,是绝对不会出现定时器喂狗的。要知道定时器是中断,那么就会发生定时器正常单程序跑非的情况。
其次,喂狗是任何时间都可以喂的,哪怕你代码全部都是喂狗也没有问题。狗只需要你不大于规定时间喂即可。
那么关于你这里的问题,我建议应如下解决。如果你这个是顺序执行代码。也即没有操作系统一类的。应计算代码执行时间,定间隔喂狗。如果是任务切换式的操作系统类,则在操作系统调用分任务入口喂狗。

绝对不要出现定时器中断喂狗然后程序继续飞。
此帖出自单片机论坛

赞赏

2

查看全部赞赏

 
 
 

回复

1673

帖子

0

TA的资源

五彩晶圆(中级)

8
 

回复 7楼 leang521 的帖子

谢谢 leang521
明白了
此帖出自单片机论坛
 
个人签名要把目标订的实现起来辛苦一点!
 
 

回复

6366

帖子

4935

TA的资源

版主

9
 
原帖由 simonprince 于 2010-2-4 15:03 发表
您是说P1口的第二功能吧,P1.0是有个T2的功能。但是已经用到别的地方了,没法更改了



定时器是不需要用到单片机的引脚的,52单片机有3个定时器,你全部用来做外部计数端口用了吗?

如果没有,那就用这个做定时器定时喂狗。

6楼说的很有道理,领教了
此帖出自单片机论坛
 
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

10
 

回复 9楼 tiankai001 的帖子

呃。六楼?
此帖出自单片机论坛
 
 
 

回复

1673

帖子

0

TA的资源

五彩晶圆(中级)

11
 

回复 9楼 tiankai001 的帖子

呵呵是7楼
P1.0去控制继电器了
哦,明白了P1.0去控制继电器的同时也能做定时器用,呵呵谢谢
此帖出自单片机论坛
 
个人签名要把目标订的实现起来辛苦一点!
 
 

回复

1781

帖子

0

TA的资源

五彩晶圆(中级)

12
 
原帖由 simonprince 于 2010-2-5 12:13 发表
呵呵是7楼
P1.0去控制继电器了
哦,明白了P1.0去控制继电器的同时也能做定时器用,呵呵谢谢


看楼上说的这句话我就知道你还没有明白。P1.0只不过是一个引脚而已,不要把它定义成定时器。定时器其实就是单片机内部的一个计数器,如果学过数字电路的话你应该了解计数器是什么东西,计数器都需要一个时钟信号,每一个时钟周期引起计数器的值加1或减1,而单片机内的定时器的时钟信号即可以是单片机内部的系统时钟,也可以是从单片机外部引脚输入的信号,这也就是为什么一般的书上都叫它为定时/计数器,使用内部时钟的话就一般都当作定时用,从外部引脚接入一般都是用来记录外部事件发生的次数。所以当你把外部输入的引脚当作它用的时候并不影响定时器使用内部系统时钟。从楼主的回答感觉楼主数电好像还不过关啊,还是补一补吧,要不然做和硬件相关的东西的时候总会出现问题的。

[ 本帖最后由 wangjiafu1985 于 2010-2-5 14:38 编辑 ]
此帖出自单片机论坛
 
个人签名只有求知欲,没有求偶欲的人是植物,只有求偶欲,没有求知欲的人叫动物,既没求知欲,又没求偶欲的人是矿物。
 
 

回复

720

帖子

0

TA的资源

纯净的硅(中级)

13
 
长见识了,呵呵
此帖出自单片机论坛
 
 
 

回复

1673

帖子

0

TA的资源

五彩晶圆(中级)

14
 

回复 12楼 wangjiafu1985 的帖子

恩,受教了,谢谢
此帖出自单片机论坛
 
个人签名要把目标订的实现起来辛苦一点!
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

15
 
晕。以为你P1.0去看门狗喂狗。有一种看门狗只要定时输出一个脉冲就能喂狗。
如果你用P1.0做定时器第二功能输出还是不要了。那只是定时器脉冲。
此帖出自单片机论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

16
 
讲得很好
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表