定时器典型程序
定时器的PLC 程序设计

定时器的PLC 程序设计发表时间:2014-11-25T15:44:27.903Z 来源:《价值工程》2014年第6月上旬供稿作者:倪涛轶[导读] 定时器的计时编程设定值一般都是以一个整数的形式给出,这个整数乘以该定时器的最小计时单位才是最终的计时时间值。
On the PLC Program Design of Timer倪涛轶NI Tao-yi(昆明高级技工学校,昆明650033)(Kunming Advanced Technical School,Kunming 650033,China)摘要院本文旨在实现接通延时定时器、断开延时定时器、多谐震荡器的时序图及PLC 程序设计。
Abstract: This paper aims to realize to the timing diagram of On-delay, Off-delay and Self-hold and program design of PLC.关键词院定时器;工作原理;编程方法;时序图;PLC 程序设计Key words: timer;working principle;programming method;timing diagram;PLC program design中图分类号院TP391.8 文献标识码院A 文章编号院1006-4311(2014)16-0055-020引言在PLC 中,定时器(Timer)用来提供计时操作。
根据定时器的最小计时单位,定时器可分为高速定时器和低速定时器两种。
一般情况下,高速定时器的最小计时单位为0.01 秒(10ms),可供用户使用的数量较少,而低速定时器的最小计时单位为0.1 秒(100ms),可供用户使用的数量较多。
在PLC 程序设计中,我们应针对被控制对象对计时的不同要求来合理选择使用。
从功能上来看,定时器有可以分为接通延时(Ondelay)定时器、断开延时(Off-delay)定时器、自保持(Selfhold)定时器和累积定时器(Integrating Timer)等。
PIC16F72 TIMER0定时器练习程序

PIC16F72 TIMER0 定时器练习程序要使用PIC 的TIMER0,首先需要看数据手册,熟悉寄存器配置这里需要用到OPTION,INTCON 的配置,还有TMR0 计数值的预置。
典型应用程序:利用定时中断实现发光管一闪一闪功能。
源程序:#include #define uchar unsigned char#define uint unsigned int#define LED1 RC0///////////////////////初始化设置程序////////////////////////////////void Init(void){ PORTA = 0B00000000; PORTB = 0B00000000; PORTC = 0B00000000;TRISA = 0B00000000;//设置PORTA 口为输出TRISB = 0B00000001;//设置RB0 为输入,作为按键口TRISC = 0B00000000;//设置RC 输出ADCON1=0B11111111;//设置为数字I/Ocounter=0;OPTION=0B01010011;//配置中断和定时器0 TMR0=5; T0IE=1;//使能定时器中断0 GIE=1; //全局中断使能}///////////////////////定时中断程序////////////////////////////////void interrupt timer0_int(void){ T0IF=0;//清除中断标志位TMR0=5; //重新设置定时器时间counter++; if(counter==250) { counter=0; LED1=!LED1; }}///////////////////////主程序////////////////////////////////void main (void){Init();//初始化程序。
STC12C5A60S2定时器,STC12C5A60S2定时器程序

加代码。
STC12C5A60S2单片机集成了两个16位定时/计数器。
1)寄存器
1.1)TMOD定时器工作方式控制寄存器,包括13位寄存器、16位
寄存器、8位寄存器等;
1.2)TCON定时器控制寄存器,主要包括定时器启动控制位等;
1.3)AUXR辅助寄存器,用以设置分频;默认12分频
1.4)TH0/1:定时器高8位寄存器
1.5)TL0/1:定时器低8位寄存器
定时器计算
STC12C5A60S2系列是1T的8051单片机,为了兼容传统的8051,
定时器0和定时器1复位后是传统8051的速度,既12分频,这是为了兼容
传统8051。但也可以不进行12分频,实现真正的1T。
编译、下载目标代码,LED灯以1s间隔闪烁,说明我们的代码是正
STC12C5A60S2定时器,STC12C集成了共4个16位定时器,两个与传统8051
兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特
率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个
16位定时器;
1.基本特性
arduino定时器中断原理_概述及解释说明

arduino定时器中断原理概述及解释说明1. 引言1.1 概述本文将介绍Arduino定时器中断的原理及其概述和解释。
在Arduino开发中,定时器中断是一种常见且重要的技术,它可以帮助我们实现时间相关的任务和功能。
通过了解定时器的工作原理以及如何使用Arduino中的定时器引脚和寄存器,我们可以更好地利用定时器中断来完成各种应用需求。
1.2 文章结构本文分为五个主要部分,具体内容如下:第二部分“定时器中断基础”将介绍定时器的作用和原理,以及在Arduino中如何使用定时器引脚和寄存器进行编程。
第三部分“Arduino定时器库函数介绍”将详细讲解delay()函数、millis()函数和micros()函数,以及设置定时器中断的函数(attachInterrupt)。
第四部分“定时器中断的编程实例与说明”将提供几个典型案例,包括心跳灯示例程序、超声波测距模块使用中断计算距离实例程序和PWM调光实例程序,并对每个案例进行详细的分析和说明。
最后,在第五部分“结论”将强调理解Arduino定时器中断原理的重要性以及其应用范围,并总结全文的主要观点和内容。
1.3 目的本文的目的是帮助读者理解Arduino定时器中断的原理和应用,以及如何使用定时器中断来实现各种功能。
通过学习本文,读者将能够更加灵活地运用Arduino定时器中断来解决各种时间相关的问题,并扩展其在物联网、嵌入式系统以及电子制作等领域的应用。
2. 定时器中断基础2.1 定时器的作用和原理定时器是一种常见的电子设备,它能够按照特定的时间间隔产生周期性的信号。
在Arduino中,定时器可以用来实现各种功能,如精确的时间测量、延时操作、PWM输出等。
定时器是由计数器和一个或多个比较/捕获寄存器组成的。
计数器可以根据输入时钟源递增,并在达到某个预设值时触发比较/捕获寄存器。
这个触发信号可以产生中断,在中断处理函数中执行相应的操作。
2.2 Arduino中的定时器引脚和寄存器在Arduino开发板上,存在多个引脚可用于定时器功能。
51单片机定时器典型程序

采用定时器/ 计数器T0 对外部脉冲进行计数,每计数100 个脉冲后,T0 转为定时工作方式。
定时1ms 后,又转为计数方式,如此循环不止。
假定MCS-51 单片机的晶体振荡器的频率为6MHz ,请使用方式 1 实现,要求编写出程序。
解答:定时器/ 计数器T0 在采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。
定时1ms后,又转为计数方式,如此循环不止。
假定MCS-51单片机的晶体振荡器的频率为6MHz,请使用方式1实现,要求编写出程序。
解答:定时器/计数器T0在计数和定时工作完成后,均采用中断方式工作。
除了第一次计数工作方式设置在主程序完成外,后面的定时或计数工作方式分别在中断程序完成,用一标志位识别下一轮定时器/计数器T0的工作方式。
编写程序如下:ORG 0000HLJMP MAINORG 000BHLJMP IT0PMAIN: MOV TMOD,#06H ;定时器/计数器T0为计数方式2MOV TL0,#156 ;计数100个脉冲的初值赋值MOV TH0,#156SETB GA TE ;打开计数门SETB TR0 ;启动T0,开始计数SETB ET0 ;允许T0中断SETB EA;CPU开中断CLR F0 ;设置下一轮为定时方式的标志位WAIT: AJMP W AITIT0P: CLR EA;关中断JB F0,COUNT ;F0=1,转计数方式设置MOV TMOD,#00H ;定时器/计数器T0为定时方式0MOV TH0,#0FEH ;定时1ms初值赋值MOV TL0,#0CHSETB EARETICOUNT: MOV TMOD,#06HMOV TL0,#156SETB EARETI。
51单片机定时器c语言程序实例与详解

4 串行中断
实际上编译的时候就是把你这个函数的入口地址方到这个对应中断的跳转地址
using y 这个y是说这个中断函数使用的那个寄存器组,51里面一般有4组 r0 -- r7寄存器,一共有32个,如果你的终端函数和别的程序用的不是同一个寄存器组则进入中断的时候就不会将寄存器组压入堆栈返回时也不会谈出来节省代码和时间
unsigned int SystemTime;
void timer0(void) interrupt 1 using 3 //中断部分代码,见下文的释疑
{
TH0 = 0xdb;
TL0 = 0xff;
// TF0 = 0;
SystemTime++;
}
void main()
{
TMOD &= 0xF0;
TMOD |= 0x01; //TMOD的值表示定时器工作方式选择
TH0 = 0xdb; //写入初始值,初始值可以决定定时多久
TL0 = 0xff;
//根据下文的木桶比喻的话,如果TH0 = 0x00;TL0 = 0x00;则表示从桶底开始装水。
在定时器服务函数里,需要重新置入定时器的值,这样才能保证每次溢出时,都是你指定的时间。这里置入的是0x0006,还需要走 0x10000-0x0006个机器周期才溢出。换成10进制也就是每65530个机器周期中断一次。我们仿真的晶振是22118400HZ,每12个时钟一个机器周期。65530×12/22118400=0.036秒。也就是差不多28HZ的闪烁频率。
单片机的主程序是从0x0000开始运行的,单片机服务程序从哪里开始运行呢?在51里,有多个中断服务程序入口,0号入口是外中断0,地址在0x0003;1号入口是定时器0,在 0x000B;2号入口是外中断1;地址在0x0013,3号入口是定时器2;地址在0x001B,等等。当中断发生时,程序就记下当前运行的位置,跳到对应的中断入口去运行中断服务程序,运行完之后,又跳回到原来的位置继续运行。
几种在PLC编程中实现定时器的方法

几种在PLC编程中实现定时器的方法上海佰晟化工设备有限公司雷鸣摘要:本文对如何在PLC编程中实现定时器提出了几种编程思路,包括运用PLC内部定时器、扫描周期累加编程定时和周期中断累加定时等等。
关键词:PLC ;编程;定时器在现代工业现场控制中,PLC作为控制系统的重要组成部分,起着不可替代的作用。
现代PLC的功能不仅局限于简单的逻辑运算,而且具备了定时、计数、数值计算、中断处理、网络配置等多种强大的功能,使之应用于工业现场时更能发挥其作用。
作为PLC重要功能之一的定时,在PLC程序中,可以进行时序构造、等待响应、人为制造中断、产生时间脉冲等多种应用,是PLC编程中不可或缺的重要手段。
在PLC编程中构造定时器常用的方法是使用PLC内部的计时器资源,另外还可以利用其扫描周期和周期性的中断来构造定时器,下面将以上三种方法进行介绍一.计时器定时这种方式是应用最普遍也是最便捷的方式,广泛地应用于PLC程序之中。
各种厂家及型号的PLC,在其软件内部都提供有限的计时器资源。
当条件满足时,计时器启动,根据计时器的类型及所定时间的长度执行。
以SIEMENS公司的S7-300系列PLC为例,其提供的计时器(TIMER)资源类型有:S_ODT(导通延时)、 S_ODTS(导通同步延时)、S_OFFDTS(关断同步延时)、S_PULSE(脉冲延时)、S_PEXT(扩展脉冲延时)等五种。
各种计时器都有自己不同的通断特性,例如S_OFFDT(断开延时)的通断特性如图1所示。
这五种计时器资源可以单独图1 S7-300系列PLC内部导通延时定时器时序图使用,也可以任意组合,满足各种工程需要。
这种计时器方式最大的特点是方法简单、易于操作,但其也有一定的局限性,主要表现在占用过多的系统资源,并且各种 PLC对计时器个数有一定限制,以S7-300系列PLC来说,允许系统使用的计时器为512个。
所以在一些大型的项目中,会出现不够用的情况;即使够用,也会因为占用过多资源而使扫描周期变长,对于精度要求比较高的系统,会有一定影响。
PLC中定时器的几个典型应用程序_上_李兴莲

电子报/2012年/1月/29日/第011版制作与开发PLC中定时器的几个典型应用程序(上)江苏李兴莲定时控制是PLC的重要功能之一,PLC中的定时器类似于控制系统中的时间继电器,由它们去完成各种各样的时间控制,但是使用起来比时间继电器更方便、灵活,功能也更强大,控制精度也更高。
本文以三菱FX2N系列PLC为例,介绍定时器的种类及通用型定时器的几个典型应用程序(这些程序同样适应于汇川、台达等PLC)。
一、定时器及其种类定时器分为通用定时器和累积型定时器两种,在定时器启动后可以对可编程控制器内的1ms、10ms、l00ms等时钟脉冲信号进行累加计数,当累加的数值达到预先设定的值时,定时器的触点就动作。
定时器设定值可以用十进制常数(K)来设定,也可以用数据寄存器(D)的内容进行间接指定。
FX2N系列PLC中TO~T199为单位时间l00ms的通用型定时器;T200~T245为单位时间10ms 的通用型定时器;T246~T249为单位时间为lms的累积型定时器;T250~T255为单位时间l00ms 累积型定时器。
这些定时器的设定值可以从K1到K32767。
通用定时器和累积型定时器的区别是:前者断开后,其数值立刻恢复为0;而后者在断开后,其数值保持不变,再次接通后,在原有数值基础上继续。
二、典型应用程序1.延时接通程序延时接通就是当开关接通时,需要延迟一定的时间,才有输出信号。
实现延时接通功能的梯形图程序如图1所示。
在图1的梯形图程序中,当X000接通时,T0线圈得电,开始计时,此时T0常开触点还未闭合,Y000失电,输出没有信号,当X000接通3s(30×0.1s)时,T0常开触点接通,Y000有输出信号。
可见输出比输入延时了3s接通。
用时序图来表示,如图2所示。
若要改变延时时间,只需要改变定时器TO的定时时间常数。
2.延时断开程序延时断开就是当开关断开时,需要延时一定时间后,输出信号才断开。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习8:长定时电路
4.1.2.小车自动往返运动的梯形图设计
四、典型程序分析
练习1:按下启动按钮,指示灯点亮10s后自动熄灭,按下 停止按钮指示灯熄灭
练习2
练习3:闪烁电路
练习4:瞬时接通延时断开电路
练习5:延时接通延时断开电路
练习6:多个定时器串联使用的长定时电路
练习7:
电动机M1,M2顺序启动, 逆序停止,启动间隔时 间1分钟停止间隔时间 30s
输入端(IN)接通时,定时器位为ON,当 前值为0。当输入端由接通到断开时,定时器的 当前值从0开始加1计数,当前值等于设定值 (PT)时,输出位变为OFF,当前值保持不变, 停止计时。
3) 保持型通电延时定时器TONR 用于对许多间隔的累计定时。当输入端(IN) 接通时,定时器开始计时,当前值从0开始加1计 数,当前值大于等于设定值(PT)时,定时器位 置1;当输入IN无效时,当前值保持,IN再次有 效时,当前值在原保持值基础上继续计数, TONR定时器用复位指令R进行复位,复位后定 时器当前值清零,定时器位为OFF。
定时器指令及其应用
1.分类:
通电延时定时器(TON)、断电延时定时器 (TOF)和保持型通电延时定时器(TONR), 共计256个。
定时器分辨率(S):1ms、10ms和100ms。
2. 定时时间=预设值PT*分辨率
3. 定时器指令格式及说明
1) 通电延时型定时器TON(On-Delay Timer)
输入端(IN)接通时,开始定时,当前值大于等于 设定值(PT)时(PT=1~32767),定时器位变为ON, 对应的常开触点闭合,常闭触点断开。达到设定值后,当 前值仍继续计数,直到最大值32767为止。输入电路断开 时,定时器复位,当前f-Delay Timer)