实验八 看门狗实验
《嵌入式系统原理与应用》实验报告04-看门狗实验

签名:
日期:
成绩
WDFEED=0x55;
}
void FeedDog(void)
{
WDFEED=0xaa;
WDFEED=0x55;
}
int main (void)
{
uint32 dly;
PINSEL0=0x00;
PINSEL1=0x00;
IO0DIR=led;
IO0SET=led;
for(dly=0;dly<500000;dly++);
1.实验效果截图
2.源程序
#include "config.h"
#define key (1<<20)//set the button to be P0.20
#define led (1<<7)
void WDT_Init(uint32 time)
{
WDTC=time;
WDMOD=0x03;
WDFEED=0xaa;
二、实验设备(环境)及要求
硬件:PC机;
软件:PC机操作系统windows XP,Proteus软件,ADS1.2
三、实验内容与步骤
实验内容:
运行程序时,LED灯闪烁一下,并启动看门狗;当按键按下时,停止喂狗,此时会引起看门狗复位;复位之后,程序重新运行,此时LED灯又闪烁了一下。
四、实验结果与数据处理
《嵌入式系统原理与接口技术》实验报告
实验序号:4实验项目名称:看门狗实验
学 号
XXXX
姓 名
XXX
专业、班
计算机科学与技术
实验地点
1-416
指导教师
XXX
实验时间
田老师的PIC单片机教案8

第八章 PIC单片机应用
8.9 串行通讯实验
图8-18 串口通讯软件界面
状态 指示灯
发送 快捷键
第八章 PIC单片机应用
8.9 串行通讯实验
J3 232
1 6 2 7 3 8 4 9 5
C8
1 3
C9 4
5 7 8 14 13
MAX232 VCC
IC5
C1+ 16 C1- 2 C2+ 15 C2- 6 TX 10 RX 9 14 11 13 1512
遍数减1
图8-3 发光二极管循环点亮实验原理图
是否点亮八遍
否 是
图8-4 发光二极循环点亮框图
第八章 PIC单片机应用
8.3数码管点亮实验
图8-6 数码管实验原理图
第八章 PIC单片机应用
8.4 I/O口查询实验
开始 RB0、RB1为输入
延时
查询RB0 、RB1
送C口显示
图8-8 I/O口查询实验电路框图
8.1发光二极管数据演示实验
开始
取第一加数并显示 放入30H寄存器
取第二加数并显示 放入25H寄存器 两数相加 延 时 6s
图 8-1 发光二极管数据演示实验原理图
图8-2 发光二极管数据演示框图
第八章 PIC单片机应用
8.2发光二极管循环点亮实验 开始
设定循环遍数 01H送C口显示
延时 01H左循环
16 2 15 6 10 9 11 12
C6 C7
图 8-19 串口通讯实验原理图
PIC16F873
IC2
RC0 R13 D24
RC1 R12 D25
RC6 RC7
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)实验一跑马灯实验一.实验简介我的第一个实验,跑马灯实验。
15-看门狗实验

第15章看门狗15.1概述接触过c51的朋友,对看门狗的概念应该不陌生吧?看门狗在某种程度上有软件复位的意义。
比起c51,AVR的看门狗更简单,而且很听话。
本章笔记可能会比较短,毕竟配置看门狗,就几个动作而已。
15.2关于看门狗的寄存器看门狗的操作其本上有"开狗","喂狗","关狗"这三个步骤。
开狗的意思是初始化看门狗并且使能它;喂狗的意思是复位看门狗;关狗动作就是不使能看门狗。
而配置看门狗的寄存器就只有一个而已。
看门狗定时器控制寄存器WDTCR该寄存器的功能如名字般,使能|不使能看门狗,设置喂狗的最长时间。
WDTOE位,该位的存在时为了关闭看门狗。
必须附和使用WDE位。
WDE位,看门狗使能位。
该位置一时启动看门狗。
WDP0~2,喂狗时间配置位。
具体的配置如下图。
该寄存器的每一个位如果不配合使用,说真的意义很小。
15.3"开狗","喂狗","关狗""开狗"-启动看门狗的具体步骤如下:1.配置喂狗时间。
2.使能看门狗。
(以上的动作可以在一个指令完成)C语言的写法://看门狗启动函数void WDT_ON(){WDTCR=0x0f;//WDE=1-看门狗使能,WDP0:1:2=1:1:1-2秒喂狗。
}"关狗"-关闭看门狗的具体步骤如下:1.WDTOE位和WDE位同时置一。
2.WDE位置零。
C语言的写法://看门狗关闭函数void WDT_OFF(){WDTCR|=BIT(WDTOE)|BIT(WDE);//制造4个周期关闭时间WDTCR&=~BIT(WDE);//关闭看门狗}为什么关闭看门狗需要同时置一WDTOE和WDE位呢?具体我也不是很清楚,但是根据手册说:当WDTOE和WDE一同置一时,会产生4个有效的关闭周期。
如果在这四个周期内,将WDE位设置位0,那么久会成功关闭看门狗。
微型控制技术实验报告

实验报告——微控制器技术班级:自动化0703姓名:杨法松学号:090107006目录:一:实验目的及要求 (2)二:实验基本内容(TD-51单片机实验系统实现) (2)三:实验报告基本内容要求 (4)四:实验系统简介 (5)五:实验一到实验三 (7)实验四 (11)实验五 (13)实验六 (15)实验七 (16)实验八 (18)一、实验目的及要求:1、学习Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法;2、熟悉TD-51单片机系统板及实验系统的结构及使用;3、进行MCS51单片机指令系统软件编程设计与硬件接口功能设计;4、学习并掌握Keil C51与Proteus仿真软件联机进行单片机接口电路的设计与编程调试;5、完成指定MCS51单片机综合设计题二、实验基本内容(TD-51单片机实验系统实现)实验一清零程序与拆字程序设计根据实验指导书之“第二章单片机原理实验”(P17~P23页)内容,熟悉实验环境及方法,完成思考题1、2(P23)基础实验项目。
实验二拼字程序与数据传送程序设计汇编语言完成实验指导书P24思考题3、4题的基础实验项目。
实验三排序程序与散转程序设计汇编语言完成实验指导书P24思考题5、6题的基础实验项目。
实验四静态存储器扩展实验基本部分:阅读、验证C语言程序功能。
使用汇编语言编程,完成实验指导书之“4.1 静态存储器扩展实验”基本实验项目(P57)。
提高部分:阅读、验证C语言程序功能。
使用汇编语言编程,完成实验指导书之“4.2 FLASH存储器扩展实验”实验项目(P60)。
实验五数字量输入输出实验基本部分:阅读、验证C语言程序功能。
使用汇编语言编程,完成实验指导书之“3.1 数字量输入输出实验”基本实验项目(P36),。
提高部分:(任选一题)题目一:LED交通灯控制(使用8255接口芯片)要求:使用汇编语言编程,功能为:通过开关实现LED灯工作方式即时控制,完成LED交通灯的开关控制显示功能和LED交通灯自动循环显示功能。
看门狗实验

看门狗实验1. 为什么要看门狗?看门狗的原理是什么?外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(watchdog)它的基本原理为,给看门狗设置一个时间周期,如果在这个周期内程序不能正常运行结束,定时器会自动益处,则系统会自动复位,使系统重新运行进而得到监控系统的作用。
假设程序运行的时间为Tp,定时器时间为Ti,Ti>Tp,在Ti时间内程序正常结束则不会发生益处的现象,如果受干扰等原因系统不能在Tp时刻内修改计数器的值,则在Ti时刻时系统会自动复位,引发系统重新运行。
一般情况下都是应用程序在运行结束后去喂狗,当应用程序出现异常而不能去喂狗时,在超过看门狗定时器的时间范围后,cpu会复位,起始喂狗的过程就是给看门狗的寄存器置位,当程序开始运行时,看门狗的计数器开始递减,在减到零之前必须喂狗,否则系统会复位,当减到零时还没有喂狗则系统复位。
2. 看门狗的功能1)作为常规功能可以产生中断,通用的中断用16bit定时器2)作为看门狗使用,当时钟计数器减为0时(超时),他将产生一个128个时(PCLK)钟的的复位信号我们常见的时钟有3个,FCLK,HCLK,PCLK,他们的工作频率分别是400MHz,400/3MHz,和400/6MHz,看门狗使用的是PCLK时钟。
下图为看门狗的电路示意图PCLK经过两次降频,prescaler的值从0到256-1,Division_factor的值为16,32,64,128。
看门狗定时器记数值的计算公式如下:t_watchdog的值是寄存计数器(WDTCNT)多长时间自减一次,他的单位是时间,一旦看门狗定时器被允许,看门狗定时器数据寄存器(WTDAT)的值不能被自动的装载到看门狗计数器(WTCNT)中,因此,看门狗启动前要将一个初始值写入看门狗计数器(WTCNT)中。
看门狗实验预习报告

实验8 看门狗实验一、实验项目1、利用watchdog产生定时中断,起定时器作用;2、编程实现喂狗、看门狗和重启系统。
二、实验类型验证性。
三、计划学时2学时。
四、实验目的1、了解watchdog的作用;2、掌握lpc2103的watchdog定时器的使用方法。
五、实验设备与平台1、实验设备:计算机(PC),ARM9-2410EP增强型嵌入式教学实验系统,Multi-ICE仿真器。
2、平台:Windows、ADS1.2。
六、涉及的知识点定时器的使用方法,看门狗的作用以及使用方法。
七、实验相关知识看门狗功能简述:嵌入式系统运行时受到外部干扰或者系统错误,程序有时会出现“跑飞”,导致整个系统瘫痪。
为了防止这一现象的发生,在对系统稳定性要求较高的场合往往要加入看门狗(watchdog)电路。
看门狗的作用就是当系统“跑飞”而进入死循环时,恢复系统的运行。
看门狗的工作原理:设系统程序完整运行一周期的时间是Tp,看门狗的定时周期为Ti。
在程序正常运行时,Ti>Tp,看门狗的定时器就不会溢出;若由于干扰等原因使系统不能在Tp时刻内修改看门狗定时器的记数器的记数值,定时器将在Ti时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控的作用。
S3C2410A的看门狗简介:S3C2410A的看门狗定时器有两个功能:1、作为常规时钟,并且可以产生中断;2、作为看门狗定时器使用,当时钟计数减为0(超时)时,它将产生一个128个时钟周期的复位信号。
主要特性如下:通用的中断方式的16bit定时器;当计数器减到0(发生溢出),产生128个PCLK周期的复位信号。
下图为看门狗的电路示意图,看门狗时钟使用PCLK作为它的时钟源,PCLK通过预分频产生适合的看门狗时钟。
图5.1 Watchdog定时器框图八、实验内容与步骤1.实验说明由于看门狗是对系统的复位或者中断的操作,所以不需要外围的硬件电路。
要实现看门狗的功能,只需对看门狗的寄存器组进行操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验八看门狗实验
一、实验目的
1、了解看门狗的作用;
2、掌握看门狗的使用方法。
二、实验内容
1、编程实现看门狗功能,观察看门狗作用;
2、编程实现看门狗喂狗。
三、实验设备
1、硬件:
JX44B0实验板;
PC机;
JTAG仿真器;
2、软件:
PC机操作系统(WINDOWS 2000);
ARM Developer Suite v1.2;
Multi-ICE V2.2.5(Build1319);
四、基础知识
1、用ADS集成开发环境,编写和调试程序的基本过程;
2、应用程序的框架结构。
五、实验说明
1、看门狗的功能和工作原理
嵌入式系统运行时受到外部干扰或者系统错误,程序有时会出现“跑飞”,导致整个系统瘫痪。
为了防止这一现象的发生,在对系统稳定性要求较高的场合往往要加入看门狗电路。
看门狗的作用就是当系统“跑飞”而进入死循环时,恢复系统的运行。
其基本原理为:当本系统程序完整运行一周期的时间为Tp,看门狗的定时周期时Ti,Ti>Tp,在程序运行一周期后,就修改定时器的计数值,(俗称“喂狗”),只要程序正常运行,定时器就不会溢出,若由于干扰等原因使系统不能在Tp时刻修改定时器的计数值,定时器将在Ti时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控作用。
在一个完整的嵌入式机系统或单片机最小系统中通常都有看门狗定时器。
而且一般集成在处理芯片中,看门狗实际上就是一个定时器,只是它在期满后将自动引起系统复位。
2、S3C44B0看门狗的控制
S3C44B0的看门狗定时器有两个功能:
1)为常规定时器使用,而且可以引发中断;
2)为看门狗定时器使用,期满时,它可以产生128个时钟周期的复位信号。
下图是S3C44B0看门狗的示意图。
输入时钟为MCLK(该时钟频率等于系统的主频),它经过两级分频,最后将分频后的时钟作为该定时器的输入时钟,当计数器期满后可以产生中断或者复位信号。
S3C44B0看门狗电路示意图
看门狗定时器计数值的计算公式如下:
t_watchdog = 1 / (PCLK / (Prescaler value + 1 ) / Division_factor)
看门狗的定时周期:
T = WTCNT * t_watchdog
看门狗定时器相关寄存器如下:
控制寄存器(WTCON)
通过该寄存器,可以使能/禁止看门狗、选择输入时钟源、使能/关闭中断、使能/关闭输出。
该寄存器的地址以及各控制位的定义如下:
控制寄存器
数据寄存器(WTDAT)
该数据寄存器用于设置看门狗定时器的超时值。
在初始的操作中该值不会自动加载到定时器中,首次定时器超时值位期初始值0X8000,以后该寄存器的值会被自动加载到WTCNT 寄存器中。
一般时该定时器工作在通用定时器模式下时使用。
数据寄存器
计数器寄存器(WTCNT)
看门狗的定时器的计数器,它的值表示该寄存器的当前计数值,即到下一次期满还需要经历的时钟数,当该定时器工作在看门狗模式时使用该寄存器,每次期满前需要重新设置其值,以防止发生复位。
计数器寄存器
3、程序解析
1)使能WATCHDOG的代码
rWATCNT = 0X1000; /* 设置看门狗初始值 */
rWATCON = BIT_WDT_ENABLE | BIT_WDT_RST_ENABLE | BIT_WDT_CLK_SEL |
BIT_WDT_PRE_SCALER; /* 打开看门狗 */
其中WDT_CLK_SEL和WDT_PRE_SCALER的值如下:
#define WDT_CLK_SEL (0X3 <<3) /* 1/128 */
#define WDT_PRE_SCALER (0XFF <<8) /* 255 */
2)看门狗定时器的时钟周期为(工作主频为60MHZ)
t_watchdog = 1/( MCLK / (255 + 1) / 128 );
3)将WDTCNT设置为0x1000,其超时时间为
t = 0x1000/( 60M / (255 + 1) / 128 ) ≈ 2 秒
4)喂狗
使用程序定期的设置WTCNT寄存器,俗称“喂狗”,继续修改上一次实验的程序,在TICK中断中每秒重置一次WDTCNT的值(使用同一个值0X1000),检查是否有复位发生
if(tick_index%1==0)
rWATCNT = 0X1000; /* 重新设置看门狗时间值 */
5)在TICK中断中每3秒重置一次WDTCNT的值(使用同一个值0X1000),检查是否有
复位发生
if(tick_index%3==0)
rWATCNT = 0X1000; /* 重新设置看门狗时间值 */
六、实验步骤
1、仔细阅读实验说明部分,熟悉WATCHDOG的原理;
2、直接用ADS打开已有的工程文件,或者按照实验一中的方法重新建立工程(当函数无法通过右键跳转的时候,就必须重新建立工程,把所需文件放在一个文件夹下)
3、在DebugRel目录下编译源文件。
(详见实验一),分析并熟悉程序。
.
4、调试运行程序观察程序运行。
自行修改程序观察各变量、寄存器等的作用。