51单片机看门狗电路简介

发布者:CaptivatingGaze最新更新时间:2012-08-08 来源: 21ic 关键字:51单片机  看门狗  X25045 手机看文章 扫描二维码
随时随地手机看文章

    采用89C51单片机和X25045组成的看门狗电路,X25045硬件连接图如图2所示。X25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。在看门狗定时器预置的时间内若没有总线活动,则X25045将从RESET输出一个高电平信号,经过微分电路C2、R3输出一个正脉冲,使CPU复位。图2电路中,CPU的复位信号共有3个:上电复位(C1、R2),人工复位(S、R1、R2)和Watchdog复位(C2、R3),通过或门综合后加到RESET端。C2、R3的时间常数不必太大,有数百微秒即可,因为这时CPU的振荡器已经在工作。


图2 X25045看门狗电路硬件连接图

    看门狗定时器的预置时间是通过X25045的状态寄存器的相应位来设定的。如表2所示,X25045状态寄存器共有6位有含义,其中WD1、WD0和看门狗电路有关,其余位和EEPROM的工作设置有关。


表2 X25045状态寄存器

WD1=0,WD0=0,预置时间为1.4s。
WD1=0,WD0=1,预置时间为0.6s。
WD1=1,WD0=0,预置时间为0.2s。
WD1=1,WD0=1,禁止看门狗工作。

    看门狗电路的定时时间长短可由具体应用程序的循环周期决定,通常比系统正常工作时最大循环周期的时间略长即可。编程时,可在软件的合适地方加一条喂狗指令,使看门狗的定时时间永远达不到预置时间,系统就不会复位而正常工作。当系统跑飞,用软件陷阱等别的方法无法捕捉回程序时,则看门狗定时时间很快增长到预置时间,迫使系统复位。[page]

    以下是C语言编写的看门狗程序部分。

#include reg51.h
sbit cs=P1^2;/*片选信号由P1.2产生*/
sbit sck=P1^3; /*时钟信号由P1.3 产生*/
sbit si=P1^0; /*SI由P1.0产生*/
sbit so=P1^1; /*SO由P1.1产生*/
sbit c=ACC^7; /*定义位变量*/
bdata unsigned char com;
void tran() /*发送一字节数据子函数*/
{
unsigned char i;
for(i=0; i<8; i++)
{ ACC=com; /*将数据放入a中*/
si=c;
sck=0; /*sck产生一个上跳变*/
sck=1;
com=com<<1; /*左移一位*/
}
return;
}
main()
{
com=0x06; /*发写读使能命令*/
cs=0;
tran();
cs=1;
com=0x01; /*发写状态字命令*/
cs=0;
tran();
com=0x00; /*定时1.4s*/
tran();
cs=1;
...;系统正常运行的程序部分
}

    需要注意的是,在程序正常运行的时候,应该在适当的地方加一条喂狗指令,使系统正常运行时的定时时间达不到预置时间。系统就不会复位。喂狗指令如下。

main()
{
...;系统正常运行的程序部分
{
cs=0; /*产生cs脉冲*/
cs=1;
}
}

    X25045的看门狗电路使用十分方便。X25045内部还集成了512BEEPROM和电压运行监视系统,只需这样一块芯片,外加晶振和复位电路就可以组成单片机的应用系统,非常适合于便携式仪器和嵌入式系统的设计。

关键字:51单片机  看门狗  X25045 引用地址:51单片机看门狗电路简介

上一篇:基于单片机的远程智能语音防盗报警系统设计
下一篇:单片机扩展中断的方法简介

推荐阅读最新更新时间:2024-03-16 13:05

C8051F020与80C51单片机的异同点
1 引言 80C51系列单片机及其衍生产品在我国乃至全世界范围获得了非常广泛的应用。单片机领域的大部分工作人员都熟悉80C51单片机,各大专院校都采用80C51系列单片机作为教学模型。随着单片机的不断发展,市场上出现了很多高速、高性能的新型单片机,基于标准8051内核的单片机正面临着退出市场的境地。为此,一些半导体公司开始对传统8051内核进行大的构造,主要是提高速度和增加片内模拟和数字外设,以期大幅度提高单片机的整体性能。其中美国Cygnal公司推出的C8051F系列单片机把80C51系列单片机从MCU时代推向SoC时代,使得以8051为内核的单片机上了一个新的台阶。 C8051F系列单片机是完全集成的混合信号系统级芯片,具
[单片机]
51单片机实现在数码管中实现iphone4S开机密码锁的程序
一、使用proteus绘制简单的电路图,用于后续仿真 二、编写程序 /******************************************************************************************************************** ---- @Project: LED-74HC595 ---- @File: main.c ---- @Edit: ZHQ ---- @Version: V1.0 ---- @CreationTime: 20200627 ---- @ModifiedTime: 20200627
[单片机]
<font color='red'>51单片机</font>实现在数码管中实现iphone4S开机密码锁的程序
51单片机水塔原理图与源程序
单片机源程序如下: #include reg52.h //定义一个数组,使数码管显示的数字和数组元素的下标相等 unsigned char code table ={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; sbit shuiman=P1^0;//水满 sbit sw5=P1^1;//水位5 sbit sw4=P1^2;//水位4 sbit sw3=P1^3;//水位3 sbit sw2=P1^4;//水位2 sbit sw1=P1^5;//水位1 sbit shougong=P1^6;//手工上水 sbit dianji=P1^7;//
[单片机]
<font color='red'>51单片机</font>水塔原理图与源程序
51单片机(AT89C52)控制蜂鸣器
#include reg52.h #define uchar unsigned char #define uint unsigned int sbit beep=P0^0; void delay(uint z) { uint x,y; for(x=z;x 0;x--) for(y=111;y 0;y--); } void main() { while(1) { beep=0; delay(500); beep=1; delay(500); } }
[单片机]
<font color='red'>51单片机</font>(AT89C52)控制蜂鸣器
基于51单片机8音键电子琴DIY制作
单片机源程序如下: /************************************************************** 程序名称:模拟电子琴 **************************************************************/ #include reg52.h //定义头文件 #define uchar unsigned char //宏定义 #define led P0 //定义LED等位P0口 #define sw_port P1
[单片机]
基于<font color='red'>51单片机</font>8音键电子琴DIY制作
MSP430单片机看门狗的基本用法解析
看门狗是为了防止程序跑飞而设定的,但是由于看门狗是一个类似于定时器,因此可以把他当作定时器来使用 示例代码:用看门狗定时器使一个led闪烁 #include void main( void ) { // Stop watchdog timer to prevent TIme out reset WDTCTL = WDT_MDLY_32;//宏定义 IE1 |=WDTIE; //允许看门狗定时器中断 P2DIR |= BIT7; _BIS_SR(LPM0_bits+GIE);//在这里的话将cpu进入低功耗模式 } #pragma vector = WDT_VECTOR __interrupt void watchdag_TIm
[单片机]
MSP430单片机<font color='red'>看门狗</font>的基本用法解析
51单片机IO口模拟串口通讯C源程
51 IO口模拟串口通讯C源程 #include reg51.h sbit BT_SND =P1^0; sbit BT_REC =P1^1; #define MODE_QUICK #define F_TM F0 #define TIMER0_ENABLE TL0=TH0; TR0=1; #define TIMER0_DISABLE TR0=0; sbit ACC0= ACC^0; sbit ACC1= ACC^1; sbit ACC2= ACC^2; sbit ACC3= ACC^3; sbit ACC4= ACC^4; sbit ACC5= ACC^5; sbit ACC6= ACC^6; sbit ACC7= ACC^
[单片机]
一种用于51单片机的红外串行通信接口
引言 在很多单片机应用系统中,常常利用非电信号(如光信号、超声波信号等)传送控制信息和数据信息,以实现遥控或遥测的功能。例如在单相电度表抄表系统中,就是使用手持抄表器通过遥控的方式,来完成电度表用电量的抄录、设置表底数、电度表校时等工作。红外通信具有控制简单、实施方便、传输可靠性高的特点,是一种较为常用的通信方式。实现单片机系统红外通信的关键在于红外接口电路的设计以及接口驱动程序的设计。 1 红外通信的基本原理 红外通信是利用950nm近红外波段的红外线作为传递信息的媒体,即通信信道。发送端采用脉时调制(PPM)方式,将二进制数字信号调制成某一频率的脉冲序列,并驱动红外发射管以光脉冲的形式发送出去;接收端将接收到的光脉
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved