时间定时器(共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科学探究学习网 【时间定时器】推荐阅读: 机械定时器08-25 单片机定时器应用06-23 eda课程设计定时器06-08 定时器发条工艺编制与研究06-03 实验二 单片机定时器和计数器编程05-08 定时通知06-22 定时检测07-12 定时程序08-28 倒计时器06-27 多计时器08-09