软件如何驱动硬件?01如何变成电平?

软件如何驱动硬件?01如何变成电平?

有点像问我是谁? 不过电子电路是物理, 不是哲学。
软件就是把你想要硬件做的动作, 依逻辑顺序(编程), 转换成硬件要的:
比较电位、 顺序逻辑、输出/输出应对关系,etc. 之后储存到储存媒介中. 依序执行。

电子电路基本是由: 储存媒介(memory)+ 震动起源(clock) + 顺序电路 + 逻辑电路 + 输出/输入(用户接口) 组成。

给电之后:

  1. 初始状态下, 电路在 R/L/C的充放电后, 将晶体管矩阵推进入一个起始状态后 (RESET STATE)
  2. 震荡电路驱动了一个顺序电路 (Counter)
  3. 顺序电路 (Counter) 也可以等同是地址/指令INDEX
  4. 将数据从内存中转移到对应输出点, 形成指令/数据.
  5. 指令/数据控制 I/O用电压/电流去驱动 LED/线圈 产生 光/声/动作

震荡电路的模型:最简单易懂的: RC充放电+三极管(多谐不稳态震荡)
储存媒介: 可以是快充慢放的电容, 或是烧断的回路
I/O : 芯片对外的接口电路, 一般提供较大的电压/电流耐受能力

第二个问题: 甚么是 0, 甚么是1 :
这是相对的
电压是甚么: 两点之间的压差叫电位差. 而定义上以地球地电压为0电位.
所以0电位也叫地. (PS: 电路上的两个地是有压差的)
1 指的是超过某个定义单位电压的信号为1
因为世界是一个连续无限的真实(模拟), 不好量化/储存
所以用 0,1 来量化/储存

因此, 使用上的1是依应用来的,
三极管 开关压差 0.7V, 所以我可以定义 > 0.8V 以上是 1, < 0.6V = 0
那模糊地带 0.6V ~ 0.8V 是?
这就是电子状态下的不确定: <- 由周边电路决定
所以电路会有 PULL-HIGH, PULL-LOW, Cap, 来避免不确定
( MCS51的工作电压5V, 一般俗称 5V=1, 但实际上5V TTL > 2V, 就会判定成1)

而 1->0 , 0->1实际上是有电子能量移动的, ( 能量不灭, 产生功 )。
改变的时候, 要吸取/释放能量的: 芯片不会动, 不会发光, 所以只能发烧:热。
改变越快能量吸取/释放就造成越热, 需要散热

逻辑电路, CPU都是 RLC + PN/NP管组成的。
CPU指令集, 是为了人类的脑袋记不住那么多0/1变化来的,
毕竟能背新华字典的都不是一般人。

#0/1 Logic

你可能感兴趣的:(问答整理,单片机,嵌入式硬件)