当前位置:文档之家› STM32F103ve定时器时间算法

STM32F103ve定时器时间算法

STM32F103ve定时器时间算法
STM32F103ve定时器时间算法

S TM32 定时器定时时间的计算

2010-11-18 14:12:18| 分类:资料引用| 标签:|字号大中小订阅

引用

mxpopstar 的STM32 定时器定时时间的计算

假设系统时钟是72Mhz,TIM1 是由PCLK2 (72MHz)得到,TIM2-7是由PCLK1 得到

关键是设定时钟预分频数,自动重装载寄存器周期的值

/*每1秒发生一次更新事件(进入中断服务程序)。

RCC_Configuration()的SystemInit()的

RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2表明

TIM3CLK为72MHz。因此,每次进入中断服务程序间隔时间为((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+7199)/72M)*(1 +9999)=1秒*/

定时器的基本设置

1、TIM_TimeBaseStructure.TIM_Prescaler = 7199;//时钟预分频数例如:时钟频率=72/(时钟预分频+1)

2、TIM_TimeBaseStructure.TIM_Period = 9999; // 自动重装载寄存器周期的值(定时时间) 累计0xFFFF个频率后产生个更新或者中断(也是说定时时间到)

3、TIM_TimeBaseStructure.TIM_CounterMode =

TIM1_CounterMode_Up; //定时器

模式向上计数

4、TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; //时间分割值

5、TIM_TimeBaseInit(TIM2,

&TIM_TimeBaseStructure);//初始化定时器2

6、TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); //打开中断溢出中断

7、TIM_Cmd(TIM2, ENABLE);//打开定时器

或者:

TIM_TimeBaseStructure.TIM_Prescaler = 35999;//分频35999 72M/

(35999+1)/2=1Hz 1秒中断溢出一次

TIM_TimeBaseStructure.TIM_Period = 2000; //计数值2000 ((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+35999)/72M)*( 1+2000)=1秒*/

STM32通用定时器的基本定时器功能实现灯闪烁

https://www.doczj.com/doc/498639639.html,/blog/static/12003725820091023451 51281/?fromdm&isFromSearchEngine=yes

/*MAIN.C*/

/* Includes ------------------------------------------------------------------*/

#include "stm32f10x.h"

#include "misc.h"

/* Private function prototypes -----------------------------------------------*/ void RCC_Configuration(void);

void NVIC_Configuration(void);

void GPIO_Configuration(void);

void TIM3_Configuration(void);

/* Private functions ---------------------------------------------------------*/ /**

* @brief Main program

* @param None

* @retval : None

*/

int main(void)

{

RCC_Configuration();

NVIC_Configuration();

GPIO_Configuration();

TIM3_Configuration();

TIM_ClearFlag(TIM3, TIM_FLAG_Update);/*清除更新标志位*/ TIM_ARRPreloadConfig(TIM3, DISABLE);/*预装载寄存器的内容被立即传送到影子寄存器*/

TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);

TIM_Cmd(TIM3, ENABLE);

while (1) {

;

}

}

/**

* @brief Configures TIM3

* @param None

* @retval : None

*/

void TIM3_Configuration(void)

{

/*每1秒发生一次更新事件(进入中断服务程序)。RCC_Configuration()的SystemInit()的RCC->CFGR |=

(uint32_t)RCC_CFGR_PPRE1_DIV2表明TIM3CLK为72MHz。因此,每次进入中断服务程序间隔时间为

((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+7199)/72M)*(1+99 99)=1秒*/

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

TIM_TimeBaseStructure.TIM_Period = 9999;

TIM_TimeBaseStructure.TIM_Prescaler = 7199;

TIM_TimeBaseStructure.TIM_ClockDivision = 0;

TIM_TimeBaseStructure.TIM_CounterMode =

TIM_CounterMode_Up;

TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);/*此函数的语句"TIMx->EGR = TIM_PSCReloadMode_Immediate;"以软件方式产生更新事件(注:当发生一个更新事件时,所有的寄存器都被更新,硬件同时(依据URS位)设置更新标志位(TIMx_SR寄存器中的UIF 位)。)。*/

}

/**

* @brief Configures the different system clocks.

* @param None

* @retval : None

*/

void RCC_Configuration(void)

{

SystemInit();

/* TIM3 clock enable */

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);

/* GPIOC clock enable */

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

}

/**

* @brief Configures NVIC.

* @param None

* @retval : None

*/

void NVIC_Configuration(void)

{

NVIC_InitTypeDef NVIC_InitStructure;

/* Enable the TIM3 gloabal Interrupt*/

NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);

}

/**

* @brief Configure the TIM3 Ouput Channels.

* @param None

* @retval : None

*/

void GPIO_Configuration(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure);

/*注:不用为实现通用定时器的基本定时器功能配置Pin*/

}

/*stm32f10x_it.c*/

/* Includes ------------------------------------------------------------------*/

#include "stm32f10x_it.h"

void TIM3_IRQHandler(void)

{

if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) { /* Clear TIM3 update interrupt */

TIM_ClearITPendingBit(TIM3, TIM_IT_Update);

GPIO_WriteBit(GPIOC, GPIO_Pin_7, (BitAction)(1 -

GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_7)));

}

}

/*注:stm32f10x_stdperiph_lib_v3.0.0 编译器:MDK3.24A*/

/*软件仿真:首次进入中断Sec为1.00016507,第二次进入中断Sec 为2.00016507,因此2.00016507-1.00016507

两个定时器蜂鸣器,一个控制频率,另一个控制时间

//同时利用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同一个频率持续的时间,间隔300ms依次输出 1、"1 0、" // 50、" 100、" 200、" 400、"800HZ的方波 #include//52单片机头文件 #include //包含有左右循环移位子函数的库 #define uint unsigned int//宏定义 #define uchar unsigned char sbit Waveout=P1^0; uchar tt; uint fre,flag; uint Freq[]={1,10,50,100,200,400,800,1000} void main()//主函数{fre=500; TMOD=0x11;//设置定时器0,定时器1为工作方式1 TH0=(65536-fre)/256;

TL0=(65536-fre)%256; TH1=(65536-500)/256; TL1=(65536-500)%256; EA=1;//开总中断 ET0=1;//开定时器0中断 ET1=1; TR1=1; TR0=1;//启动定时器0 while (1) //等待中断产生{if(tt=a){tt=0; Waveout=~Waveout;}}}void timer0() interrupt 1//定时器0中断{TR0=0;//进中断后先把定时器0中断关闭,防止内部程序过多而造成中断丢失TH0=(65536-fre)/256; TL0=(65536-fre)%256; tt++;}void timer1() interrupt 3//定时器1中断用来产生300微秒时间定时{TH1=(65536-500)/256; TL1=(65536-500)%256; flag++; if(flag==6){flag=0; freq=Freq[i];}}

CC2530定时器设置以及应用

定时器的应用 一、教学目标 1、熟悉定时器相关寄存器的功能 2、能对程序进行改写以实现不同时间的定时操作 二、教学重点 定时器T1寄存器设置 通过变量累计定时溢出调整定时时间的方法 三、教学难点 定时器以及定时中断寄存器的设置 四、教学方法 案例法、对比法 五、教学过程 [引入]定时器也是CC2530的重要资源之一,CC2530的定时器比51单片机的定时器功能更多,本次课通过阅读、修改程序以及相关寄存器的学习,使大家能基本应用定时器完成不同定时时间的程序设计。 定时器程序设计方法也分为查询法和中断法。 任务一、查询法程序设计 1)结合以下寄存器的功能介绍阅读程序,分析程序的功能,并分析定时时间 2)修改程序实现4个LED指示灯的流水灯控制,延时时间为1秒。 将P1口状态用数组存放,采用循环结构引用数组。 任务二、中断法程序设计 与定时器中断相关的寄存器 ◆定时器初始化

定时中断初始化 void init(void) { P1SEL &= ~0x03; // 设置LED1、LED2为普通IO口 P1DIR |= 0x003 ; // 设置LED1、LED2为输出 LED1 = 0; LED2 = 1; //灭LED T1CTL = 0x05; // T1 通道0,8 分频; 自动重载模式(0x0000->0xffff); IEN1 |=0X02; //定时器1中断使能 EA=1; //开总中断 CLKCONCMD &= 0x80; //时钟速度设置为32MHz } 2)中断服务子程序设计 请同学们将任务一的程序调整为中断服务子程序 #pragma vector = T1_VECTOR //中断服务子程序 __interrupt void T1_ISR(void) { … … } 注意:中断标志需要软件清除,T1的中断标志位为T1IF 六、小结 本次课通过两个案例,分别采用查询法和中断法对定时器1进行程序设计,为后面的串口操作打下了基础。 七、作业 请同学们结合按键控制LED和定时器操作完成程序设计,按下按键,LED灯以1秒的时间间隔依次点亮

单片机定时器习题

单片机定时器/计数器、中断和串行口习题 一、填空题 1、若要启动定时器T0开始计数,则应将TR0的值设置为 1 。 2、定时器T1工作在方式0时,其定时时间为(8192-定时器初值)*2us 。方式1时定时时间又为(65536-定时器初值)*2us 。 3、串行通信有异步通信和同步通信两种基本通讯方式。 4、波特率是指每秒钟传递信息的位数。 5、如果要将现有的波特率加倍,可使用指令MOV PCON,#80H 。 6、当串行口工作在方式1时,一帧信息共有10位,即起始位、8个数据位、停止位。 7、串行口工作在方式2时的波特率为fosc/32或fosc/64 。 8、外部中断1的程序入口地址是0013H 。 二、选择题 1、若要采用定时器0,方式1,如何设置TMOD__B__ A.00H B.01H C.10H D. 11H 2、单片机采用方式0时是13位计数器,它的最大定时时间是多少?_B__ A.81.92ms B.8.192ms C.65.536ms D.6.5536ms 3、以下哪项不是中断的特点? C A.分时操作 B.实时处理 C.在线编程 D.故障处理 4、外部中断响应时间至少需要__A个机器周期。 A.3 B.2 C.4 D.8 5、通过串口发送和接受数据时,在程序中使用__A___指令。 A.MOV BMOVX C.MOVC D.SW AP 6、以下哪个是中断优先级寄存器?__B A.IE B.IP C.TCON D.SCON 7、串行口中断的程序入口地址是 C 。 A 0003H B 001BH C 0023H D 000BH 三、判断题 1、8051的两个定时器T0和T1都是16位的计数器。(对) 2、单片机的计数器最高检测频率为振荡频率的1/12。(错) 3、定时/计数器的方式2具有自动装入初值的功能。(对) 4、引起中断的原因或发出中断申请的来源称为中断源。(对) 5、中断可使CPU和外设同时工作。(对) 6、定时器的特殊功能寄存器TMOD是用作中断溢出标志,并控制定时计数器的启动和停止。(错) 7、定时器控制寄存器TCON可以位寻址。(对) 8、MCS-51系列单片机的5个中断源都是可屏蔽中断。(对) 四、综合题

WinCC 中定时器使用方法介绍

1、定时器功能介绍 2、脚本中定时器介绍 3、使用脚本实现更多定时器功能 3.1 整点归档 3.2 WinCC 项目激活时避免脚本初次执行及延迟执行脚本1 定时器功能介绍 WinCC 中定时器的使用可以使 WinCC按照指定的周期或者时间点去执行任务,比如周期执行变量归档、在指定的时间点执行全局脚本或条件满足时打印报表。WinCC 已经提供了一些简单的定时器,可以满足大部分定时功能。但是在有些情况下,WinCC 提供的定时器不能满足我们需求,这时我们就可以通过 WinCC 提供的脚本接口通过编程的方式实现定时的功能,因为脚本本身既可以直接调用 WinCC其他功能,比如报表打印,也可以通过中间变量来控制其他功能的执行,比如通过置位/复位归档控制变量来触发变量记录的执行。WinCC 提供了 C 脚本和 VBS 脚本,本文主要以全局 C 脚本编程为例介绍定时功能的实现。 2 脚本中定时器介绍既然在全局脚本中可以编程控制其他功能的执行,那么首先看看全局脚本的触发: 图1 脚本触发器分类如图1所示:脚本触发器分为使用定

时器和使用变量,定时器又分为周期执行和非周期执行一次,比如每分钟执行一次脚本属于周期执行,指定2012年10月1日执行一次属于非周期执行。使用变量触发脚本,即在变量发生变化时,脚本就执行一次,而变量的采集可以根据指定周期循环采集,或者根据变化采集,根据变化实际是1秒钟采集变量一次。 3使用脚本实现更多定时器功能 利用脚本自身的定时器,可以通过在脚本中编程的方式实现更多其它定时功能。 3.1整点归档 WinCC提供了变量归档,变量归档分为周期归档和非周期归档,不管是周期归档或非周期的归档,都又可以通过一些变量或脚本返回值来控制归档,比如:整点归档。下面的设置结合WinCC脚本,实现了在整点开始归档,归档五分种后停止归档,即每个小时仅归档前五分钟的数据。 软件环境:Windows 7 Professional Service Pack1 , WinCC V7.0 SP3 归档名称:ProcessValueArchive 归档变量:NewTag 归档周期:1 分钟 归档控制变量 startarchive C脚本触发周期:10秒 脚本代码: #include"apdefap.h" int gscAction( void ) { #pragma option(mbcs) #pragma code ("kernel32.dll");

555定时器的基本应用及使用方法

555定时器的基本应用及使用方法 我们知道,555电路在应用和工作方式上一般可归纳为3类。每类工作方式又有很多个不同的电路。在实际应用中,除了单一品种的电路外,还可组合出很多不同电路,如:多个单稳、多个双稳、单稳和无稳,双稳和无稳的组合等。这样一来,电路变的更加复杂。为了便于我们分析和识别电路,更好的理解555电路,这里我们这里按555电路的结构特点进行分类和归纳,把555电路分为3大类、8种、共18个单元电路。每个电路除画出它的标准图型,指出他们的结构特点或识别方法外,还给出了计算公式和他们的用途。方便大家识别、分析555电路。下面将分别 介绍这3类电路。 单稳类电路 单稳工作方式,它可分为3种。见图示。 第1种(图1)是人工启动单稳,又因为定时电阻定时电容位置不同而分为2个不同的单元,并分别以1.1.1 和1.1.2为代号。他们的输入端的形式,也就是电路的结构特点是: “RT-6.2-CT”和“CT-6.2-RT”。

第2种(图2)是脉冲启动型单稳,也可以分为2个不同的单元。他们的输入特点都是“RT-7.6-CT”,都是从2端输入。1.2.1电路的2端不带任何元件,具有最简单的形式;1.2.2电路则带 有一个RC微分电路。 第3种(图3)是压控振荡器。单稳型压控振荡器电路有很多,都比较复杂。为简单起见,我们只把它分为2个不同单元。不带任何辅助器件的电路为1.3.1;使用晶体管、运放放大器等辅助器件的电路为1.3.2。图中列出了2个常用电路。

双稳类电路 这里我们将对555双稳电路工作方式进行总结、归纳。 555双稳电路可分成2种。 第一种(见图1)是触发电路,有双端输入(2.1.1)和单端输入(2.1.2)2个单元。单端比较器(2.1.2)可以是6端固定,2段输入;也可是2端固定,6端输入。 第2种(见图2)是施密特触发电路,有最简单形式的(2.2.1)和输入端电阻调整偏置或在控制端(5)加控制电压VCT以改变阀值电压的(2.2.2)共2个单元电路。

linux内核定时器详解及实例

Linux内核定时器详解 80X86体系结构上,常用的定时器电路 实时时钟(RTC) RTC内核通过IRQ8上发出周期性的中断,频率在2-8192HZ之间,掉电后依然工作,内核通过访问0x70和0x71 I/O端口访问RTC。 时间戳计时器(TSC) 利用CLK输入引线,接收外部振荡器的时钟信号,该计算器是利用64位的时间戳计时器寄存器来实现额,与可编程间隔定时器传递来的时间测量相比,更为精确。 可编程间隔定时器(PIT) PIT的作用类似于微波炉的闹钟,PIT永远以内核确定的固定频率发出中断,但频率不算高。 CPU本地定时器 利用PIC或者APIC总线的时钟计算。 高精度时间定时器(HPET) 功能比较强大,家机很少用,也不去记了。 ACPI电源管理定时器 它的时钟信号拥有大约为3.58MHZ的固定频率,该设备实际上是一个简单的计数器,为了读取计算器的值,内核需要访问某个I/O端口,需要初始化 定时器的数据结构 利用timer_opts描述定时器 Timer_opts的数据结构 Name :标志定时器员的一个字符串 Mark_offset :记录上一个节拍开始所经过的时间,由时钟中断处理程序调用 Get_offset 返回自上一个节拍开始所经过的时间

Monotonic_clock :返回自内核初始化开始所经过的纳秒数 Delay:等待制定数目的“循环” 定时插补 就好像我们要为1小时35分34秒进行定时,我们不可能用秒表去统计,肯定先使用计算时的表,再用计算分的,最后才用秒表,在80x86架构的定时器也会使用各种定时器去进行定时插补,我们可以通过cur_timer指针来实现。 单处理器系统上的计时体系结构 所有与定时有关的活动都是由IRQ线0上的可编程间隔定时器的中断触发。 初始化阶段 1. 初始化间,time_init()函数被调用来建立计时体系结构 2. 初始化xtime变量(xtime变量存放当前时间和日期,它是一个timespec 类型的数据结构) 3. 初始化wall_to_monotonic变量,它跟xtime是同一类型的,但它存放将加在xtime上的描述和纳秒数,这样即使突发改变xtime也不会受到影响。 4. 看是否支持高精度计时器HPET 5. 调用select_timer()挑选系统中可利用的最好的定时资源,并让 cur_timer变量指向该定时器 6. 调用setup_irq(0,&irq0)来创建与IRQ相应的中断门。 时钟中断处理程序 1. 在xtime_lock顺序锁产生一个write_seqlock()来保护与定时相关的内核变量,这样防止中断让该进程被阻止。 2. 执行cur_timer定时器对象的mark_offset方法(记录上一个节拍开始所经过的时间,由时钟中断处理程序调用) 3. 调用do_timer_interrupt函数,步骤为 a) 使jiffies_64值增1 b) 调用updata_times()函数来更新系统日期和时间。

定时器说明书

ZYT16G微电脑时控开关说明书(市场称KG316T) 说起时控开关,很多人觉得专业深奥,不容易看懂,所以也就没什么兴趣。其实我们如果有一点专研精神,稍加研究发挥,这些科技文章就能在我们的日常生活发挥到意想不到的作用。微电脑时控开关,说简单点就是一部可编程的定时器,能广泛的应用到我们的日常生活中,能对家用电器、其它控制电路进行日/周循环16次编程定时开关,达到无人值守,高效节能的目的,大大提高生活的科技含量。在南方,多半潮湿多雨,针对洗涤后的衣物不易干燥、物品容易霉变等等,利用ZYT16G微电脑时控开关,外加电热烘干、臭氧杀菌、温度控制、排气风扇制作了一个衣、物干燥柜,基本达到了自动化。您也可以发挥你的想象,将微电脑时控开关应用于众多的需要进行定时开关的控制电器、电路、及机械设备中。 理想的节能、延长照明器件的使用寿命。应在天暗时用定时自动打开,半夜时用定时自动关闭。是路灯、灯箱、霓虹灯、生产设备、农业养殖、仓库排风除湿、自动预热、广播电视等最理想的控制产品。 内置干电池(便于更换),高精度,工业级芯片,强抗干扰。 特性 型号ZYT16G 电源电压220VAC 50-60HZ ±15% 内部电池电压 3.6VDC 电力消耗约1.5VA 控制输出25A 250VAC(阻性负载) 显示输出LCD显示 走时误差小于1秒/天 开关次数日/周循环16次开关 环境温度-10℃至50℃ 环境湿度45至85%RH 机械寿命最少3000,000次 重量、尺寸约410克,120×74×58mm 安装方式壁挂 接线 1.图1直接控制方式 2.图2控制接触器、线圈电压220VAC/50HZ 3.图3控制接触器、线圈电压380VAC/50HZ

定时器产品使用说明书

定时器产品使用说明书 定时设置: 1、先检查时钟是否与当前时间一致,如需重新校准,在按住“时钟”键的同时,分别按住“星期”、“小时”、“分钟”键,将时钟调到当前准确时间。 2、按一下“设定”键,显示屏左下方出现“1开”字样(表示第一次开启的时间)。然后按“星期”调整本次设定的星期组合模式,再按“小时”、“分钟”键,输入所需开启的时间。 3、再按一下“设定”键,显示屏左下方出现“1关”字样(表示第一次关闭时间),再按“星期”、“小时”、“分钟”键,输入所需关闭的日期和时间。 4、继续按动“设定”键,显示屏左下方将依次显示“2开、2关、3开、3关……16开、16关”,参考步骤2、3设置以后各次开关时间。设置完成后,按一下“时钟”键返回。 5、如果每天不需设置16组开关,则必须按“清除”键,将多余各组消除,使其显示屏上显示“—:—”图样(不是00:00)。 6、按“模式”键,可以变换工作模式。总共有四种工作模式:A、液晶显示开(代表进入常开模式);B、液晶显示关(代表进入常关模式);C、由开进入自动(表示目前状态为开,等到下一组时间到后开始自动运行);D、由关进入自动(表示目前状态为关,等到下一组定时时间到后开始自动运行)。 当出现以下情况时: 1、定时器没有根据设定的程序开启或关闭,请检查设置程序是否正确或重新调整。 2、定时器长时间不用,显示模糊时,请将定时器接通电源充足,10分钟后无显示,按“复位”键,2-3秒。 3、如以上步骤均不能排除问题,请与公司或经销商联系维修。 注意事项: 1、对于那些因定时开关出错而可能发生的生命相关事故或者对社会产生重大影响的设备(如医疗设备等),请不要使用定时开关。 2、对于那些因定时开关出错而发生重大财产损失的设备(大型加热器或冷库),在使用本定时开关时,请务必是特性和性能的数值有足够的余量,并采取二重电路等安全对策。 3、请勿自行修理、分解或改造。 4、接通电源后请勿接触端子部分。本开关工作在无潮湿、腐蚀及高金属含量气体环境中。请勿沾染油或水。

可编程定时器使用说明

可编程定时器使用说明 每天最多设定10组开关机,最少时间段为1分钟,最大(电流10A,可正常控制2200W电器工作,是现代家庭和办公的理想产品。 二:使用说明:(如果显示屏字迹不清晰,请先充电2小时以上) 1、键盘开锁:在时钟界面下,长按[取消/恢复]键3秒中以上。键盘开锁。在非时钟界面下,若30秒内未按任何键,会自动回到时钟界面,同时启动键盘锁。上锁后显示屏会有“”符号,解开后“”符号消失。 2、当前时间设定:键盘锁解除后,按住[时钟]键不放,同时按[星期]、[小时]、[分钟]键可调整星期和时钟; 3、程序设定:键盘锁解除后,按[定时]键进入定时状态。每按两次[定时]键时会进入下一组定时界面;若连续按[定时]键;1开、1关、2开、2关、、、、、、、10开、10关、时钟界面、1开、1关、2开、2关、、、、、、反复循环在定时设定界面,按[分钟]键可调整当次定时的分钟;在定时设定界面,按[小时]键可调整当次定时的小时;在定时设定界面,按[星期]键可调整当次定时的星期;在每一“开”或“关”设定界面时都有15种星期组合模式供选择,连续按[星期]键,显示如下 一二三四五六日、一、二、三、四、五、六、日、一三五、二四六、六日、一二三、四五六、一二三四五、一二三四五六、一二三四五六日、、、、、、反复循环; 用户根据控制需要可进行星期组合的选择。 在定时设定界面,按[取消/恢复]键时会将该组定时取消或恢复出来;在定时设定界面,按[时钟]键盘、时返回时钟状态; 4、开/自动/关:若连续[开/自动/关]键:

开、自动、关、自动、开、自动、、、、、、反复循环;有输出时,显示屏有灯符号和绿灯亮,无输出时,显示屏的灯符号消失和绿灯暗。只有“自动”状态时,程序内容才有效,红灯亮表示智能保姆插脚接通电源。 5、复位键:显示有任何异常,按一下背面的复位键,即可得到解决。

STM32如何设置定时器

STM32如何设置定时器 STM32 如何设置定时器 下面以stm32 的TIM2 作为实例一步步配置成为定时器: 第一种 对定时器的基本配置 TIM_TimeBaseStructure.TIM_Period = 1000; //设置自动装载寄存器 TIM_TimeBaseStructure.TIM_Prescaler = 35999; //分频计数 TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //选择向上计数 TIM_TimeBaseInit(TIM2, TIM_TimeBaseStructure); TIM_Cmd(TIM2, ENABLE); //是能定时器 始能定时器的中断: TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); 在开启时钟里一定要打开TIM2 的时钟,函数表达式如下: RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); 4:中断向量函数的编写: void NVIC_Configuration(void) { NVIC_InitTypeDef NVIC_InitStructure; #ifdef VECT_TAB_RAM //如果程序在ram 中调试那么定义中断向量表在Ram 中否则在Flash 中 /* Set the Vector Table base location at 0x20000000 */

正泰KG316T定时器使用说明书

正泰KG316T定时器使用说明书 一、用途及适用范围 适用于交流50Hz(或60Hz),额定控制电源电压至220V,额定工作电流3A的自动控制电路中,作为路灯、广告灯箱等设备的定时接通和断开控制之用。 二、设置与使用 在使用本产品时请先装入电池,电池盖方向为电池正极。用户阅读本说明书时,请认清产品面板上的按键,一边阅读,一边操作。本产品所有设置只有在取消键盘锁定功能后,才能进行。本说明书以8开8关为例,10、12、16组开关可参考设置。 1.按“取消/恢复”键四次取消键盘锁定功能,“锁”消隐. 如图 2.按“时钟”键一次,然后分别按“校星期”键、“校时” 键和“校分”键调整时钟为当前时间,设置后再按“时 钟”键确认,液晶显示屏将显示当前时间。 3.按一下“定时”键,液晶显示屏左下方出“I ON”字样(表示第一次开启时间)再按“校星期”键,“校时” 键和“校分”键,输入所需开启时间,如图所示

4.再按一下“定时”键,液晶显示屏左下方出“I OFF” 字样(表示第一次关闭时间)。再按“校星期”键、“校 时”键和“校分”键,输入所需关闭的时间,如图所示。 5.继续按动“定时”键,显示屏左下方将依次显示(2 ON、2OFF……8 ON、8OFF),参考以上步骤设置其余各组 的开关时间。如果每天只开,关一次,则必须按“取消 /恢复”键,将其余各组的时间消除,使液晶显示出“--; -- 6.按“星期”键,可设定工作模式,如表所示

7.定时设置完毕,应按“时钟”键,使液晶显示屏显示当前时间,如果不按“时钟”键,时控开关将在30秒后 自动转换到时钟模式。 8.按接线图正确接线,接通电源,面板上红灯亮;开关接通后,绿灯亮,输出端有220V电压输出。 9.按动“自动/手动”键,可直接开、关电路。要让开关自动动作时,应先按动此键将显示屏下方的箭头调到 “关”位置,然后再将显示屏下方的箭头调到“自动” 位置,这样时按开关才能按设定的时间工作,实现自动 控制。 三、注意事项 1.本开关进线只能接交流220V电源,切勿接入其它电源。2.如确认输入端有电,而开关上的红色指示灯不亮,请检

智能编程定时器操作说明书

文案大全 此文档由恒飞电器提供 由杭州寰宇世极功放编写 ※系统概述: M P 3智能音乐播放器:采用世界最先进的微电脑控制技术。将广播自动分区播放、外部音频和麦克风录音存储等先进功能综合为一体。内存大小由你选择: (分别可用U 盘或T F 卡设计),成为广播设备的典范之精品,达到国内领先水平。广泛适用于校园自动广播音乐打铃、外语广播教学听力考试系统。 ※综合功能: M P 3自动广播、智能分区广播、日常教学广播、消防紧急广播、背景音乐播放、外语教学及听力考试广播功能。 ※技术参数: 信噪比:>90d B ; 谐波失真:<0.1%; 频响范围:20H z -18K ; 电压:220V ※前面板介绍(由于机型不同布局略有不同) 01、电源灯及开关 02、插U 盘或连接电脑U S B 囗 03、电源灯 (T F 卡插囗) 04、显示屏; 05、菜单上,下,左,右控制 选择键; 06、确定,停止,返回键; 07、咪,输入,监听音量控制键; 08、分区1,2,3,4,5,6按键 09、分区及电源全开全关按键; 10、手动与自动切换按键; 重要提示:当你插入新U 盘或TF 卡时,必须先把它插在本机上并开关本机电源,让它自动生成AUDIO 文件夹后并把有编号的MP3歌曲装到AUDIO 文件夹内才可以播放。 ※后面板介绍(由于机型不同布局略有不同)

2 注:短路输入端囗: 当这个端囗有短路信号输入时,本机会立刻播放你放在內存里AL A R M 文件夹内的这一首曲目,A L AR M 这文件夹內只能放一首用于紧急报警用的歌曲,其它需要定时播放的歌曲要放在AU DI O 文件夹內,如歌曲的路径放错则定时播放将不执行。短路输出端囗: 这个端囗与功放电源和分区的动作同步,即当有定时点到时,这端囗即短路,当定时歌曲放完或设定了结束时间到了即断开,这端囗作用是用于控制电源时序器接多台功放之用。 ※设备连接图(由于机型不同 布局略有不同) 01、FM 与遥控天线接囗; 03、MIC 输入插孔; 05、六个分区输入输出接线座; 07、输入电源接线座; 02、音频输入输出插孔; 04、短路输入警报与短路输出控制接口; 06、电源输出接线座;

定时器工作原理

定时器工作原理 通电延时型。只要在定时的时间段内(即1分钟)定时器一直得电,则常开触电就会闭合,只要定时器不断电常开触电就会一直闭合。定时器断电则常开触电断开 1,定时器/计数器的结构与功能 主要介绍定时器0(T0)和定时器1(T1)的结构与功能。图6.1是定时器/计数器的结构框图。由图可知,定时器/计数器由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。 定时器0,定时器1是16位加法计数器,分别由两个8位专用寄存器组成:定时器0由TH0和TL0组成,定时器1由TH1和TL1组成。 图6.1 定时器/计数器结构框图 TL0、TL1、TH0、TH1的访问地址依次为8AH~8DH,每个寄存器均可单独访问。定时器0或定时器1用作计数器时,对芯片引脚T0(P3.4)或T1(P3.5)上输入的脉冲计数,每输入一个脉冲,加法计数器加1;其用作定时器时,对内部机器周期脉冲计数,由于机器周期是定值,故计数值确定时,时间也随之确定。 TMOD、TCON与定时器0、定时器1间通过内部总线及逻辑电路连接,TMOD 用于设置定时器的工作方式,TCON用于控制定时器的启动与停止。 6.1.1 计数功能 计数方式时,T的功能是计来自T0(P3.4)T1(P3.5)的外部脉冲信号的个数。 输入脉冲由1变0的下降沿时,计数器的值增加1直到回零产生溢出中断,表示计数已达预期个数。外部输入信号的下降沿将触发计数,识别一个从“1”到“0”的跳变需2个机器周期,所以,对外部输入信号最高的计数速率是晶振频率的1/24。若晶振频率为6MHz,则计数脉冲频率应低于1/4MHz。当计数器满后,再来一个计数脉冲,计数器全部回0,这就是溢出。 脉冲的计数长度与计数器预先装入的初值有关。初值越大,计数长度越小;初值越小,计数长度越大。最大计数长度为65536(216)个脉冲(初值为0)。 6.1.2 定时方式 定时方式时,T记录单片机内部振荡器输出的脉冲(机器周期信号)个数。 每一个机器周期使T0或T1的计数器增加1,直至计满回零自动产生溢出中断请求。 定时器的定时时间不仅与定时器的初值有关,而且还与系统的时钟频率有关。在机器周期一定的情况下,初值越大,定时时间越短;初值越小,定时时间越长。最长的定时时间为65536(216)个机器周期(初值为0)。

定时器Timer实时修改时间间隔(周期)

1.定时器Timer当时间间隔(周期)变化时,实时去修改 我项目中主要是实现在某个时间段上午8:00-12:00,下午 2:00(pm_start)-19:00(pm_end),每隔3分钟(pm_time)(可以手动设置)自动上传当前的位置(google的定位) // 执行定时任务 privateboolean bool= true;// true表示服务器与本地数据相同,false表示服务器与本地数据不相同 privatevoid start_schedule_pm() { final Timer timer = new Timer(); timerTask = new TimerTask() { @Override publicvoid run() { //当不相同时取消timer重新new一个timer if (!bool) { if (timer != null) { Log.e("%%%%", bool + ""); timerTask.cancel(); timer.cancel(); start_schedule_pm(); bool = true;

return; } } if ((getCurrentTime() - 12) >= Double.valueOf(pm_end)) { timerTask.cancel(); timer.cancel(); //我的是在android service里跑的程序,所以关闭了service stopSelf(); return; } if (!AppUtils.checkNet(getApplicationContext())) { Log.d("data", "网络未连接"); return; } Log.d("data", "新任务开始");

VC中使用定时器的方法

1.启用一个定时器直接调用函数: SetTimer(1,500,NULL);//定义时钟1,时间间隔为500ms SetTimer(2,1000,NULL);//定义时钟2,时间间隔为1000ms 可以在按钮按下时启用定时器: void CTimeDlg::OnButton1() { // TODO: Add your control notification handler code here SetTimer(1,500,NULL);//定义时钟1,时间间隔为500ms SetTimer(2,1000,NULL);//定义时钟2,时间间隔为1000ms } 2.关闭定时器:可以在按钮中调用如下函数关闭某定时器: void CTimeDlg::OnButton2() { // TODO: Add your control notification handler code here KillTimer(1); //关闭1号定时器 KillTimer(2); //关闭2号定时器 } 3.添加定时器时间到的处理代码: 1)在开发界面中Ctrl+W 进入MFCclass wizard页面2)选择Message Maps选项卡 3)在Project中选择你的工程 4)在object Ids:中选择C…..Dlg

5)在Messages:中选择WM_TIMER,此时,Member functions中自动定位到: W OnTimer ON_WM_TIMER, 6) 单击EDIT code(或双击W OnTimer ON_WM_TIMER)自动进入如下函数:void CTimeDlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default switch(nIDEvent) { case 1: //1号定时器应该处理的事情 //….. break; case 2: //2号定时器应该处理的事情 //….. break; } CDialog::OnTimer(nIDEvent); //此句VC自动生成 }

跑步计时器使用方法

随着人们越来越重视生活品质,对健康的要求也越来越高,现在很流行通过跑步来加强身体锻炼,因此跑步计时器开始在人们的生活中发挥着不可或缺的作用,或者说是扮演着重要的角色。在学生体育跑步考试,大型比赛等也离不开计时器。目前使用的计时器种类主要有跑步手表、跑步APP及跑步计时系统系统。 一、跑步手表 适用人群:个人日常锻练 使用方法:直接戴在手腕即可 跑步手表是跑步者一个常用的辅助工具,一般专业跑步表可以显示跑步的速度,距离,消耗卡路里,秒表,配合无线心率带还可以显示心率等信息帮助跑步者在运动中掌握自己的速度和体力分配达到最佳的练习目的。 跑步手表可以按照其运动传感器的类型分为三大类:计步手表,GPS 手表,心率手表。也有多种传感器结合的比如计步心率表, GPS 心率表, GPS 计步表。 二、跑步APP

适用人群:个人日常锻练 使用方法:下载到手机安装,锻炼时带上手机即可 运动类App是靠获取手机GPS定位信息之后,在App的地图上画出轨迹并计算出相关数据,计步是用一个传感器来感受你身体重心的变化,然后把它计作一步,再根据你设计的步长来换算成距离:距离=步数X步长 通过重力加速计感应,重力变化的方向,大小。与正常走路或跑步时的重力变化比对,达到一定相似度时认为是在走路或跑步。手机抖动达到比对,也会被认为是在走路或跑步,手机的重力感应不是那么的准确,计步也有偏差,个人对自己的步长知道的也不准确,导致这种计算距离的方式不是很准,这准方法的优点是不受环境限制,随时随地都能用。 三、跑步计时系统 适用人群:学校体育考试、大型跑步比赛

使用方法:安装在跑到上即可 电子发令器运动员起跑,令声响起时同步启动计时系统计时,通过RPSS激光检测系统,采用802.11WLAN规范和RF数据传输技术,通过WIFI 传输接收各跑道信息,记录实时成绩并将信息同步到显示器上,可使用有线或无线的方式从其他设备将姓名、组别等信息拷贝到平板电脑上。全自动智能短跑计时系统迈佳步由铝合金龙门架、激光感应器、高清显示器、中央控制主机、电子发令器、信息处理平板电脑六个部分组成,采用舞台钢架结构设计,安装于在道之上。 主要作用有1.统计运动员成绩:比赛结束后,计算机即统计出各运动员的起讫时刻、名次以及成绩,并打印成绩单;2.显示比赛实况:经过计算机处理后的信息,可以通过高清显示器、实时显示比赛成绩;3.储存比赛记录:由计算机记载的全部比赛记录。

金科德说明书

金科德说明书 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

为一台饮水机设置周一到周五早8点到11点和周一到周五下午13点到17点的2个时间段开启步骤: ★、校对现在的时刻,同时按下“时钟”和“小时”即可调整时钟的小时显示,按一次增加一小时,长按可快速调整,采用同样的方法,可以设置当前的星期,分钟。 ★、首先连续按“模式”键,将工作模式由“关”切换到“自动”模式(显示屏下部显示自动字样)。 ★、设定第一时间段的开与关(20组中的一组) A、按“设定”键,液晶显示时间段“1”、“开”字样(第一组开的时间) B、调整定时开的分钟,按“分钟”键,设定分钟为00 C、调整定时开的小时,按“小时”键,设定小时为8 D、调整定时开的星期,连续按“星期”键,直到液晶屏显示星期模式为:星期一,星期二,星期三,星期四,星期五。 E、再按“设定”键,液晶显示时间段“1”、“关”字样(第一组关的时间 F、调整定时关的分钟,按“分钟”键,设定分钟为00 G、调整定时关的小时,按“小时”键,设定小时为11 H、调整定时关的星期,连续按“星期”键,直到液晶屏显示星期模式为:星期一,星期二,星期三,星期四,星期五。 ★、按照类似方法可完成第二个时间段定时开与关的设定。 ★、将定时器插入电源插座,注意此时通电灯应处于熄灭状态,否则请将控制模式先调整为“关”,再将“模式”切换到“自动关”(注:现

在时间在设置时段内放到“自动开”;现在时间在设置时段外放到“自动关”) 这样就设置完成了,请将饮水机的插头插到定时器的万能输出插座就可以了. 1)出门.出差或旅游定时热水器 经常出差或偶尔出门,这时一回到家就想洗热水澡,如果一直开着热水器会不停地加热,即不安全而且又费电,这时幸好有了微电脑定时开关,想让它几点加热都能办到,可以按照你的要求去实现. 2)定时煮饭 出门逛街,8:30回家,精疲力尽,真不想开锅做饭,可是,饭还得吃......矛盾怎么解决?微电脑定时开关解决方案:出门前淘好米,洗好菜,定好18:00时开始通电煮饭,回到家便有饭吃。 假如你今天上班前想要家里的紫砂电炖锅(慢炖锅)在您下班回到家前2小时开始炖汤,操作如下(假设回到家的时间是19:00点): 1.校对现在的时间,同时按下“时钟”和“小时”键调小时,同时按下“时钟”和“分钟”键调分钟,同时按“时钟”和“星期”调星期(若设置好的程序需长期使用,则在“设定”状态下按“星期”选择星期组合); 2.按“模式”键,将“模式”设置为“自动、关”; 3.按“设定”键,显示屏显示“1开”(开字在1字的右上角),按“小时”键,每按一次升1小时,调到17:00;再按一次“设定”键,模式显示为“1关”(关字在1字的右下角),这个关的时间,您可以根据您

mcgs定时器操作函数设置

定时器号:系统定时器的序号1—127,MCGS系统内嵌127个系统定时器。 系统定时器以秒为定时单位。 !TimerClearOutput(定时器号) 函数意义: 断开定时器的数据输出连接 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号。 实例:!TimerClearOutput(1),断开1号定时器的数据输出连接 !TimerRun(定时器号) 函数意义:启动定时器开始工作 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号 实例:!TimerRun(1),启动1号定时器工作。 !TimerStop(定时器号) 函数意义:停止定时器工作 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号 实例:!TimerStop(1 ),停止1号定时器工作。 !TimerSkip(定时器号,步长值) 函数意义:在计时器当前时间数上加/减指定值 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号;步长值 实例:!TimerSkip(1,3),1号定时器当前值+3 !TimerReset(定时器号,数值) 函数意义:设置定时器的当前值,由第二个参数设定,第二个参数可以是MCGS变量返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号;数值 实例:!TimerReset(1,12),设置1号定时器的值为12 !TimerValue(定时器号,0) 函数意义:取定时器的当前值

返回值:将定时器的值以数值型的方式输出(数值格式) 参数:定时器号 实例:Data3=!TimerValue(1,0),取定时器1的值给Data3 !TimerStr(定时器号,转换类型) 函数意义:以时间类字符串的形式返回当前定时器的值 返回值:字符型变量,将定时器的值以字符型的方式输出(时间格式) 参数:定时器号 转换类型值:开关型 = 0:取定时器的值以“00:00”形式输出; = 1:取定时器的值以“00:00:00”形式输出; = 2:取定时器的值以“0 00:00:00”形式输出; = 3:取定时器的值以“0 00:00:00.000”形式输出; 实例:Time=!TimerStr(1,1),取定时器的值以“00:00:00”形式输出给Time !TimerState(定时器号) 函数意义:取定时器的工作状态 返回值:数值型变量,0 - 定时器停止,1 - 定时器运行 参数:定时器号 实例:data1=!TimerState(1),取定时器1的工作状态给data1 !TimerSetLimit(定时器号,上限值,参数3) 函数意义:设置定时器的最大值,即设置定时器的上限 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号;上限值;参数3,1 - 表示运行到60后停止;0 - 表示运行到60后重新循环运行 实例:!TimerSetLimit(1,60,1),设置1号定时器的上限为60,运行到60后停止。 !TimerSetOutput(定时器号,数值型变量) 函数意义:设置定时器的值输出连接的数值型变量 返回值:数值型。返回值=0:调用成功;<>0:调用失败。 参数:定时器号;数值型变量,定时器的值输出连接的数值型变量 实例:!TimerSetOutput(1,Data0),将1号定时器的数据连接到Data0 !TimerWaitFor(定时器号,数值)

如何设定plc定时时间

如何设定PIc定时时间

作者: 日期: 2

如何设定pic定时时间 S7中定时时间由时基和定时值组成,定时时间为时基和定时时间设 定值的乘积。时基也称为定时器的计时单位,是定时器可以控制的最高精度(时间间隔)。定时时间也称为计时范围,是定时器的有效控制时间。 在定时器开始工作后,定时值不断递减,递减到零时,表示时间已到,定时器会有相应的动作。 所谓的时基是时间基准的简称。定时时间设值是以3位BCD码格式存放,位于定时器字的第0~11位。使用范围是0?999。表给出时基与相应的定时范围。 表时基与相应的定时范围

定时时间有两种表达方式: ①十六进制数。定时器使用的时间值为BCD码,给定时器赋值可以 带有时基格式。 格式为:W#16#vxyz。其中,w是时间基准,xyz是BCD码格式的时间值。设定值范围为1~999。这里,时基越小,贝y分辨率越高;时基越大,则分辨率越低,但定时时间越长。例如, 匱#1砾4?刖00 二0010001 IfHKMOKX) .1 0 0 时延I' 表示时基为1s,定时时间为300X 1 s的定时时间值,即300 s =5 min。 ②S5时间格式。也可以直接使用S5中的时间表示装入时间设定值, 其格式为: S5T#aH bM cS dMS 其中,a表示小时,b表示分钟,c表示秒,d表示毫秒。定时范围为 1MS-2H?46M H30S(1 ms~9990 s)。例如,S5T# 1H_13M_8S表示时 间为1 h13 min8 s。这里时基是由CPU自行选定的,原则是在满足

定时范围的要求下,时基单位根据设定时间值自动选择满足定时范围的最小时基。 ③设定时间的装载。S7-300/400的定时时间设定需要通过S7的装 载指令L进行。可以用两种方法设定时间与选择时间单位。允许设定的最大时间值为9990 s(2小时46分30秒)

相关主题
文本预览
相关文档 最新文档