51怎么写看门狗

1. 51单片机 c语言看门狗程序怎么写

看门狗在51单片机电路里的作用是防止程序 “跑飞”、“死机”后,系统不动作,而采取复位的办法“唤醒”系统。

89S51、89S52系列单片机自带有看门狗功能,片内数据区A6H寄存器具有看门狗功能,使用很简单:#include。sfr WDTRST = 0xA6;。

void main() { WDTRST=0x1E;;//初始化看门狗 WDTRST=0xE1;//初始化看门狗 for(;;) { WDTRST=0x1E;;//喂狗指令 WDTRST=0xE1;//喂狗指令 } } 可见,你只要在程序的大循环体内加一条喂狗指令就行。但这种看门狗功能有限,不是很可靠的,它依靠晶振工作,一旦晶振不起振,就无效了。

实践中多采用外部看门狗的方法,可以选用的芯片很多:MAX708、MAX813 、X25045。..具体编程就要看芯片的参考资料了。

例如:X25045是SPI总线的看门狗芯片,复位端和单片机复位端连接,SPI数据输入你可以选择合适的IO接口。WREN 0x06 设置写允许位 WRDI 0x04 复位写允许位 RDSR 0x05 读状态寄存器 WRSR 0x01 写状态寄存器 READ 0x03/0x0b 读操作时内部EEPROM页地址 WRITE 0x02/0x0a 写操作时内部EEPROM页地址 #include sbit CS= P2^7; sbit SO= P2^6; sbit SCK= P2^5; sbit SI= P2^4; #define WREN 0x06 // #define WRDI 0x04 // #define RDSR 0x05 // #define WRSR 0x01 // #define READ0 0x03 // #define READ1 0x0b // #define WRITE0 0x02 // #define WRITE1 0x0a // #define uchar unsigned char uchar ReadByte() //read a byte from device { bit bData; uchar ucLoop; uchar ucData; for(ucLoop=0;ucLoop<8;ucLoop++) { SCK=1; SCK=0; bData=SO; ucData<<=1; if(bData) { ucData|=0x01; } } return ucData; } void WriteByte(uchar ucData)//write a byte to device { uchar ucLoop; for(ucLoop=0;ucLoop<8;ucLoop++) { if((ucData&0x80)==0) //the MSB send first {SI=0;} else {SI=1;} SCK=0; SCK=1; ucData<<=1; } } uchar ReadReg() //read register { uchar ucData; CS=0; WriteByte(RDSR); ucData=ReadByte(); CS=1; return ucData; } uchar WriteReg(uchar ucData) //write register { uchar ucTemp; ucTemp=ReadReg(); if((ucTemp&0x01)==1) //the device is busy return 0; CS=0; WriteByte(WREN);//when write the WREN, the cs must have a high level CS=1; CS=0; WriteByte(WRSR); WriteByte(ucData); CS=1; return 1; } void WriteEpm(uchar cData,uchar cAddress,bit bRegion) /* 写入一个字节,cData为写入的数,cAddress为写入地址,bRegion为页 */ { while((ReadReg()&0x01)==1); //the device is busy CS=0; WriteByte(WREN); //when write the wren , the cs must have a high level CS=1; CS=0; if(bRegion==0) { WriteByte(WRITE0);} //write the page addr else {WriteByte(WRITE1);} WriteByte(cAddress); WriteByte(cData); SCK=0; // CS=1; } uchar ReadEpm(uchar cAddress,bit bRegion) /* 读入一个字节,cAddress为读入地址,bRegion为页 */ { uchar cData; while((ReadReg()&0x01)==1);//the device is busy CS=0; if(bRegion==0) {WriteByte(READ0); } else {WriteByte(READ1);} WriteByte(cAddress); cData=ReadByte(); CS=1; return cData; } main() { WriteReg(0x00);//set the watchdog time as 1.4s CS=1; CS=0; //reset the watchdog } 回复: xuzhimin9514 所有的89S系列都带狗,所有的80C系列都不带狗。

所以89S51 89S52都带狗,80C51、80C52都不带狗。

2. 怎么实现at89c51看门狗

AT89S51 是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统供给高性价比的解决方案。

AT89S51具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不一样产品的需求。

AT89S51与AT89C51相比,外型管脚完全相同,AT89C51的HEX程序无须任何转换可直接在AT89S51运行,结果一样。AT89S比AT89C51新增了一些功能,支持在线编程和看们狗是其中主要特点。

它们之间主要区别在于以下几点:

1.引脚功能:管脚几乎相同,变化的有,在AT89S51中P1.5,P1.6,P1.7具有第二功能,即这3个引脚的第二功能组成了串行ISP编程的接口。

2.编程功能:AT89C51仅支持并行编程,而AT89S51不但支持并行编程还支持ISP再线编程。在编程电压方面,AT89C51的编程电压除正常工作的5V外,另Vpp需要12V,而AT89S51仅仅需要4-5V即可。

3.烧写次数更高:AT89S51标称烧写次数是1000次,实为1000-10000次,这样更有利开始学习者反复烧写,降低学习成本。

4.工作频率更高:AT89C51极限工作频率是24MHZ,而AT89S51最高工作频率是33MHZ,(AT89S51芯片有两中型号,支持最高工作频率分别为24MHZ和33MHZ)从而具有更快的计算速度。

5.电源范围更宽:AT89S51工作电压范围,达4-5.5V,而AT89C51在底于4.8V和高于5.3V的时侯则无法正常工作。

6.抗干扰性更强:AT89S51内部集成看门狗计时器(Watchdog Timer),而AT89C51需外接看门狗计时器电路,或者用单片机内部定时器构成软件看门狗来实现软件抗干扰。

3. 单片机中说的看门狗是什么

单片机中的看门狗指的是一个定时器电路,有一个输入和一个输出,其中输入叫做喂狗,输出连接到另外一个部分的复位端。

看门狗的功能是定期的查看芯片内部的情况,一旦发生错误就向芯片发出重启信号。看门狗命令在程序的中断中拥有最高的优先级。

在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成各种寄存器和内存的数据混乱,会导致程序指针错误,不在程序区,取出错误的程序指令等,都有可能会陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续正常工作,导致整个系统的陷入停滞状态,发生不可预料的后果。

扩展资料

工作原理

使用时,WDT将递增,直到溢出,或称“超时”。除非处于休眠或空闲模式,WDT 超时会强制器件复位。为避免WDT超时复位,用户必须定期用PWRSAV 或CLRWDT 指令将看门狗定时器清零。如果WDT 在休眠或空闲模式下超时,器件将唤醒并从PWRSAV 指令执行处继续执行代码。

在上述两种情况下,WDTO 位(RCON<4>;)都会置1,表示该器件复位或唤醒事件是由于WDT超时引起的。如果WDT 将CPU从休眠或空闲模式唤醒,“休眠”状态位(RCON<3>;)或“空闲”状态位(RCON<2>;)也会置1,表示器件之前处于省电模式。

参考资料来源:百度百科-看门狗 (监控芯片)

参考资料来源:百度百科-看门狗定时器

4. 51单片机中的看门狗计时器是什么

看门狗是用来防止万一单片机程序出错造成重大损失的。

防错的原理很简单,它在硬件上就是一个定时器,当它溢出的时候就会让单片机强制复位使程序重新开始执行。

正常的情况下是不能让它溢出的,所以在程序上每隔一段时间要给他置一次值(俗称喂狗),只要程序中正常给它喂他就不会溢出。

一旦程序跑飞了,有干扰或者进入死循环之类的情况时,不能正常执行程序了,那么就永远执行不到喂狗的指令了,但此时定时器是硬件控制的,仍然会走,所以溢出了,单片机就复位了。

一般安全性要求比较高的,系统跑飞了会造成重大事故的都会加一个“狗”保安全。

通常,看门狗的溢出时间越短越灵敏,跑飞之后复位的时间越短,也就越安全,但是,你喂狗的操作也要更频繁。

5. 单片机看门狗定时器工作原理和应用

看门狗 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(watchdog) 看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段 进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位. 看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗(kicking the dog or service the dog),一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就回给出一个复位信号到MCU,是MCU复位. 防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。

工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗。

硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来。那么定时时间到后就会使单片机复位。

常用的WDT芯片如MAX813 ,5045, IMP 813等,价格4~10元不等. 软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,我们还是以51系列来讲,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程序复位。

对于T1我们用来监控主程序的运行,我们给T1设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位,T1 的定时中断就会使单片机复位。在这里T1的定时时间要设的大于主程序的运行时间,给主程序留有一定的的裕量。

而T1的中断正常与否我们再由T0定时中断子程序来监视。这样就够成了一个循环,T0监视T1,T1监视主程序,主程序又来监视T0,从而保证系统的稳定运行。

51 系列有专门的看门狗定时器,对系统频率进行分频计数,定时器溢出时,将引起复位.看门狗可设定溢出率,也可单独用来作为定时器使用. 凌阳61的看门狗比较单一,一个是时间单一,第二是功能在实际的使用中只需在循环当中加入清狗的指令就OK了。 C8051Fxxx单片机内部也有一个21位的使用系统时钟的定时器,该定时器检测对其控制 寄存器的两次特定写操作的时间间隔。

如果这个时间间隔超过了编程的极限值,将产生一个WDT复位。 -------------------------------------------------------------------------------- 看门狗使用注意:大多数51 系列单片机都有看门狗,当看门狗没有被定时清零时,将引起复位。

这可防止程序跑飞。设计者必须清楚看门狗的溢出时间以决定在合适的时候,清看门狗。

清看门狗也不能太过频繁否则会造成资源浪费。程序正常运行时,软件每隔一定的时间(小于定时器的溢出周期)给定时器置数,即可预防溢出中断而引起的误复位。

看门狗运用:看门狗是恢复系统的正常运行及有效的监视管理器(具有锁定光驱,锁定任何指定程序的作用,可用在家庭中防止小孩无节制地玩游戏、上网、看录像)等具有很好的应用价值. 系统软件"看门狗"的设计思路: 1.看门狗定时器T0的设置。在初始化程序块中设置T0的工作方式,并开启中断和计数功能。

系统Fosc=12 MHz,T0为16位计数器,最大计数值为(2的16次方)-1=65 535,T0输入计数频率是.Fosc/12,溢出周期为(65 535+1)/1=65 536(μs)。 2.计算主控程序循环一次的耗时。

考虑系统各功能模块及其循环次数,本系统主控制程序的运行时间约为16.6 ms。系统设置"看门狗"定时器T0定时30 ms(T0的初值为65 536-30 000=35 536)。

主控程序的每次循环都将刷新T0的初值。如程序进入"死循环"而T0的初值在30 ms内未被刷新,这时"看门狗"定时器T0将溢出并申请中断。

3.设计T0溢出所对应的中断服务程序。此子程序只须一条指令,即。

51怎么写看门狗

转载请注明出处育才学习网 » 51怎么写看门狗

知识

css自适应怎么写

阅读(202)

本文主要为您介绍css自适应怎么写,内容包括CSS怎么写自适应代码最好有实例,css怎么自适应宽度,CSS样式中高度自适应怎么做。CSS+DIV自适应高度布局,底部在底部2008-04-22 10:16ttps://wenwen.sogou.com/login/re

知识

住人拼音怎么写

阅读(279)

本文主要为您介绍住人拼音怎么写,内容包括房的拼音怎么写,请问“住宿”拼音是怎么写的,“老邻居”拼音怎么写。房读音:fáng部首:户笔画:8五行:水五笔:YNYV基本解释住人或放东西的建筑物 :~屋。~产。~舍。~租。库~。楼~。书~。2、结构

知识

4月25日支票怎么写

阅读(217)

本文主要为您介绍4月25日支票怎么写,内容包括4月25日支票上大写怎么填,现金支票2014年4月25日怎么填写急急,2013年4月25日填写支票大写日期怎么写呢。贰零壹柒年零肆月贰拾肆日。支票日期的填写规则:出票日期(大写):数字必须大写,大写数字写法:零

知识

翔的甲骨文怎么写

阅读(224)

本文主要为您介绍翔的甲骨文怎么写,内容包括高翔的甲骨文怎么写,高翔的甲骨文怎么写您好,请问高翔的甲骨文两个字怎么写,为什么翔是屎的意思啊~~~有翔字的不是很无奈。忙了两天,闲了下来,想起来了最近的一个疑问:为什么大便被叫做翔?通俗来讲就

知识

狮叫的声音怎么写

阅读(270)

本文主要为您介绍狮叫的声音怎么写,内容包括猿羊龙的叫声怎样写,用什么词来形容狮子的叫声,狮的叫声怎么形容。震耳欲聋拼音: zhèn ěr yù lóng释义: 欲: 快要,就要。形容声音很大。振聋发聩[zhèn lóng fā kuì]天生耳

知识

阿拉伯数字30怎么写

阅读(394)

本文主要为您介绍阿拉伯数字30怎么写,内容包括怎么用罗马数字表示阿拉伯数字1~30?,怎么用罗马数字表示阿拉伯数字1~30,雅马数字的30该怎么写。I - 1 II - 2 III - 3 IV - 4 V – 5 VI - 6 VII – 7 VIII - 8 IX - 9 X –

知识

自己怎么写居住证明

阅读(188)

本文主要为您介绍自己怎么写居住证明,内容包括个人居住证明怎么写,居住证明怎么写,单位居住证明怎么写。个人居住证明兹证明________(姓名),身份证号_______________,现居住____________(街,路)_____号

知识

自我评价特长怎么写

阅读(167)

本文主要为您介绍自我评价特长怎么写,内容包括个人简历中的性格,特长,自我评价怎么写,如何写特长及自我评价,兴趣爱好,个人特长及自我评价怎么写。原发布者:爱笑的啊哦11个人特长及自我评价:1.电脑应用熟练,熟练操作Word,Excel,,Outlook,ERP等

知识

说明文件怎么写

阅读(238)

本文主要为您介绍说明文件怎么写,内容包括如何写说明函,说明格式怎么写,声明函怎么写。给你一个模板;关于资格的声明函致:对于贵方 年 月 日就 投标邀请,本投标方愿意参加投标,提供《招标项目要求》规定的(货物名称)____

知识

怎么写一片夏天的作文

阅读(195)

本文主要为您介绍怎么写一片夏天的作文,内容包括写一篇夏天的作文,写一篇关于夏天的作文,写一篇夏天的作文66个字。夏天,是一个炎热而又欢乐的季节。早上,晴空万里,云雾满天。太阳公公把一切都镀上了层黄金。一群美丽的小鸟,在绿树枝头欢蹦乱跳

知识

隶书底字怎么写

阅读(185)

本文主要为您介绍隶书底字怎么写,内容包括隶书中的底字怎么写,隶书中的底字怎么写,隶书的用字怎么写。隶书“用”字的写法是

知识

店面股份合同怎么写

阅读(155)

本文主要为您介绍店面股份合同怎么写,内容包括店面转让合同怎么写.,店面转让合同怎么写,店面协议怎么写。店面转让合同 转让方(甲方):身份证号码: 营业执照注册号: 顶让方(乙方):身份证号码: 房东(丙方):身份证号码:

知识

美丽的的什么的作文怎么写

阅读(203)

本文主要为您介绍美丽的的什么的作文怎么写,内容包括什么如此美丽的作文怎么写,作文:美丽的什么(写景)怎么写,最美丽的作文怎么写。自信让我如此美丽 人在一生之中取得成功,亦必只有一个源头,而这个源头唯有自信! 罗曼.罗兰 阳春时节,大地回春,又是

知识

直率的怎么写

阅读(169)

本文主要为您介绍直率的怎么写,内容包括以我是一个直率的人写一篇作文,表示直率的词语,形容直率的成语。生活中,每个人的性格都不一样,有善良、聪明、温柔、凶暴、贤慧、小气、大方、勤劳等等.我是一个知错就改的人,每次贪玩的时候妈妈告诉我

知识

为什么看门狗系列无法像gta系列那样做出那么多mod

阅读(250)

两款游戏的出发点不一样,gta是在沙盒的构架上进行剧情,看门狗为剧情构建一个世界。gta的世界是与现实大致一样,剧情也是现实生活中可能发生的。当然在模组的制作上也比较容易。比如钢铁侠,比如变形金刚,这些漫画也都是架构与现实世界上的。而

知识

看门狗2致命的应用程序退出怎么解决

阅读(871)

看门狗2致命的应用程序退出解决方法如下:1.找到看门狗2的启动应用程序,点击“属性”按钮;2.点击“快捷方式”按钮;3.点击“目标”按钮;4.在目标中加入参数“eaclauncher”;5.点击“确定”按钮进行保存;6.重启电脑;7.打开游戏可正常运行;8.看门狗2

知识

看门狗的撂倒跟击倒分别是什么意思

阅读(852)

看门狗的撂倒:无论什么手段,只要目标死了即可。只能近身用用击棍打倒目标。看门狗的击倒:只能近身攻击,用击棍打倒目标。《看门狗》讲述了一个十分迷人的故事,同时还允许玩家由着自己的想法来随意操作电子产品。这个开放世界的冒险游戏发生在

知识

求《看门狗》游戏自动退出的解决方法

阅读(178)

解决步骤如下:1.点击我的电脑,进入属性界面。2.点击硬件,进入资源管理器。3.选择显示卡,并进入显卡设置界面。4.点击进入性能选项,然后取消gpu以高性能运行的选择。5.点击保存并应用。

[/e:loop]