讲讲时序

赫兹的单位换算

1 GHZ = 1000 MHZ;
1 MHZ = 1000 KHZ;
1 KHZ = 1000 HZ;
所以 1 MHZ = 1000 000 HZ;

周期可理解为总的消耗时间;

时钟周期

关键字: 外接晶振的倒数、1M的时钟周期为1us、8051的时钟范围1.2MHZ~12MHZ
  时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟周频率范围也不一定相同。我们学习的8051单片机的时钟范围是1.2MHz-12MHz。
  在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。

机器周期

关键字: 完成一个基本操作所需要的时间称为机器周期、一个机器周期同6个S周期(状态周期)组成、一个机器周期=6个状态周期=12个时钟周期
  在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个S周期(状态周期)组成。8051系列单片机的一个机器周期同6个S周期(状态周期)组成。前面已说过一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示),8051单片机的机器周期由6个状态周期组成,也就是说一个机器周期=6个状态周期=12个时钟周期。

指令周期

指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期数也不同。对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。

总结三者之间的关系

时钟周期(时钟频率的倒数,是处理操作的最基本单位)最小;
每个机器周期(执行一条指令所用的时间)又由若干个时钟周期组成;
一个指令周期(完成一条指令所需的时间。包括取指令、分析指令和执行指令所需的全部时间)由若干个机器周期组成;

看时序

  • R/W,读写选择端。当此脚为高电平可对LCD1602进行读数据操作,反之进行写数据操作。笔者认为,此脚其实用处不大,直接接地永久置为低电平也不会影响其正常工作。
讲讲时序_第1张图片
基本操作时序
讲讲时序_第2张图片
LCD1602的时序图

1.注意时间轴,从左往右看;
2.执行顺序从上往下看;
3.写有效(有电平变化)的时序,忽略无效(无电平变化)时序;

讲解时序:

写命令字节的时候,时间由左往右,RS变为低电平,R/W变为低电平,E为低电平,上面三个状态在一个时间段内;
下一个时间:DB0~DB7上数据进入有效阶段;
下一个时间:E变为高电平;
下一个时间:延时T(PW)时间;
下一个时间:E为低电平;
下一个时间:RS为高电平;

写命令的时序代码:

void write_order_1602(uchar order_data)
{
  rs_1602=0;
    e=0;
    P0=order_data;
    e=1;
    delay(1);
    e=0;
    rs_1602=1;      
}

你可能感兴趣的:(讲讲时序)