1.关于看门狗,本质上可以把它叫做,设备复位定时器。

设置好频率之后,执行语句后,定时器会在启动一定时间之后,让设备复位。设备复位后重新从main函数开始执行,再次执行到寄存器配置语句后,过一段时间设备会重新复位。

2.看门狗测试函数是一个T0中断延时函数修改的,关于这个T0延时函数,我们这里复习一下,设备的主频是35MHz,周期是1/35000000s,计时器每过一个周期就会加一,累加时间达到1ms之后就会进入interrupt 1中断,

val ++;
    if(val == 1000)

每次结果1ms进入函数后加1,进入1000次之后1*1000ms = 1s,然后对LED_RED翻转。

3.关于看门狗寄存器

WDT_CONTR = 0x27; //使能看门狗寄存器,定时2.87s后复位

我们这里使能看门狗,将B5位使能。最后3位设置定时复位的时间,计算公式是

延时时间 = 12 * 32768 *(2的8次方)/ 35000000 ≈ 2.87 s

即2.87s后看门狗溢出,设备复位。

4.在断函数中有个这个   WDT_CONTR |= 0x10; 

这个是标志清0操作,置1清0.(置1将定时器进行清0,这。。。。。有点别扭啊)

我们管这个叫做对看门狗进行喂狗操作,如果我们的设备跑飞或者卡死了,看门狗没有喂,它就会把我们的设备进行重启。(不给糖,就要闹,哈哈)

5.关于这个函数

①没有注释掉喂狗语句,程序会一直喂狗,程序会正常运行,绿灯只有在刚上电时才会亮一下。后面会一直执行while(1)循环,绿灯命令不会被执行到

② 注释掉喂狗语句后,到了喂狗时间没有喂狗就会重启,所以会看到绿灯在闪,红灯才开始交替一次,就重启了。每次重启后又开始从main开始执行,绿灯命令会被执行到

#include "delay.h"
#include " intrins.h"
#define LED_RED P05
#define LED_YELLOW P06
sbit LED_GREEN = P0^7 ;

void T0_Lsr(void) interrupt 1
{
  static unsigned  int val;
    val ++;
    if(val == 1000)
    {
      LED_RED = ! LED_RED;
        val = 0;

 WDT_CONTR |= 0x10;  //注释掉就不会喂狗,设备会反复重启。
    }
    
}

void Timer0_Init(void)
{
  TMOD =  0x00;//配置工作模式
  AUXR |= 0x80;     //工作时钟不分频
    TL0 = 0x48;
    TH0 = 0x77;
    TR0 = 1;  //启动定时器0计数
    ET0 = 1;  //使能定时器0中断
    EA = 1; //打开总中断

}

void  main(void)
{
    P0M0 = 0x00;
    P0M1 = 0x00;
  
    Timer0_Init();
    
    WDT_CONTR = 0x27; //使能看门狗寄存器,定时2.87s后复位
    while(1)
    {

}
}

STC8学习--看门狗相关推荐

  1. proteus里面没有stm32怎么办_学习STM32日志——独立看门狗实验(20.06.23)

    继续更新学习STM32的历程,今天学习看门狗. 在单片机构成的微型计算机系统中,单片机的工作时常收到外界电磁场的干扰,导致程序跑飞,陷入死循环.为了解决这个问题,产生了一种用于监测单片机程序运行状态的 ...

  2. 【STM32】HAL库 STM32CubeMX教程五----看门狗(独立看门狗,窗口看门狗)

    前言:   今天我们来学习看门狗的配置与函数,看门狗可以有效解决程序的跑飞,在使用过程中比较常见,是防止芯片故障的有效外设,我们一起来学习下HAL库 STM32CubeMX的独立看门狗,窗口看门狗的使 ...

  3. zigbee CC2530 系列教程 10 看门狗实验

    所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 4.9看门狗实验 4.9.1 实验目的 1.学习CC2530看门狗的工作方式: 2.学习看门狗功能在系统中的运行机制: 4.9. ...

  4. MM32看门狗学习(兼容STM32)

    MM32看门狗学习(兼容STM32) IWDG独立看门狗 思维导图 IWDG框图与理解 1.独立看门狗分为两个部分,配置寄存器在1.8V供电区,计数器的核心部分在VDD供电区(即使停机/待机模式计数器 ...

  5. STM32学习心得十七:窗口看门狗(WWDG)实验及旧知识点复习

    记录一下,方便以后翻阅~ 主要内容: 1) 窗口看门狗概述: 2) 常用寄存器和库函数配置: 3) 窗口看门狗实验. 窗口看门狗实验内容: 为了对之前的知识进行总结复习,本人在教学案例的基础上又&qu ...

  6. Redission 看门狗 学习之笔记

    大家好,我叫大鸡腿,大家可以关注下我,会持续更新技术文章还有人生感悟,感谢~ 文章目录 前言 看门狗 个人的学习发现 总结 参考网址 lockwatchdogtimeout 前言   相信大家用过Re ...

  7. 嵌入式知识-ARM裸机-学习笔记(8):SoC定时器与看门狗(WDT)

    嵌入式知识-ARM裸机-学习笔记(8):SoC定时器与看门狗(WDT) 一.定时器 1. 定时器简介 定时器是SoC中最常见的外设 (1)定时器与计数器.计数器是用来计数的(每隔一个固定时间会计一个数 ...

  8. STM32 学习笔记 -- 基于stm32f4的看门狗配置和实验代码

    基于stm32f4的看门狗配置和实验代码 以下本人对stm32f4xx的独立看门狗和窗口看门狗学习.理解和总结,程序的说明和解释均在注释中,仔细阅读不难理解.我已经过验证,有问题或错误请指出. 版权声 ...

  9. (实验6,实验7)单片机,STM32F4学习笔记,代码讲解【看门狗实验】【正点原子】【原创】

    文章目录 其它文章链接,独家吐血整理 实验现象(实验六) 主程序(实验六) 独立看门狗初始化程序(实验六) 代码讲解(实验六) 实验现象(实验七) 主程序(实验七) 窗口看门狗初始化程序(实验七) 代 ...

最新文章

  1. JingRiverOS的自由软件之路
  2. 自动运维PXE安装系统和DNS缓存解析
  3. 都在说微服务,那么微服务的反模式和陷阱是什么(一)
  4. 水池数目---深搜思想
  5. nginx 配置详解
  6. android--调用系统浏览器,Android 调用系统浏览器
  7. 阿里云帮助江苏省财政厅力推统一公共支付平台
  8. GoogLeNet系列解读
  9. 自定义checkbox样式
  10. [html] html5中的meta标签renderer有什么作用?
  11. asp.net基础知识
  12. @GetMapping和@PostMapping详解
  13. Objective-C 2.0 with Cocoa Foundation --- 2,从Hello,World!开始
  14. Http-Only Cookie
  15. 用户调用机房收费下机中用到的策略与职责链解析
  16. Linux面试题,经典Linux面试题,常见Linux面试题带答案
  17. proteus信号峰值检测仪仿真
  18. 全国python一级考试_全国青少年软件编程(Python)等级考试试卷(一级)测试卷...
  19. centos静态ip天坑
  20. Obi Fluid Emitter使用简介

热门文章

  1. IE浏览器修复与优化
  2. 主编编辑器如何快速找回未及时保存的文章
  3. docker 打包解包
  4. “真正的”Apk增量更新方案ApkDiffPatch
  5. select函数的作用!
  6. 学生成绩管理设计要求
  7. 五十条比较经典的爱情观
  8. 龙智荣誉 | 一封来自客户的感谢信
  9. vue+tiptap ,基于vue的无渲染的富文本编辑器
  10. 【无标题】上课了上课了