嵌入式看门狗实验.doc

嵌入式看门狗实验.doc

ID:58581329

大小:2.32 MB

页数:5页

时间:2020-10-19

嵌入式看门狗实验.doc_第1页
嵌入式看门狗实验.doc_第2页
嵌入式看门狗实验.doc_第3页
嵌入式看门狗实验.doc_第4页
嵌入式看门狗实验.doc_第5页
资源描述:

《嵌入式看门狗实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、看门狗实验一、实验目的Ø学习CC2530片内看门狗的工作原理。Ø配置CC2530的看门狗相关的寄存器。二、实验环境Ø硬件:PC机,EBDCC2530节点板,USB接口仿真器。Ø软件:Windows98/2000/NT/XP,IAR集成开发环境。三、实验原理看门狗(WatchDog),准确的说应该是看门狗定时器,则正是专门用来监测单片机程序运行状态的电路结构。其基本原理是:启动看门狗定时器后,它就会从0开始计数,若程序在规定的时间间隔内没有及时对其清零,看门狗定时器就会复位系统(相当于重启电脑)。图2-8-1看门狗原理示意图看门狗的使用可以总结为:选择模式→选择定时器间隔→放狗→

2、喂狗。(1)选择模式看门狗定时器有两种模式,即“看门狗模式”和“定时器”模式。在定时器模式下,它就相当于普通的定时器,达到定时间隔会产生中断(你可以在ioCC2530.h文件中找到其中断向量为WDT_VECTOR);在看门狗模式下,当达到定时间隔时,不会产生中断,取而代之的是向系统发送一个复位信号。本实验中,通过WDCTL.MODE=0来选择为看门口模式。(2)选择定时间隔如上图所示,有四种可供选择的时钟周期,为了测试方便,我们选择时间间隔为1s(即令WDCTL.INT=00)。(3)放狗令WDCTL.EN=1,即可启动看门狗定时器。(4)喂狗定时器启动之后,就会从0开始计数。

3、在其计数值达到32768之前(即<1s),若我们用以下代码喂狗:WDCTL=0xa0;WDCTL=0x50;则定时器的计数值会被清0,然后它会再次从0x0000开始计数,这样就防止了其发送复位信号,表现在开发板上就是:LED1会一直亮着,不会闪烁;若我们不喂狗(即把此代码注释掉),那么当定时器计数达到32768时,就会发出复位信号,程序将会从头开始运行,表现在开发板上就是:LED1不断闪烁,闪烁间隔为1s。(注:喂狗程序一定要严格与上述代码一致,顺序颠倒/写错/少写一句都将起不到清0的作用。)程序流程图:开始系统时钟初始化LED初始化设定看门狗定时器的计数时间间隔启动看门狗N在

4、上述时间间隔内,喂狗?Y程序继续运行图2-8-2看门狗程序流程图四、实验步骤1、正确连接USB仿真器的下载线和EBDCC2530节点板。2、打开实验源码watchdog.eww(路径为:出厂光盘DISK-EMBV210-WSN5-Example2基本接口实验2.8Watchdog),编译工程,依次选择“Project”→“DownloadandDebug”,下载到CC2530节点板。3、把仿真器左侧的USB接口拔掉,然后拔掉连接在EBDCC2530节点板DBG位置的调试接口。我们打开EBDCC2530节点板右下方的电源开关,此时可以观察到程序运行的情况。(在不拔掉仿真器

5、的情况下,我们可以通过相关的调试进一步观察程序的运行情况。)4、默认加上FeedDog函数,编译、下载、运行代码后,我们发现LED1一直亮着(系统不复位)。5、若注释掉FeedDog函数,编译、下载、运行代码后,我们发现LED1以1s的间隔闪烁(系统每隔1s复位一次)。五、实验结果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。