PIC单片机的WDT问题求解

作者&投稿:主父雅 (若有异议请与网页底部的电邮联系)
PIC单片机的WDT溢出后如何正确判断~

WDT溢出时程序就会自动复位,PC指针会跳到0x0000地址执行程序,并且复位所有特殊功能寄存器器。
你确定一下WDT复位PC寄存器之后,如果TO是一个中断标志应该会在系统复位之后把所有寄存器都复位。如果没有猜错TO应该是让你用来喂狗的位。如果你在看门狗定时器计数结束之前不喂狗,系统就复位。所以这个TO应该是让你用软件来喂狗的吧。应该不是WDT产生中断的标志。
寄存器在复位后的状态在芯的数据手册中关于寄存器说明中可以找到。

是CLRWDT吧?
你的配置位里应该是默认打开了看门狗了。因为你的程序没设置配置位,那么就在MPLAB的Configure菜单里修改配置位。

数据手册只说了是清除分频器,没说清除CONFIG2H啊。
你好好看看数据手册中的那个关于WDT的框图。(不知道你用的那个芯片的数据手册,我看的是PIC18F4680,是在第353页的图24-1)。
那图里很形象说明了WDT的后分频器是根据CONFIG2H中的WDTPS3~WDTPS0这四个位的数值来配置的。打个比方说说,后分频器是一个用来计数的池子,这个池子的容量大小由WDTPS3~WDTPS0这四个人来设置。当池子溢出后(计数满了)或者要开闸放水(CLRWDT指令)这时候就把这个池子的水放掉(清零)。
但你的理解是,如果要清零的话,不仅要把水放掉,还会把那四个人干掉……然后做程序的人要重新派四个人过去……这个……第一个步骤是对的,第二步骤明显是错误或者没有逻辑的。

bit 0 SWDTEN : Software Controlled Watchdog Timer Enable bit
1 = Watchdog Timer is on
0 = Watchdog Timer is off
Note 1 : This bit has no effect if the Configuration bit, WDTEN, is enabled.

你的理解错了!它说的是清分频器,指的是计时过程的所有的计数值,包括已经记下的分频数值也清了,而不是你设置的那些值。
如假设你设置的分频比是1:8.现在你的延时时间计数已经记了6,还没到8,所以还没有进位,此时清WDT时除了清已经计数的值外,还把把这个中间的计数值6也清了,而不是你设置的那个分频比的值。


PIC单片机的WDT问题求解
数据手册只说了是清除分频器,没说清除CONFIG2H啊。你好好看看数据手册中的那个关于WDT的框图。(不知道你用的那个芯片的数据手册,我看的是PIC18F4680,是在第353页的图24-1)。那图里很形象说明了WDT的后分频器是根据CONFIG2H中的WDTPS3~WDTPS0这四个位的数值来配置的。打个比方说说,后分频器是...

51单片机看门犬(WDT)的问题!
其实小系统的话不用看门狗影响也不大,它只要是为了防止系统跑死,也可以说是防止代码跑飞了,如果跑飞了没有及时喂狗那么看门狗功能就会让系统重启,这样就重新运行起来了

单片机 看门狗中WDT_CONTR=0x35 是什么意思,有什么用
sfr WDT_CONTR=0xe1;WDT_CONTR为STC的看门狗寄存器,第7位为看门狗溢出位,溢出置1,需要软件清0,第6位没用到,第5位为看门狗使能位,置1启动看门狗 第4位为看门狗清零位,置1清0看门狗,看门狗重新计数后硬件自动清0该位,第3位为看门狗模式位,置1时为在空闲模式也计数,后面三位就是看门狗定时...

avr单片机中看门狗(WDT)都有哪些做用??
这样的好处是当程序跑飞时我们可以做一个处理,保护现场的那些有用变量。当单片机复位后还可以通过访问内部寄存器查询单片机上一次是因为什么原因复位的,因而又可以作不同的处理。另外一个就是大家所说的计时作用的,其实AVR单片机看门狗定时的话不太好用,因为只有固定溢出时间,虽然有几个选值但还是不太...

单片机看门狗定时器工作原理和应用?
看门狗 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机...

AT89S51单片机看门狗怎样设置
要启用WDT功能,需要一次将0x1e,0xe1放入WDTRST寄存器,此寄存器的位置是0xa6。启用WDT之后不可停用,但是可以复位WDT,让它重新计时;复位的方法是依次将0x1e,0xe1放入WDTRST寄存器即可。希望这些对你有帮助,更详细的介绍你可以去找本51单片机的书看看,应该会有介绍的!祝你好运!

MCS-8051系列单片机中定时器\/计数器方式控制寄存器的符号是 什么 ,定时...
定时器\/计数器方式控制寄存器:TMOD TMOD位定义:GATE C\/T M1 M0 GATE C\/T M1 M0 定时器\/计数器控制寄存器:TCON TCON位定义:TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

at89s51单片机包含哪些系统部件?
AT89S51单片机包含中央处理器CPU、随机存储器RAM、只读存储器ROM、串行I\/O口、并行I\/O口和中断系统、定时器\/计数器、系统时钟和系统总线等功能集成到一块硅片上构成的一个小而完善的微型计算机系统。中央处理器:进行算术和逻辑运算,控制协调各功能部件正确工作 存储器: 存储程序、表格等 并行和串行I\/O...

关于单片机的种类问题
AVR单片机内带模拟比较器,I\/O口可用作A\/D转换,可组成廉价的A\/D转换器。ATmega48\/8\/16等器件具有8路10位A\/D。部分AVR单片机可组成零外设元件单片机系统,使该类单片机无外加元器件即可工作,简单方便,成本又低。AVR单片机可重设启动复位,以提高单片机工作的可靠性。有看门狗定时器实行安全保护,可防止程序走乱(飞)...

STC单片机一定要喂狗吗
在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。3、看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个大数,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗...

阳曲县15578867477: PIC单片机的WDT问题求解 -
励侦威利: 数据手册只说了是清除分频器,没说清除CONFIG2H啊.你好好看看数据手册中的那个关于WDT的框图.(不知道你用的那个芯片的数据手册,我看的是PIC18F4680,是在第353页的图24-1).那图里很形象说明了WDT的后分频器是根据...

阳曲县15578867477: PIC单片机的WDT溢出后如何正确判断 -
励侦威利: WDT溢出时程序就会自动复位,PC指针会跳到0x0000地址执行程序,并且复位所有特殊功能寄存器器.你确定一下WDT复位PC寄存器之后,如果TO是一个中断标志应该会在系统复位之后把所有寄存器都复位.如果没有猜错TO应该是让你用来喂狗的位.如果你在看门狗定时器计数结束之前不喂狗,系统就复位.所以这个TO应该是让你用软件来喂狗的吧.应该不是WDT产生中断的标志.寄存器在复位后的状态在芯的数据手册中关于寄存器说明中可以找到.

阳曲县15578867477: PIC单片机的配装位如何设置? -
励侦威利: 汇编指令这样写: 在程序开头设置玩芯片信息即:list=xxx芯片后,用“__CONFIG”来配置,注意,这里的“__”是两个下划线,不是一个.CONFIG后面空格接各个配置位.例如: __CONFIG _WDT_OFF & _BODEN_OFF & _PWRTE_ON ...

阳曲县15578867477: pic 单片机 c 编程 烧写后无法运行 -
励侦威利: 是PB口全都无法拉高还是PB4口一个无法拉高?程序没有问题,用IDE调试PORTB口也是高电平.问题可能出在硬件或烧写上,检查你的程序有没有烧写成功,配置位有没有设置正确.如果是4M晶振选XT模式,8M以上晶振选HS(高速振荡),配置位的低电平编程(LVP)要关.

阳曲县15578867477: pic12f508看门狗问题 -
励侦威利: 看门狗一般在主程序的while(1)死循环里进行喂狗,把看门狗的时序分频,让时间久点,这样不会有一直复位的情况出现,最好不要使用长延时DELAY程序,可能会溢出而看门狗复位,喂狗就只要执行一句CL...

阳曲县15578867477: 1、PIC单片机 -
励侦威利: 1:可以2:定时器1和WDT没关系.定时器0和WDT的预分频有关系,不能同时用.3:一般分时循环点亮LED不会降低亮度.但如果是只延时点亮一百多毫秒,然后再关闭几百毫秒的话,会使得LED的寄生电容滤波从而降低亮度.

阳曲县15578867477: PIC单片机c语言中如何喂狗 -
励侦威利: 首先你要说明你用的是哪款PIC的单片机和用哪个C编译器.PIC有中低端的八位单片机PIC10/12/16的,高端的八位单片机PIC18系列,1十六位单片机PIC24和dsPIC,还有一个PIC32是三十二位的.上述的都可以通过调用宏指令CLRWDT()...

阳曲县15578867477: pic单片机输入时,端口检测不到高电平 -
励侦威利: 要分几方面来说: 1. 首先,你要确保周边电路没问题,也就是单片机能正常运行,你所需要检测的那个IO口电平变换正常(如果电平变换不正常你去检测高电平,那是笑话). 2. 你所选的那个IO口配置是否正确,pic的单片机是好多功能复用一个IO的,如果你把该IO配置成了别的功能,而不是通用IO,肯定也有问题. 3. 其他原因,如程序在其他地方误设置改变了io口的配置等. 你可以在在线仿真模式下,让程序先跑一下,然后停止,看该IO的配置情况是否改变,笨办法是多试几次.开发环境MPLAB里也有小工具可以捕捉该端口的,可以试试.

阳曲县15578867477: pic单片机引脚设置为ad输入时内阻很低,加了运放也不够,接上就会把电压拉到0,有谁知道怎么回事呢? -
励侦威利: 先确认你单片机的AD采样端的参考电压是多少.2.看一下你输入的2V到单片机引脚是不是还有2V,是不是被拉低了.3、看一下你AD采样脚和AD采样寄存器的配置.给你一段寄存器配置的程序看看我用的是pic18系列 ADCON0=0x05; // 选...

阳曲县15578867477: PIC单片机输出连续频率的方波(要求:10K至200K) -
励侦威利: 普通的PIC单片机达不到以上要求. ±10HZ的要求太苛刻了,可能任何一款单片机都做不到,计算下就知道: 200.00kHz时,T=1/200k=5uS; 199.99kHz时, T=1/199.99k=5.00025uS; 两者的差别是0.00025uS,要输出具有这个差别的脉冲周期,单片机的主频必须大于4000MHZ(1/0.00025uS),呵呵,其它不用说了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网