一、时钟周期、指令周期、机器周期和状态周期的含义
-
时钟周期(Clock Cycle):是一个时钟信号的周期,通常由晶振提供,并被微控制器用来控制其内部操作的时间基准。
-
指令周期(Instruction Cycle):是完成一条指令所需的时间。它由若干个时钟周期组成,其数量由微控制器体系结构决定。 根据8051体系结构,一条指令通常需要12个时钟周期来执行。
-
机器周期(Machine Cycle):是指完成一条机器指令的时间。一个机器周期通常包含若干个时钟周期。对于8051,一个机器周期包含12个时钟周期。
-
状态周期(State Cycle):是一条机器指令执行期间的不同状态。每个机器周期包含不同的状态,如指令提取、指令译码、操作数访问和执行等。对于8051(英特尔的8位单片机),每个机器周期包含4个状态周期。
二、周期关系
1个指令周期=6个状态周期=12个时钟周期
三、延时计算
1000/(1/晶振*时间周期*分频),设置1ms,括号里的单位是us
四、定时器配置
单片机:PIC16F1503
数据手册内容:
OSCCON=0x6A; //4M OSC
T1CON=0B00110001; //内部时钟Fosc/4 预分频器为 1:8
TMR1H=0xcf; //100ms中断 100ms =8us*12500=8us*(0x10000-0xcf2c)
TMR1L=0x2c;