51单片机有指令周期,机器周期,时钟周期的说法,看似附近,可是又都不太相同,很简单混杂。仍是详细分析一下。
时钟周期:单片机外接的晶振的振动周期便是时钟周期,时钟周期=振动周期。比方说,80C51单片机外接了一个11.0592M的晶体振动器,那咱们就说这个单片机体系的时钟周期是1/11.0592M,这儿要注意11.0592M是频率,周期是频率的倒数。
机器周期:单片机履行指令所耗费的最小时刻单位。咱们都知道51单片机选用的CISC(杂乱指令指令集),所以有很多条指令,而且各条指令履行的时刻也或许不相同(有相同的哦),可是它们履行的时刻有必要是机器周期的整数倍,这便是机器周期的含义地点。8051系列单片机又在这个基础上进行细分,将一个机器周期划分为6个状况周期,也便是S1-S6,每个状况周期又由两个节拍组成,P1和P2,而P1=P2=时钟周期。这也便是常常说的8051系列单片机的的时钟频率是晶振频率的12分频,或者是1/12,便是这个意思。现在(到2012)新的单片机现已能做到不分频了,便是机器周期=时钟周期。
指令周期:指令周期履行某一条指令所耗费的时刻,它等于机器周期的整数倍。传统的80C51单片机的指令周期大多数是单周期指令,也便是指令周期=机器周期,少部分是双周期指令。现在(到2012)新的单片机现已能做到不分频了,而且尽量单指令周期,便是指令周期=机器周期=时钟周期。
来看这张8051单片机外部数据,这儿ALE和$PSEN$的改变频率现已小于一个机器周期,假如运用C言语模仿这个信号是没有办法做到的一一对应的,所以只能尽量和上面的时序相同,周期延伸。