【从零开始自制CPU之学习篇02】555定时器
555定时器是一种集成电路芯片,常被用于定时器、脉冲产生器和震荡电路。在CPU制作中作为pc(程序计数器)的主要组成部分。以下是我购买的NE555实拍图:

NE555的针脚示意图:

555定时器各针脚功能定义:
| 引脚 | 名称 | 功能 |
|---|---|---|
| 1 | GND(地) | 接地,作为低电平(0V) |
| 2 | TRIG(触发) | 当此引脚电压降至1/3VCC(或由控制端决定的阈值电压)时输出端给出高电平。 |
| 3 | OUT(输出) | 输出高电平(+VCC)或低电平。 |
| 4 | RST(复位) | 当此引脚接高电平时定时器工作,当此引脚接地时芯片复位,输出低电平。 |
| 5 | CTRL(控制) | 控制芯片的阈值电压。(当此管脚接空时默认两阈值电压为1/3VCC与2/3VCC). |
| 6 | THR(阈值) | 当此引脚电压升至2/3VCC(或由控制端决定的阈值电压)时输出端给出低电平。 |
| 7 | DIS(放电) | 内接OC门,用于给电容放电。 |
| 8 | V+,VCC(供电) | 提供高电平并给芯片供电。 |
内部原理示意图(截取自视频):

简单说明原理:
这块我也不是很懂,大概的原理是,555定时器内部通过两个比较器,一个触发器(SR锁存器),和充放电装置组成。
针脚2和6分别接了比较器,针脚2是电压降至1/3VCC时输出端给出高电平,针脚6是电压升至2/3VCC时输出端给出低电平。输出的高低电平通过针脚7的充放电装置,使得电容不断充电和放电。
左下方就是一块电容,配合针脚7不断充电和放电,使得针脚2和6的电压不断变化,不断触碰阈值,使输出端不断改变高低电平。
就这样比较器和电容相互影响,来回变化,使得锁存器的输出信号,即针脚3不断变化。
下面这个电路针脚3接的是LED灯,所以效果就使得LED灯不断闪烁,大致原理就是这样。

控制频率:
看上面的内部原理示意图,不难理解频率取决于电容充放电的速度,而电容充放电速度取决于那个100k电阻的阻值。把100k电阻那里换成一个可变电阻,通过手动调节就可以控制速度了。电阻越小,充放电速度越快,灯泡闪得也就越快了。
【从零开始自制CPU之学习篇02】555定时器的更多相关文章
- 【从零开始自制CPU之学习篇04】电容
电解电容: 多数在1μF以上,直接用数字表示.如:4.7μF.100μF.220μF等等.这种电容的两极有正负之分,长脚是正极. 独石电容: 独石电容器是多层陶瓷电容器的别称, 简称MLCC 读数方法 ...
- 【从零开始自制CPU之学习篇06】寄存器
上一篇文章学习了总线的相关知识,途中ABC当时假设为一个个的8位寄存器.这一篇要学习怎么构建这个寄存器. 这分为两个三个部分,数据输入,寄存器,数据输出.首先不管输出,来看数据输入和寄存器这两个部分. ...
- 【从零开始自制CPU之学习篇00】开篇
从今天开始决定用面包板制作一个8位的CPU,实现几个简单的指令.我给自己分两大部分计划,第一部分是学习制作CPU的理论知识,第二部分是实践.并打算实施计划的同时用博客的方式记录下来.理论知识的部分重点 ...
- 【从零开始自制CPU之学习篇07】最简单的ALU—全加器
ALU是算术逻辑单元,是CPU中重要的一部分,因为CPU本质上就是不断重复最简单的计算.而我们这一版CPU的ALU部分更为简单,是一个只能做加法的ALU. 理论部分 我们需要一个能帮我们进行数学计算的 ...
- 【从零开始自制CPU之学习篇03】锁存器与触发器
本篇学习了两种锁存器:SR Latch和D Latch,一种触发器:D flip flop SR Latch:SR—锁存器 初始状态下,S和R都为0,Q和Q‘随机有一个为1另一个 为0(取决于电流速度 ...
- 【从零开始自制CPU之学习篇05】总线
总线定义:总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线.地址总线和控制总线,分别用来传输数据.数 ...
- 【从零开始自制CPU之学习篇01】识别四色环电阻
制作CPU的好多部分都用到了各种阻值的电阻,由于我选购的是色环电阻,即电阻表面涂上一定颜色的色环,来代表这个电阻的阻值.因此通过色环来快速识别电阻阻值需要作为储备知识,不然一堆电阻插在面包板上很快就乱 ...
- iOS-H5学习篇-02
H5-自学笔记-2016年09月06日 一:各种标签的练习 Html和CSS的关系 学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言. 1.1.1. HTML是网页内容的 ...
- pythonchallenge之C++学习篇-02
第二关任然是一个字符处理的关卡 查看网页源码发现有一大串字符需要处理,这么多的字符如果放在源代码里就很不好了 所以要用到C++对文件的操作,用到的头文件是fstream 这里参照了这个博文 对文件处理 ...
随机推荐
- python案例——体脂率项目
通过一个人的身高.体重.年龄.性别,判断这个人的体脂率,并且反馈是否正常? 首先接到项目后一定要一步步细分任务,直到每个细分的任务都可以用代码来实现. 写代码之前,先要确定python版本的问题 然后 ...
- gcd前缀和-蒜头君的数轴
题目: 今天蒜头君拿到了一个数轴,上边有 n个点,但是蒜头君嫌这根数轴不够优美,想要通过加一些点让它变优美,所谓优美是指考虑相邻两个点的距离,最多只有一对点的距离与其它的不同. 蒜头君想知道,他最少需 ...
- 如何修改build之后生成的文件结构和路径
因为公司项目结构的原因, 被要求要build之后的文件夹结构要修改为: dist (文件夹) statics (文件夹) mobile (文件夹) ----> 存放原本 build 之后存在 ...
- PMP测试实践- 内附PMBOK中字与备考资料
最近笔者考了PMP(Project Management Professional )项目管理专业人士认证考试,主要为了系统学习下项目管理的整个过程与方法,结合PMP的理论与工作实践去更好的完成项目工 ...
- VUE2+elementUI前端实现 三级省市联动select
html: <el-form-item label="选择地区:"> <el-select size="small" style=" ...
- 动态规划——Russian Doll Envelopes
这个题大意很好理解,通过例子就能明白,很像俄罗斯套娃,大的娃娃套小的娃娃.这个题是大信封套小信封,每个信封都有长和宽,如果A信封的长和宽都要比B信封的要大,那么A信封可以套B信封,现在给定一组信封的大 ...
- Oracle导入数据无法导出空表的问题
Oracle 11G在用export导出时,空表不能导出,11G R2中有个新特性,当表无数据时,不分配segment,以节省空间. 那么我们应该如何导出空表: 利用如下语句生成alter语句,未每个 ...
- Java学习之软件安装
成功安装了jdk-10.0.1.eclipse-committers-2018-09-win32-x86_64.mysql-5.7.18.1和tomcat-9.0.0.M17
- Ubuntu下编译SqlCipher以及解密微信数据库EnMicroMsg.db过程和坑
wget https://codeload.github.com/sqlcipher/sqlcipher/zip/v3.4.2 ./configure --enable-tempstore=yes C ...
- 开发中少不了的Fun -- 获取地址栏URL参数
假设这是一个url地址 http://localhost:8080/a/b/c?a=1&b=2#abc,里面包含的部分: protocol: 'http:', // 协议 host: 'loc ...