16c56低挡PIC单片机,如何处理看门狗与定时器所共用的预分频器

2020-02-10 08:52发布

刚接触PIC,pic16c56只有一个看门狗和一个定时器,但他们却共用了一个预分频器,我在把预分频器分配给定时器用,熔丝位配置成看门狗使能,发现单片机仍然能复位,这个芯片是无中断的,我想问的是
1:如何把定时器和看门狗都用起来,
2:分频器分给定时器用后,看门狗是按什么频率计数的?
3:当我没有把分频器分配给定时器时,看门狗又是如何工作的?

谢谢各位
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
chenqianglight
1楼-- · 2020-02-10 13:28
 精彩回答 2  元偷偷看……
leofoolish
2楼-- · 2020-02-10 13:59
你在电气特性里看下,WDT有个标称值的,如果没有使用分频器应该以这个时间进行复位,如果用了,时间在乘上分频的倍数。
chenqianglight
3楼-- · 2020-02-10 17:11
恩 ,谢谢!我看看
chenqianglight
4楼-- · 2020-02-10 20:09
这是我在网上找到的相关描述,应该可以解释这个:

PIC16F616的看门狗WDT其定时计数的脉冲序列由片内独立的RC振荡器产生,所以它不需要外接任何器件就可以工作.而且这个片内RC振荡器与引脚OSC1/CLKIN上的振荡电路无关,即使OSC1和OSC2上的时钟不工作,WDT照样可以监视定时.例如:当PIC16F616在执行 SLEEP指令后,芯片进入休眠状态,CPU不工作,主振荡器也停止工作,但是,WDT照样可监视定时.当WDT超时溢出后,可唤醒芯片继续正常的操作.而在正常操作期间,WDT超时溢出将产生一个复位信号.如果不需要这种监视定时功能,在编程时,可关闭这个功能.
  WDT的定时周期在不加分频器的情况下,其基本定时时间是18ms,这个定时时间还受温度、VDD和不同元器件的工艺参数等的影响.如果需要更长的定时周期,还可以通过软件控制OPTION寄存器(PSA位置1)把预分频器配置给WDT,这个预分频器的最大分频比可达到1∶128.这样就可把定时周期扩大128倍,即达到2.3秒.
  WDT的预分频器是和Timer0所共用的,如果把预分频器配置给WDT,用CLRWDT和SLEEP指令可以同时对WDT和预分频器清零,从而防止计时溢出引起芯片复位.所以在正常情况下,必须在每次计时溢出之前执行一条CLRWDT指令喂一次狗,以避免引起芯片复位.当系统受到严重干扰处于失控状态时,就不可能在每次计时溢出之前执行一条CLRWDT指令,WDT就产生计时溢出,从而引起芯片复位,从失控状态又重新进入正常运行状态.
  当WDT计时溢出时,还会同时清除状态寄存器中的D4位T0,检测T0位即可知道复位是否由于WDT计时溢出引起的.
wellqueen
5楼-- · 2020-02-10 23:53
如果分频器给定时器用,WDT会用内部RC的~~~~
wellqueen
6楼-- · 2020-02-11 01:37
 精彩回答 2  元偷偷看……

一周热门 更多>