时钟是同步单片机系统各个部件工作时序的最小时间单位,时钟通过 CPU 控制,产生其他与时钟保持一定关系的同步控制信号,协调各部件的工作时序,没有时钟系统就崩溃了。
如 CPU 与存储器(RAM)传输数据,地址(A0 ~ Ax)、数据 (D0 ~ Dx)、读/写 (R/W) 等信号就必须按照一定的时序出现在各自的总线上,否则就乱套了。
时钟相当于心跳,没有心跳你觉得怎么样?
我特意从网上找到一个MCU设计的硬件描述语言设计代码,地址:https://github.com/dangnhat/Simple_MCU/tree/master/NH%20cpu%20(VerilogProject)
摘抄几句代码来说一下:
always @ (posedge clock) //时钟上升沿触发
begin
if (nRst == 0) state <= S_Idle;
else
state <= next_state; //状态机改变,至下一个状态
end
always @ (state or opcode or r1 or r2 or rd or T or SROut or im)
//通过state状态改变来进行指令运行(其他信号改变也可以触发)
begin
....................
end
所以看出时钟用来驱动MCU读取指令运行的,如同心跳一样,相同的是都是间隔一定时间发生改变(上升、下降或压缩动作)都是周期性的动作,不同的是,MCU时钟是来读取运行指令的,人的心跳是来输送养分的。
补充回答是因为老有一些无知的人秀下限
单片机的时钟就是单片机工作所需要的节拍,实际上就是时钟源产生的方波信号,单片机的取指令,译指令等工作过程都要以时钟的一个周期为最小周期。