【从零开始自制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 这里参照了这个博文 对文件处理 ...
随机推荐
- js数组删除元素、json删除元素
//数组var b=[1,2,3,4]; b.splice(b.indexOf(2,1)) //1,3,4 //json var arrayId=[{"id":233," ...
- UOJ#435. 【集训队作业2018】Simple Tree 树链剖分,分块
原文链接www.cnblogs.com/zhouzhendong/p/UOJ435.html 前言 分块题果然是我这种蒟蒻写不动的.由于种种原因,我写代码的时候打错了很多东西,最致命的是数组开小了.* ...
- jquery.string.js
/** * jquery.string - Prototype string functions for jQuery * version: 1.1.0 * (c) 2008-2011 David E ...
- 指针*p,p,&p等辨别
#include<iostream> #include<iomanip> #include<cmath> using namespace std; int main ...
- Java对象引用和对象赋值
关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用,那实在没法很好 ...
- java创建文件写入内容,并实现下载该文件
public void getText(){ response.setHeader("Content-Disposition", "attachment;filename ...
- SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
一.安装rabbitmq 二.pom父文件 <?xml version="1.0" encoding="UTF-8"?> <project x ...
- 微信小程序统计分析
在微信公众平台社区看到一个不错的东西,小博统计:https://www.wxappdev.com/:用于微信小程序统计分析.
- asp.net core 下载文件,上传excel文件
下载文件: 代码: 后端代码: public IActionResult DownloadFile() { var FilePath = @"./files/deparment.xlsx&q ...
- python--ModuleFoundError
python 模块导入错误: 1. 首先py文件名不能和导入的模块名相同 (我在学习matplotlib库的时候就把文件名设置成matplotlib 多次运行不成功) 2. 由于我电脑上只有numpy ...