2017-11-04 20:33:44 HopesunIce 阅读数 4335

声明:

以下内容均来自各个网站上的搜索  如有冒犯各位大哥大姐大仙们的地方 请立刻联系我  马上删除   纯粹为了学习 嘿嘿  还有一点是为了装个X

因为最近在学80c51单片机  虽然以前学过一点 但是理论知识还是很不扎实 这次学的时候顺带扎实一下细节的理论吧 毕竟将来还想做一个人民教师呢 哈哈哈 
说一下单片机中最基本的几个周期之间的关系 以及对他们的定义理解吧 


名词:  振荡周期  时钟周期  状态周期  机器周期  指令周期

     1:先来说一下振荡周期和时钟周期 其实呢 时钟周期在51单片机里面来说 就是振荡周期但是在其他单片机里面来说不是!!!(如果单片机晶振出来的频率没有经过分频就直接作为CPU的频率  那么这时候 晶振周期=振荡周期=时钟周期) 对单片机来说  时钟周期是其基本的时间单位!ok吧  不过我在网上也看到有人说一个时钟周期等于两个振荡周期 不知道是什么鬼 我觉得这样理解就挺好的  管他对不对 哈哈哈 

振荡周期(oscillating period)

  在衰减振荡中,两个相邻同方向峰值之间的时间称为振荡周期Tp,振荡频率2π/Tp。在相同衰减比下,振荡周期越短或振荡频率越高,则回复时间越短,因此振荡周期(频率)反映系统响应快慢的指标。


    2:状态周期   在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。即两个时钟周期=状态周期

   3:机器周期  机器周期,一般也叫CPU周期。在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段(如,取指令、存储器读、存储器写等),每一阶段完成一项工作(称为一个基本操作)。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个S周期(状态周期)组成。 在51单片机中 一个机器周期=6状态周期=12时钟周期

    4:指令周期    指令周期是执行一条指令所需要的时间,即CPU从内存取出一条指令并执行这条指令的时间总和。一般由若干个机器周期组成,从取指令、分析指令到执行完所需的全部时间。指令不同,所需的机器周期数也不同。对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。

最后 在学中断的时候   在INT0中的触发方式的时候  说CPU在每个机器周期的S5P2的时候对INT0引脚采样   这里的S5P2 是什么呢  嘿嘿 容我把百度的答案拿过来

1、每个状态周期有P1和P2两个相,每个相占一个振荡周期,故一个机器周期为12个振荡周期.
2、在每个时钟周期(即机器状态时间S)的前半周期,相位1(即P1信号)有效,在每个时钟周期的后半周期,相位2(即P2信号)有效。
3、每个时钟周期(S)有两个节拍即相位P1和P2(可理解为P1:高电平,P2:低电平),CPU以两相时钟P1和P2为基本节拍指挥8051各们部件协调工作。
PS:因此,S5P2: 第5个时钟周期的相位2(后半拍)。




2019-04-26 00:30:44 weixin_42238876 阅读数 1275

引言

在我们做学习单片机时,往往要用到延时程序,而要用汇编语言写出来,就必须对几个常见周期有所了解,这也算是学习单片机的基本知识。

时钟周期

时钟周期,又称为震荡周期,是为单片机提供定时信号的震荡源的周期,是单片机最基本的时间单位。谈到时钟周期就必须说晶体振荡器即即晶振,晶振可以说是单片机的心脏,它为单片机提供一个时钟频率 fosc(震荡频率)。
而所谓的震荡频率(时钟频率)自然是晶振一秒钟震荡的次数。时钟频率越高,单片机运行速度越快,就如电脑的CPU什么可以加速到多少GHz一样。自然时钟周期Tosc=1/fosc.
例如 震荡频率为12MHz的单片机即 fosc = 12MHz,那么震荡周期
Tosc = 1/fosc= 1/12 us。

状态周期

状态周期是CPU从一个状态转换到另一状态所需要的时间。简单地说每个状态周期
Ts 分为两个震荡周期(时钟周期),即Ts = 2Tosc。

机器周期

这里我们以MCS-51单片机为例,它有固定的机器周期,一个机器周期包含六个状态例如,取指令、存储器读、存储器写等。即机器周期等于6个状态周期,而一个状态周期是2个时钟周期,因此一个机器周期又等于12个时钟周期。那么晶振频率为12MHz的的单片机的机器周期 T = 12*Tosc = 1 us。

指令周期

顾名思义,指令周期就是执行一条指令所需的全部时间。MCS-51单片机的指令周期通常是 1 ~ 4 个机器周期组成。

MCS-51单片机常见指令的指令周期:

指令 周期 时间
MOV Rn,A 1 1 us
MOV Rn,#00H 2 2 us
ADD A,Rn 1 1 us
ADD A,#01H 2 2 us
DJNZ Rn,rel 2 2 us

比较详细的指令及其所需周期百度链接

2016-10-02 22:16:58 zhengqijun_ 阅读数 1869
一、时钟周期

1.时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。

2.在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。

3.由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。

4.显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟周频率范围也不一定相同。

5.我们学习的8051单片机的时钟范围是1.2MHz-12MHz。在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。


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

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

4.通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。


四、补充

1. 利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很下的栅极驱动电流。
2. 一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,
   如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。比如加上上拉电阻就可以提供TTL/CMOS电平输出等。(上拉电阻的阻值决定了逻辑电平转换的沿的速度 。阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度。)
3. OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;
反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。



2014-12-05 09:06:08 qq_17242957 阅读数 2106
  1. 时钟周期、指令周期、机器周期、总线周期都是什么东东?

    时钟周期: 也称为振荡周期, 定义为时钟脉冲的倒数 (时钟周期就是单片机外接晶振
    的倒数,例如 12M 的晶振,它的时钟周期就是 1/12us,是计算机中的最基本的、最小的
    时间单位。 在一个时钟周期内, CPU 仅完成一个最基本的动作。 时钟脉冲是计算机的基
    本工作脉冲,控制着计算机的工作节奏。时钟频率越高,工作速度就越快。
    指令周期: 执行一条指令所需要的时间, 一般由若干个机器周期组成。 指令不同, 所
    需的机器周期也不同。
    机器周期: 计算机中, 常把一条指令的执行过程划分为若干个阶段, 每一个阶段完成
    一项工作。 每一项工作称为一个基本操作, 完成一个基本操作所需要的时间称为机器周
    期。
    总线周期:微处理器是在时钟信号 CLK 控制下按节拍工作的。8086/8088 系统的时
    钟频率为 4.77MHz,每个时钟周期约为 200ns.由于存贮器和 I/O 端口是挂接在总线上的,
    CPU 对存贮器和 I/O 接口的访问,是通过总线实现的。通常把 CPU 通过总线对微处理
    器外部 (存贮器或  I/O 接口) 进行一次访问所需时间称为一个总线周期。
    一个总线周期
    一般包含 4 个时钟周期,这 4 个时钟周期分别称 4 个状态即 T1 状态、T2 状态、T3 状
    态和 T4 状态。


系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz,ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz- 233MHz,ARM10最高可以达到700MHz.不同芯片对时钟的处理不同,有的芯片只需要一个主时钟频率,有的芯片内部时钟控制器可以分别为ARM 核和USB、UART、DSP、音频等功能部件提供不同频率的时钟。
2017-02-11 19:22:53 u014663232 阅读数 4704

我们要想对单片机内部运行有一个深刻的了解,单片机周期的概念我们必须要知道,对于单片机来说,有时钟周期、机器周期、指令周期、总线周期等,我们接下来逐个讲解一下;

时钟周期:表示为外接晶振的倒数,在一个时钟周期内,CPU仅完成一个基本操作;32MHZ即1秒可做32M个基本操作,完成一个基本操作的时间为1/32us;8051把一个时钟周期定义为一个节拍P,两个节拍为一个状态周期S;

机器周期:在计算机中,为了便于管理,常把一条指令的执行过程分为若干阶段,一个阶段完成一项工作,而完成一项工作(基本操作)所需要的时间就是机器周期;在8051中,一个机器周期由6个状态周期组成,即1机器周期=6状态周期=12时钟周期;

指令周期:执行一条指令所需要的时间,一般由若干机器周期组成,根据指令的复杂程度不同,所需要的机器周期也不同;

总线周期:存储器和IO端口是挂接在总线上的,CPU要对其进行访问要通过总线来实现,即CPU通过总线对存储器或IO口进行一次访问所需要的时间为总线周期;

好了,我们有了周期的概念之后,对延时函数进行分析一下,加深印象:

void delay_ms(unsigned long time)
{
    time *= 100;

    while(time--)
    {
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
        asm("NOP");
    }
}

上面是一个非常简单的延时函数,” asm(“NOP”); ” 的含义就是执行一次空操作;接下来我们对这段程序分析一下:

前面说了,8051的外部晶振为32MHZ,” asm(“NOP”); “为单指令周期,且不经过总线就可以实现,即: (1/32) * 12 = 0.375us,即执行这么一条语句的时间为0.375微妙,0.375(us) * 27 * 100 = 1012.5(us) = 1.0125ms,近似于1ms;这就是这个函数数字背后的含义!!!

单片机周期关系

阅读数 89

51单片机中的周期

阅读数 186

没有更多推荐了,返回首页