时钟周期(振荡周期) = 晶振频率的倒数。时钟周期是单片机的基本时间单位,两个振荡周期(时钟周期)组成一个状态周期。
状态周期:在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。一个状态周期等于两个时钟周期。
机器周期:单片机的基本操作周期,在一个操作周期内,单片机完成一项基本操作,如取指令、存储器读/写等。机器周期=6个状态周期=12个时钟周期。
指令周期:CPU执行一条指令所需要的时间称为指令周期,它是以机器周期为单位的。通常,包含一个机器周期的指令称为单周期指令,比如 MOV指令,CLR指令等。包含两个机器周期的指令称为双周期指令。另外还有四周期指令。
STC89C51RC/RD+系列单片机的定时器有两种计数速率:一种是12T模式,每12个时钟加 1 ,与传统 8051 单片机相同;另外一种是6T模式(烧写程序时,在烧写软件中使能),每6个时钟加1,速度是传统8051单片机的2 倍。
在12T模式下,以12MHz晶振为例:
由上图可知,计时器每1us加1,所以最大定时时间即为:
最大定时时间=(时钟周期*12)*65536=65.536ms(时钟周期为12MHz的倒数,65536由16位计数器得到,即2^16=65536;12是因为计时器时钟在系统时钟的基础上进行了12分频)
计数值=65536 - 初值(或重装载值)
定时时间=(时钟周期*12)*(65536-初值(或者重装载值))
定时时间=