草庐IT

555定时器介绍

Risehuxyc 2023-08-18 原文

555,全称“通用单双极型定时器”(General-purpose Single Bipolar Timer),意思是555的一个芯片中包含一个(单)用三极管做成的(双极型)定时器。它在外接一个电阻和一个电容后,能够精确地实现延时功能。利用这个功能我们可以实现很多种电路,最常用的有三种:

  • 无稳态电路
  • 单稳态电路
  • 双稳态电路

下面分别介绍每一种电路的结构和用法。

引脚图

在具体介绍每一种电路之前,我们先来看看555的引脚图。这里以NE555为例。

各个引脚的功能如下:

  • 1脚:接地。
  • 2脚:输入端Trigger,该脚会判断其电压是否小于1/3 Vcc。
  • 3脚:输出端Output。
  • 4脚:清零端Reset。正常工作时应接高电平。
  • 5脚:控制电压端。一般不使用,应通过一只0.01μF(103)瓷片电容接地,以防引入高频干扰。
  • 6脚:输入端Threshold,该脚会判断其电压是否大于2/3 Vcc。
  • 7脚:放电端Discharge。
  • 8脚:外接电源Vcc,范围为4.5V~16V,一般用5V。

输出端3脚的电平与输入的关系如下表所示:

输入输入输入输出输出
4脚Reset2脚Trigger6脚Threshold3脚Output7脚Discharge
--
< 1/3 Vcc-高阻态
> 1/3 Vcc< 2/3 Vcc保持不变保持不变
> 1/3 Vcc> 2/3 Vcc

如果不想了解具体的工作原理,只需要知道以下几点即可:

  • 1脚接地,8脚接电源,4脚大部分情况下也接电源
  • 5脚通过一个0.01μF电容接地,也可以悬空(不建议)
  • 2、6、7脚根据不同应用有不同接法
  • 3脚是输出

无稳态电路(振荡器)

所谓的“稳态”指的是3脚输出端的电平高低是否稳定。“无稳态”的意思是,3脚的输出会自动在高低之间变换,而不会稳定地停留在高或低上。这就形成了一个振荡器。这个特性可以用来制作LED的闪烁效果、电子琴等,也可以用于PWM技术控制电动机的转速等。

最基本的无稳态电路

 

最基本的无稳态电路如下所示,只需将两个电阻R1、R2和一个电容C1串联,然后将555的7脚接在R1、R2之间,2、6脚接在R2和C1之间即可:

这个电路的工作原理如下,不想看的可以直接跳到下一段的周期和占空比公式:

  1. 电容C1通过R1、R2充电至1/3 Vcc后,进入正常的工作流程。
  2. 由于C1连接到了2脚Trigger,2脚低于1/3 Vcc时,3脚的输出为高电平,而7脚为高阻态,所以C1继续通过R1、R2充电,直到C1的电压达到2/3 Vcc。C1从1/3 Vcc充电至2/3 Vcc的时间即为充电时间,公式为 t1 = 0.693 · (R1 + R2) · C1。
  3. C1达到2/3 Vcc后,超过了6脚的阈值,因此3脚输出变成低电平,7脚变成低电平。于是C1无法继续充电,而是经由R2向7脚放电,直到C1电压达到1/3 Vcc为止。这段放电时间的公式为 t2 = 0.693 · R2 · C1。
  4. C1电压低于1/3 Vcc后,触发2脚Trigger,从而3脚输出变成高电平,7脚变成高阻态,返回上述第2步。

因此我们可以得出以下公式:

从上述公式中可以看到,该电路只能生成占空比大于50%的方波。

任意占空比的无稳态电路

基本的无稳态电路无法产生占空比小于50%的方波,但我们可以通过增加两个二极管来解决这个问题。如下所示的改进版可以实现任意占空比:

改进后的555无稳态振荡器

在充电阶段,D1导通,D2截止,因此C1仅通过R1进行充电;而在放电阶段,D1截止,D2导通,因此C1仅通过R2放电。于是,该电路的公式为:

这样只需适当选取R1和R2的值,就可以实现从0到100%的任意占空比了。

我们只需在上个视频的面包板上添加两个二极管即可。为了演示占空比小于50%的效果,我将R1换成了1kΩ,这样占空比为10%,可以从右下角LED的闪烁来证实这一点。

添加两个二极管来实现任意占空比

更简单的50%占空比无稳态电路

还有一种无稳态振荡器能够用更为简单的电路实现50%的占空比。如下所示:

50%占空比的555振荡器

图中电容C1的充电和放电都是通过电阻R2完成,不再使用7脚Discharge。当输出端3脚为高电平时,C1充电;当输出端3脚为低电平时,C1放电。电阻R1的作用是保证C1能够充到Vcc。

该电路的计算公式为:

应用此电路时要注意,电阻R1不能太小,否则会影响电容C1的充电,导致占空比不是50%。

单稳态电路

在单稳态电路中,输出端保持低电平,在输入端触发之后,输出端变成高电平,延时一段时间后回到低电平并保持。这个特性可以用来制作延时开关。原理图如下:

图中,电容C1接到了7脚Discharge上。在稳定状态下,3脚Output和7脚Discharge均为低电平,因此电容C1与地(7脚)短接,不会通过R1充电。

2脚通过上拉电阻R2连到高电平上, 并通过一个接地的开关来产生低电平脉冲。按下开关会导致2脚Trigger接地,产生低电平。由于此时2脚 < 1/3 Vcc,因此3脚Output变成高电平,同时7脚Discharge变成高阻态。这会使电容C1不再与地短接,开始通过R1充电。充电时C1两端电压升高,直到电压达到2/3 Vcc。6脚Threashold达到2/3 Vcc后,3脚Output变成低电平,同时7脚Discharge也变成低电平,于是C1不再充电,而是通过7脚放电。

可见,3脚Output的高电平持续时间就是电容C1从0充电到2/3 Vcc的时间,这个时间为 

  

双稳态电路

双稳态电路指的是输出端可以稳定在高电平或低电平两种状态,可以通过开关在两个状态间切换。这个特性可以用来制作按钮开关。

用两个按钮组成开关

555双稳态电路

双稳态电路中不再使用电容,而是分别将2脚Trigger和4脚Reset通过开关接地,R1、R2为2、4脚的上拉电阻。当2脚Trigger对应的开关按下时,2脚变成低电平,从而3脚Output变成高电平;而由于6脚接地,即使2脚的开关不再按下,也满足2脚>1/3 Vcc、6脚< 2/3 Vcc的条件,于是3脚会一直保持高电平。4脚Reset对应的开关按下会强制3脚Output变成低电平。

用一个按钮组成开关

生活中常见的开关只有一个按钮,按一下开,再按一下关。这种开关可以通过另一种双稳态电路实现:

有关555定时器介绍的更多相关文章

  1. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  2. ruby - Ruby 性能中的计时器 - 2

    我正在寻找一个用ruby​​演示计时器的在线示例,并发现了下面的代码。它按预期工作,但这个简单的程序使用30Mo内存(如Windows任务管理器中所示)和太多CPU有意义吗?非常感谢deftime_blockstart_time=Time.nowThread.new{yield}Time.now-start_timeenddefrepeat_every(seconds)whiletruedotime_spent=time_block{yield}#Tohandle-vesleepinteravalsleep(seconds-time_spent)iftime_spent

  3. H2数据库配置及相关使用方式一站式介绍(极为详细并整理官方文档) - 2

    目录H2数据库入门以及实际开发时的使用1.H2数据库的初识1.1H2数据库介绍1.2为什么要使用嵌入式数据库?1.3嵌入式数据库对比1.3.1性能对比1.4技术选型思考2.H2数据库实战2.1H2数据库下载搭建以及部署2.1.1H2数据库的下载2.1.2数据库启动2.1.2.1windows系统可以在bin目录下执行h2.bat2.1.2.2同理可以通过cmd直接使用命令进行启动:2.1.2.3启动后控制台页面:2.1.3spring整合H2数据库2.1.3.1引入依赖文件2.1.4数据库通过file模式实际保存数据的位置2.2H2数据库操作2.2.1Mysql兼容模式2.2.2Mysql模式

  4. springboot定时任务 - 2

    如果您希望在Spring中启用定时任务功能,则需要在主类上添加 @EnableScheduling 注解。这样Spring才会扫描 @Scheduled 注解并执行定时任务。在大多数情况下,只需要在主类上添加 @EnableScheduling 注解即可,不需要在Service层或其他类中再次添加。以下是一个示例,演示如何在SpringBoot中启用定时任务功能:@SpringBootApplication@EnableSchedulingpublicclassApplication{publicstaticvoidmain(String[]args){SpringApplication.ru

  5. C#初级_定时器 - 2

    文章目录一、引言二、Timers1.System.Threading.Timer1.1.简单使用1.2.注意点2.System.Timers.Timer2.1.概述🔺2.2.注意点三、总结一、引言在开发中,会遇到并行处理的需求。有时只需要使用task(底层是创建个线程)来处理一下就好了。而有时则在并行处理的基础上还有时间的要求,较常见的就是每隔一定时间处理一次。当然,这用task肯定可以实现,但是时间这块得自己控制,无疑增加了工作量和不确定性。.NET提供了叫做定时器(timer,也叫计时器)的类,它在并行处理的基础上,带了时间参数的设置,可以满足这一需求。其实本文标题与其叫C#定时器,不如叫

  6. Spring Cloud Gateway 服务网关的部署与使用详细介绍 - 2

    为什么需要服务网关传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关,客户端只能在本地记录每个微服务的调用地址,当需要调用的微服务数量很多时,它需要了解每个服务的接口,这个工作量很大。有了网关之后,网关作为系统的唯一流量入口,封装内部系统的架构,所有请求都先经过网关,由网关将请求路由到合适的微服务。使用网关的好处1)简化客户端的工作。网关将微服务封装起来后,客户端只需同网关交互,而不必调用各个不同服务;(2)降低函数间的耦合度。一旦服务接口修改,只需修改网关的路由策略,不必修改每个调用该函数的客户端,从而减少了程序间的耦合性(3)解放开发

  7. ruby - Vim 详细介绍了 Rails 的自动完成功能 - 2

    我发现python的细节自动完成很好RubyonRails有类似的方法描述吗? 最佳答案 有篇不错的文章"UsingVIMasacompleteRubyonRailsIDE"其中引用rails.vim.这似乎是RailsforVIM的实际标准。(不过,我还没有使用过它,但很快就会尝试。)这允许你做很多与Rails相关的任务,但对自动完成没有帮助。还有一篇"RubyAutocompleteinVim"(遗憾的是不再可用)这就是您要搜索的内容。我不知道,理解Rails的所有插件魔法和元编程的东西是否足够聪明。它至少在vim的配置中提到了

  8. mysql - 在为 RoR 应用程序在 MySQL 和 Amazon 的 SimpleDB 之间做出决定时,您需要考虑什么? - 2

    我刚刚开始研究使用Amazon的SimpleDB服务作为我计划构建的RoR应用程序的数据存储的可行性。我们将为Web服务器使用EC2,并计划将EC2用于MySQL服务器。但现在的问题是,为什么不使用SimpleDB?应用程序(如果成功)需要在支持的用户数量方面具有很强的可扩展性,需要维护简单高效的代码库,并且需要可靠。我很好奇SO社区对此有何看法。 最佳答案 RubySimpleDB库不如ActiveRecord(默认的RailsDB适配器)那么完整,因此您习惯的许多功能将不存在。从好的方面来说,它是无模式的、可扩展的并且可以很好地

  9. 华为防火墙简单介绍 - 2

    防火墙防火墙分类第一代防火墙:包过滤防火墙包过滤防火墙的缺点第二代防火墙:代理防火墙第三代防火墙:状态防火墙第四代防火墙:UTM防火墙第五代防火墙:下一代防火墙华为防火墙介绍安全策略防火墙的会话表防火墙分类第一代防火墙:包过滤防火墙属于第一代防火墙技术,在没有专用防火墙设备时,一般由路由器实现该功能。将网络上传送数据包的IP首部以及TCP/UDP首部,获取发送源的IP地址和端口号,以及目的地的IP地址和端口号,并将这些信息作为过滤条件,决定是否将该分组转发至目的地网络分组过滤的执行需要设置访问控制列表。访问控制列表也可以称为安全策略(简称策略)或安全规则(简称规则)。类似于进站检票的做法,符合

  10. Qt样式表之 QSS 语法介绍;QLineEdit、 - 2

     内容来自Qt样式表之QSS语法介绍-3YL的博客Qt样式表是一个可以自定义部件外观的十分强大的机制,可以用来美化部件。Qt样式表的概念、术语和语法都受到了HTML的层叠样式表(CascadingStyleSheets, CSS教程)的启发,不过与CSS不同的是,Qt样式表应用于部件的世界。类型选择器QPushButton匹配QPushButton及其子类的实例ID选择器QPushButton#okButton匹配所有objectName为okButton的QPushButton实例。 CSS常用样式1CSS文字属性注:px:相对长度单位,像素(Pixel)。pt:绝对长度单位,点(Point

随机推荐