定时通知

2024-06-22

定时通知(精选9篇)

定时通知 篇1

0 引言

现代计算机技术、网络技术和通信技术的飞速发展促使国民经济各领域的生产和管理系统全面信息化。随着各类软件应用的逐步普及和用户需求的日益提高,软件系统的整体规模和复杂度也在迅速增加,然而相应的交付时间和预算投入却越来越少。基于构件的软件开发(Component Based Software Development)方法[1]经实践证明可以有效解决上述矛盾,充分利用他人成果的拿来主义已经成为软件项目降低成本,加快进度的有效利器。

在各种软件中间件产品中,数据缓存、消息服务和定时通知属于最常见的几类基础服务。虽然引入现有的中间件可以降低成本和加快进度,但是集成多个单一功能的独立产品也会占用过高的系统资源,增加运维的复杂度,进而对软件系统的全生命周期成本[2]造成负面影响。

作者在主持研发Uni Base分布式内存数据库的过程中,发现对分布节点的数据同步机制稍加扩展即可满足客户应用对消息服务和定时通知的需求,进一步结合消息数据的持久化机制还可以方便地实现跨应用生命期的消息和提醒。使用Uni Base的多功能应用接口,客户应用无需购买第三方消息中间件或自行开发相关构件,即可拥有可靠的跨网络消息收发和定时通知功能。

在实际应用中,Uni Base分布式内存数据库不但在多个软件项目的实施中发挥了重要作用,而且随着实际需求的推动在继续不断地演化和完善。

本文将简要介绍Uni Base分布式内存数据库的系统架构,基本功能和关键实现方法。

1 系统介绍

作为独立的服务进程,Uni Base分布式内存数据库使用标准C/C++语言实现,具备优秀的运行性能和较低的资源占用,可以运行在Windows、Linux和Unix等多种流行操作系统上,并支持Oracle、SQL Server和My SQL等多种常见数据库系统作为底层的持久磁盘数据库。

Uni Base的典型部署如图1所示,具有下列基本功能:

数据缓存服务

支持数据就近或本地缓存;缓存数据按关系型组织;数据内容通过SQL定义;支持纯内存表、内存磁盘同步表和磁盘链接表等多种缓存方式;数据的持久化间隔各表独立可调。

消息收发服务

支持点对点、群发和广播等多种发送方式;提供约定投递时间、最大投递延迟等时间属性;提供是否持久存储及有效期等持久化属性。

定时通知服务

支持单次提醒、多次提醒和周期提醒等多种定时方式。

Uni Base的整体架构如图2所示,系统从下至上被分为平台无关层、基础服务层、应用服务层和对外服务层等多个层次,提供完备的主从切换、负载平衡、事务管理和权限控制功能。各层次内部则按功能划分为多个模块,并为各模块定义了标准的对外接口。各模块对外接口的标准化将系统的功能框架和实现细节完全解耦,使得系统在演化过程中可以利用Bridge模式[3]自由替换内部实现代码(例如用一个高效的开源加密构件替换现有的低效自实现构件),从而实现系统的高度模块化和构件化。(图2)

作为系统模块化和构件化的实践,Uni Base在研发过程中逐步引入了多个成熟的开源C/C++构件,例如利用ACE实现了跨平台[4],利用zlib实现了数据压缩[5],利用Open SSL实现了数据加密等[6]。

2 数据缓存的实现

2.1 内存表定义

Uni Base首先通过Power Designer等常见数据库设计工具在磁盘数据库定义内存表的结构;然后利用内部数据映射工具Uni Config建立磁盘表和内存表的映射关系,并配置数据内容、缓存方式、装载时机和内存空间分配策略等静态属性;最后将内存表的定义信息写入Uni Base的数据字典。

内存表的结构和数据无需与磁盘表保存一致,Uni Base支持使用SQL查询定义内存表,为客户应用在已有系统上自定义数据缓存提供了很大的灵活性。但是各内存表定义后,数据源上的所有事务必须通过Uni Base提供的接口完成,否则系统无法自动识别数据源的变化,可能导致内存表和数据源之间的失步。

2.2 内存表装载

Uni Base支持四种内存表装载时机以支持客户系统的不同需求:1)立即装载至所有服务器,多为系统配置数据,避免主备切换时的加载延时;2)立即装载至主服务器,多为用户配置的预加载数据;3)按需装载,多为用户配置的延时加载数据;4)不装载,磁盘链接表使用该方式。

Uni Base启动时,首先从数据字典读取各内存表的静态和动态属性,然后尝试从各内存表的磁盘快照文件装载数据,仅当磁盘快照文件不存在或损坏时,Uni Base才会重新从磁盘数据表装载。数据装载结束后,Uni Base还将检查内存表的事务流水号是否最新,否则还须从日志文件执行增量事务。

2.3 内存表持久化

Uni Base支持三种缓存方式以支持客户系统的不同需求:1)纯内存表的数据允许丢失,变化无须同步至磁盘数据库,多用于保存实时数据;2)内存磁盘同步表的数据不能丢失,必须实时或定时向磁盘数据库同步,这是最常见的数据缓存方式;3)磁盘链接表的数据不载入内存,仅作为一个虚拟的符号链接保持数据访问的透明一致,多用于对性能无特殊要求的大数据表。

Uni Base通过快照文件和日志文件实现内存易失数据的持久化,保证系统故障时用户数据不丢失。

系统运行时,可以根据数据字典的定义,定时把各内存表的当前数据和动态属性循环写入临时快照文件。快照文件的校验码和事务流水号可以保证数据的完整性和时效性。快照文件在系统启动或恢复时可以加快内存表的创建速度。

由于纯内存表允许数据丢失,磁盘链接表不载入内存,系统只需持久化内存磁盘同步表。系统在事务执行过程中实时把变化数据写入日志文件,后台任务则定时将日志文件中的增量事务写入磁盘数据库。与普通磁盘数据库一样,实时生成的日志文件还是内存数据库事务控制和故障恢复的基础。

2.4 分布事务提交

Uni Base的分布事务提交[7]采取比较简单的集中式策略:所有事务强制向主服务器提交,主服务器通过两阶段提交协议负责协调各分布节点。比较理想的情况是,所有涉及内存表均存在于主服务器,主服务器无需通过网络通信协调各分布节点,可大大提高事务的处理速度。

每个向主服务器提交的事务均分配一个顺序递增的全局事务流水号,Uni Base通过该流水号控制各分布节点的数据同步。事务提交前写入主服务器日志文件,最后通过同步消息依次向各从服务器和客户端同步事务。

2.5 分布节点同步

Uni Base的数据节点有三种角色:1)主服务器:通过预设竞争策略选举产生,负责接收读写请求、同步主磁盘数据库和转发消息;2)从服务器:主服务器离线时的竞争候选人,负责平衡主服务器的读请求、同步从磁盘数据库;3)客户端:客户应用的本地服务器,负责缓存用户数据和收发消息。

从服务器和客户端通过主服务器广播的同步消息完成缓存数据的更新。因为每个分布节点只维护一份内存表实例,所以只需一条广播消息即可完成整个网络的数据更新。主服务器的事务实时触发同步消息,每条同步消息分配一个事务流水号,各分布节点通过连续递增的事务流水号保证事务的顺序性。从服务器收到同步消息后同样需要写日志文件,以完成从磁盘数据库的同步。

2.6 客户应用接口

Uni Base为客户应用访问缓存数据,收发消息和定时通知提供统一的本地接口。该本地接口以动态链接库的形式提供,面向对象、清晰易用。客户应用访问缓存数据时,Uni Base本地接口负责从主服务器自动下载并维护本节点共享的唯一内存表实例,同时通过表锁控制缓存数据的并发访问。客户应用访问内存表少量数据时建议使用本地接口提供的缓冲访问方法集(Cached Access Methods)创建一份临时快照,降低共享内存表的访问冲突;访问内存表大量数据时也可使用本地接口提供的动态访问方法集(Dynamic Access Methods)直接访问共享数据区,避免大量数据复制的性能损失。

3 消息服务的实现

3.1 消息结构

Uni Base消息的逻辑结构如图3所示,主要消息域的功能如下:

消息头标记:在数据流中识别消息块的起始位置

消息总长度:在数据流中结合消息头标记判断消息块的结束位置

消息标志位:标识消息体是否压缩或加密

消息体格式:标识消息格式,进而选择不同的消息格式解析插件

消息体内容

■基本信息:接口自动生成的信息,如会话ID和消息序号

■路由信息:标识消息的发送方和接收方,决定是否跨节点投递

■时间信息:控制消息的投递时延和到达时间,帮助实现实时性和定时性

■持久信息:控制消息的持久存储和重复次数,帮助实现可靠性和重复性

■消息内容:用户自定义内容,典型示例如下:

◆消息主类型:粗略的消息类型

◆消息子类型:细化的消息类型

◆请求还是响应:标识客户端发出的请求还是服务器返回的响应

◆结果状态码:请求错误时返回的错误码

◆消息数据:具体的请求或响应数据

◆数字校验信息:保护消息内容的校验码或数字签名

3.2 消息格式

为了兼顾消息投递的效率和消息格式的开放性,Uni Base利用Strategy模式[3]支持多种消息格式解析插件,目前内置下列消息格式:

BIN(二进制格式):提供最高性能,用于进程内部处理。消息在网络节点内部处理时展开成为系统原生二进制格式,所有消息域均占用内存空间,编码处理方便。

FIX(类FIX协议[8]格式):提供最小长度,用于网络传输。消息在网络节点之间传递时压缩为“消息域ID=消息域值”的文本格式,实际传输时可以省略很多缺省域,结合压缩可以最大化缩短消息长度。

XML(XML文本格式)提供最大开放性,用于系统集成。Uni Base与外部系统交换数据时采用标准XML格式,提供开放接口与外部系统交换数据。

3.3 消息注册

消息接收方通过Uni Base本地接口登记关注的消息来源、消息类型和允许延时,保存这些信息的共享消息关注列表作为系统内存表通过数据同步机制由主服务器同步至各分布节点。

消息发送方通过指定消息的接收范围可限制关注应用的分布节点、应用类型和应用实例,同时保证了消息投递的目标性和安全性。

3.4 消息调度

为了保证消息投递的实时性,客户应用可以声明各类消息的最大投递延时。系统根据消息的投递延时和网络最近传输延时动态计算消息队列中各消息的最迟发送时间,然后通过对最迟发送时间排序来决定各消息的实际投递顺序。

如图4,当消息源应用和目标应用在同一节点时,本地客户端直接投递消息,无需计算网络传输时延;当消息源应用和目标应用在不同节点时,本地客户端通过主服务器转发消息,需要考虑网络传输时延。各节点之间的网络传输时延通过节点之间的心跳消息定期计算。

3.5 消息路由

使用消息服务的客户应用需要安装Uni Base本地接口。各节点的本地接口仅与主服务器通过TCP或SSL通信,本地接口负责在本地应用之间转发消息并通过主服务器转发网络消息,主服务器负责在各分布节点之间转发网络消息。

客户应用发送广播消息时,本地接口和主服务器通过消息关注列表决定向哪些分布节点和本地应用发送消息。

3.6 消息可靠性

为了保证系统故障时重要消息不丢失,凡设置持久属性的消息都必须先写入磁盘消息文件后才允许发送;同时接收方需要返回确认消息,超时未确认的消息将由本地客户端自动重发;仅当所有目标应用均返回成功确认后本地客户端才允许删除磁盘消息文件。

由于可靠消息的额外处理步骤,其传送延迟和资源消耗都将显著提加。客户应用应该根据自身的业务需求决定是否设置持久存储属性。

4 定时通知的实现

4.1 服务登记

客户应用可以通过Uni Base本地接口登记一次性提醒、重复多次提醒和周期循环提醒这三种服务方式。

Uni Base的定时通知功能通过向目标应用发送定时消息来实现。Uni Base为消息增加首次投递时刻、重复投递间隔、重复投递次数等扩展域,并在客户端中增加相应的处理逻辑来实现定时消息投递。跨应用生命期的提醒则通过设置定时消息的持久化属性实现,这样即使客户应用退出或Uni Base重启也不影响已登记定时通知服务的有效性。

4.2 定时通知

客户应用登记的定时条件满足时,目标应用将收到一条提醒消息。目标应用根据消息的内容自行决定相应的处理动作,如触发特定的通知信号或调用相应的功能函数。

Uni Base本地接口将每个登记的定时通知服务转化为一条定时消息即时发送到本地客户端。本地客户端将收到的定时消息插入定时消息队列。定时消息队列按消息的投递时刻排序,延时结束后自动向目标应用投递消息,同时根据剩余投递次数删除消息或更新消息在定时消息队列中的位置。

5 结论

基于构件的软件开发方法已经被软件行业广泛接受,然而自制还是外购、购买哪些构件又成为系统设计人员必须面对的新问题。数据缓存、消息服务和定时通知作为常见的基础服务,在各类软件系统中有着广泛的应用。作者主持研发的集成消息服务和定时通知的Uni Base分布式内存数据库将这三者有机地结合起来,在降低资源占用的同时,也提高了系统的可维护性。

Uni Base的主要适用对象是对数据访问有较高性能要求的各类软件系统。作为通用的关系型内存数据库,它比磁盘数据库更快,比实时数据库更灵活,同时还具备基本的消息服务和定时通知功能。目前,Uni Base尚未提供对内存表的标准SQL访问(仅提供对磁盘链接表的原生SQL支持),一旦完成对内存表的标准SQL支持,Uni Base作为各类软件应用和磁盘数据库之间的透明数据缓存层,必将开拓更广阔的应用空间。

参考文献

[1]何国斌,马世龙.基于构件的软件开发的方法与实践[J].计算机工程与应用,2000,36(10):90~93.

[2]庞浩.新型软件项目成本管理模型的构建及应用[D].北京:北京工业大学,2006.

[3]GAMMA E,HELM R,JOHNSON R,等.设计模式:可复用面向对象软件的基础[M].马晓星,蔡敏,刘建中.北京:机械工业出版社,2000.

[4]HUSTON S,JOHNSON J,SYYID U.ACE程序员指南:网络与系统编程的实用设计模式[M].马维达.北京:中国电力出版社,2004.

[5]刘丽伟,邓春健.多文件压缩传输及解压缩的方法[J].武汉理工大学学报(交通科学与工程版),2009,33(6):1211~1214.

[6]郭靖,王营冠.基于OpenSSL的CA认证及SSL加密通信[J].现代电子技术,2012,35(3):104~107.

[7]申德荣,于戈,等.分布式数据库系统原理与应用[M].北京:机械工业出版社,2011.

[8]邓少灵.金融信息交换协议FIX[J],计算机应用研究,2002,19(12):8~10.

定时通知 篇2

【法规名称】关于印发《关于企业实行不定时工作制和综合计算工时工作

制的审批管理办法》的通知

【颁布机构】广东省劳动和社会保障厅

【发文号】粤劳社发〔2009〕8号

【颁布时间】2009年02月01日

【实施时间】2009年03月01日

【效力属性】有效

【题注】为加强对企业实行不定时工作制和综合计算工时工作制的审批管

理,维护劳动者的合法权益,根据《中华人民共和国劳动法》、原劳动部《关

于企业实行不定时工作制和综合计算工时工作制的审批办法》(劳部发〔1994〕

503号)和国家有关规定,制定本办法。

【所属类别】通知

下载时间:101216

定时通知 篇3

类人机器人的关节除了机械部件以外,最主要的活动部件是伺服电机(舵机)。一个舵机表示机器人的一个自由度。通常驱动舵机的是PWM(Pulse-width modulation脉宽调制)信号。PWM信号是一种周期性的方波信号,通过调制高电平的时间的长短来表示整个方波平均值的变化。一个周期内高电平的时间与整个周期的比值叫占空比。如图1所示。

占空比D=τ/T

其中τ是高电平的时间,T是方波的周期

舵机通常由电源、底线和P W M信号线三根线输入控制。不同舵机对P W M信号参数规范有所不同,通常而言,输入舵机的PWM信号周期在12ms到20ms之间,高电平脉宽0.5ms到2.5ms。高电平的脉宽决定舵机转角,一般是0.5ms时舵机转动0度,1.5ms时转动90度,2.5ms时转动180度。高电平脉宽和转动的角度成近似正比关系[1]。

在Robocup比赛中,有一项比赛是六个自由度的机器人行走翻滚等基本动作比试。其实质是对6路舵机的控制,控制电路要求输出稳定持续的6路P W M信号驱动6个舵机关节的转向。本文基于这一特点,设计了6路舵机的控制电路板,控制板程序和上位机程序。

2 硬件电路设计

硬件电路设计包括选择相应的控制单片机,与上位机的通信方式以及电源模块等。一般单片机本身都集成了3路P W M信号输出口,通过设置定时器可以比较方便的控制3路P W M信号的输出。这种方式的优点是可以通过设置定时器的比较值和最高值可以很方便改变P W M高电平的时间,从而控制舵机的转角。对于6路舵机的控制这种方式不是很适用。因此本文采取的方案是通过单片机定时器的精确定时,改变单片机通用I/O口的高低输出状态,在通用I/O口模拟输出PWM信号。如图2所示。

综上所述,本文使用Atmel公司的ATmega16单片机作为整个控制电路的主控芯片,PA0~PA5六个通用I/O作为P W M信号输出口,与上位机的通信方式采用U S A R T串口通信。为了方便操作机器人工作,增加了单片机和n RF2401A无线传输模块的连接。为了提高舵机的扭矩,单片机和舵机采用分开供电的方式。

A T m e g a 1 6是A V R公司推出的一个性能卓越的8位单片机,它的内部集成了较大容量的内存和丰富强大的硬件接口电路,具备A V R高档单片机M E G A系列的全部性能和特点,但由于采用了小引脚封装(为PDIP和TQFP),所以其价格仅与低档单片片机相当,成为具有极高性价比,深受广大用户喜爱的单片机。ATmega16具有以下特点[2]:

(1)16K字节的在线编程/应用编程(ISP/IAP)FLASH程序存储器,512字节EEPROM,1K字节SRAM。

(2)32个通用工作寄存器,32个通用I/O口。

(3)3个带有比较模式灵活的定时器/计数器,18+2个内外中断源,1个可编程的USART接口,1个8位I2C总线接口,8通道的10位ADC,可编程的看门狗定时器,1个SPI接口。

(4)5种可通过软件选择的节电模式。

n RF2401A是Nordic北欧集成电路公司生产的单片射频收发芯片,工作于2.4~2.5GHz ISM频段,芯片内置地址解码器、先入先出堆栈区、频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。芯片能耗非常低,工作电流小,多种低功率工作模式,节能设计更方便。其Duo CeiverTM技术使n RF2401可以使用同一天线,同时接收两个不同频道的数据。n RF2401A有125个可满足多频及跳频需要的2.4GHz频段多频道,高达1Mbps的发射速率,外围电路简单,嵌入C R C通信效验协议,可通过软件设置40 bits的通信地址、通信频率、发射功率等,提供一个中断指示。n RF2401A适用于多种无线通信的场合,如无线数据传输系统、无线鼠标、遥控开锁、手持终端PDA设备等[3]。

利用nr F2401A的通道1和单片机进行数据传输,通过无线数据传输的方式向舵机发送通道值和角度值。上位机可以是PC机通过串口连接的n RF2401A发射模块,也可以是其他单片机连接的n RF2401A发射模块。本文采用上位机是P C机连接n R F 2 4 0 1 A发射模块的方式。n RF2401A接收模块和ATmega16的连线如图3所示。

3 控制板程序设计

控制板程序设计主要包括定时器精确定时输出6路PWM信号,USART收发程序以及n RF2401A收发程序。

上位机程序通过串口向下位机(ATmega16)发出每路舵机的要转到的角度值,下位机程序把角度值映射成相对应的定时时间量,该时间量就是每路通道高电平的时间。把某一路通道的I/O置高后的持续为高电平的时间由A T m e g a 1 6定时器产生。6路P W M信号每一路高电平脉宽都有定时器定时产生,在单片机的定时器中断程序里,把每个舵机要转动的角度值对应成相应的定时时间值,逐次累加作为下一次定时器中断的比较值,在每次进入中断程序时处理某一路通用I/O口为低,另一路通用I/O为高,下一次中断程序处理其他通用I/O口,直到处理完所有6路通用I/O口作为一轮处理结束后开始下一轮处理。以这样的方式在通用I/O口输出周期性的方波型号,即模拟出的P W M信号。以要生成如图4的6路P W M信号为例。

初始化时,所有连接舵机的通用I/O口都清零,即低电平状态,设定定时器的定时初始比较值为P W M信号周期20ms时间对应的值T=2000(假定),这个值很关键,它决定了可以同时输出几路P W M的问题,每一轮对通用I/O的致高清零操作必须能对每个I/O口的状态至少轮询一次,因此以普通舵机转到的极限角度180度来设定最多在一个周期20ms可以同时输出几路PWM信号。图例要求所有舵机都转到最大的角度180度,即要求每个通道的P W M信号输出高电平2.5 m s,周期是2 0 m s,所以最多可以同时输出7路PWM信号。当然,有些舵机转动1 8 0度的额定P W M信号高电平时间是2 m s,这样可以在周期20ms内最多可以同时输出10路PWM信号,如果有些舵机要求的P W M信号周期少于2 0 m s的话,则通用I/O能同时输出P W M信号的路数也相应减少。下面以上图为例,解释在20ms周期内如何同时输出6路PWM信号的过程。初始化,打开中断经过20ms后,进入定时器中断程序,首先把channel_0清零,把channel_1置高,然后把channel_1要转到的角度值(图例是180度)对应的时间值(图例是2.5ms)转换成下一次定时器比较值的一个累加值Δt=250,把T+Δt的和值赋给T,即T=T+Δt作为下一次定时器的比较值产生下一次定时器中断,也就是说经过2.5ms再一次进入定时器中断程序,把channel_1清零,channel_2置高,这时实现了channle_1输出2.5ms高电平的要求,然后再把channel_2所要转到的角度值转换成下一次定时器比较值的累加值Δt,把T+Δt的和值赋给T,即T=T+Δt作为下一次定时器比较值,经过2.5 m s再一次进入定时器中断程序,把channel_2清零,channel_3置高,依次轮询,直到把channel_5清零,完成一次所有的通道处理,下一次的定时器比较值的累加值是Δt1,Δt1表示定时器中断程序按序处理到本轮的最后一个通道后与进入下一轮的处理第一个通道的时间差值,把T+Δt1的和值赋给T,即T=T+Δt1作为下一次定时器的比较值,即在经过Δt1时间后,定时器中断程序根据各个舵机要求的变化的角度值值进入下一轮通道的清零和置高。通过定时器比较值不停累加变化比较值来来达到各个通道的清零和置高,由此产生所要求的P W M信号来驱动6路舵机。通过定时器定时的方式产生的P W M信号精度高[4]。

定时器中断程序流程图如图5所示。

USART接收程序主要是接收上位机发送的舵机通道和舵机角度值。相对简单,略。

n RF2401A主要是通过无线数据传输方式接收上位机发送的舵机通道和角度值。程序较为简单。略。

上位机程序通过串口发送舵机通道和角度值。略。

4 结束语

本文主要是通过定时器的精确定时在一个舵机控制周期内实现同时输出多路P W M信号。这一方案主要是针对控制10路以下的舵机,定时精确,控制算法相对简单。

参考文献

[1]梁锋,王志良,解仑,徐文学.多舵机控制在类人机器人上的应用[J].微计算机信息,2008,24,(1-2):242-243.

[2]Atmel公司.ATmega16英文数据手册[EB/OL].http://pdf1.alldatasheet.com/datasheet-pdf/view/78532/ATMEL/ATMEGA16.html,2002,10.1-2

[3]Nordic公司.nRF2401A英文数据手册[EB/OL].http://pdf1.alldatasheet.com/datasheet-pdf/view/144035/ETC/NRF2401A.html,2004,12.1-2.

定时通知 篇4

一、中断总使能: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科学探究学习网

大楼综合定时(供给)系统 篇5

时钟是产生尽可能高的频率准确度和频率稳定度的振荡源, 提供时间或频率的基准。目前所用的振荡源主要由以下几种:

1.1 原子钟

原子钟是世界上具有最高稳定度的振荡源, 常用于最高级别时钟基准源, 而且没有老化现象。依使用原子种类的不同, 而有氢钟、铯钟、铷钟等类别, 商用主要是铯钟与铷钟。

1.2 晶体钟

石英谐振器简称晶体, 是晶体振荡器的核心元件。晶体种体积小、重量轻、耗电少, 短期稳定度好, 价格也比较便宜。但长期稳定度和老化率比原子钟差。

1.3 GPS钟

GPS (全球定位系统) 是全天候的、基于高频无线电的卫星导航系统, 定时信号稳定可靠。GPS可以提供三维信息:经度、纬度及海拔高度, 还可提供速度与时间信息等。整个GPS系统包括三大部分:空间部分、地面部分与用户部分。

空间部分:有一群高度为20183KM的绕地球运转周期为12小时的卫星组成, 共有24颗卫星, 运行在6个环球轨道上;地面部分:包括一个主控中心与一些广泛分散的调节点。地面控制网跟踪这些卫星, 精确地控制它们的轨道, 并且间断性地校正天文数据及其它系统数据, 通过卫星传送给用户;用户部分:GPS接收机及其支撑设备。

2 大楼综合定时 (供给) 系统

BITS是大楼综合定时 (供给) 系统 (Building Integrated Timing Supply) 是为现代通信网上各种数字通信设备提供统一高质量时钟基准信号的设备。以BITS为核心的现代数字同步网, 成为整个通信楼内或通信区域内的专用定时供给发生器, 它能接受源自基准时钟信号的同步, 并滤除由于传输所带来的各种损伤, 重新产生高质量的定时信号并向楼内或区域内的所有被同步的数字设备提供各种定时信号。因其是专门设置的时钟系统, 从而能在各个通信楼内或通信区域内, 用一个时钟统一控制各种网的时钟 (传输、交换、接入等) 使得同步网成为脱离了各种网的一种支撑网, 解决了各种网的同步问题, 同时也有利于同步的监测、和管理。

3 大楼综合定时 (供给) 系统的性能特点

3.1 灵活配置, 适应不同级别

时钟单元即可为铷原子钟、又可为高稳晶体种, 能够灵活地进行不同时钟级别地配置, 还可以配置GPS接受系统, 用GPS信号做为基准时钟信号。适合不同级别地交换局用作专用定时供给系统。

3.2 采用GPS技术, 大大提高时钟源性能

GPS信号为实现精密的全球卫星同步提供了基础, 利用GPS接受系统可获取长期稳定度优良的信号;同时采用高性能的铷原子振荡器或优质高稳恒温晶体振荡器作为本地振荡器, 从本质上保证了输出频率的短期稳定度。将GPS信号的长期稳定度与铷原子钟和恒温晶体振荡器的短期稳定性相结合, 使铷原子钟拥有銫原子钟的指标, 使晶体种拥有铷原子钟的指标。GPS技术和铷原子钟的结合获得了最完美的时钟。

3.3 外基准源输入丰富

即可跟踪GPS, 又可跟踪外部的2048kbit/s等时钟信号, 当多输入源存在时, 智能选择最高精度的输入源使用。拥有可靠的防雷接口, 可以使输入端口不受雷击、高压和短路的影响。

3.4 灵活丰富的输出端口

既有2048KHz、2048kbit/s输出, 又可提供10MHz、5MHz、1MHz、64KHz、16KHz、8KHz等同步时钟信号输出。端口数量达480个, 适用于不同的负载。输出电路具有智能识别功能, 能自动判断输出接口的线路状态。

3.5 同步状态信息SSM

具备同步状态信息 (SSM) 功能, 通过同步状态信息字 (SSMB) 获取上游节点时钟质量, 选择质量最好的时钟源, 并向下游节点输出同步状态信息, 从而改善了同步网的稳定性与可靠性。

4 BITS设备在本地网的应用

本地同步网的结构设计如图, 全网共有6套BITS设备, 其中局站1跟踪省际的长途干线的基准时钟 (级别为LPR) , 也可以通过GPS板接收卫星信号与内部的铷钟板形成定时信号;局站2跟踪省际长途干线的基准时钟LPR, 也可以跟踪局站A的定时信号。其余各局站BITS跟踪局站1与2的定时信号。这样, 每个局站都可保证主备两路时钟, 正常情况下, BITS设备先以本身的GPS为参考, PRC和邻近LPR信号仅为紧急情况下的参考。

555定时器应用电路 篇6

一、555分段式定时电路

如图1所示, IC1和R1、RP1、C1等组成单稳延时电路, IC2和R2、RP2、C3等组成单稳定时电路, 二者构成分段式定时电路。

按下AN按钮约2秒钟, C1充满, IC1的 (3) 脚呈低电平。IC2置位, (3) 脚呈高电平, K吸合, 开始定时。此后, C1经RP1放电, 至UDD/3, IC1翻转, 呈高电平, IC2复位, K释放。

第一阶段定时, t1=1.1RP1C1, 约27分钟。

第二阶段定时, t2=1.1 (RP2+R2) C3, 约27分钟。故总定时T=t1+t2, 约54分钟。

二、555自动曝光电路

如图2所示, 该电路只用一支555和少量的阻、容元件组成。

555为单稳延时电路。按一下AN按钮, 则555置位, (3) 脚呈高电平, 执行机构或曝光灯点亮。硅光电池受光照, 产生的光电流I对C1充电, 当C1上电压超过2UDD/3阈值电平时, 555电路复位, (3) 脚转呈低电平, 执行机构 (或灯) 无电停止工作。阈值电平可由RP1调节, 其值应大于1.4 V。

三、555曝光定时器电路

如图3所示, 相片曝光定时电路以555为核心组成。这是一个人工启动式单稳态电路。按一下AN按钮, 定时电容C1立即放电到零, 555置位, 计时开始, J吸合, 电灯H得电点亮。灯亮的时间, 即C1充电到其电压升至阈值电平2UDD/3的时间td=1.1 (R1+RP1) C1。时间长短可根据胶片的种类具体而设定。定时到, 555又恢复至复位状态, (3) 脚转呈低电平, J释放, H自熄。图示参数的td约为2分钟。

四、555自动曝光定时器电路

如图4所示, 555和C1、硫化镉光敏电阻RG等组成单稳延时电路。将RG装在相机旁, 曝光时, 按下AN, 则555置位, J吸合, 曝光灯 (白色) 亮。光照强, 则RG呈现电阻小, td=1.1RGC1就短;光照弱, RG阻值大, td则长。td时间到, J释放, 白灯熄, 红灯亮, 曝光定时完成。

定时自动收球装置 篇7

数十年来, 设计人员对收球装置进行多次改进, 使得收球操作不断简化。但因受限于收球的工艺流程, 手工收球的操作方式却一直未发生变化。

对于拥有数万口油井的大油田, 在各井口及输油站都需要操作人员每日定时收球。这种工作方式极大制约油田自动化、数字化管理, 也不利于削减生产成本。

因此, 研发定时自动收球的装置就显得尤为迫切。

1 人工收球操作简介

人工收球工艺流程如图1所示。

每次操作人员收球时, 首先需要打开旁通管线的阀门, 而后依次关闭收球装置前后的两个阀门。在泄放收球装置段的压力后, 再加热化蜡。最后打开快开盲板, 将清蜡球取出。收球完毕后, 恢复工作状态时也同样需要繁琐的操作。

人工收球的方法缺陷显而易见:收球的操作繁琐、收球自动化程度极低、操作人员的劳动强度大;年复一年, 油田企业对此在人员与设备方面支出的生产费用巨大。

2 定时自动收球装置

定时自动收球的装置的研发成功克服了人工收球方法的缺陷与不足。

2.1 结构形式

定时自动收球的装置由收球筒、收球阀、集球箱和定时自动控制箱四部分组成。其主要结构如图2所示。

其中, 收球制阀为特制球阀。本装置充分利用球阀内球体的特性, 仅需通过有序控制球阀芯的转动方位, 便可将清蜡球取出管线。

2.2 工作原理

定时自动收球装置的工作原理较简单。

(1) 清蜡球由输油管线进入收球筒。经过加热, 化蜡使清蜡球自然降到收球筒的底部。

(2) 定时自动转动球阀阀芯180度, 使清蜡球滑入球阀的阀芯。

(3) 相隔数十秒后, 球阀阀芯自动回转180度, 使清蜡球滚入集球箱。

(4) 自动控制程序出现故障, 可以使用电控箱面板上设置的手动开关进行临时手工操作。

(5) 在一段时间之后, 操作人员移动并打开集球箱, 取出清蜡球。

此外, 可根据实际生产要求和现场条件, 确定集球箱的尺寸大小。

可以看出, 由于自动化程度高, 该装置的收球效率高;消除过去繁琐有序的操作工序、减轻操作人员的劳动强度。操作人员无需对输油管线及设备进行任何操作, 只需定期取出清蜡球即可;将每日定时进行繁琐的清理过程, 改变为在数日一次甚至更长时间进行一次。

3 现场试验与收用

2009年年初, 首台自动收球装置在长庆油田第二采油厂安装, 进行生产试验。当日, 所有参加试验的清蜡球都在其下游的增压点, 由该设备顺利回收。试验取得圆满成功。

随后, 首批定时自动收球装置投用于长庆油田第二采油厂。在近两个月的生产试运行中, 该型设备均安全高效运行, 未出现任何技术性故障。鉴于其操作简单、运行稳定可靠, 同时又能大量削减操作人员数目, 该批设备深受使用方好评。

目前, 定时自动收球技术被申请为国家专利。长庆油田公司正式决定全面推广使用。

4 结语

定时自动收装置结构简单、性能稳定可靠、自动化程度高。不但革新了收球工艺操作模式, 将操作人员从长年累月繁琐的手工收球操作解脱出来。同时大大减少油田与收球操作相关的人员配置数目, 符合油田企业减员增效的工作要求。若结合已研发的自动投球装置, 可实现从井场至增压站 (或接转站) 无人值守的数字化生产。进一步为油田自动化、数字化生产奠定基础。

相信定时自动收装置不仅会在长庆油田, 日后也会在国内其他大油田广泛使用, 为我国的原油生产发挥积极的作用。

注:1、收球筒外壳;2、接管、法兰;3、收球筒;4、大小头;5、收球法兰;6、电动收球阀体;7、电动收球阀芯;8、支腿;9、集球箱盖;10、集球筒;11、收球筒外壳门;12、清蜡球;13、控制箱;14、控制盘;15、电动头;16、集球箱滑道;17、集球箱轨道;18、轨道支撑;19、轨道转向柄。

摘要:定时自动收球装置是一种新型收球设备。该设备革新了传统的收球工艺操作。不仅降低操作员工的劳动强度, 也大幅削减与之相关的生产成本支出。因此该设备具有较好的市场前景。

智能避雷定时插座的设计 篇8

通常人们日常生活中使用的插座,只具有单一功能,实现开关和接用各种电器,但有时需要对电器设备进行时间控制。另外通常的插座不具备避雷的作用,当发生雷击时,接在插座上的电器(例如:电视)就可能被烧毁。因此,人们需要具有定时和避雷功能的智能插座。智能避雷定时插座将定时功能加入到插座中,用户可以根据需要自由设定时间,待时间到达时,插座自动接通或者断开。当发生雷击时,插座保持断电状态,保护接在插座上的电器。

1 系统组成

智能避雷定时插座,包含一个变压器,将AC220 V变成AC 9 V;一些二极管组成全波整流电路;一些电容组成滤波电路;一个7805稳压块,以上部分组成稳压电源把AC 220 V变成DC 5 V。3节5号电池组成4.5 V备用电源;DC 5 V继电器电路,通过继电器的得电或失电来控制插座的通电或断电;一个4位共阳极7段数码管;一些按钮、RC滤波电路组成输入电路,RC滤波电路可防止按钮输入的抖动影响;瞬态电压抑制二极管组成防雷保护电路,当有雷电发生产生过电压时,过压电流可经瞬态电压抑制二极管入地,从而保护电器设备。一个AT89C51单片机系统;一个ULN2003A集成芯片,该集成芯片提高了单片机的驱动能力;两个二极管组成电源选择电路,选择电路的作用是当有AC 220 V时,稳压电源提供DC 5 V给单片机系统,当AC 220 V断电情况下,由电池提供DC 4.5 V给单片机系统。

2 系统硬件

智能避雷定时插座的硬件部分通过以下技术方案来实现。

2.1 稳压电源电路

稳压电源电路如图1所示。变压器变压后的9 V交流电经过整流电路、滤波电路、7805稳压电路后,输出DC 5 V电压。

2.2 DC 5 V继电器电路

继电器电路如图2所示。当JDSC端有DC 5 V时,继电器不工作,220V1端与220V3端断开,插座断电;当JDSC端有0 V时,继电器工作,220V1端与220V3端接通,插座通电。

2.3 4位共阳极7段数码管电路

数码管电路如图3所示。采用动态显示方式,4BIT端、3BIT端、2BIT端、1BIT端循环高电平,逐一点亮每一位数码管,使4位7段数码管高速循环显示,从而显示出当前数值[1]。

2.4 按钮、RC滤波电路组成输入电路

输入电路如图4所示。按钮开关的结构为机械弹性元件,在按键按下和断开时,触点在闭合和断开的瞬间会接触不稳定(抖动),键盘的抖动时间一般为5~10 ms,抖动现象会引起CPU对一次按键操作进行多次处理,从而产生错误。为了消除抖动现象,采用了RC滤波电路,例如,当按钮S1按下时,由于电容两端电压不能突变,QIEH端并不能立即变成0 V,要待电容C4放电结束(约10 ms时间)后,QIEH端才为0 V,从而有效避免了一次按键操作进行多次处理。

2.5 防雷保护电路

防雷保护电路如图5所示。当有雷电发生产生过电压时,过压电流可经线地之间的瞬态电压抑制二极管VD2、VD3入地,而它们的对地电压之差又被两线间双极型瞬态电压抑制二极管VD1进一步抑制,从而保护电器设备。

2.6 ULN2003A集成芯片和单片机的综合应用

ULN2003A集成芯片和单片机综合应用如图6所示。在单片机控制系统中,常需要用开关量去控制和驱动一些执行元件[2],但80C51单片机驱动能力有限,且高电平(拉电流)比低电平(灌电流)驱动电流小。通常会采用晶体管相关电路来提升驱动能力,单片机一个输出点对应一个晶体管驱动电路,当单片机系统由多个输出点时,晶体管驱动电路就会比较多,会占用印刷电路板的空间,而且晶体管驱动电路的驱动能力有限。为了节省印刷电路板空间和加大驱动能力,采用ULN2003A集成芯片和单片机的综合应用。ULN2003A集成芯片每片封装了7个达林顿管,每个驱动管的输出电流可达500 mA(峰值600 mA),输出电压达DC 50 V,为感性负载集成了抑流二极管,对于较大的电流,可以将输出并接使用,输入与TTL/CMOS/PMOS/DTL兼容。

ULN2003A集成芯片在使用时,相当于一个反向器。如图6所示,当P2.0为低电平时,4BIT为高电平,第4位数码管选通;当P2.0为高电平时,4BIT为低电平,第4位数码管不显示。

2.7 电源选择电路

电源选择电路如图7所示。当AC 220 V有电时,稳压电源电路正常输出DC 5 V电压,VCCG处有DC 5 V电压,这时二极管D2导通,二极管D1截止,VCC处输出DC 5 V电压;当AC 220 V失电时,稳压电源电路不能输出DC 5 V电压,VCCG处悬空,这时二极管D1导通,二极管D2截止,VCC处输出DC 4.5 V电压,改为备用电池供电(如图6)。

当采用备用电池供电时,ULN2003A集成芯片输出端VCCG悬空,所以4BIT、3BIT、2BIT、1BIT、JDSC悬空,继电器不工作,数码管中数字不显示,节省备用电池的电能。数码管中间两点显示是独立控制的(如图3),引脚7上面接的是VCC,电池供电时,VCC处输出DC 4.5 V电压,所以中间两点是有显示的,表示系统仍然在工作中。

3 系统软件

单片机系统的主程序用于设定中断系统和定时器的初值,然后一直等待定时中断的产生,如图8所示。定时中断程序是实现系统功能的核心部分,在定时中断程序中实现数据处理和按键扫描检测以及根据条件实现对继电器的控制,从而实现插座的接通和断开。

进入定时中断程序,程序首先检测用户是否按功能切换键如图9所示,用户每按一次功能切换键,程序变换一下执行方向,程序由执行功能一程序段变换成执行功能二程序段,或者程序由执行功能二程序段变换成执行功能一程序段,然后执行数码管显示程序,让用户能够看到正在执行的时间,然后重装定时器初值,返回主程序,等待下一次定时中断产生。

功能一程序段主要实现倒计时接通或者关闭插座的功能。进入功能一程序段,程序先检测用户是否按确认键,没按确认键,程序进入时间设定部分,用户可以自由设定时间;按确认键,程序则进入倒计时状态,待时分秒全为零时,插座接通或者断开。然后检测用户是否按复位键,按复位键系统复位,时分秒全归零、插座断开;没按复位键,退出功能一程序段。功能二程序段显示时间,初态为00:00,用户可以自由设定时间,用户还可以设定插座接通和断开的时间,当时间达到时,插座接通或者断开。

4 系统功能

智能避雷定时插座有5个按键供用户操作,分别是功能切换键、时调整键、分调整键以及开时间设定/复位和关时间设定/确认键两个复用键,两个复用键在功能一中分别起到复位、确认的作用,在功能二中则是相应的第二功能。系统初次通电后,自动处于功能一状态,每按一次功能切换键,功能一与功能二作一次切换。

智能避雷定时插座初始状态四位数码管上时分都显示为零,用户可以通过时调整键和分调整键自由调整时、分的数值,然后按确认键,系统开始倒计时,当时分秒都等于0时,继电器的状态作一次变化(由通到断或由断到通),插座的通断则也发生一次变化,继电器的额定工作电流是20 A。

无论系统处于功能一状态还是功能二状态,当有雷电发生产生过电压时,过压电流经过瞬态电压抑制二极管入地,插座没有电压,从而保护电器设备。

5 结语

智能避雷定时插座内分别设有定时电路和防雷电路,可以同时起到定时和防雷的作用,这样就大大地方便了人们的日常生活,而且能够对接在插座上的电器形成有效的保护。智能避雷定时插座在实际应用中取得了很好的效果。

参考文献

[1]孟祥旭,李学庆.人机交互技术——原理与应用[M].北京:清华大学出版社,2004.

面包板数字定时提醒器 篇9

面包板数字定时提醒器由时钟电路、倒计时电路、时间调整电路、节电电路和提醒驱动电路5部分组成。其电路由3节5号电池供电。开机后, 数码管显示两位数字表示当前预设的时间是多少分钟。此后, 每过1分钟, 数码管显示数字减1;当显示数字为“0”时, 电路蜂鸣器发出鸣叫, 提醒人注意时间到了。它可以在任何时候调整预定时间;例如当前显示20分钟, 而需要定时15分钟, 则只需按下快退按钮AN1将数字调整至“15”即可。电路如图1所示。

1. 时钟电路

时钟电路的功能是产生一个周期是1分钟的计时脉冲。它由CD4060组成的晶振电路产生32768Hz信号, 经过分频输出变成2Hz的信号传送到CD4040分频器;CD4040分频器组成120分频电路, 将2Hz信号变成周期为1分钟计时信号传送到CD40110的减法计数器进行倒计时运算。

2. CD40110倒计时电路

CD40110是集计数、译码、驱动等功能于一身的集成电路, 可输出驱动7段显示器, 输出驱动电流达10mA以上。它的引脚接线图如图2所示。

它有两个时钟输入端CP+和CP-, 分别担当加1和减1的运算;当一个时钟输入端计数工作时, 另一个时钟输入端可以是任意状态。CO为进位 (加法) 输出端、BO借位 (减法) 输出端, 常态下它们为高电平;在多片级联时, 需要将CO和BO分别接至下级CD40110的CP+和CP-端。

引脚CR为清零端, CR=“l”时, 计数器复零。引脚CT为计数禁止端, 当CT=“0”时计数器工作, CT=“1”时, 计数器处于禁止状态, 即不计数。引脚LE为显示锁存端, LE接高电平, 显示数字保持不变, 但它的内部计数器仍正常工作;关闭锁存功能后, 可以继续显示当前时间。笔段输出端a~g分别用来驱动7段数码管的相应字段。

本电路用2只CD40110组成级联计数器, 可显示0~99分钟的时间。在定时器工作状态下, CD40110组成减法计数器, 所显示时间为剩余时间;当计数器运算结果为零时, 也就到了定时提醒器的预定时间;这时提醒电路的蜂鸣器HA发出鸣叫。

3. 时间调整电路

定时器有两个控制按钮AN1和AN2, 可用来预设定时时间。电路可随时调整定时时间。如果需要减少当前的时间, 可以按下快退按钮AN1;这时, 由CD4060的Q6输出端产生的频率为512Hz的脉冲取代了原来由Q14输出端2Hz的脉冲;CD40110计数器的运算速度就比原来每分钟减1快了256倍, 变成了大约每秒钟减4个数字。如果需要增加当前的时间, 可按动快进按钮AN2;这时, 由CD4060的Q13输出端产生的频率为4Hz的脉冲加到了CD40110计数器的时钟加法输入端CP+上, CD40110则受控每秒钟增加4。因为CD40110的两个时钟输入端是相互独立的, 这时减法输入端仍然进行每分钟减1的运算, 但对每秒钟加4的计算没有任何影响。

4. 节电电路

节电电路有两种功能;一是当定时器正常工作时, 数码管每秒钟亮半秒钟、熄灭半秒钟;另一个是数码管的十位数为零时, 该数码管完全熄灭。数码管IC6的共阴端接有一个限流电阻R10, 该电阻没有直接接地, 而是通过一个T3三极管9014接地。T3的基极通过电阻受CD4040的Q1端控制;该端输出周期为1秒钟的方波, 可以控制T3每秒钟导通半秒钟, 这样就可以让显示分钟的个位数的数码管IC6每秒钟亮半秒钟。显示分钟的十位数的数码管IC7通过T1三极管9014, 再串联到T3三极管9014接地;当分钟的十位数正常显示时, 同样也是每秒钟亮半秒钟。

为了让数码管IC7为零时熄灭, 在CD40110的7段数码管的“f、g”字段的两个输出端分别连接了两个CD4011与门逻辑电路, 可将显示数字“0”时的信号取出并转变成逻辑值“0”;再用这个逻辑值0, 也就是低电平通过电阻R8控制T1三极管, 使数码管IC7不亮。其原理是这样的:当7段数码管显示数字“0”时, 字段“f”为1, 同时字段“g”为0;而其余9个数字“1、2、3、…9”的“f”、“g”字段与此不同。CD4011连接在“g”端的非门把0变成1, 再由一个与非门把这个1与“f”端的1变成0输出到T1三极管。

5. 提醒驱动电路

提醒驱动电路用来在到达预定时间后, 发出鸣叫声;由门电路、T2三极管T2和蜂鸣器HA组成。蜂鸣器由T2驱动。控制T2基极的除了二极管D5、D6外, 还有一个电阻R6;T2同时受到D5、D6组成的或门和来自R6的1Hz的脉冲信号控制。在定时等待状态下, 二极管门D5、D6总有一个输出“1”;此时T2基极为高电平, 蜂鸣器不发声。当倒计时电路运算结果为“00”分钟时, 二极管D5、D6均不导通;此时T2基极受到1Hz脉冲信号控制, 蜂鸣器发出每秒钟响半秒钟的间歇叫声。

二、组装与实验

整机共有7个集成电路, 可在1整块面包板上完成组装。组装好的电路作品如图3所示。

图3中, 集成电路从左到右分别是IC1、IC2、IC5、IC4、IC7、IC6、IC3。电路中两个数码管均为超高亮度的LED数码管, 每个字段只需1mA电流即可获得满意的亮度;所用限流电阻R9、R10均为200Ω;如果采用其他型号的数码管, 可调整电阻R9、R10的阻值, 以得到合适的显示亮度。

电路组装无误后, 无须调整即可通电使用。开机后电路显示为个位数, 并且每秒钟闪亮一次即为工作正常。驱动十位数字的CD40110的“CR”端接有开机自动清零电路C3和R7;它们组成微分电路, 可在开机瞬间给CR端提供一个正脉冲, 使十位输出为零。

可使用快进或快退按钮将时间调整到预设时间。调整时会发现, 当快退时原来闪亮的显示数字变得恒亮。这是因为数码管的亮度是受到CD4040的Q1输出端的1 Hz信号控制的;当快退时, CD4040的Q1输出端的频率变成了256Hz;数码管在这样的频率控制下, 每秒钟闪亮256次, 眼睛是无法分辨的;当然, 这时它的亮度会降低一半;仔细观察会发现这一现象。

当快进调整时, 会发现数码管处于闪亮状态, 但仍能看清所有显示的数字。最初的电路设计在进行快进调整时, 数码管仍然每秒钟熄灭半秒钟;这样在快进调整过程中, 数字看起来是间断变化的。为了让按下快进按钮时, 可以看到数码管显示的所有数字, 电路增加了二极管D4;它把4Hz的快进脉冲与1Hz的间歇控制脉冲叠加在一起, 然后输出到T3三极管的基极;驱动T3三极管的脉冲信号除了频率变成2Hz之外, 更主要的是占空比由原来的0.5增加到了0.75;这就保证了在快进调整过程中可以看见所有的数字变化。

三、电路说明

从理论上说, 本电路的定时误差很小, 可以做到分秒不差。但实际上并做不到1秒钟都不差。这是因为所谓能够做到分秒不差仅在一种情况下是对的, 那就是当开机后不进行任何时间调整, 利用原来的默认预设时间工作。如果进行了时间调整, 则不能保证时间分秒不差了。

例如, 开始后显示8分钟, 如果正好需要这个结果, 定时器可以保证8分钟后提醒时间到了, 并且是分秒不差。如果需要定时20分钟, 当进行手动调整, 将时间预设到20分钟时;这时倒计时器实际工作时间只能小于20分钟。也就是说, 定时器实际上会在19分钟至20分钟之间的一个时间内进入到时提醒状态——这个定时器的误差是负59秒。

上一篇:神奇的凳子下一篇:英美英语