首要清晰几个概念:时钟周期、振动周期、状况周期、机器周期、指令周期
1、时钟周期,也称为振动周期:界说为时钟脉冲的倒数,在单片机中也就等于晶振的倒数。
51单片机中把一个时钟周期界说为一个节拍(用P表明),2个节拍界说为状况周期(用S表明)
时钟周期是单片机中最小的时刻单位。
eg:12M晶振的单片机,时钟周期=振动周期=1/12 us。
2、机器周期:界说为完结一项底子操作所需求的时刻,称为机器周期。
在计算机中,为了便利办理,把一条指令的履行进程分为若干个阶段,每个阶段去履行一项底子操作。
如:取指令,存储器读,存储器写等。
在51单片机中1个机器周期由6个状况周期组成,也便是12个时钟周期=12 x 1/12 us =1 us
界说机器周期是因为时钟周期时刻太短,底子做不了什么。
3、指令周期:界说为履行一条指令所需的时刻。
一般,包括一个机器周期的指令称为单周期指令,比方 MOV指令,CLR指令等。
包括两个机器周期的指令称为双周期指令。
别的还有四周期指令。
判别指令是单周期指令仍是双周期指令,最牢靠的是查指令表。我在网上找到了一个规则总结,
此规则应按照次序进行判别,前一条准则高于后一条(主要指2~6),按次序检查到哪一条满意,就归属哪
一类:
1、MUL、DIV:仅有的4周期指令
2、包括DPTR和PC的指令均为2周期指令
3、一切的肯定跳转和条件搬运指令,均为2周期指令
4、一切包括A寄存器的指令,均为单周期指令
5、位操作指令中,ANL和ORL是2周期指令
6、一切包括立即地址的指令,除INC direct及DEC direct外,均为2周期指令
7、剩余的均为单周期指令。
现在,常用的单片机程序编写软件为keil,当写好程序后,咱们能够经过软件调试来确认程序履行所需的时刻,一起也能看到每条指令: