电子设计教程53:555定时器工作原理与常见应用

  555定时器是一种多用途的数字、模拟混合集成电路,利用它能很方便地构成施密特触发器、单稳态触发器和多谐振荡器。由于使用灵活、方便,更重要的是,它很便宜,批量成本不到5毛钱,所以555定时器在电子玩具、家用电器等许多领域中都得到了广泛应用。

555定时器原理

  有很多芯片厂家都生产了自己的555定时器产品。尽管产品的型号繁多,但最后三位都是“555”。一般来说,多数555定时器的功能与外部引脚的排列都完全相同。
在这里插入图片描述

在这里插入图片描述

  以NE555为例,它包含3个5K电阻,可以把电源电压分成3等份。3个5K电阻便是555定时器名称的由来。为了方便描述,我们把2个参考电压分别命名为VH与VL。如果第5脚CONT没有外接固定电压Vco,则VH=2/3Vcc,VL=1/3Vcc;否则VH=Vco,VL=Vco/2。
  它还包含2个比较器,C1与C2,此处的C是比较器comparator的缩写,并不是电容。为了方便描述,我们称C1的输出电压为Vc1,C2的输出电压为Vc2。第6脚THRES接输入IN1,第2脚TRIG接输入IN2。比较器用于判断各自的输入电压与参考电压的大小。
  比较器后边接RS触发器。其中第4脚RESET是触发器的复位,如果RESET接低电平,那么芯片的输出也是低电平。
  RS触发器后接放电三极管Q,如果Q导通,相当于把第7脚DISCH接到GND上。触发器之后还有一个缓冲器G,作用是提高电路的带负载能力,让555的第3脚OUT能够输出较大的电流。
  一般情况下,讲述555定时器的时候都要提到内部的各个器件的工作逻辑,比如RS触发器的原理:当R有效的时候,RS触发器输出低电平;S有效的时候,RS触发器输出高电平;RS触发器输出高电平的时候,三极管导通。但这种理解方式,会多绕很多弯,比如Vc1=0且Vc2=1时,相当于S有效,RS触发器会输出高电平,然而芯片最终的输出却是低电平,与RS触发器的逻辑相反。因此不如不要强调内部器件的工作逻辑,直接根据输入查表,判断输出。
在这里插入图片描述

555定时器接成施密特触发器

  对于负向递减和正向递增两种不同变化方向的输入信号,施密特触发器有不同的阈值(门限)电压。
  将555定时器的2个输入端接到一起,作为1个新的输入端,即可得到施密特触发器。有时为了提高电路的稳定性,会在CONT接滤波电容。先不接外部的参考电压,则VH=2/3Vcc,VL=1/3Vcc。设输入信号为Vi。首先分析Vi从0开始逐渐升高的过程:
1.Vi<VL<VH,Vc1=0 ,Vc2=1 ,查表可知,OUT=1;
2.VL<Vi<VH,Vc1=0 ,Vc2=0 ,OUT不变,还是1;
3.VL<VH<Vi,Vc1=1 ,Vc2=1 ,OUT=0;
  此后Vi继续增大,输出也不会变化,所以分析Vi从大于VH开始下降的过程:
4.VL<Vi<VH,Vc1=0 ,Vc2=0 ,OUT不变,但这次是0;
5.Vi<VL<VH,Vc1=0 ,Vc2=1 ,OUT=1。
在这里插入图片描述

555定时器用作单稳态触发器

  所谓的单稳态,就是一个稳定状态的意思。假设最终的输出稳定为低电平,虽然在外界条件的影响下,输出可以变为暂稳态,即暂时变为高电平,但最终还是变成低电平。用单稳态的特性可以设计一个延时关闭的灯,假设灯按下去以后,不会立刻关闭,而是延时一段时间再关闭,且延时的这段时间可以自行设置。
  将555定时器与RC串联形成的延时环节结合起来,可以做成单稳态触发器。把IN2作为触发信号的输入端,使用按键K1来模拟控制信号,默认情况下IN2为高电平,K1按下去的时候IN2变为低电平。将电阻R1与电容C1串联在Vcc与GND之间,阻容连接的一点接IN1与555内置的三极管集电极。输出端使用2个LED来指示电路的输出电平。构成单稳态触发器如下:
在这里插入图片描述

  假设电路板安全上电以后,按键K1没有按下(IN2=Vcc),此时555的输出不好判断,因此可以分情况讨论。

  1. 假设555输出低电平。如果电容C1内储存有电荷,会通过已经导通了的三极管快速释放掉,所以IN1=0<VH,IN2=Vcc>VL,根据功能表,此时555的输出将保持上一个状态不变,所以这是一种稳定的状态。
  2. 假设555输出高电平。此时三极管截止,则Vcc通过电阻向电容充电,当电容的电压IN1>VH的时候,已知IN2>VL,所以555输出低电平,三极管导通,回到上一种状态。因此高电平是暂稳态,它持续的时间就是电容从开始充电,到电压大于VH的用时。
      在没有触发信号的时候,555输出低电平的状态将稳定不变。如果触发脉冲的下降沿到达IN2,那么IN2<VL,同时由于IN1<VH,结果是555输出高电平,三极管截止,变成暂稳态,持续一段时间后变为稳态。
      输出信号中,高电平持续的时间,就是暂稳态持续的时间,也是电容充电到VH所用的时间。这个时间可以结合RC充放电的关系计算出来,大约为1.1倍的时间常数。
    在这里插入图片描述

  以下是波形的实测,黄色是电容上的电压,蓝色是输出电压,当按下按键以后,输出高电平,电容开始充电。电容充电到一定的程度以后,输出低电平,电容放电。
在这里插入图片描述

555定时器用作多谐振荡器

  多谐振荡器是一种自激振荡器。在接通电源以后,不需要外加触发信号,便能自动产生矩形脉冲。由于矩形波中含有丰富的高次谐波分量,所以习惯上由将矩形波的振荡器称为多谐振荡器(也有资料称之为非稳态模式)。之前用施密特触发器实现了矩形波发生电路,既然555定时器可以作为施密特触发器,在此基础上,改成多谐振荡器并不困难。接下来用多谐振荡器做一个交替闪烁的双色灯。
  首先,把IN1与IN2连接到一起,先做出施密特触发器。
然后,仍然以电容的电压作为输入信号,并想办法把电容的电压会维持在施密特触发器的2个阈值之间。把555的输出连接到电容上,则输出高电平的时候为电容充电,输出低电平的时候让电容放电。不过实际应用中,为了减轻555定时器的负担,用Vcc为电容充电,通过放电三极管来使电容放电。 当三极管通过电阻连接Vcc时,三极管的集电极(555定时器的第7脚)的电平与555的输出其实一样。
在这里插入图片描述

  接下来分析电容电压与555定时器输出端关系。设电容电压为Vi。首先分析Vi从0开始逐渐升高的过程:
1.Vi<VL<VH,Vc1=0 ,Vc2=1 ,OUT=1,三极管截止,Vcc通过R1与R2为电容充电,Vi逐渐升高。
2.VL<Vi<VH,Vc1=0 ,Vc2=0 ,OUT不变,还是1,电容继续充电,Vi继续升高。
3.VL<VH<Vi,Vc1=1 ,Vc2=1 ,OUT=0,三极管导通,电容通过R2与导通了的三极管放电,Vi逐渐降低。
4.VL<Vi<VH,Vc1=0 ,Vc2=0 ,OUT不变,但这次是0,电容继续放电,Vi继续降低。
5.Vi<VL<VH,Vc1=0 ,Vc2=1 ,OUT=1,回到状态1,循环往复。
  通过以上分析可以看出,电容上的电压将在VH与VL之间反复振荡,555定时器的输出在电容充电期间为高电平,在电容放电期间为低电平。
  当电容充电时,电阻值为R1+R2。电容放电时,电阻值为R2,充放电时间与电阻的阻值成正比,所以,此电路的占空比始终大于50%。如果希望得到小于或者等于50%的占空比,可以利用二极管的单向导电性,使得充电与放电经过不同的路径。如下图改进电路:
在这里插入图片描述

  充电时间T1正比于W1×C1(忽略二极管的电阻,应用一阶RC电路三要素法可以算出T1= W1×C1×ln 2),放电时间T2正比于W2×C1(T2= W2×C1×ln 2),输出脉冲的占空比为:
在这里插入图片描述

  如果W1=W2,那么电路的占空比就是50%。调节W1与W2的大小,也可以改变电路的振荡周期。
在这里插入图片描述

  以下是输出波形实测。
在这里插入图片描述

  把电路的输出端接LED,当改变电路的占空比时,LED亮起来的时间会改变。由于人的眼睛有视觉暂留,如果电路的振荡频率非常高,可以做成亮度可调的LED灯。

### 回答1: 电子秒表是一款非常常见的计时器设备,用于在各种比赛、运动等场合中进行时间计时。在微机原理课程设计中,使用8254芯片来设计电子秒表显示0-60s是一个典型的实践案例。 首先,我们需要了解8254芯片的基本结构和功能。8254是一种集计时、计数、中断控制等多种功能于一身的可编程计数器/计时器,它有三个独立的计数通道,每个通道可以选择不同的工作模式,以满足不同的需求。 在设计电子秒表时,我们需要将8254芯片的一个计数通道设置为定时模式,将计数周期设置为1s,即每隔1s输出一个计时信号。然后,我们可以将此信号与一个数码管显示芯片连接起来,以实现对时间的显示。 具体而言,我们可以使用常见的7段数码管来显示时间,每一位数码管需要接一个控制芯片来实现显示。当我们每隔1s接收到计时信号时,我们需要对显示值进行更新: 1. 如果当前显示时间为59s,则需要将秒数归零,重置计时器; 2. 如果当前显示时间不为59s,则将秒数加1,并将其在数码管上进行显示。 此外,我们还需要设计一些操作按钮,如计时开始/暂停、清零等按钮,来方便用户对计数器进行控制。通过这些设计和调试,我们即可得到一款简单而实用的电子秒表应用。 总之,微机原理课程设计中使用8254芯片设计电子秒表是一个充满挑战性和趣味性的案例,既涉及到硬件电路设计,又涉及到程序设计,是学生们锻炼实践能力和创新能力的重要方式之一。 ### 回答2: 在微机原理课程设计中,设计一款使用8254芯片显示0-60秒的电子秒表,需要遵循以下步骤: 1. 确定硬件接口:选择使用8254芯片作为计时器,连接相应的控制引脚,将输出接口与数码显示器连接。 2. 编写程序框架:采取中断方式进行计时,设定中断间隔为1秒。在程序中定义计时器初值为0,并采用循环方式进行计数,直到达到60秒。 3. 编写计时中断处理程序:在中断处理程序中,每次中断发生时将计时器的计数值加1,并使用BCD码转换将计数值转换为数码显示器可识别的格式。 4. 编写数字显示程序:使用相应的数码显示器驱动程序,将计数值显示在数码显示器上。 5. 调试程序并优化:进行测试和调试,发现问题后进行优化,确保程序能够正常运行。 总之,设计一款使用8254芯片显示0-60秒的电子秒表需要硬件和软件两方面的技术,需要对8254芯片的特性有深入的了解,同时需要熟练掌握操作系统和编程语言,才能够完成一个稳定可靠的电子秒表。 ### 回答3: 8254是一款计数器芯片,通过编程来实现对时间的计算和控制。我们可以使用8254来设计一个电子秒表,让它可以自动计时,达到60秒自动停止并显示时间。 首先,需要将8254编程为定时器模式,并设置计数时间间隔为1秒。然后,在程序中添加一个异步时钟电路,以确保计时精度。接下来,就可以开始编写程序,以实现秒表的计时和显示功能。 具体的实现细节包括:初始化8254定时器,设置计时周期;开启定时器中断,以便能够响应定时器中断事件;在中断服务程序中累加计时器计数值,同时判断是否达到60秒时间;若达到60秒时间则停止定时器,显示时间结果;否则继续计时。 在显示方面,可以使用LED数字管或LCD显示屏等设备,通过编程控制其显示内容。在停止计时后,需要将计时结果转换为可读的格式,并显示出来,如显示为“00:00:60”表示计时器达到60秒。 总的来说,使用8254设计电子秒表可以锻炼编程思维和计算思维能力,在实现过程中需要充分考虑时序、中断、显示等方面的问题,同时需要注意代码的简洁性和可读性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值