【从零开始自制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 这里参照了这个博文 对文件处理 ...
随机推荐
- Java基础知识总结(超级经典)
Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...
- Python----爬虫入门系列等
欢迎访问我的人生苦短系列(目前主要是Python爬虫入门) 传送门:https://www.jeson.xin/category/%E4%BA%BA%E7%94%9F%E8%8B%A6%E7%9F%A ...
- 【C语言编程练习】5.11 猴子吃桃子问题
1. 问题描述 有一只猴子,第一天摘下若干个桃子,当即吃掉了一半,又多吃了一个,第二天又将剩下的桃子吃掉了一半,又多吃了一个,按照这样的吃法,每天都吃前一天吃下的桃子的一半又一个.到第十天,就剩下了一 ...
- 小波变换-python pywavelets
# -*- coding: utf-8 -*- import matplotlib.pyplot as plt import numpy as np import pywt from matplotl ...
- Java学习之软件安装
成功安装了jdk-10.0.1.eclipse-committers-2018-09-win32-x86_64.mysql-5.7.18.1和tomcat-9.0.0.M17
- java保留小数-抄网上的
摘抄别人的JAVA中保留小数点后若干位数的几种方法 2009-12-17 11:46:18| 分类: 编程小发现 | 标签: |举报 |字号大中小 订阅 第一种:java.text.Decima ...
- node简介
1. Node.js是什么? 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js ...
- hashlib 模块
import hashlib # ob = hashlib.md5() # ob.update("admin".encode("utf-8")) # print ...
- idea注册码
2019 idea 注册码: N757JE0KCT-eyJsaWNlbnNlSWQiOiJONzU3SkUwS0NUIiwibGljZW5zZWVOYW1lIjoid3UgYW5qdW4iLC ...
- R语言之Apriori算法
---恢复内容开始--- 1.概念 关联分析:用于发现隐藏在大型数据集中的有意义的联系 项集:0或多个项的集合.例如:{啤酒,尿布,牛奶,花生} 是一个4-项集,意义想象成爸爸去超市买啤酒和花生,给儿 ...