
1 从软件角度看的概念就是设备的配置文件。。。唯一的例外是参与运算的通用寄存器R0~R15参考中的这个图个人觉得非常贴切。就是0和1的开关可以看到一共是15位。如果要说美中不足就是有些硬件变化好像不能反映。好像跳闸可以开关自动往上跳表示电路中存在短路。2 寄存器的硬件实现从软件来说其实不关心寄存器的硬件实现。只要能存储不管是寄存器RAMFLASH甚至打孔纸都可以。但是在现代计算机系统中考虑到速度成本这些内容寄存器主要使用的D触发器实现。触发器其实很像之前接触过的锁存器只是改成了上升沿才触发。下面是几种存储的比较。存储类型最小单元1 bit存储原理特点寄存器D 触发器 (约 20-30 个晶体管)电流回路。只要有电电子就在门电路里打转。极其昂贵、极大、极快。RAM (SRAM)6-T 单元 (6 个晶体管)交叉耦合锁存。结构比触发器紧凑适合大规模集成。成本中等、容量中等、速度快。Flash浮栅晶体管 (1 个晶体管)捕获电荷。把电子“关进”一个绝缘层里。便宜、极密、掉电不丢、写得慢。D触发器Data Flip-Flop3 硬件实验使用元器件74HC175 芯片内含 4 个 D 触发器16DIP封装。4 个拨码开关作为输入数据 $D_0-D_3$。4 个 LED 灯作为输出显示 $Q_0-Q_3$。1 个点按开关作为时钟信号 Clock即“保存键”。面包板、电阻、5V 电源。74HC175引脚定义引脚类型名称对应 CPU 的概念接线建议电源VCC (16), GND (8)供电系统接 5V 和地线数据输入D1-D4 (4, 5, 12, 13)Data Bus (数据总线)接 4 个拨码开关时钟输入CLK (9)Clock Signal (时钟脉冲)接一个点按开关作为写入触发数据输出Q1-Q4 (2, 7, 10, 15)Internal State (内部状态)接 4 个 LED 灯加限流电阻强制清零MR (1)Reset (重置)接 VCC正常工作接 GND清零接线逻辑将拨码开关连接到 74HC175 的 $D$ 输入引脚。将 LED 连接到 74HC175 的 $Q$ 输出引脚。将点按开关连接到芯片的 CLK 引脚。实验现象拨动开关LED 灯不会跟着变。当按下点按开关的一瞬间芯片捕捉到电平上升沿。此时开关的状态被“锁”进芯片LED 灯亮起。松开手哪怕把开关全部拨乱LED 灯依然保持刚才那一刻的状态。74HC175 是上升沿触发。这意味着在D端拨动开关时LED 没反应。只有当按下 CLK 开关电平从低变高的一瞬间数据才会被“采样”并存入。回头做了实验。。。不过并不是很成功。我是只接了一个LED但是显示的状态比较异常尤其是CLK那个角甚至有时候要手放在旁边感应才会亮。。。暂时不知道原因。后面有机会再解决吧。https://www.youtube.com/watch?v6GbTk753Muk软件是如何控制硬件的单片机软硬件互动的核心秘密