时间定时器

2024-05-19

时间定时器(共3篇)

时间定时器 篇1

摘要:本文介绍了如何采用可编程定时集成电路CD4541B设计用于需要延时定时的简单定时器和可编程定时器, 它可用于一般家用电器的延时控制。

关键词:CD4541B,时间定时器,可编程

现在的不少家用电器都安装了定时器来控制开关或工作时间。时间定时器主要有机械式和电子式两类, 其中电子式又分模拟, 数字, 时间开关, 马达定时器, 延迟继电器, 可编程继电器等。实现定时的基本电路是单稳态触发器, 如采用555芯片组成的定时器。但555芯片组成的定时器电路比较简单, 定时精度不高, 定时时间调节也不方便, 在要求较高的场合, 可采用专用定时集成电路CD4541B。

1 定时集成电路CD4541B介绍

CD4541B是采用CMOS工艺制造的可编程定时集成电路, 它有双列直插、扁平、微型等封装形式, 电源电压范围是3V~18V, 典型值为10V。其内部电路主要由振荡器、可编程16级二分频器、自动和手动复位电路、计数器、输出状态的逻辑控制电路等部分构成。第 (1) 脚接振荡电阻Rtc, 第 (2) 脚接振荡电容Ctc, 第 (3) 脚接保护电阻Rs, 共同构成振荡器外接阻容网络端。当Rtc、Ctc的阻值确定之后, 即决定了振荡器的振荡频率, 振荡频率f=1/ (2.3×Rtc×Ctc) (Rtc和Ctc的取值范围为:1kΩ≤Rtc≤1MΩ, 0.0001μF≤Ctc≤0.1μF) 。AR ( (5) 脚) 是自动复位端。当AR为低电平时, 电路在通电时会自动复位, 使计数器清零。MR ( (6) 脚) 是手动复位端。当MR为高电平时, 电路复位。 (8) 脚 (Q端) 是输出端。 (9) 脚是输出选择端, 用来选择Q端在电路初始状态是高电平还是低电平, 当 (9) 脚接低电平时, (8) 脚的初始状态是低电平。M端 ( (10) 脚) 是单定时/循环输出方式选择端。当M=0时是选择单定时输出方式。所谓单定时方式是指电路定时时间到后, 输出端Q的电平跳变后始终保持不变, 直到下一次复位信号的到来;当M=1时是选择循环输出方式。循环方式是指Q端电平将按设定的时间作周期性跳变。A、B是分频器编程输入端, 当A=B=1, 电路可获得最大的定时时间。延时时间范围参见表1。

2 简单定时器设计

如图1所示, 由CD4541B组成的简单定时器电路, 其工作原理是:按下AN, 220V交流电经变压器降压, 桥式整流电路整流后得到12V电压为定时电路供电。由于CD4541B的 (5) 、 (6) 引脚接低电平, 表明电路接通即能自动复位, 定时器工作; (9) 、 (10) 引脚为低电平, 表明定时器为单循环模式, 且输出端 (8) 引脚为低电平。于是T1截止、T2饱和, 继电器得电, 常开触点J1接通, J1使电路自锁, 即使松开按钮AN, 220V仍加到电路, 用电器工作。由选定的定时元件, 得定时时间为:

由于A、B端子均为“1”, 分频比为65536, 方波周期为65536×0.0 1 m s=1 1 m i n, 其半周期5.5 m i n为定时时间。当定时结束时, C D 4 5 4 1 B的 (8) 引脚输出端为高电平, 使T 1导通, T 2截止, 继电器J断开, 常开触点J1断开, 定时器电路也断电, 只有再次按下按键A N时, 定时器才能启动。

3 分段可编程定时器设计

如将图1中的Rtc、Ctc设计为多段可切换, 则能实现可编程定时, 如图2所示。图中K1-1、K1-2为定时电阻和保护电阻同步切换开关, 同步切换时应满足Rtc1

4 结语

定时控制方法虽然有多种, 但要实现精确定时和可编程定时采用专用定时器集成电路CD4541B是一种不错的选择, 与之同类且可互换的集成电路还有MC14541、HCF4541B、HEF4541B等。这种定时控制电路在家用电器甚至工业控制中得到了较广泛的应用。

参考文献

[1]郎筠.集成定时电路CD4541BE应用两例[J].电子报, 2007.

[2]王松武.常用电路模块分析与设计指导[M].清华大学出版社, 2007.

时间定时器 篇2

Timer timer = new Timer; TimerTask task = new TimerTask() { @Override public void run() { handler.sendEmptyMessage(111); } }; timer.schedule(task, 1000, 1000); // 1s执行一次 timer.schedule(task, 3000); //3s后执行

时间定时器 篇3

一、中断总使能:SREG=0X80;

二、使能定时器溢出中断,TIMSK的TOIE0置1

三、选择定时器时钟分频系数,由TCCR0的CS01,CS01,CS00决定。

四、定时器计数器付初始值,TCNT0=61,TCNT0位8位寄存器,计数范围为0-255,付初始值61后,从61开始计数到255时产生溢出中断

付初值后定时就开始工作。

定时时间计算:每个计数时钟脉冲的时间T=1/f,f=晶振频率/分频系数,如晶振为8MHZ,分频系数为1024,则定时器器时钟

频率为f=8000000HZ/1024=7812.5HZ,单个时钟脉冲时间:T=1/f=1/7812.5=0.128ms(毫秒),T/C0最大的计数值 为256,最大计时时间为256*0.128ms=32.768ms。

定时器初值计算公式:定时器初值=256-定时时间/单个时钟脉冲时间: 如定时25ms,初值=256-25ms/0.128ms=256-195=61

注:1MHZ=1000KHZ=1000000HZ,1s(秒)=1000ms(毫秒)

/***************************************************************************************

函数功能:定时器T/C0实现1秒钟定时,控制发光二极管周期性亮灭,晶振8MHZ

***************************************************************************************/

#include

char Counter = 0;// 1S计数变量清零,变量声明

/********端口初始化********/

void port_init()//端口初始化子函数

{

PORTA=0xFF;//PA口配置为输出

DDRA=0xFF;//PA口初始值为“1”

}

/********定时器0初始化********/

void timer0_init()//因为定时时间太短,看不到灯的变化

{

SREG = 0x80;//使能全局中断

TIMSK|=(1<

TCCR0|=(1<

TCNT0 = 61;//定时初值设置,定时时间 =(256-61)/7812.5=25ms

}

/********主函数********/

void main()

{

port_init();

timer0_init();

while(1);

}

/********定时器0中断服务函数********/

#pragma interrupt_handler timer0_ovf:10

void timer0_ovf(void)

{

TCNT0 =61;//重装计数初值

if(++Counter >= 40)//定时时间到1S吗?定时中断溢出40次为1S,25ms*40=1000ms=1s(秒){

PORTA^=BIT(0);//,将PA口的第0位取反操作。

Counter = 0;//1S计时变量清零

}

}

小企鹅diy科学探究学习网

上一篇:脱欧下一篇:如何上好英语公开课