看门狗实验手册

● 四个可选的定时器间隔 ● 看门狗模式 ● 定时器模式 ● 在定时器模式下产生中断请求 ● 时钟独立于系统时钟 WDT 可以配置为一个看门狗定时器或一个通用的定时器。WDT 模块的运行由 WDCTL 寄存器控制。看门狗定时器包括一个 15 位计数器,它的频率由 32.768kHz 振荡器时钟规定。 注意用户不能获得 15 位计数器的内容。
01 定时周期x 8192 (典型值0.25 s)
10 定时周期x 512 (典型值15.625 ms)
11 定时周期x 64 (典型值1.9 ms)
郑州新双恒信息技术有限公司
郑州新双恒
2.3 实验
2.3.1 实验一 看门狗启用 2.3.1.1 实验目的
程序在主程序中没有连续改变小灯的状态,而在开始运行时将其关闭,延时后点亮。实 验现象是一只小灯不断闪烁,这是因为程序中启动了看门狗,看门狗时间长度为1 秒,如果 1 秒内没有复位看门狗的话,系统将复位。系统复位后再次开启看门狗,1 秒后复位。
式写0到该位没有影响。
0 禁用定时器 (停止定时器)
1 定时器使能
2 MODE 1:0 INT[1:0]
0
R/W 模式选择。该位选择看门狗定时器模式.
0 看门狗模式
1 定时器模式
00 R/W 定时器间隔选择。这些位选择定时器间隔定义作为 32.768 kHz 振荡器周期的规定数。
00 定时周期 x 32768 (典型值1 s)
郑州新双恒
蜂舞 FW4000
看门狗实验手册
郑州新双恒信息技术有限公司 2009-11-19
注:本手册应用于蜂舞 FW4000 系列套件,仅是作为学习 Z-Stack 协议栈开发、学习、研究 的辅助文档。
郑州新双恒信息技术有限公司
郑州新双恒
2.3.1.3 重要代码解析 //初始化时钟 void Init_Clock(void) { CLKCON = 0X00; }
//初始化看门狗 void Init_Watchdog(void) {
WDCTL = 0x00; //时间间隔一秒,看门狗模式
WDCTL |= 0x08; //启动看门狗 }
网址: QQ 群:83028739(已满)
28816636(未满)
郑州新双恒信息技术有限公司
//复位看门狗 void FeetDog() {
WDCTL = 0xa0; WDCTL = 0x50; }
郑州新双恒信息技术有限公司
郑州新双恒
版权声明
郑州新双恒信息技术有限公司拥有本文的版权。本文免费供大家 一起学习交流。欢迎在网络上转载本译文,请保证本译文的完整,并 注明出处。如果你在转载的时候,需要对本译文进行修改或重新编辑 , 请与本公司的联系。谢谢!
2.1 特性介绍
2.1.1 看门狗模式 在系统复位之后,看门狗定时器就被禁用。要设置 WDT 在看门狗模式,必须设置
WDCTL.MODE 位为 0 。当 WDCTL.EN 位设置为 1,看门狗定时器的计数器开始递增。在 看门狗模式下,一旦定时器使能,就不可以禁用定时器,比如,当 WDCTL.MODE 是 0,如 果 WDCTL.EN 位已经写入了 1 ,再往这个位写入 0 就不起作用了。
2.2 相关寄存器..................................................................... 3 2.2.1 WDCTL (0xC9) –看门狗定时器控制................ 3
2.3 实验................................................................................. 4 2.3.1 实验一 看门狗启用...............................................4 2.3.1.1 实验目的..........................................................4 2.3.1.2 实验技术条件..................................................4 2.3.1.3 重要代码解析..................................................4
郑州新双恒信息技术有限公司
郑州新双恒
在 CPU 可能受到一个软件颠覆的情况下,看门狗定时器(WDT)用作一个恢复的方 法。当软件在选定时间间隔内不能清除 WDT 时,WDT 必须就复位系统。看门狗可用于受 到电气噪音,电源故障,静电放电等影响的应用,或需要高可靠性的环境。如果一个应用不 需要看门狗功能,可以配置看门狗定时器为一个间隔定时器,这样可以用于在选定的时间间 隔产生中断。 看门狗定时器的特性如下:
WDT 运行在一个频率为 32.768 kHz 的看门狗定时器时钟上。这个时钟频率的超时期限 等于 1.9ms,15.625 ms,0.25 s 和 1s,分别对应 64, 512, 8192 和 32768 的计数值设置。
如果计数器达到选定定时器的间隔值,看门狗定时器就为系统产生一个复位信号。如果 在计数器达到选定定时器的间隔值之前,执行了一个看门狗清除序列,计数器就复位到 0x0000,并继续递增。看门狗清除序列包括在一个半看门狗时钟周期内,写入 0xA 到 WDCTL.CLR[3:0] ,然后写入 0x5 到同一个寄存器位。如果这个序列没有执行完整,看门 狗定时器就为系统产生一个复位信号。注意只要在选定定时器间隔内开始了一个正确的看门 狗清除序列,当收到完整的序列时,计数器就复位。 当看门狗模式下,看门狗定时器使能,就不能通过写入 WDCTL.MODE 位改变这个模式。 定时器间隔值可以通过写入 WDCTL.INT[1:0]位加以改变。 注意在定时器间隔改变的同时,建议用户软件清除看门狗定时器,以避免一个不希望的看门 狗复位。 在看门狗模式下,WDT 不会产生一个中断请求。 2.1.2 定时器模式
如果1秒内复位了看门狗,系统不会复位,灯也不会闪烁。 2.3.1.2 实验技术条件
(1)FW4000 评估主板 1 套 (2)FW2430-MO2 无线模块 1 块 (3)USB 线 1 条 (4)杜邦线,跳线冒
需要跳线的位置 3.3IN--+3.3V RSET—RSIN DC—P2.2 DD---P2.1 LED4—P1.5 LED5---P1.4
定时器间隔由 WDCTL.INT[1:0]位设置。在定时器模式下,当达到定时器间隔时,不会 产生复位。
郑州新双恒信息技术有限公司
郑州新双恒
2.2 相关寄存器
2.2.1 WDCTL (0xC9) –看门狗定时器控制
位 名称 7:4 CLR[3:0]
3 ENLeabharlann 复位 R/W 描述目录
2.1 特性介绍......................................................................... 2 2.1.1 看门狗模式..............................................................2 2.1.2 定时器模式..............................................................3
0000 R/W 清除定时器。当0xA跟随 0x5 写到这些位,定时器 加载 0x0 。注意定时器仅写入0xA后当在0.5个看门
狗时钟周期写入0x5时被清除。当 EN为 0 时写这
些位没有影响。 这些位读出来经常是 0000.。
0
R/W 使能计时器。当1写到该位时定时器启动并且开始递
增。在定时器模式写0到该位停止定时器。在看门狗模
要在一 般定 时器 模式 下设 置 WDT,必须 把 WDCTL.MODE 位置 1 。当寄 存器 位 WDCTL.EN 置 1 时,定时器开始,且计数器开始递增。当计数器达到选定间隔值,定时器 将产生一个中断请求。
在定时器模式下,可以通过写入 1 到 WDCTL.CLR[0]来清除定时器内容。当定时器被 清除,计数器的内容就置为 0x0000。写入 0 到使能位 WDCTL.EN 来停止定时器,写入 1 来 使定时器从 0x0000 重新启动。
合集下载

看门狗

看门狗

1.在WDTC寄存器中设置看门狗定时器的固定装载值; 2.在WDMOD寄存器中设置模式,并使能看门狗; 3.通过向WDFEED寄存器顺序写入0xAA和0x55,启动 看门狗; 4.在看门狗向下溢出之前应当再次喂狗以防止复位 或中断。
• 若看门狗设置为溢出复位模式,那么当看 门狗计数器向下溢出时,会引发内部复位, 程序计数器将从0x0000 0000开始,与外部 复位一样。通过检查看门狗超时标志 (WDTOF)可以判断系统复位是否由看门 狗引发。WDTOF标志必须由软件清零。
4.16.2 看门狗寄存器描述
• 看门狗包含4个寄存器,见下表
看门狗寄存器映射
看门狗寄存器描述

1.看门狗模式寄存器(WDMOD,0xE000 0000)
操作示例: WDMOD=0x02;//看门狗溢出时,产生复位
看门狗寄存器描述 • 看门狗的操作是通过WDEN位和WDRESET位来控制的。 一旦WDEN、WDRESET位置位,就无法使用软件将其清 零。这两个标志由外部复位或看门狗定时器溢出清零。
2.看门狗定时器常数寄存器 (WDTC,0xE000 0004)
• WDTC寄存器决定看门超时值,见表 。当喂狗时序产生 时,WDTC的内容重新装入看门狗定时器。它是一个32位 寄存器,最小值为0xFF,如写入一个小于0xFF的值,会 使0xFF装入WDTC。因此,WDT的最小时间间隔为 tPCLK×256×4,最大时间间隔为tPCLK×232×4。WDTC寄 存器描述见表。WDT初始化,如下程序所示 • WDTC=0x10000;//设置WDT定时值 • WDMOD=0x03; //设置WDT工作模式,使能WDT
看门狗
PPT制作:忻淑怡 演讲: 陈恺霖 收集资料:周焕强 赵一锋

Arm实验看门狗

Arm实验看门狗

ARM实验姓名唐珊珊学号2011412614实验目的:掌握独立看门狗的工作原理和使用方法。

实验原理:调用固件库设置和初始化独立看门狗,通过Led4的状态指示系统运行,同时按下按键SW1不断重置看门狗寄存器(俗称喂狗),当停止按键后,,则MCU会在看门狗超时的作用下系统重启。

实验步骤:要实现本实验功能设计,需要进行必要的设置,其步骤如下:1)设置Led驱动管教为推挽输出,Sw1管脚为浮空输入。

2)Led4熄灭一下,以表示刚刚复位,3)调用IWDG_writeAccessCmd函数向IWDG_KR写入0X5555。

通过这步,我们取消看门狗寄存器的写保护。

4)设置看门狗的分频系数,本例中为32。

在固件库中,可以调用IWDG_SetPrescaler函数实现。

5)设置看门狗的重装载的值,本例中为625.在固件库中,可以调用IWDG_SetReload函数实现。

6)调用IWDG_Enable函数向IWDG_KR写入0xcccc。

通过这句,来启动STM32的看门狗。

7)检测按键Sw1,如果按下则调用IWDG_ReloadCounter函数使STM32重新加载IWDG_RlR的值到看门狗计数器里面。

也可以用该命令来喂狗。

程序为:独立看门狗#include "stm32f10x.h"void GPIO_Config(void);void delay(void);int main(void){GPIO_Config();GPIO_SetBits(GPIOC,GPIO_Pin_9);delay();GPIO_ResetBits(GPIOC,GPIO_Pin_9);IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);IWDG_SetPrescaler(IWDG_Prescaler_32);IWDG_SetReload(625);IWDG_Enable();while(1){if(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_3)==0)IWDG_ReloadCounter();}}void delay(void){uint32_t i;for(i=0;i<6000000;i++){}}void GPIO_Config(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOC,ENA BLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GPIOC,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOD,&GPIO_InitStructure);}中断函数uint32_t led=1;void WWDG_IRQHandler(void){uint8_t cr;cr=WWDG->CR;cr&=0x7f;if(cr<0x50){WWDG_SetCounter(0x70);WWDG_ClearFlag();led=~led;if(led==0)GPIO_ResetBits(GPIOC,GPIO_Pin_9);elseGPIO_SetBits(GPIOC,GPIO_Pin_9);}}#include "stm32f10x.h"void GPIO_Config(void);void delay(void);//uint32_t led=0;int main(void){NVIC_InitTypeDef NVIC_InitStructure;GPIO_Config();GPIO_ResetBits(GPIOC,GPIO_Pin_9);delay();GPIO_SetBits(GPIOC,GPIO_Pin_9);delay();RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE);WWDG_SetPrescaler(WWDG_Prescaler_8);WWDG_EnableIT();WWDG_SetWindowValue(0x50);WWDG_Enable(0x70);NVIC_InitStructure.NVIC_IRQChannel=WWDG_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x07; NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x07;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);while(1){;}}void GPIO_Config(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GPIOC,&GPIO_InitStructure);}void delay(void){uint32_t i;for(i=0;i<6000000;i++){}}中断函数为void WWDG_IRQHandler(void){uint8_t cr;cr=WWDG->CR;cr&=0x7f;if(cr<0x50){WWDG_SetCounter(0x70);WWDG_ClearFlag();led=~led;if(led==0)GPIO_ResetBits(GPIOC,GPIO_Pin_9);elseGPIO_SetBits(GPIOC,GPIO_Pin_9);}}一秒定时看门狗#include "stm32f10x.h"void GPIO_Config(void);void NVIC_Config(void);void TIM1_Config(void);void EXTI_Config(void);void IWDG_Config(void);int main(){GPIO_Config();NVIC_Config();TIM1_Config();EXTI_Config();IWDG_Config();while(1){}}void GPIO_Config(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD,ENA BLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GPIOC,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOD, &GPIO_InitStructure);}void NVIC_Config(void){NVIC_InitTypeDef NVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannel=TIM1_UP_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x07;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x07;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);}void TIM1_Config(){TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);TIM_TimeBaseInitStructure.TIM_ClockDivision=0;TIM_TimeBaseInitStructure.TIM_Period=(10000-1);TIM_TimeBaseInitStructure.TIM_Prescaler=(7200-1);TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInitStructure.TIM_RepetitionCounter=0;TIM_TimeBaseInit(TIM1,&TIM_TimeBaseInitStructure);TIM_ClearITPendingBit(TIM1,TIM_IT_Update);TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE);TIM_Cmd(TIM1,ENABLE);}void EXTI_Config(void){EXTI_InitTypeDef EXTI_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource3);EXTI_InitStructure.EXTI_Line = EXTI_Line3;EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);}void IWDG_Config(void){IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);IWDG_SetPrescaler(IWDG_Prescaler_32);IWDG_SetReload(4000);IWDG_Enable();}中端函数为int led=1;void TIM1_UP_IRQHandler(void){if(TIM_GetITStatus(TIM1,TIM_IT_Update)!=RESET){IWDG_ReloadCounter();led=~led;if(led==1)GPIO_SetBits(GPIOC,GPIO_Pin_9);elseGPIO_ResetBits(GPIOC,GPIO_Pin_9);TIM_ClearITPendingBit(TIM1,TIM_IT_Update);}}void EXTI3_IRQHandler(void){/* 检测EXTI3是否有效*/if(EXTI_GetITStatus(EXTI_Line3)!= RESET){while(1){/*可随便加入现象,便于观察*/GPIO_ResetBits(GPIOC,GPIO_Pin_9|GPIO_Pin_8|GPIO_Pin_7|GPIO_Pin_6);/* 清除EXTI3的悬起标志位*/EXTI_ClearITPendingBit(EXTI_Line3);}}}。

华清远见实验手册

华清远见实验手册

实验目录实验一、熟悉realview开发环境 (2)1.1 RealView MDK软件开发环境简介 (2)1.1.1 RealView MDK的突出特性 (2)1.1.2 产品模块介绍 (2)1.2RealView 使用 (5)1.2.1创建一个工程 (6)1.2.2 编译、链接工程 (8)1.2.3 程序调试 (11)1.2.4 工程选项页概述 (12)实验二、ARM指令集 (13)2.1 ARM汇编指令1 (13)2.2 ARM汇编指令2 (16)实验三、ARM汇编子函数调用 (18)实验四、Thumb汇编指令练习 (19)实验五、ARM处理器工作模式练习 (20)实验六、简单C语言程序实验 (21)实验七、汇编与C语言的相互调用实验 (22)实验八、C语言中内联汇编程序实验 (23)实验九、C语言中嵌入型汇编程序实验 (24)实验十、综合编程实验 (25)实验十一、I/O及串口通信编程实验 (26)实验十二、中断实验 (29)实验十三、实时时钟实验 (30)实验十四、看门狗控制实验 (31)实验十五、A/D转换实验 (32)实验十六 I2C串行通信实验 (33)实验十七 linux bootload实验 (34)实验一、熟悉realview开发环境1.1 RealView MDK软件开发环境简介RealView MDK全称RealView MDK中国版开发套件,源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的对各种嵌入式处理器的软件开发工具。

RealView MDK集成了业内最领先的技术,包括µVision3集成开发环境与RealView编译器,支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。

MSP430F5529实验指导书V1.0

MSP430F5529实验指导书V1.0

MSP430F5529 实验指导书(V1.0)2014年10月27日东北林业大学机电工程学院“3+1”实验室实验一基础GPIO实验实验二键盘与液晶显示实验实验三时钟系统配置实验实验四看门狗与定时器实验实验五 AD/DA实验实验六比较器实验实验七 Flash实验实验八串行通信实验实验一基础GPIO实验【实验目的】1、熟悉CCS的基本使用方法;2、掌握MSP430系列单片机程序开发的基本步骤;3、掌握MSP430 IO口的基本功能。

【实验仪器】1、SEED-EXP430F5529v1.0开发板一套;2、PC机操作系统Windows XP或Windows 7,CCSv5.1集成开发环境。

【实验原理】CCS(Code Composer Studio)是 TI 公司研发的一款具有环境配置、源文件编辑、程序调试、跟踪和分析等功能的集成开发环境,能够帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作。

CCSv5.1 为 CCS 软件的最新版本,功能更强大、性能更稳定、可用性更高,是 MSP430 软件开发的理想工具。

SEED-EXP430F5529v1.0开发板上的有8个可操作的LED灯,与MCU的IO口对应关系如图1-1所示:图1-1 LED与MCU的IO对应关系电路我们可以通过控制单片机IO口的输出电平状态来控制各个LED灯的亮灭。

开发板上还有2个可操作的按键S1,S2。

如图1-2所示。

图1-2 按键电路我们可以通过读取与按键相连的IO口的输入电平状态来执行相应的操作。

此外,S1,S2还可以作为外部中断源,触发中断。

【实验内容】1、用调用头文件的方法,使能MSP430F5529开发板上的8个LED灯依次按顺序循环点亮;2、用按键S1控制开发板上LED1的亮灭状态(查询法);3、用按键S2控制开发板上跑马灯的循环速度(中断方式)。

【实验步骤】内容1:使能开发板上的8个LED灯依次按顺序循环点亮1、打开CCSv5并确定工作区间,然后选择File-->New-->CCS Project 弹出图1-3对话框。

嵌入式系统看门狗实验报告

嵌入式系统看门狗实验报告

竭诚为您提供优质文档/双击可除嵌入式系统看门狗实验报告篇一:《嵌入式系统原理与应用》实验报告04-看门狗实验《嵌入式系统原理与接口技术》实验报告实验序号:4实验项目名称:看门狗实验1234篇二:嵌入式实验报告目录实验一跑马灯实验................................................. (1)实验二按键输入实验................................................. .. (3)实验三串口实验................................................. . (5)实验四外部中断实验................................................. .. (8)实验五独立看门狗实验................................................. (11)实验七定时器中断实验................................................. (13)实验十三ADc实验................................................. .. (15)实验十五DmA实验................................................. .. (17)实验十六I2c实验................................................. (21)实验十七spI实验................................................. .. (24)实验二十一红外遥控实验................................................. .. (27)实验二十二Ds18b20实验................................................. (30)实验一跑马灯实验一.实验简介我的第一个实验,跑马灯实验。

培训文档看门狗

培训文档看门狗

电杆
0.3 米
分界开关
抱箍 抱箍
分界开关控制器
3
产品构成示意图
故障处理过程——单相接地(0)
当用户界内发生单相接地故障时,控制器侦测 到零序故障电流后(即零序电流值超过所设定 的零序电流定值),启动延时计时,在计时超 过零序保护动作延时时间设定值后,执行保护 动作,控制器令开关迅速分闸,切除用户界内 故障。
按重要遥信3S内上送的原则 ,5S状变解析计时时间计算,
17 0 <= (事故件名登陆时刻-KMG负荷侧区间停电时刻) <= 8S,认为
KMG的负荷侧区间停电原因是FCB跳造成的。
DAS——看门狗管理界面(1)
主菜单=>设备信息查询菜单=>看门狗管理
18
DAS——看门狗管理界面(2)
19
DAS——看门狗管理界面(3)
中性点经小电阻接地系统用户界外 不动作
相 间
分界开关为负荷开关:用户界内
电源侧断路器跳闸停电后分界开 关跳闸

路 分界开关为断路器:用户界内
12
故 障 用户界外
电源侧断路器不动作,分界开关 跳闸
不动作
控制器三遥
遥测:A相电流、C相电流、零序电流、AB相间电压 等。
遥信:开关位置、单相接地故障、相间短路故障 等 遥控:
产品简介
由安装于配电网用户支线T接点或馈线末端的 智能成套设备(俗称看门狗)构成,实现用户 侧线路故障的自动监控。本产品在无通信条件 下,依靠设备的智能化,能有效避免配电网用 户支线故障波及整条馈线停电,形成供用电的 责任分界,从而大幅提高10kV主干网的供电 可靠性。适用于各种接地方式的架空网、电缆 网、架空电缆混合网分支线自动化监控。

单片机实验看门狗实验


实验八 看门狗实验

/***************************************************************************** // Function name : rtc_get_date // Description : 获取实时时钟当前时间、日期 // Return type : void // Argument : p_date, 返回日期的指针 *****************************************************************************/ void rtc_get_date(st_date* p_date) { rRTCCON = 0x01; p_date->year = rBCDYEAR ; p_date->mon = rBCDMON ; p_date->day = rBCDDAY ; p_date->week_day= rBCDDATE ; p_date->hour = rBCDHOUR ; p_date->min = rBCDMIN ; p_date->sec = rBCDSEC ; rRTCCON = 0x00; } /***************************************************************************** // Function name : rtc_tick_init // Description : 初始化S3C2410的TICK定时器 // Return type : void // Argument : tick, 设置的TICK频率(时钟滴答的周期为 (1+tick)/128秒) *****************************************************************************/

嵌入式看门狗实验

看门狗实验一、实验目的学习 CC2530 片内看门狗的工作原理。

配置 CC2530 的看门狗相关的寄存器。

二、实验环境硬件:PC 机,EBDCC2530 节点板,USB 接口仿真器。

软件:Windows98/2000/NT/XP,IAR 集成开发环境。

三、实验原理看门狗(WatchDog),准确的说应该是看门狗定时器,则正是专门用来监测单片机程序运行状态的电路结构。

其基本原理是:启动看门狗定时器后,它就会从 0 开始计数,若程序在规定的时间间隔内没有及时对其清零,看门狗定时器就会复位系统(相当于重启电脑)。

图 2-8-1 看门狗原理示意图看门狗的使用可以总结为:选择模式→选择定时器间隔→放狗→喂狗。

(1)选择模式看门狗定时器有两种模式,即“看门狗模式”和“定时器”模式。

在定时器模式下,它就相当于普通的定时器,达到定时间隔会产生中断(你可以在 ioCC2530.h文件中找到其中断向量为 WDT_VECTOR);在看门狗模式下,当达到定时间隔时,不会产生中断,取而代之的是向系统发送一个复位信号。

本实验中,通过 WDCTL.MODE=0 来选择为看门口模式。

(2)选择定时间隔如上图所示,有四种可供选择的时钟周期,为了测试方便,我们选择时间间隔为 1s(即令WDCTL.INT=00)。

(3)放狗令 WDCTL.EN=1,即可启动看门狗定时器。

(4)喂狗定时器启动之后,就会从 0 开始计数。

在其计数值达到 32768 之前(即<1s ),若我们用以下代码喂狗:WDCTL=0xa0;WDCTL=0x50;则定时器的计数值会被清 0,然后它会再次从 0x0000 开始计数,这样就防止了其发送复位信号,表现在开发板上就是:LED1 会一直亮着,不会闪烁;若我们不喂狗(即把此代码注释掉),那么当定时器计数达到 32768 时,就会发出复位信号,程序将会从头开始运行,表现在开发板上就是:LED1 不断闪烁,闪烁间隔为 1s 。

CC2530基础例程实验手册

7 看门狗............................................................................................................................................................- 65 7.1 CC2530 基础实验 21:看门狗模式................................................................................................. - 65 7.2 CC2530 基础实验 22:喂狗............................................................................................................. - 68 -
-6-
3 实验相关函数 void Delay(uint n);参见CC2530 基础实验1。 void Initial(void);参见CC2530 基础实验1。 void InitKey(void);函数原型:
6 睡眠定时器实验............................................................................................................................................- 55 6.1 CC2530 基础实验 17:系统睡眠工作状态..................................................................................... - 55 6.2 CC2530 基础实验 18:系统唤醒..................................................................................................... - 57 6.3 CC2530 基础实验 19:睡眠定时器使用......................................................................................... - 59 6.4 CC2530 基础实验 20:定时唤醒..................................................................................................... - 63 -

CC2530看门狗实验1

CC2530看门狗实验1/*****************************************//by 虚幻代码//名称:CC2530 看门狗实验1//说明:看门狗周期为1秒,每个主循环喂狗一次。

如果去除喂狗指令函数,系统将不断复位,指示灯闪烁。

//加上喂狗指令函数,系统将不再主动复位,指示灯不再闪烁。

*****************************************//*引用********************************************/#include<iocc2530.h>/*宏定义*****************************************/#define uint unsigned int#define rled P1_0#define gled P1_1/*函数定义*******************************///LED初始化void initled(void){P1SEL &=0XFC;//P1_0,P1_1接口设为通用接口模式P1DIR|=0X03;//P1_0,P1_1接口设为输出模式rled=1;gled=1;}//看门狗初始化void init_watchdag(void){WDCTL=0X00;//时间间隔为1秒WDCTL |=0X08;//看门狗模式}//设定系统主时钟void set_main_clock(source){if(source){CLKCONCMD |=0X40;//选择16MHZ RCOSC为系统时钟源while(!(CLKCONSTA &0X40));//等待时钟稳定}else{CLKCONCMD &=0XBF;//选择32MHZ XOSC为系统时钟源while(CLKCONSTA &0X40);//等待时钟稳定}}//清除看门狗定时器void feetdog(void){WDCTL=0XA0;WDCTL=0X50;}//延时函数void delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}/*主函数*******************************/void main(void){set_main_clock(0);initled();init_watchdag();delay(10000);rled=0;gled=0;while(1){feetdog();//喂狗指令(加入后系统不复位,小灯不闪烁)}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档