STC8学习--看门狗
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学习--看门狗相关推荐
- proteus里面没有stm32怎么办_学习STM32日志——独立看门狗实验(20.06.23)
继续更新学习STM32的历程,今天学习看门狗. 在单片机构成的微型计算机系统中,单片机的工作时常收到外界电磁场的干扰,导致程序跑飞,陷入死循环.为了解决这个问题,产生了一种用于监测单片机程序运行状态的 ...
- 【STM32】HAL库 STM32CubeMX教程五----看门狗(独立看门狗,窗口看门狗)
前言: 今天我们来学习看门狗的配置与函数,看门狗可以有效解决程序的跑飞,在使用过程中比较常见,是防止芯片故障的有效外设,我们一起来学习下HAL库 STM32CubeMX的独立看门狗,窗口看门狗的使 ...
- zigbee CC2530 系列教程 10 看门狗实验
所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 4.9看门狗实验 4.9.1 实验目的 1.学习CC2530看门狗的工作方式: 2.学习看门狗功能在系统中的运行机制: 4.9. ...
- MM32看门狗学习(兼容STM32)
MM32看门狗学习(兼容STM32) IWDG独立看门狗 思维导图 IWDG框图与理解 1.独立看门狗分为两个部分,配置寄存器在1.8V供电区,计数器的核心部分在VDD供电区(即使停机/待机模式计数器 ...
- STM32学习心得十七:窗口看门狗(WWDG)实验及旧知识点复习
记录一下,方便以后翻阅~ 主要内容: 1) 窗口看门狗概述: 2) 常用寄存器和库函数配置: 3) 窗口看门狗实验. 窗口看门狗实验内容: 为了对之前的知识进行总结复习,本人在教学案例的基础上又&qu ...
- Redission 看门狗 学习之笔记
大家好,我叫大鸡腿,大家可以关注下我,会持续更新技术文章还有人生感悟,感谢~ 文章目录 前言 看门狗 个人的学习发现 总结 参考网址 lockwatchdogtimeout 前言 相信大家用过Re ...
- 嵌入式知识-ARM裸机-学习笔记(8):SoC定时器与看门狗(WDT)
嵌入式知识-ARM裸机-学习笔记(8):SoC定时器与看门狗(WDT) 一.定时器 1. 定时器简介 定时器是SoC中最常见的外设 (1)定时器与计数器.计数器是用来计数的(每隔一个固定时间会计一个数 ...
- STM32 学习笔记 -- 基于stm32f4的看门狗配置和实验代码
基于stm32f4的看门狗配置和实验代码 以下本人对stm32f4xx的独立看门狗和窗口看门狗学习.理解和总结,程序的说明和解释均在注释中,仔细阅读不难理解.我已经过验证,有问题或错误请指出. 版权声 ...
- (实验6,实验7)单片机,STM32F4学习笔记,代码讲解【看门狗实验】【正点原子】【原创】
文章目录 其它文章链接,独家吐血整理 实验现象(实验六) 主程序(实验六) 独立看门狗初始化程序(实验六) 代码讲解(实验六) 实验现象(实验七) 主程序(实验七) 窗口看门狗初始化程序(实验七) 代 ...
最新文章
- JingRiverOS的自由软件之路
- 自动运维PXE安装系统和DNS缓存解析
- 都在说微服务,那么微服务的反模式和陷阱是什么(一)
- 水池数目---深搜思想
- nginx 配置详解
- android--调用系统浏览器,Android 调用系统浏览器
- 阿里云帮助江苏省财政厅力推统一公共支付平台
- GoogLeNet系列解读
- 自定义checkbox样式
- [html] html5中的meta标签renderer有什么作用?
- asp.net基础知识
- @GetMapping和@PostMapping详解
- Objective-C 2.0 with Cocoa Foundation --- 2,从Hello,World!开始
- Http-Only Cookie
- 用户调用机房收费下机中用到的策略与职责链解析
- Linux面试题,经典Linux面试题,常见Linux面试题带答案
- proteus信号峰值检测仪仿真
- 全国python一级考试_全国青少年软件编程(Python)等级考试试卷(一级)测试卷...
- centos静态ip天坑
- Obi Fluid Emitter使用简介