监视定时器指令WDT

合集下载

S7-200常用指令

S7-200常用指令

S7-200常用指令一、PLC梯形图语言的编程原则1、梯形图由多个梯级组成,每个线圈可构成一个梯级,每个梯级有多条支路,每个梯级代表一个逻辑方程;2、梯形图中的继电器继电器、接点、线圈不是物理的,是PLC存储器中的位(1=ON;0=OFF);编程时常开/常闭接点可无限次引用,线圈输出只能是一次;3、梯形图中流过的不是物理电流而是“概念电流”,只能从左向右流;4、用户程序的运算是根据PLC的输入/输出映象寄存器中的内容,逻辑运算结果可以立即被后面的程序使用;5、PLC的内部继电器不能做控制用,只能存放逻辑控制的中间状态;6、输出线圈不能直接驱动现场的执行元件,通过I/O模块上的功率器件来驱动。

二、存储器区域输入映像寄存器(I)输出映像寄存器(Q)变量存储器( V )定时器存储器( T )计数器存储器( C )模拟量输入映像寄存器(AI)模拟量输出映像寄存器(AQ)累加器(AC)高速计数器(H C )说明:1)输入映像寄存器(I)的状态只能由外部输入信号驱动,而不能由程序来改变其状态。

即在程序中,只能出现输入映像寄存器的触点,而不能出现其线圈。

2)输出映像寄存器(Q)是PLC用来向外部负载发送控制命令的窗口。

每一个输出端子与输出映像寄存器( Q )的一个相应位想对应。

并有无数对常开和常闭触点供编程时使用。

3)定时器存储器(T),PLC所提供的定时器作用相当于继电器控制系统中的时间继电器。

每个定时器可提供无数对常开和常闭触点供编程使用。

其设定时间通常由程序设置。

S7-200 PLC提供了三种定时器:TON-通电延时;TONR-有记忆通电延时;TOF-断电延时。

S7-200 PLC提供了三种定时精度:1ms、10ms、100ms4)计数器(C),计数器用于累计计数输入端接收到的脉冲电平由低到高的脉冲个数。

计数器可提供无数对常开和常闭触点供编程使用,其设定值通常由程序赋予。

地址格式:C[计数器号]如C5,S7-200 PLC提供了三种计数器:CTU-增计数器、CTD-减计数器、CTUD -增减计数器5)变量存储器(V)变量存储器主要用于存储全局变量,或者存放数据运算的中间运算结果或设置参数。

PLC的循环扫描工作过程详解

PLC的循环扫描工作过程详解

PLC的循环扫描工作过程详解1.CPU自检阶段CPU自检阶段包括CPU自诊断测试和复位监视定时器。

在自诊断测试阶段,CPU检测PLC各模块的状态,若出现异常立即进行诊断和处理,同时给出故障信号,点亮CPU面板上的LED指示灯。

当出现致命错误时,CPU被强制为STOP方式,停止执行程序。

CPU的自诊断测试将有助于及时发现或提前预报系统的故障,提高系统的可靠性。

监视定时器又称看门狗定时器WDT,它是CPU内部的一个硬件时钟,是为了监视PLC的每次扫描时间而设置的。

CPU运行前设定好规定的扫描时间,每个扫描周期都要监视扫描时间是否超过规定值。

这样可以避免由于PLC在执行程序的过程中进入死循环,或者由于PLC 执行非预定的程序造成系统故障,从而导致系统瘫痪。

如果程序运行正常,则在每次扫描周期的内部处理阶段对WDT进行复位(清零)。

如果程序运行失常进入死循环,则WDT得不到按时清零而触发超时溢出,CPU将给出报警信号或停止工作。

采用WDT技术也是提高系统可靠性的一个有效措施。

2.通信处理阶段在通信处理阶段,CPU检查有无通信任务,如果有则调用相应进程,完成与其他设备(例如,带微处理器的智能模块、远程I/O接口、编程器、hmi装置等)的通信处理,并对通信数据做相应处理。

3.读取输入在读取输入阶段,PLC扫描所有输入端子,并将各输入端的通/断状态存入相对应的输入映像寄存器中,刷新输入映像寄存器的值。

此后,输入映像寄存器与外界隔离,无论外设输入情况如何变化,输入映像寄存器的内容也不会改变。

输入端状态的变化只能在下一个循环扫描周期的读取输入阶段才被拾取。

这样可以保证在一个循环扫描周期内使用相同的输入信号状态。

因此,要注意输入信号的宽度要大于一个扫描周期,否则很可能造成信号的丢失。

4.执行程序阶段可编程控制器的用户程序由若干条指令组成,指令在存储器中按顺序排列。

当PLC处于运行模式执行程序时,CPU对用户程序按顺序进行扫描。

3.4功能指令

3.4功能指令
指令 助记符 CALL CALL(P) 子程序返回 SRET 指令代码位数 FNC01 (16) FNC02 操作数范围 程序步 3 步,(指令 标号) 1 步 1 步
名称
子程序调用
D ( . )
指针 P0~P62 嵌套 5 级 无
应用举例1:
X0
是子程序执行的条件,当 X0 置 1 时标号为 P10 的子程 序得以执行。 子程序 P10 安排在主程序结 束指令 FEND 之后,END之前。 标号 P10 和子程序返回指令 SRET 间的程序构成了 P10 子 程序的内容。 当主程序带有多个子程序时, 子程序可依次列在主程序结束 之后。并以不同的标号相区别 。
定Z,即代表了VZ。
FXON中只有V0和Z0。 D8028中保存Z0的值,D8029中
保存V0的值(只读)。
FX2N中只有V0-V7和Z0-Z7。D8028中保存Z0的值,
D8029中保存V0的值(只读)。其余分别保存在D8082-D8095 中。
变址寄存器当前值寄存器
D8028中保存Z0的值,D8029中保存V0的值(只读)。其余分别保存在
FX系列PLC的功能指令
FX系列PLC的功能指令
又称高级/应用指令。实际上是调用一个个功能不同的子 程序,既能简化程序设计,又能完成复杂的数据传送、运 算、变换和程序控制等高难度控制。 三菱FX2的功能指令有87条,FX2N 有128条(有的标246) ,各指令用功能号FNC□□表示;每一指令有与之对应的 助记符表示其功能意义。如FNC00(CJ)表示条件跳转。
)
3# SB3 2# 1# SB2 SB1
FEND 主程序结束 M8000 中断指针I001 (X0的上升沿中断) M8000 中断指针I101 (X1的上升沿中断) M8000 中断指针I201 (X2的上升沿中断) Y2 (中断子程序3) IRET 中断返回 END (a)输入中断(抢答电路)梯形图 中断抢答 已验证 Y1 (中断子程序2) IRET 中断返回 Y0 (中断子程序1) IRET 中断返回

FX系列PLC的程序流向控制指令

FX系列PLC的程序流向控制指令

FNC12 MOV K150
D8000
WDT指令还可用于下列目的:当与CJ指令对应的标号的步序低于CJ指令步 序号时,在标号后编入WDT指令。可编入FOR—NEXT循环之中。
循环指令用于某种操作需反复进行的场合。二条指令总是成对
出现 , 相距最近的FOR指1令.和6 NE循XT环指令指是令一对 ,循环指令最多
(3)标号一般设在相关的跳转指令之后,也可以出现在跳转指令之前 但要注意从程序执行顺序来看,如果由于标号在前造成该程序的执行时间
超过了警戒时钟设定值,则程序就会出错。
(4)使用CJ(P)指令时,跳转只执行一个扫描周期 用辅助继电器M8000作为跳转指令的工作条件,跳转就成为无条件跳转。
(5)跳转可用来执行程序初始化工作。
注意 : (1)一个中断指针(I***)占一步,最多可设置9个中断点。 (3)其中2个中断点可产生多层中断。 (4)中断信号的脉宽必须超过200μs。 (5)多个中断信号顺序产生时,最先产生的中断信号有优先权。若2个 或2个以上的中断信号同时产生时,中断指针号较低的有优先权。 (6)如果中断信号产生于禁止中断区间(DI到EI范围),这中断信号 被存贮,并在EI指令之后被执行(除非相应的M805△为ON )。
X5
RST
T246
其是否具有掉电保持功能,由于
X7
元件
跳RS转T 前触C0点状态
跳转后触相点关状程态 序停止跳执转后行线,圈它状们态的现实
P8 P9
X6
Y、M、X1S0
X11
1ms定时 10m器s,X0
100mX1s2 定时X器13
XT214、6 XK21、00X0 3
XC05 OFOKFF2,0F X6
100ms 定时器

复位 时钟 WDT

复位 时钟 WDT

最高频率32MHZ
振荡器系统
1个机器周期=2个时钟周期
振荡器系统

与振荡器的操作相关的特殊功能寄存器:
振荡器控制寄存器OSCCON 时钟分频寄存器CLKDIV 振荡器调节寄存器OSCTUN
振荡器系统
22pF~33pF
画出时钟系统电路 能够写出配置字
config2应用

设所需的配置为: 禁双速启动,使用主振荡器和 PLL 四倍频, OSC1 与 OSC2 引脚接 8MHz的 XT 晶振,禁时钟切换和保护监视。 在程序中加入下面 的芯片配置字 2 的宏便可实现所需配置。
振荡器系统
振荡器的配置-采用程序存储器的配置寄 存器 4个内外部振荡源,11种不同的时钟模式

主振荡器(8M) 辅助振荡器(32K) 内部RC振荡器(8M) 低功耗内部振荡器(31K)
见PDF
内部PLL提高振荡器的内部频率 可程控选择CPU时钟以降低功耗 故障保护时钟监视器(FSCM)

复位
复位



ቤተ መጻሕፍቲ ባይዱ

与复位相关的寄存器:RCON RCON 寄存器的状态位在不同的复位情形下会分别 被置1 或清零。 复位事件结束时和器件实际开始执行代码之间的延 时由两个主要因素决定:复位类型以及退出复位状 态时使用的系统时钟源。 各种复位的延时时间不同。器件手册(上电复位 10us,内部状态复位20us) 复位延时时间与振荡器时钟源有关。
复位

RCON 寄存器的使用
复位后,初始化代码应该检查RCON
并确定复 位源。在某些应用中,可利用此信息采取适当 措施纠正造成复位的错误。 读取了RCON 寄存器中所有复位状态位后,应 将其清零,这样才能确保RCON 值在器件下一 次复位后能提供有意义的结果。

定时器和WDT

定时器和WDT

定时器和WDT1、概述MSP430F149有三个时钟源:外部LF(XT1一般为32.768K),HF(XT2一般为8M),内部DCO。

从时钟系统模块可得到三种时钟信号:MCLK,SMCLK,ACLK。

上电默认状况下MCLK,SMCLK信号来自DCO,ACLK来自LF。

根据官方PDF说法默认状况下DCO模块配置为RSELX=4,DCO=3,因此DCO应为1M,但示波器实测MCLK/SMCLK为680K,测试温度约25摄氏度。

标注:MCLK主时钟、SMCLK子时钟、ACLK活动时钟。

P5.4,P5.5,P5.6的第二功能分别对应MCLK,SMCLK,ACLK时钟信号,可用示波器测量。

测试时发现频率后两位一直在跳动,频率稳定度很差。

MSP430系列单片机选择晶振为时钟源时,时钟周期就是晶振周期。

一个机器周期=一个时钟周期,即430每个动作都能完成一个基本操作;一个指令周期=1~6个机器周期,具体根据具体指令而定。

如果选择8M晶振,则一个机器周期为125ns。

51单片机选择12M 晶振,它的机器周期是时钟周期/12,一个机器周期为1us,可见MSP430的的速度是51的8倍。

2、使用方法概述2.1 程序架构一般在系统初始化关闭看门狗后要配置系统时钟,配置步骤为:1、打开晶振;2、等待晶振起振。

清除OFIFG,延时,判断OFIFG是否为0,为0则晶振正常起振,退出判断;3、选择MCLK/SMCLK时钟源;uchar iq0;BCSCTL1&=~XT2OFF; //打开XT2振荡器do{IFG1 &= ~OFIFG; // 清除振荡器失效标志for (iq0 = 0xFF; iq0 > 0; iq0--); // 延时,等待XT2起振}while ((IFG1 & OFIFG) != 0); // 判断XT2是否起振BCSCTL2 =SELM_2+SELS; //选择MCLK、SMCLK为XT22.2 细节描述对于DCO可以通过配置电阻和DCO得到不同的频率。

看门狗定时器课件教学文案

看门狗定时器课件教学文案

#define WDT_ADLY_250 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0)
#define WDT_ADLY_16 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1)
寄存器宏定义
#define __MSP430_HAS_WDT__
SFR_16BIT(WDTCTL);
#define WDTIS0
(0x0001)
#define WDTIS1
(0x0002)
#define WDTSSEL
(0x0004)
#define WDTCNTCL
(0x0008)
#define WDTTMSEL
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
IS0
定时时间 / ms
1
0.056 Tsmclk * 26
0
0.5 Tsmclk * 29
1
1.9 Taclk * 26
1
8 Tsmclk * 213
0
16 Taclk * 29
0
32 Tsmclk * 215
1
250 Taclk * 213
0
1000 Taclk * 215
看门狗定时器课件
看门狗定时器
MSP430X5XX / 6XX系列单片机的看门狗定时器原理, 如下图所示:
WDT 的相关寄存器
一、WDT寄存器包括WDTCNT和WDTCTL,两个寄存器在 上电和系统复位内容全部清零 ,就是说MSP430的看门狗 在此时处于默认开启的状态。

Msp430定时器的介绍及其基本应用

Msp430定时器的介绍及其基本应用

Msp430定时器的介绍及其基本应用Msp430定时器的介绍及其基本应用Msp430单片机一共有5种类型的定时器。

看门狗定时器(WDT)、基本定时器(Basic Timer1)、8位定时器/计数器(8-bit Timer/Counter)、定时器A(Timer_A)和定时器B(Timer_B)。

但是这些模块不是所有msp430型号都具有的功能。

1、看门狗定时器(WDT)学过电子的人可能都知道,看门狗的主要功能就是当程序发生故障时能使受控系统重新启动。

msp430中它是一个16位的定时器,有看门狗和定时器两种模式。

2、基本定时器(Basic Timer1)基本定时器是msp430x3xx和msp430F4xx系列器件中的模块,通常向其他外围提供低频控制信号。

它可以只两个8位定时器,也可以是一个16位定时器。

3、8位定时器/计数器(8-bit Timer/Counter)如其名字所示,它是8位的定时器,主要应用在支持串行通信或数据交换,脉冲计数或累加以及定时器使用。

4、16位定时器A和B定时器A在所有msp430系列单片机中都有,而定时器B在msp430f13x/14x和msp430f43x/44x等器件中出现,基本的结构和定时器A是相同的,由于本人最先熟悉并应用的是定时器A所以在这里就主要谈一下自己对定时器A的了解和应用。

定时器A是16位定时器,有4种工作模式,时钟源可选,一般都会有3个可配置输入端的比较/捕获寄存器,并且有8种输出模式。

通过8种输出模式很容易实现PWM波。

定时器A的硬件电路大致可分为2类功能模块:一:计数器TAR计数器TAR是主体,它是一个开启和关闭的定时器,如果开启它就是一直在循环计数,只会有一个溢出中断,也就是当计数由0xffff到0时会产生一个中断TAIFG。

二:比较/捕获寄存器CCRX如何实现定时功能呢?这就要靠三个比较/捕获寄存器了(以后用CCRx表示)。

当计数器TAR的计数值等于CCRx时(这就是捕获/比较中的比较的意思:比较TAR是否等于CCRx),CCRx单元会产生一个中断。

XMC4000中文参考手册-第09章 窗口看门狗定时器(WDT)

XMC4000中文参考手册-第09章 窗口看门狗定时器(WDT)

9.8.1
初始化和启动操作
系统复位后,需要完成WDT模块的初始化。 • 检查最后一次系统复位的原因,以确定电源状态 - 读出SCU_RSTSTAT.RSTSTAT寄存器位段,确定最后一次系统复位的原因 - 依据最后系统复位的原因执行适当的操作 看门狗软件初始化序列 用SCU_CLKSET.WDTCEN寄存器位段启用WDT时钟 用SCU_PRCLR2.WDTRS寄存器位段释放WDT复位 用WDT_WLB寄存器设置窗口下限 用WDT_WUB寄存器设置窗口上限 配置外部看门狗服务指示(可选,请参阅SCU/HCU章节) 用SCU_WDTCLKCR寄存器选择和启用WDT输入时钟 用SCU_NMIREQEN寄存器在系统级上启用系统陷阱预警报警(可选,仅用在WDT预警 模式) 软件启动序列 - 选择模式(超时或预警)和用WDT_CTR寄存器启用WDT模块 服务看门狗 - 在WDT_TIM寄存器中,对编程时间窗口检查当前定时器值 - 在有效时间窗内,写魔字到WDT_SRV寄存器 9.8.2 重新配置和重新启动操作 - - - - - - -
参考手册 WDT, V2.3
9-3
V1.2, 2012-12 请遵守产品信息使用协议
XMC4500 XMC4000 家族
窗口看门狗定时器(WDT)
图 9-2
无预警复位
图 9-2中描绘的示例场景展示了在有效时间窗口内WDT模块成功服务后产生的两个连续的服务 脉冲。对于没有服务执行的情况,在计数器的值已经超过窗口上限值后立即触发在wdt_rst_req 输出上的复位请求生成。 9.3 预警模式
在预警模式时,溢出事件的作用在有和没有启用预警是不同的。当预警启用时,计数器第一次 超过上限时触发输出报警信号wdt_alarm。只能在下一个溢出产生复位请求。报警状态通过寄 存器WDTSTS指示且通过寄存器WDTCLR清除。清除报警状态将使WDT回到正常状态。报警 信号发送请求到SCU,在那里上报到NMI。

016:MSP430_WDT看门狗定时器

016:MSP430_WDT看门狗定时器

016:MSP430_WDT看门狗定时器1, 看门狗定时器概述看门狗定时器(WDT)是 MSP430 系列单⽚机中常⽤的⼀种部件。

在⼯业现场,往往会由于供电电源、空间电磁⼲扰或其他原因引起强烈的⼲扰噪声。

这些⼲扰作⽤于数字器件,极易使其产⽣误动作,从⽽失去应有的控制功能,引起 MSP430 发⽣“程序跑飞”事故。

若不进⾏有效的处理,程序就不能回到正常的状态,从⽽失去应有的控制功能。

看门狗定时器正是为了解放这类问题⽽产⽣的,尤其是在具有循环结构的程序任务中更为有效。

在正常操作器件,⼀次 WDT 定时时间到,将产⽣⼀次器件复位。

如果通过编制程序使 WDT 定时时间稍⼤于程序执⾏⼀遍所⽤的时间时,并且程序执⾏过程中都有对看门狗定时器清零的指令,使计数器重新计数,则程序正常执⾏时,就会在 WDT 定时时间到达之前对 WDT 清零,不会产⽣ WDT 溢出,如果由于⼲扰使程序跑飞,则不会在 WDT 定时时间到达之前执⾏ WDT 清零指令,WDT 就会产⽣溢出,从⽽产⽣系统复位 CPU 需⽤重新运⾏⽤户程序,这样程序就可以⼜恢复正常运⾏状态。

MSP430 看门狗除了具有上述系统监测的特定⽤途之外,还可以作为内部定时器来使⽤,当选择的时间到达之后,和其他定时器⼀样产⽣⼀个定时中断。

此外 WDT 还可以被完全停⽌活动以⽀持超低功耗应⽤2 看门狗定时器结构3 看门狗定时器寄存器[1] WDTCTL 看门狗控制寄存器WDTCTL 由两部分组成:⾼ 8 位是对 WDT 操作的控制命令。

要写⼊操作 WDT 的控制命令,出于安全原因必须先正确写⼊⾼字节看门狗⼝令。

⼝令位 5AH,如果⼝令写错将导致系统复位。

读 WDTCTL 时,不需要⼝令,可直接读取地址 120H 中的内容,读出数据低字节位 WDTCTL 的值,⾼字节始终位 69H。

WDTCTL 除了看门狗定时器的控制位之外,还有两个⽤于设置 NMI 引脚功能。

WDTISx:选择看门狗定时器的计时输出其中 T 是 WDTCNT 的输⼊时钟源周期。

WDT是英语Watchdog Timer的缩写字母

WDT是英语Watchdog Timer的缩写字母

WDT是英语Watchdog Timer的缩写字母。

Watchdog Timer 中文名看门狗。

是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到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定时中断子程序来监视。

Watch Dog Timer (WDT) 功能使用说明

Watch Dog Timer (WDT) 功能使用说明
WDT 功能使用說明
Application Note
Watch Dog Timer (WDT)功能使用說明(使用內部 250KHz)
適用產品:SM59264、SM59128、SM8954A、SM8958A、SM89516A、SM894051、SM79108、 SM79164、SM59D03/04G2
100
101
110
111
溢位週期 2.048ms 4.096ms 8.192ms 16.384ms 32.768ms 65.536ms 131.072ms 262.144ms
型號: SM8954A、SM8958A、SM89516A
PS【2:0】:WDT 計數溢位週期選擇
PS【2:0】 000
001
010
b3:
MOV 21H,#0ffh
b2:
CALL clearWDT
;呼叫 clearWDT 副程式
MOV 22H,#0ffh
b1:
DJNZ 22H,b1
DJNZ 21H,b2
DJNZ 20H,b3
RET ;******************* 設定 WDTC 的 Clear Bit *******************************
Application Note
此 WDT Key 暫存器(WDTKEY,$ 8F)為控制 WDT 控制暫存器 (WDTC,$ 8E)之設定及保護。 當對 WDT Key 暫存器 (WDTKEY,$ 8F)先後寫入 1EH 及 E1H 時(須依此順序先後寫入),始可對 WDT 控制暫存器 (WDTC,$ 8E)設定。 當對 WDT Key 暫存器 (WDTKEY,$ 8F)先後寫入 E1H 及 1EH 時(須依此順序先後寫入),則 WDT 控制暫存器 (WDTC,$ 8E)已被保護,無法修改。

WDT

WDT

/* WDT is clocked by fACLK (32KHz) 即WDTSSEL=1,选用ACLK为时钟源 */
//WDTCTL = WDT_ARST_1000; // 1000ms
//WDTCTL = WDT_ARST_250; // 250ms
//WDTCTL = WDT_MRST_8; // ~8ms
//WDTCTL = WDT_MRST_0_5; // ~0.5ms
//WDTCTL = WDT_MRST_0_064; // ~0.064ms
看门狗模式 :自动复位时间 可选定;
要使用该库函数,需要将本文件(WDT.c)添加进工程,并在
需要调用显示函数的文件开头处包含"WDT.h"
本函数是针对"看门狗定时器"所写的,以下是针对所有关于msp430g2553单片机
//WDTCTL = WDT_MDLY_8; // ~8ms
//WDTCTL = WDT_MDLY_0_5; // ~0.5ms
//WDTCTL = WDT_MDLY_0_064; // ~0.064ms
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
/* WDT is clocked by fSMCLK (1MHz),即WDTSSEL=0,选用SMCLK为时钟源*/
//WDTCTL = WDT_MRST_32; // ~32ms interval (default)
WDTCTL = WDT_ADLY_16; // 16ms
//WDTCTL = WDT_ADLY_1_9; // 1.9ms
IE1 |= WDTIE; // 使能寄存器IE1中相应的WDT中断位

PIC单片机之看门狗

PIC单片机之看门狗

PIC单片机之看门狗
PIC 单片机之看门狗
看门狗定时器
看门狗定时器(WDT,WatchDogTImer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始倒计数。

如果程序运行正常,过一段时间CPU 应发出指令让看门狗复位,重新开始倒计数。

如果看门狗减到0 就认为程序没有正常工作,强制整个系统复位。

工作原理
使用时,WDT 将递增,直到溢出,或称超时。

除非处于休眠或空闲模式,WDT 超时会强制器件复位。

为避免WDT 超时复位,用户必须定期用PWRSAV 或CLRWDT 指令将看门狗定时器清零。

如果WDT 在休眠或空闲模式下超时,器件将唤醒并从PWRSAV 指令执行处继续执行代码。

在上述两种情况下,WDTO 位(RCON《4》)都会置1,表示该器件复位或唤醒事件是由于WDT 超时引起的。

如果WDT 将CPU 从休眠或空闲模式唤醒,休眠状态位(RCON《3》)或空闲状态位(RCON《2》)也会置1,表示器件之前处于省电模式。

C51单片机的定时计数器(陆周整理)

C51单片机的定时计数器(陆周整理)

捕捉或常数重装 入方式选择位
1
0
T2 工 作 于
捕捉方式。


EXEN2=1
时,T2EX 端
(P1.1)的
负跳变引发
捕捉动作。
T2 工 作 于
常数自动重
装入方式。


EXEN2=1
时,T2EX 端
(P1.1)的
负跳变引发
常数重装入
动作。
当 TCLK=1 或 RCLK=1 时, 此位无效,T2 被强制工作 于自动重装入方式,定时 器溢出时引发常数自动重 装。
M=28 = 256 M=28 = 256
初值计算方法
初值 = 最大计数值 – 计数值 即: X = M - N
举例说明
若 80C51 时钟频率为 12MHz,要求产生 1ms 的定时,初值计算过程如下:时钟频率为 12MHz 时,计数器每次加 1 所需时间为 1μs,如果要产生 1ms 的定时时间,则需要“加 1”1000 次,1000 即为计数初值,如果在工作方式 1 下,则初值 X=M-N=65536-1000=64536=FC18H。
T0 功能选 择
10
T0 T0 为为 计定 数时 器器 方方 式式
T0 工作方式选择
M1 M0
00
01
10
11
方式 0 方式 1 方式 2 方式 3
13 位 计数 器
16 位 计数 器
溢出后 自动重 装入初 值的 8 位 计数器
定时器 T0 分成 2 个 8 位计 数器
1、TMOD 定时器不能进行位寻址,只能用字节传送指令设置定时器工作方式。 2、复位时 TMOD 定时器所有位均为 0,定时器处于停止工作状态。

14-LPC111x_看门狗定时器(WDT)

14-LPC111x_看门狗定时器(WDT)

u p .wh ut.ed u.c nUM10398第14章:LPC111x看门狗定时器(WDT)ReRev v.00.10—11J a nuary2020110U s er manual 1.如何阅读本章所有LPC111x系列处理器的WDT模块完全一致。

2.特性•如果没有周期性重装计数值(即喂狗),则产生片内复位。

•支持调试模式。

•可通过软件允许看门狗,但禁止看门狗需要硬件复位或看门狗复位/中断。

•如果看门狗被允许,不正确/不完整的喂狗时序会产生复位/中断。

•具有看门狗复位的标志。

•可编程的32位定时器(带有内部预分频器)。

•时钟周期可选,从(T WDCLK×256×4)到(T WDCLK×232×4),取(T WDCLK×4)的倍数。

•可在系统控制块中选择内部RC振荡器(IRC)、主时钟或看门狗振荡器,来做为看门狗的时钟(WDCLK)源,见表3–23。

这样,看门狗定时器在不同功耗条件下,有多种可能计时选择。

为增加可靠性,还提供了一个看门狗定时器专用的完整内部时钟源,它不依赖于外部晶振及其相关元件和线路。

3.应用看门狗的目的是为了使微控制器在程序运行进入错误状态时,使系统在一个合理的时间内复位。

当看门狗被允许之后,如果用户程序没有在预定的时间内进行“喂狗”(或重新装载计数值),看门狗将复位系统。

4.描述看门狗定时器包括一个固定的4分频器和1个32位计数器,时钟通过4分频器送给送定时器。

每到一个时钟,定时器计数值减1。

开始递减的值,最小必须是0xFF;如果设定小于0xFF的值,则默认将0xFF装载到计数器。

因此,看门狗最小时间是(TWDCLK×256×4),最大时间是(TWDCLK×232×4),取(TWDCLK×4)的倍数。

看门狗必须按如下方法使用:1.在WDTC寄存器中设定看门狗定时器重装载值。

三菱FX系列PLC功能指令-程序流程指令

三菱FX系列PLC功能指令-程序流程指令

三菱FX系列PLC功能指令-程序流程指令条件跳转指令CJ(P)条件跳转指令CJ(P)的编号为FNC00,操作数为指针标号P0~P127,其中P63为END所在步序,不需标记。

指针标号允许用变址寄存器修改。

CJ和CJP都占3个程序步,指针标号占1步。

如图1所示,当X20接通时,则由CJ P9指令跳到标号为P9的指令处开始执行,跳过了程序的一部分,减少了扫描周期。

如果X20断开,跳转不会执行,则程序按原顺序执行。

图1 跳转指令的使用使用跳转指令时应注意:1)CJP指令表示为脉冲执行方式;2)在一个程序中一个标号只能出现一次,否则将出错;3)在跳转执行期间,即使被跳过程序的驱动条件改变,但其线圈(或结果)仍保持跳转前的状态,因为跳转期间根本没有执行这段程序。

4)如果在跳转开始时定时器和计数器已在工作,则在跳转执行期间它们将停止工作,到跳转条件不满足后又继续工作。

但对于正在工作的定时器T192~T199和高速计数器C235~C255不管有无跳转仍连续工作。

5)若积算定时器和计数器的复位(RST)指令在跳转区外,即使它们的线圈被跳转,但对它们的复位仍然有效。

子程序调用指令CALL子程序调用指令CALL的编号为FNC01。

操作数为P0~P127,此指令占用3个程序步。

子程序返回指令SRET子程序返回指令SRET的编号为FNC02。

无操作数,占用1个程序步。

如图2所示,如果X0接通,则转到标号P10处去执行子程序。

当执行SRET指令时,返回到CALL指令的下一步执行。

图2 子程序调用与返回指令的使用使用子程序调用与返回指令时应注意:1)转移标号不能重复,也不可与跳转指令的标号重复;2)子程序可以嵌套调用,最多可5级嵌套。

中断返回指令IRET中断允许指令EI中断禁止DI与中断有关的三条功能指令是:中断返回指令IRET,编号为FNCO3;中断允许指令EI,编号为FNCO4;中断禁止DI,编号为FNC05。

它们均无操作数,占用1个程序步。

PLC基础及应用教程三菱FX2N系列-功能指令

PLC基础及应用教程三菱FX2N系列-功能指令
子程序返回指令SRET的功能是返回到调用该 子程序的CALL指令处的下一逻辑行。
子程序调用和子程序返回指令的简单使用示 例如图5-5所示。
15
三菱PLC基础与应用 PLC基础与应用
X0 CALL P0
X1 Y0
FEND

主 程

X4 P0

Y3

程 序
SRET
图5-5 子程序调用和返回指令的使用

中 断


围 DI
X20 I100

FEND
Y10
中 断 服

IRET 程 序
图5-7 中断指令的使用
24
三菱PLC基础与应用 PLC基础与应用
表5-1 中断类型及中断禁止特殊辅助继电器
25
三菱PLC基础与应用 PLC基础与应用
使用中断指令的注意事项:
★ 1)如果有多个中断信号依次发出,则优先级按发 生的先后顺序,即发生越早的优先级越高。若同 时发生多个中断信号,则中断指针号小的优先级 越高。
★ 5)如果跳转开始时定时器和计数器已在工作,则跳转执行 期间它们将停止工作,即T和C的当前值保持不变,直到跳 转条件不满足后又继续工作(T和C接着以前的数值继续计 时和计数)。但定时器T192~T199和高速计数器C235~ C255在跳转后将继续动作,接点也动作。
13
三菱PLC基础与应用 PLC基础与应用
I□0□
0:下降沿中断 1:上升沿中断
输入号(0~5),对应输入X0~X5且每个只能用一次
★ 例如:I201是当输入X2从OFF→ON变化时,执行以I201为 标号的中断程序,并根据IRET指令返回。
21
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

监视定时器指令WDT
来源:网络或本站原创
监视定时器指令WDT(P)编号为FNC07,没有操作数,
占有1个程序步。

WDT指令的功能是对PLC的监视定时器进行刷新。

FX系列PLC的监视定时器缺省值为200ms(可用D8000来设定),正常情况下PLC扫描周期小于此定时时间。

如果由于有外界干扰或程序本身的原因使扫描周期大于监视定时器的设定值,使PLC的CPU出错灯亮并停止工作,可通过在适当位置加WDT指令复位监视定时器,以使程序能继续执行到END。

如图1所示,利用一个WDT指令将一个240ms的程序一分为二,使它们都小于
200ms,则不再会出现报
警停机。

图1 监控定时器指令的使用
使用WDT指令时应注意:
1)如果在后续的FOR-NEXT循环中,执行时间可能超过监控定时器的定时时间,可将WDT插入循环程序中。

2)当与条件跳转指令CJ对应的指针标号在CJ指令之前时(即程序往回跳)就有可能连续反复跳步使它们之间的程序反复执行,使执行时间超过监控时间,可在CJ指令与对应标号之间插入WDT指令。

相关文档
最新文档