定时计数器的基本应用
认识单片机的定时器计数器
void main(void) { TMOD=0x01;
TH0=-25000/256; TL0=-25000%256; TR0=1; ET0=1; EA=1; while(1); } void timer0(void) interrupt 1 { TH0=-25000/256;
TL0=-25000%256; P10=~P10; }
根据定时时间T,及公式(1)、(2)分别可以求出初 值N为:
方式1: N=216-T×fosc/12
(3)
方式2、方式3 :N=28-T×fosc/12 (4)
如果fosc=12MHZ,以上公式可简化为
方式1: N=216-T
方式2、方式3 :N=28-T
例如:系统的时钟频率是12MHz,在方式1下,如果希望定时 器/计数器T0的定时时间T为10ms,则初值N =216-T=6553610000=55536
任务一、认识单片机的定时器/计数器
一、定时器/计数器及其应用 在单片机应用系统中,定时或计数是必不可少的。例如: 测量一个脉冲信号的频率、周期,或者统计一段时间里 电机转动了多少圈等。常用的定时方法有:
1、软件定时 软件定时是依靠执行一段程序来实现的,这段程序本身 没有具体的意义,通过选择恰当的指令及循环次数实现 所需的定时,由于执行每条指令都需一定的时间,执行 这段程序所需总的时间就是定时时间。 软件定时的特点是无需硬件电路,但定时期间CPU被占 用,增加了CPU的开销,因此定时时间不宜过长,而且 定时期间如果发生中断,定时时间就会出现误差。
led=_crol_(led,1); 满10次变量led左移1位送P0口
P0=led;
}
}
[案例3] 用定时器的计数方式实现外部中断。如图 所示,P0口控制8只发光管轮流点亮,发光管点 亮时间为500ms,单脉冲电路控制发光管的移动 方向,按下单脉冲按钮,发光管左移,再按下发 光管右移 。
MCS-51定时计数器的应用.
方案选择: (1)怎样实现较长时间的定时?
上一个实验已经讨论了单片机定时器的最大时间间 隔,采用定时器与计数器相结合的方法解决了较长时 间定时的问题
这里还可用另一种方法解决:用T1作定时器,用软件 对定时时间到计数,这样可节省一个定时器作其它用
如果设T1为定时方式0,定时间隔选为10ms,那么要想 达到2秒的定时,软件计数的次数应该是200次。
第四章 MCS-51定时/计数器的应用 定时/计数器是单片机应用中的重要部件,
其工作方式的灵活应用对提高编程技巧, 减轻CPU的负担和简化外围电路有很大益 处。本章通过两个实验说明定时/计数器的 基本用法,通过应用实例,使读者掌握定 时/计数器的软件设计技巧。
1
一、定时/计数器的基本用法
【实验1】利用T0定时,T1计数 二者复合的方法,实现较长 时间的定时间隔。 实验要求:如图所示,在 P1.7 端 接 有 一 个 发 光 二 极 管 , 要 利 用 定 时 控 制 使 LED 亮一秒停一秒,周而复始。
注意:T0与T1都是加1计数器,所以初值应按补码 计算。实际计算方法是:假定初值为X,若定时间隔 100ms,应该有
(216-X) ·2μ S=100ms ∴x=15536=3CB0H 3CH装入TH0,B0H装入TL0 T1 计 数 器 在 方 式 2 下 是 8 位 的 , 计 数 5 次 的 初 值 的 是 (256-5)=251=FBH,同时装入TH1与TL1。
=216·2μ S=131.07ms 3
而实验要求定时间隔为1秒,这三种方式都不能 满足。对于较长的定时间隔应采取复合的办法。 例如,可将T0设成定时间隔为100ms(只能用方式1), 当定时时间到,将P1.0的输出反相,再加到T1端作 计数脉冲,需要定时两次才构成一个完整的计数脉 冲,因此设T1计数5次,就能完成1秒的定时:
PLC定时器与计数器的应用
PLC技术在典型任务中的应用
任务一 电动机间歇运行控制
二、任务实施 STEP 1:任务分析
可以看出,合上控制开关SA后,电动机5秒后开始运转, 10秒后停止运行。 电动机就这样停止5秒,运转10秒,周而复始地间歇运行下去,只有断开控制 开关SA后,电动机才会停止运转。电动机的运行时间和停止时间都可以由定 时器的设定值控制,下面就应用定时器指令完成电动机间歇运行的控制。
1.纵道交通灯的运行控制程序
第 35 页
PLC技术在典型任务中的应用
任务二 十字路口交通灯控制
二、任务实施 STEP 3:程序编制
2.横道交通灯的运行控制程序
第 36 页
PLC技术在典型任务中的应用
任务二 十字路口交通灯控制
二、任务实施 STEP 3:程序编制
2.横道交通灯的运行控制程序
第 37 页
二、任务实施 STEP 3:程序编制
1.纵道交通灯的运行控制程序
第 33 页
PLC技术在典型任务中的应用
任务二 十字路口交通灯控制
二、任务实施 STEP 3:程序编制
1.纵道交通灯的运行控制程序
第 34 页
PLC技术在典型任务中的应用
任务二 十字路口交通灯控制
二、任务实施 STEP 3:程序编制
第 19 页
PLC技术在典型任务中的应用
任务一 电动机间歇运行控制
二、任务实施 STEP 2:任务准备
PLC输入输出接线如图
SA
KM
PLC
SIEMENS CPU226AC/DC/ RLY
DC24V 电源进线
AC220V 电源进线
第 20 页
PLC技术在典型任务中的应用
任务一 电动机间歇运行控制
6.3 定时器计数器的四种模式及应用
(2)计算初值 ) T0工作在外部事件计数方式,当计数到 8时,再加 工作在外部事件计数方式, 工作在外部事件计数方式 当计数到2 1计数器就会溢出。设计数初值为 ,当再出现一次 计数器就会溢出。 计数器就会溢出 设计数初值为X, 外部事件时,计数器溢出。 外部事件时,计数器溢出。 则: X+1=28 X= 28 -1=11111111B=0FFH T0工作在定时工作方式,设晶振频率为 工作在定时工作方式, 工作在定时工作方式 设晶振频率为6MHz, , 500µs相当于 相当于250个机器周期。因此,初值 为 个机器周期。 相当于 个机器周期 因此,初值X为 (28-X)×2µs=500µs × X=6=06H
的工作模式0在 例2:利用 的工作模式 在P1.0引脚输出周期为 :利用T0的工作模式 引脚输出周期为 2ms的方波。设单片机晶振频率 的方波。 的方波 设单片机晶振频率fosc=12MHz。 。 分析:要在P1.0引脚输出周期为 引脚输出周期为2ms的方波,只要使 的方波, 分析:要在 引脚输出周期为 的方波 P1.0每隔 每隔1ms取反一次即可。 取反一次即可。 每隔 取反一次即可 (1)选择工作模式 ) T0的模式字为 的模式字为TMOD=00H,即 的模式字为 , M1M0=00,C/T=0,GATE=0,其余位为 。 , , ,其余位为0。 (2)计算1ms定时时 的初值 )计算 定时时T0的初值 定时时 (213-X)×1/12 × 10-6×12=1×10-3 s × × X=7192D=11100000 11000B T0的低 位:11000B=18H即 (TL0)=18H 的低5位 的低 即 T0的高 位:11100000B=E0H即 (TH0)=E0H 的高8位 的高 即
三、模式 3的应用举例 的应用举例 例1:设某用户系统已使用了两个外部中断源,并 :设某用户系统已使用了两个外部中断源, 置定时器T1工作在模式 工作在模式2, 置定时器 工作在模式 ,作串行口波特率发生器 现要求再增加一个外部中断源,并由P1.0引脚 用。现要求再增加一个外部中断源,并由 引脚 输出一个5kHz的方波。fosc=12MHz. 的方波。 输出一个 的方波
第6章 定时器及应用
12
C/T=0 C/T=1 T0 TR0 GATE INT0 1 >1 & 控制
TL0 (8位 )
TF0
中断
重新输入
TH0 (8位 )
定时器0(或定时器1)方式2时的逻辑结构图
四、方式3 (仅T0有)
振荡器 1 f 12 osc C/T=0 C/T=1 T0 控制 TR0 GATE INT0 1 f 12 osc TR1 TH0 (8位) TF1 中断 1 ≥1 & TL0 (8位) TF0 中断 ÷ 12 1 f 12 osc
注意: 当GATE=0时,TR0/TR1置1即可启动CTC。 当GATE=1时,且引脚P3.2/P3.3为高电平时,TR0/TR1置1启 动定时器。
TCON
TF1
ቤተ መጻሕፍቲ ባይዱ
TR1
TF0
TR0
IE1
IT1
IE0
IT0
② 溢出中断标志位TF0、TF1 T0/T1计满数产生溢出时,使TF0/TF1=1,引起T0/T1中断请 求,CPU响应T0/T1中断后,硬件自动将TF0/TF1清0 。 在中断屏蔽时,TF0/TF1可作查询测试用,此时只能由软件 清0。如: WAIT:JB TF0,NEXT ;检测T0是否溢出 SJMP WAIT ;未溢出,继续检测 NEXT:CLR TF0 ;溢出,TF0清0,处理溢出 … TCON中的低4位用于控制外部中断,与定时/计数器无关。 当系统复位时,TCON的所有位均清0。 3. 可预置初值的16位加1计数器TH0、TL0、 TH1、TL1
第6章 定时器及应用
6-1 6-2 6-3 6-4 定时器(CTC)概念 89C51定时器 89C51定时器的工作方式 89C51定时器的应用程序设计
定时器计数器定时功能的应用实验总结
定时器计数器定时功能的应用实验总结
定时器和计数器在很多应用中都有着重要的作用,尤其是在嵌入式系统和自动控制领域。
下面是一个关于定时器计数器定时功能应用的实验总结:
1. 实验目的:
了解定时器和计数器的基本工作原理,掌握定时功能的应用。
2. 实验器材:
单片机开发板、LED灯、Jumper线、电源等。
3. 实验步骤:
a. 将LED灯连接到开发板的一个GPIO口,设置为输出模式。
b. 初始化定时器和计数器,设置定时时间和计数器值。
c. 启动定时器,并在定时器中断处理函数中将LED灯的状态翻转。
d. 在主循环中等待定时时间到达。
4. 实验结果:
定时器定时时间到达时,LED灯会翻转一次。
5. 实验总结:
定时器和计数器的应用可以实现一些精确的定时操作,比如控制设备的定时开关、定时采集数据等。
在实际应用中,还可以根据需要设置不同的定时时长和计数器初值,实现更多功能。
需要注意的是,在实际应用中,要根据具体情况合理选择定时器和计数器的参数,以保证定时功能的准确性和稳定性。
另外,在使用定时器定时功能时,也要考虑对系统资源的合理利用,避免造成系统负荷过重。
单片机定时器与计数器的工作原理及应用
单片机定时器与计数器的工作原理及应用摘要:单片机作为现代电子设备中广泛采用的一种集成电路,其内部包含了丰富的功能模块,其中定时器和计数器被广泛应用于各种领域。
本文将介绍单片机定时器和计数器的工作原理及应用,包括定时器的基本原理、工作模式和参数配置,以及计数器的工作原理和常见应用场景。
希望通过本文的阐述,读者能够深入了解单片机定时器和计数器的基本原理和应用,为电子系统设计提供参考。
引言:单片机作为嵌入式系统中的核心部件,承担着控制和处理各种信号的重要任务。
定时器和计数器作为单片机的重要功能模块,为实现各种实时控制任务提供了有效的工具。
定时器可以生成一定时间间隔的定时信号,而计数器则可以对外部事件的频率进行计数,实现时间测量和计数控制等功能。
一、定时器的工作原理单片机中的定时器通常为计数器加上一定逻辑控制电路构成。
定时器的基本工作原理是通过控制计数器的计数速度和计数值来实现不同时间间隔的输出信号。
当定时器触发时,计数器开始计数,当计数值达到预设值时,定时器产生一个输出信号,然后重新开始计数。
定时器通常由以下几个部分组成:1.计数器:定时器的核心部件是计数器,计数器可以通过内部振荡器或外部输入信号进行计数。
通常情况下,计数器是一个二进制计数器,它可以按照1、2、4、8等倍数进行计数。
2.预设值:定时器的预设值决定了定时器的时间间隔。
当计数器达到预设值时,定时器会产生一个输出脉冲。
3.控制逻辑电路:控制逻辑电路用于控制计数器的启动、停止和重置等操作。
通常情况下,控制逻辑电路由一系列的触发器和逻辑门组成。
二、定时器的工作模式定时器可以根据实际需求在不同的工作模式下运行,常见的工作模式有以下几种:1.定时工作模式:在定时工作模式下,定时器按照设定的时间间隔进行计数,并在计数值达到预设值时产生一个输出脉冲。
这种模式常用于周期性任务的触发和时间测量。
2.计数工作模式:在计数工作模式下,定时器通过外部输入信号进行计数,可以测量外部事件的频率。
定时器/计数器及应用分析课件
定时器和计数器的工作原理和应用场 景各不相同,需要根据实际需求进行 选择和使用。
定时器和计数器在嵌入式系统的设计 中扮演着重要的角色,对于实现系统 的精确控制和可靠运行具有重要意义。
展望
随着嵌入式系统的发展和应用领域的不断扩展, 定时器和计数器的功能和性能也在不断提升。
计数器可以用来实现计数值的累加, 例如记录用户点击按钮的次数或设备 的使用次数。
定时器和计数器器可以组合起来实 现更复杂的功能,例如通过定时 器控制计数器的计数值,或者使 用计数器的计数值来控制定时器
的触发时间间隔。
组合应用实例
例如,可以使用定时器来控制计 数器的计数值,每隔1秒更新一 次计数器的计数值,然后使用计 数器的计数值来控制一个设备的
代码实现
使用Arduino编程,通过定时器与计数器结合,实时计算 电机的转速,同时控制电机的运动状态
应用场景
适用于需要实时监测与控制电机转速的领域,如自动化生 产线、机器人等
定时器和计数器的综合应用——实现智能小车巡线
• 硬件准备:Arduino板、电机驱动模块、两个直流电机、红外线传感器、巡线轨道 • 原理说明:通过定时器控制电机的运动状态,实现小车的运动;通过计数器统计红外线传感器检测到的黑色线路的脉冲数,
定时器工作原理
定时器通过计数时钟周期来实现时间间隔的测量,当达到设定的时 间间隔后就会触发中断。
使用计数器实现计数值的累加
计数器概述
计数器工作原理
计数器是一种能够记录事件发生次数 的硬件或软件组件。
每当事件发生时,计数器就会自动加1 ,当达到设定的上限值后就会触发中 断或重置为0。
单片机定时器计数器应用
为了获得1秒时间,T0中断需要发生200次。程序包含主函
数,T0的初始化函数和T0中断服务函数,显示语句放在中
断服务函数内,程序如下:
/******************************************************************/ #include<reg51.h> code unsigned char seven_seg[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char cp,i; //声明全局变量 void timer0_isr(void) interrupt 1 // timer0中断服务函数 { TR0 = 0; //停止计数 TL0 = 0x78; // TL0重新预置 TH0 = 0xec; // TH0重新预置 TR0 = 0; //开始计数 cp++; // timer0中断1次,变量cp加1 if(cp == 200) //中断200次,时间刚好为1秒 { cp = 0; i ++; }
项目5 单片机定时器/计数器应用
5.1任务说明
任务:利用单片机内部定时器/计数器中断实现一个数码管 的秒记数,重点学习定时器/计数器的工作方式以及
其控制寄存器TMOD、TCON的功能,在程序实现
过程中掌握定时器/计数器中断的一般步骤。
5.2 单片机的定时/计数器结构
51单片机内部含有两个定时器/计数器,分别是T0和 T1,在增强型51系列单片机中,如STC89C51RC,内部出了 含有T0和T1外,还有T2定时器/计数器。定时器/计数器主 要由于精确的定时,也可用于对外部脉冲进行计数以及为
定时器计数器应用
选择合适的定时器计数器需要考虑其精度、分辨率、稳定性、功耗等参数,以及应用场景和预算等因素。
02
定时器计数器的应用场 景
工业控制
自动化生产线控制
通过定时器计数器,可以精确控 制生产线上各环节的时间间隔和 数量,实现自动化生产。
设备维护与故障检
测
定时器计数器可以用于监测设备 的运行状态,及时发现潜在的故 障并进行维护,确保设备稳定运 行。
嵌入式系统
适用于特定应用场景的嵌入式系统,如工业控制、智能家居等。
FPGA/ASIC
对于高性能和定制化需求,可以选择FPGA或ASIC平台。
软件编程语言与工具
Python
适用于某些微控制器和嵌入式系统,如 Raspberry Pi。
IDE(集成开发环境)
如Arduino IDE、Eclipse等。
定时器计数器的中断处理
中断触发条件
根据应用需求设置中断触发条件,如定时时间到达、计数达到预定值等。
中断处理程序
编写中断处理程序,以在中断触发时执行相应的操作,如更新显示、执行特定 动作等。
04
定时器计数器的常见问 题与解决方案
定时不准确
1. 使用高精度时钟源
详细描述
定时不准确可能是由于硬件或软 件误差、外部干扰、温度变化等 因素导致的。为了解决这个问题, 可以采取以下措施
01
动画与特效
通过定时器计数器,可以精确控制游戏 中的动画和特效的播放时间和节奏。
02
03
网络同步
在多人在线游戏中,定时器计数器可 以用于实现不同玩家之间的同步操作 和时间管理。
03
定时器计数器的编程实 现
硬件平台选择
微控制器
AVR单片机定时计数器的结构与应用探素
位0——TOV0(Overflow) T/C0溢出中断标志。当T/C0 产 生溢出时,该位自动置1,向CPU提出溢出中断请求,该中 断得以处理后,该位硬件自动清0,用户也可对其写1清0
位1——OCF0 T/C0 输出比较匹配中断标志。当T/C0比 较匹配成功,OCF0置1,向CPU提出比较匹配中断请求, 该中断得以处理后,该位硬件自动清0,用户也可对其写1 清0
引入
• 先回顾学习51单片机时,定时器的中断 如何产生的?
第8章 定时/计数器实例解析
• 本章重点: • 1.了解AVR定时/计数器的特点 • 2.学会对定时/计数器的相关寄存器进行配置 • 3. 掌握AVR定时/计数器的工作模式 • 本章难点: • 掌握定时/计数器的PWM模式,T/C1的输入
捕捉功能
PORTB|=(1<<PB0); // PB0配置为 ,PB0 上拉电阻
}
/********定时器0初始化函数********/
void timer0_init()
{
SREG = 0x80; //使能全局中断
TIMSK|=(1<<TOIE0); //使能T0溢出中断
TCCR0|=
; //T/C0工作于普通模式,上升沿触发
实例解析1—T/C0计数实验
使用T/C0进行计数,T0(PB0)为外部计数输入端,每计一 次,PA口所接的八个LED灯状态改变一次。
设计思路:设置TCNT1的初值为0XFF,当有外部计数信 号输入时,计数值加1,产生溢出中断,进入T/C0溢出中断函 数,在溢出中断函数中,使PA口取反,LED灯状态改变一次。
定时计数器的应用
定时计数器实验报告
定时计数器实验报告
目录
1. 研究背景
1.1 定时计数器的定义
1.2 定时计数器的应用领域
2. 研究内容
2.1 定时计数器的原理
2.2 定时计数器的工作原理
3. 研究意义
3.1 定时计数器在日常生活中的作用
3.2 定时计数器在工业生产中的作用
1. 研究背景
1.1 定时计数器的定义
定时计数器是一种用来记录特定时间间隔的工具或设备,通常用于计时或计数任务。
1.2 定时计数器的应用领域
定时计数器广泛应用于实验室科研、体育比赛、生产制造等领域,能够帮助人们准确记录时间和次数,提高工作效率。
2. 研究内容
2.1 定时计数器的原理
定时计数器通过内置的计时芯片或机械装置,能够精确地测量时间间隔,同时记录计数值。
2.2 定时计数器的工作原理
定时计数器先设定计时或计数的目标值,然后启动计时器,根据预设的条件自动停止计时或计数,并显示结果。
3. 研究意义
3.1 定时计数器在日常生活中的作用
定时计数器可以帮助人们管理时间,提醒完成任务的进度,规划
生活,提高效率。
3.2 定时计数器在工业生产中的作用
定时计数器在工业生产中可以用于监控生产流程的时间和数量,保证生产效率和质量。
单片机中的定时器和计数器
单片机中的定时器和计数器单片机作为一种嵌入式系统的核心部件,在各个领域都发挥着重要的作用。
其中,定时器和计数器作为单片机中常用的功能模块,被广泛应用于各种实际场景中。
本文将介绍单片机中的定时器和计数器的原理、使用方法以及在实际应用中的一些典型案例。
一、定时器的原理和使用方法定时器是单片机中常见的一个功能模块,它可以用来产生一定时间间隔的中断信号,以实现对时间的计量和控制。
定时器一般由一个计数器和一组控制寄存器组成。
具体来说,定时器根据计数器的累加值来判断时间是否到达设定的阈值,并在时间到达时产生中断信号。
在单片机中,定时器的使用方法如下:1. 设置定时器的工作模式:包括工作在定时模式还是计数模式,以及选择时钟源等。
2. 设置定时器的阈值:即需要计时的时间间隔。
3. 启动定时器:通过控制寄存器来启动定时器的运行。
4. 等待定时器中断:当定时器计数器的累加值达到设定的阈值时,会产生中断信号,可以通过中断服务函数来进行相应的处理。
二、计数器的原理和使用方法计数器是单片机中另一个常见的功能模块,它主要用于记录一个事件的发生次数。
计数器一般由一个计数寄存器和一组控制寄存器组成。
计数器可以通过外部信号的输入来触发计数,并且可以根据需要进行计数器的清零、暂停和启动操作。
在单片机中,计数器的使用方法如下:1. 设置计数器的工作模式:包括工作在计数上升沿触发模式还是计数下降沿触发模式,以及选择计数方向等。
2. 设置计数器的初始值:即计数器开始计数的初始值。
3. 启动计数器:通过控制寄存器来启动计数器的运行。
4. 根据需要进行清零、暂停和启动操作:可以通过控制寄存器来实现计数器的清零、暂停和启动操作。
三、定时器和计数器的应用案例1. 蜂鸣器定时器控制:通过定时器模块产生一定频率的方波信号,控制蜂鸣器的鸣叫时间和静默时间,实现声音的产生和控制。
2. LED呼吸灯控制:通过定时器模块和计数器模块配合使用,控制LED的亮度实现呼吸灯效果。
《定时计数器及应用》课件
物联网与智能化
随着物联网和智能化技术的发展,定时计数器将更加智能化,能 够与其他设备进行更紧密的集成和协同工作。
定制化与专业化
未来定时计数器将更加定制化和专业化,针对不同领域和应用场景 ,会有更多具有特定功能的定时计数器出现。
节能环保
随着环保意识的提高,未来定时计数器将更加注重节能和环保设计 ,以降低能耗和减少对环境的影响。
专用芯片实现
使用专用的定时计数器芯片,通 过编程配置其工作模式和参数, 实现定时计数功能。
微控制器实现
利用微控制器的定时器/计数器模 块,编写相应的程序,实现定时 计数功能。
基于软件的实现方式
多线程实现
利用操作系统的多线程机制,创建定 时任务线程,通过线程调度实现定时 计数。
延时函数实现
利用编程语言提供的延时函数,如 sleep()或delay()函数,实现简单的定 时计数。
硬件与软件的结合实现方式
嵌入式系统实现
结合微控制器和软件编程,利用微控制器的硬件定时器与软 件程序协同工作,实现更为精确和灵活的定时计数。
结合硬件定时器和软件调度
利用硬件定时器触发中断,在中断服务程序中进行计数,同 时结合操作系统的软件调度,实现高精度、高可靠性的定时 计数。
04 定时计数器的优缺点
05 定时计数器的发展趋势
定时计数器的发展历程
早期阶段
定时计数器最初是为了满 足工业控制和测量需求而 设计的,主要用于简单的 计时和计数功能。
技术发展
随着电子技术和微处理器 技术的进步,定时计数器 的功能逐渐增强,精度和 可靠性得到提高。
智能化
现代定时计数器已经具备 了智能化特点,能够与其 他设备进行通信和控制, 实现更复杂的任务。
#PLC程序中定时器和计数器的配合应用
#PLC程序中定时器和计数器的配合应⽤PLC程序中定时器和计数器的配合应⽤实际应⽤中,定时器和计数器,常常有“强强联合”形式的搭配性应⽤。
⼀、定时器1、定时器是位/字复合元件,可以有三个属性:1)有线圈/触点元件,当满⾜线圈的驱动(时间)条件时,触点动作;2)具有时间控制条件,当线圈被驱动时,触点并不是实时做出动作反应,⽽是当线圈被驱动时间达到预置时间后,触点才做出动作;3)具有数值/数据处理功能,同时⼜是“字元件”。
2、可以⽤两种⽅法对定时时间进⾏设置:1)直接⽤数字指定。
FX编程器⽤10进制数据指定,如K50,对于100ms 定时器来讲,延时5秒动作。
为5秒定时器。
对LS编程器,可⽤10制数或16进制数设定,如50(或h32),对于100ms定时器来讲,延时5秒动作;2)以数据寄存器D设定定时时间,即定时器的动作时间为D内的寄存数值。
3、由定时器构成的时间控制程序电路:LS编程器中的定时器有多种类型,但FX编程器中的定时器只有“得电延时输出”定时器⼀种,可以通过编写相应程序电路来实现“另⼀类型”的定时功能。
图1程序电路中,利⽤M0和T1配合,实现了单稳态输出——断开延时定时器功能,X1接通后,Y0输出;X1断开后,Y0延时10秒才断开;T2、T3、Y2电路则构成了双延时定时器,X4接通时,Y2延时2秒输出;X4断开时,Y2延时3秒断开;Y3延时输出的定时时间,是由T4定时器决定的,T4的定时时间是同D1数据寄存器间接指定的。
当X2接通时,T4定时值被设定为10秒;当X3接通时,T4定时值则被设定为20秒。
XO提供定时值的清零/复位操作。
单个定时器的定时值由最⼤设定值所限定(0.1∽3276.7s),换⾔之,其延时动作时间不能超过1⼩时。
如欲延长定时时间,可以如常规继电控制线路⼀样,将多只定时器“级联”,总定时值系多只定时器的定时值相加,以扩展定时时间。
更好的办法,是常将定时器与计数器配合应⽤,其定时时间,即变为定时器的定时器与计数器的计数值相乘,更⼤⼤拓展了定时范围,甚⾄可以以⽉或年为单位进⾏定时控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二定时/计数器的基本应用
课程:单片机技术及C51程序设计
1、实验目的
掌握定时/计数器T0,T1的方式选择和编程方法;
了解中断服务程序的设计方法。
2、实验电路
图2-1 实验2电路图
3、实验内容
利用定时器T0工作在方式3,用TL0计数器对应的8位定时器实现一个发光管以1s闪烁,用TH0计数器对应的8位定时器实现另一个发光管以
0.5s 闪烁。
4、程序框图
考程序流程图如图2-2所示。
5、源程序
源程序:
/************************
程序预处理部分
************************/
#include <reg51.h> //52系列单片机头文件
#define uchar unsigned char
#define uint unsigned int
/************************
变量定义部分
************************/
sbit LED1=P1^0;
sbit LED2=P1^1;
uint num1,num2;
/************************
主程序部分
************************/
void main()
{
TMOD=0x03; //设置定时器0为工作方式3(0000 0011)TH0=6; //装初值
TL0=6;
EA=1; //开总中断
ET0=1; //开定时器0中断
ET1=1; //开定时器1中断
TR0=1; //启动定时器0
TR1=1; //启动定时器0的高8位计数器
while(1) //程序停止在这里等待中断发生
{
if(num1>=3686) //如果到了3686次。
说明1秒时间到
{
num1=0; //然后把num1清0重新再计3686次
LED1=~LED1; //让发光管状态取反
}
if(num2>=1843) //如果到了1843次。
说明半秒时间到
{
num2=0; //然后把num2清0重新再计1843次
LED2=~LED2; //让发光管状态取反
}
}
}
void TL0_time() interrupt 1
{
TL0=6; //重装初值
num1++;
}
void TH0_time() interrupt 3
{
TL0=6; //重装初值
num2++;
}
6、思考题:
(1)如果只用一个八位的定时器实现上述功能,请编程实现
(2)采用查询方式编程实现本实验
7、试验小结:
实验时首先用到Proyeus7这个软件,对这个软件的界面还不熟悉,在放置电源的时候找不到电源这个原器件。
保存好电路图文件后用Keil uvision3软件进行程序设计。
首先新建工程选择89c51,然后再新建文件进行程序编写,编写完成后程序是没有生效的,必须将文件保存到对应的工程下。
然后再在电路的c51原件上置入程序。
然后进行仿真,观察LED 灯的闪烁情况,根据要求调整程序中的参数。