555定时器是一种模拟和数字功能相结合的中规模集成器件。一般用双极型(TTL)工艺制作的称为 555,用 互补金属氧化物(CMOS )工艺制作的称为 7555,除单定时器外,还有对应的双定时器 556/7556。555 定时器的电源电压范围宽,可在 4.5V~16V 工作,7555 可在 3~18V 工作,输出驱动电流约为 200mA,因而其输出可与 TTL、CMOS 或者模拟电路电平兼容。
555定时器的电路结构与功能
555定时器是一种把模拟电路和开关电路结合起来的器件。常用的555定时器型号有SG555(TTL电路)和CC7555(COMS电路)等。
CC7555定时器的电路结构框图
图1 CC7555定时器的内部结构框图
1、模拟功能部件:
⑴ 电阻分压器
由3个阻值均为r的电阻串连构成分压器,为电压比较器C1和C2提供参考电压。不加控制电压时,该引出端不可悬空,一般要通过一个小电容接地,以旁路高频干扰,因为3个分压电阻阻值相同,所以使得两个分压点V-1=2/3Ec,V+2=1/3Ec。
(2)电压比较器C1和C2
比较器C1:TH( 阀值输入端)》基准电压U-1,输出UC1=1,否则为0。
比较器C2:TR(触发器输入端)《基准电压U+2时,输出UC2=1,否则为0。
(3)输出MOS管T
N沟道增强型场效应管T受门G5输出的控制,G5的输出即是R—S触发器输出Q经G4,G5传来的信号。当Q=1时T导通,Q=0时T截止。
2、逻辑功能部件
(1) G1和G2组成基本的RS触发器,输入低电平有效触发。
UC1=0,UC2=1,置0,Q=O,Q=1,
UC2=0,UC1=1,置1,Q=1,Q=0
UC1=1,UC2=1,保持
(2)输出缓冲极G6
Q=0,Q=1时,输出OUT=1
Q=1,Q=0时,输出OUT=0
(3)RD为直接置0端
RD=0,输出OUT便为低电平,
正常工作时,RD端必须为高电平。
逻辑功能
1,RD为低电平有效时,直接置0端
2,TH(阀值输入端)》基准电压U—1时,称高触发置0
3,TR(触发输入端)《基准电压U-2时,称低触发置1
555定时器芯片实现单片机看门狗电路
1、程序跑飞现象
随着单片机在能源领域中的广泛应用,单片机的抗干扰问题越来越突出,煤矿井下环境一般比较恶劣,这便会为单片机控制系统带来各种干扰,以致系统不能正常工作。单片机应用系统的抗干扰性能主要取决于硬件的抗干扰设计,但软件
抗干扰设计作为硬件抗干扰的完善和补充,作用也非常重要,因为大量的干扰通常并不能影响系统内硬件的运作,却常会使系统的软件无法正常运行,单片机应用的一个突出问题,便是单片机运行过程中经常出现的程序跑飞现象。
在单片机系统中,因为干扰的原因,在非预期的情况下,使得程序计数器PC 的值发生随机的变化,从而使得程序的流向指向不确定区域,这便是程序的跑飞。程序跑飞后或者会使指令的地址码和操作码发生改变,PC 把操作数当作指令来执行;或者PC值指向一条不合逻辑关系的指令甚或是非程序区,运行结果常常会使单片机进入死循环———便是大家常说的“死机”。为确保在无人当值的情况下,单片机“死机”后能自动恢复过来,通常采用软件陷阱,外部WDT 电路,以及软件控制的WATCHDOG 等方法,使系统恢复正常(后两种俗称“看门狗”),限于篇幅不做专门说明,这里主要向大家介绍用555 定时器软硬结合做看门狗的一种方法。
2、555定时器
一般情况下,看门狗主要是通过不断监视程序运行一个事件的时间是否超过预定的时间来判断程序是否进入了死循环,因此利用555 定时器可复位的触发功能外加延时电路可实现看门狗的功能。555定时器是一种多用途的单片集成电路,内部电路如图1 所示。
CO端是控制电压输入端,加控制电压可改变A1“-”端及A2“ +”端的参考电压,若不用,可通过一个小电容接地,以防旁路高频交流干扰;R 为定时器直接复位端,加低电平可将定时器直接置“0”,此时,OUT输出“0”,Q 为1”,V 导通,D 端对地通路;TH 为复位阀值输入端,当TH 电压超过2/3UDD(即A1 负端分压)时,A1 输出为“1”,OUT 输出“0”,同样,D 端对地通路;TR 为置位输入端,当TR电压低于1/3 UDD(即A2 正端分压)时,A2 输出“1”,定时器被置位,此时,OUT 输出“1”,Q 为“0”,V截止,D端对地断路。
3、看门狗电路及运行指令以INTEL公司的16 位单片机8096 为例,555定时器作为看门狗与单片机的接口电路可设计如图2 所示。
首先在单片机初始化时用指令“ORBPORT1,#01H”置P1.0 为“1”,则三极管T 导通,555 芯片的R 为“1”,TH、TR 端经R、C 充电,电位逐渐上升,当电位还低于1/3 UDD 时,OUT 输出“1”,D端对地断路,电容C 正常充电,(http://www.diangon.com/版权所有)一旦程序跑飞或进入死循环,在电位上升到高于2/3 UDD时仍没有“喂狗”,则OUT输出变为“0”,经三极管T拉低单片机的RESET 脚,并使复位电容放电,这时
D 端对地短路,电容C 也通过Rf 放电,当TH、TR端电位放电到低于1/3 UDD(注意)时,OUT输出重新变为“1”,单片机进入复位状态。
“喂狗”是指复位看门狗,在本电路中只须运行以下指令即可。
ANDB PORT1,#0FEH ;使P1.0 为“0”
SKIP ;空操作,用于延时
SKIP ;以使TR电压降到1/3 UDD为宜
ORB PORT1,#01H ;使P1.0 为“1”
当P1.0 被置为“0”时,555 定时器的R 端为“0”,三极管T 截止。R 端为“0”则555 芯片被复位,OUT 输出为“0”,同时D 端对地短路,电容C放电为重新延时做准备,但因为三极管的截止,此时OUT 输出虽然也为“0”却并不影响单片机的RESET脚,单片机正常工作,从而区分开了“喂狗”与系统故障时看门狗发生作用的不同之处。
4、需要注意的问题
这里仍然有一个问题需要注意,那就是555定时器的正常工作与否完全依赖于单片机P1.0的状态,但在某些干扰比较严重的情况下,单片机的误操作是有可能改变P1.0 的预置状态的,若单片机在进入死循环之前,P1.0 被误置为了“0”,看
门狗始终处于“被喂”的状态,那这个电路便就无法再发挥作用了,对这种情况我们可用软件冗余的方法来应对,就是在程序的关键地方多次插写看门狗的激活指令:
NOP
ORB PORT1,#01H
值得提醒一下的是这里“NOP”指令的作用不容忽视,可使跑飞的程序纳入正轨,不致冲散后面的关键指令。不过尽管如此软件冗余的应用也还是有一个前提的,那就是跑飞的程序必须落在程序区,冗余的指令得到执行方可生效,若跑飞的程序落在了非程序区,仅凭指令冗余技术便不可靠了,这时我们便还须借助其他抗干扰技术的支持,如软件陷阱、标志技术,本质可靠性程序的设计等,在此不再赘述,但这些都必须包含在一个可靠的程序内———毕竟,单片机系统来自干扰的影响是立体的,那么,我们的应对策略便也须是全方位的。
评论
查看更多