51选择12MHz的晶振作为时钟源呢有什么好处?
这就要说51单片机内部的几个周期了:振荡周期、时钟周期、机器周期、指令周期。
振荡周期:是指为单片机提供定时信号的振荡源的周期或外部输入时钟的周期,例如外部晶振1/(12M)。
时钟周期:又称作状态周期或状态时间S,它是振荡周期的两倍,分为P1节拍和P2节拍,通常在P1节拍完成算术逻辑操作,在P2节拍完成内部寄存器之间的数据传送操作。(注意P1 和P2的相位关系 )
机器周期:一个机器周期由6个状态组成,如果把一条指令的执行过程分作几个基本操作,则将完成一个基本操作所需的时间称作机器周期。单片机的单周期指令执行时间就为一个机器周期。
指令周期:是执行一条指令所需的全部时间。MCS-51单片机的指令周期通常由1、2、4个机器周期组成。
对于12MHz的晶振,提供了12M的振荡周期,6M的时钟周期,1M的机器周期。所以此时51单片机的单指令周期为(1/1M)s=1us.这个1us有什么好处呢?后面大家会知道单片机应用中会有各种各样的时序,很多时候需要用一小段程序延时来达到时序要求,而1us的单指令周期比较方便计算延时时间以及确定每条语句的执行时间。应该明确的是单片机执行每条语句用的时间是非常确定的,是1us就是1us不会多一点也不会少一点。
参考文章:https://www.cnblogs.com/caolinsummer/p/5553517.html
http://www.21ic.com/jichuzhishi/mcu/shixu/2017-05-22/720811.html