0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

时钟周期/机器周期/指令周期/12M晶振和1us有啥关系

单片机技术宅 来源:单片机技术宅 作者:单片机技术宅 2022-12-19 10:57 次阅读

时钟周期

时钟周期也叫振荡周期或晶振周期,即晶振的单位时间发出的脉冲数,一般有外部的振晶产生,比如12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,也就是1/12微秒。通常也叫做系统时钟周期。是计算机中最基本的、最小的时间单位。

在传统的8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。

机器周期

单片机在执行指令的过程中,其实需要完成很多个操作,比如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个S周期(状态周期)组成。传统8051系列单片机的一个机器周期由6个S周期(状态周期)组成。节拍和状态周期前面已经介绍过了。传统8051单片机的机器周期由6个状态周期组成,也就是说一个机器周期=6个状态周期=12个时钟周期。

在传统的51单片机中,一般情况下,1个机器周期=12个时钟周期。在一个单片机最小系统中,如果外接的是12MHZ的晶振,那么机器周期=1微秒(前几天问小编为什么是1us的小伙伴到此处来领取答案)。

单片机工作时,是一条一条地从ROM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。

机器周期不仅对于指令执行有着重要的意义,而且机器周期也是单片机定时器和计数器的时间基准。例如一个单片机选择了12MHZ晶振,那么当定时器的数值加1时,实际经过的时间就是1us,这就是单片机的定时原理。

指令周期

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

2df9a814-7e63-11ed-8abf-dac502259ad0.jpg

系统时钟

系统时钟:系统时钟就是CPU指令运行的频率,这个才是CPU真正的频率。

一般来说,单片机只有一个时钟源.用了外部晶振,就不用内部RC,用了内部RC,就不用外部晶振。振荡器振荡,产生周期波.单片机在这样的周期波的作用一下有规律的一拍一拍的工作,波的频率越高,单片工作得就越快,波的频率越低,单片机工作得就越慢。

单片机内部所有工作,都是基于由晶振产生的同一个触发信号源,由这个信号来同步协调工作步骤,我们把这个信号称为系统时钟,系统时钟一般由晶振产生,但在单片机内部系统时钟不一定等于晶振频率,有可能小于晶振频率,也有可能大于晶振频率,具体要看单片机的实际设计及其原理。比如传统的51单片机,其实际的系统时钟就只有晶振频率的1/12,;比如大家觉得比较高级的STM32单片机,内部具有时钟倍频电路,可以通过程序设置系统时钟是实际晶振的多少倍,常见的STM32开发板上实际的晶振都是8Mhz的,可以通过倍频,实际的系统时钟都是运行在72Mhz。

系统时钟是整个单片机工作节奏的基准,它每振荡一次,单片机就被触发执行一次操作。

12T模式和1T模式

前面我们说的绝大部分都是传统51单片机的例子,现在传统51单片机已经可以收藏了,51单片机中小伙伴们最常见应该是手推车(STC)。STC51的单片机基本已经把51内核压榨到了极致,本节标题里说的额12T和1T也就是STC提出来的。STC把绝大部分的汇编指令所需要的的时钟周期压缩到了1个时钟周期,而传统的51单片机是最快的指令都需要12个时钟周期,所以STC官方就把他们的单片机叫做是1T的单片机。说到1T和12T,还有一个常用到的就是在用STC单片机的定时器时,和定时器相关的寄存器中专门有设置定时器是1T模式还是12T模式,如果是1T模式,而我们计算初值时又计算为了12T模式,那这样出来的定时器会比实际的速度快12倍,在使用时需要注意。

2e23ce1e-7e63-11ed-8abf-dac502259ad0.png

总结

说了那么多的周期,其这些周期和一个电子元件直接相关,那就是晶振。以上说的所有的时间单元,都和晶振频率相关。所以在编程时一定记得注意自己板子上的晶振频率是多少。

最后一点说明,因为生产制造的原因,实际的晶振频率和标称的数值会有一定的差距,因为任何物品在制作时都会产生误差。既然是误差,那就只要在允许的范围内就能正常使用,不会对系统产生大的影响。也正是因为这个误差,用单片机定时器制作的时钟,你会发现时钟走上几天后就会出现时间的偏差。这正是目前市面上的绝大部分电子时钟都会有走时不精准的根本原因,就算用了RTC时钟芯片,那时钟芯片的时间来源也是晶振产生,常见的RCT时钟晶振的频率是32.768Khz。‍

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620845
  • 晶振
    +关注

    关注

    32

    文章

    2473

    浏览量

    66850
  • 51单片机
    +关注

    关注

    269

    文章

    5649

    浏览量

    120700
  • 时钟周期
    +关注

    关注

    0

    文章

    14

    浏览量

    12031
  • 机器周期
    +关注

    关注

    0

    文章

    10

    浏览量

    9968

原文标题:时钟周期/机器周期/指令周期/12M晶振和1us有啥关系

文章出处:【微信号:chuxue_MCU,微信公众号:单片机技术宅】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    详细解读|时钟周期机器周期指令周期、总线周期

    的话,那么机器周期就是1us。例如外接24M的单片机,它的一个
    发表于 12-01 12:15

    单片机 时间周期机器周期指令周期详解

    1MIPS,即指令周期1微秒。 时钟周期也称为振荡周期
    发表于 01-19 10:34

    单片机机器周期频率的关系(定时器的初值设定问题)精选资料推荐

    的应用当中,一个机器周期才能产生一个计数(或叫计数脉冲),计数器才加1。因此要计多少次就让他产生多少个机器周期。**eg:**晶体频率为
    发表于 07-14 08:14

    时钟周期和单片机频率什么关系

    1US到底是怎么回事?时钟周期和单片机频率什么关系
    发表于 07-16 06:21

    51单片机的时钟周期机器周期

    1. 时钟周期机器周期12倍 , 机器
    发表于 11-18 07:59

    谈谈单片机中的时钟周期机器周期

    时钟周期时钟周期(CPU主频)==振荡周期,定义为时钟脉冲的倒数(
    发表于 11-24 06:27

    51单片机的振荡周期是什么意思

    振荡周期:为单片机提供定时信号的振荡源的周期周期或外加振荡周期状态
    发表于 01-06 08:04

    机械周期时钟周期、脉冲、频率之间关系

    假如我的单片机的频率是12MHz,那么单位时间发出的脉冲则为:12MHz=
    发表于 02-25 07:50

    什么是机器周期机器周期频率关系

    什么是机器周期机器周期频率
    发表于 11-01 07:46

    msp430时钟周期机器周期指令周期定义及关系

    时钟周期又叫做振荡周期、节拍周期,定义为时钟晶振频率的倒数。时钟
    发表于 11-17 10:11 1.7w次阅读
    msp430<b class='flag-5'>时钟</b><b class='flag-5'>周期</b>、<b class='flag-5'>机器</b><b class='flag-5'>周期</b>、<b class='flag-5'>指令</b><b class='flag-5'>周期</b>定义及<b class='flag-5'>关系</b>

    单片机的是时钟周期机器周期指令周期的详细定义说明

    时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,
    发表于 08-06 17:34 2次下载
    单片机的是<b class='flag-5'>时钟</b><b class='flag-5'>周期</b>和<b class='flag-5'>机器</b><b class='flag-5'>周期</b>及<b class='flag-5'>指令</b><b class='flag-5'>周期</b>的详细定义说明

    51单片机的时钟周期机器周期指令周期的详细资料说明

    1、时钟周期也称为振荡周期,就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12
    发表于 06-21 17:43 0次下载
    51单片机的<b class='flag-5'>时钟</b><b class='flag-5'>周期</b>和<b class='flag-5'>机器</b><b class='flag-5'>周期</b>及<b class='flag-5'>指令</b><b class='flag-5'>周期</b>的详细资料说明

    时钟周期指令周期机器周期的详细资料说明

    时钟周期时钟周期也称为振荡周期,定义为时钟脉冲频率的倒数(
    发表于 05-09 18:15 0次下载

    PIC中的振荡周期时钟周期机器周期指令周期

    时钟周期时钟周期(CPU主频)==振荡周期,定义为时钟脉冲的倒数(
    发表于 11-16 13:06 5次下载
    PIC中的振荡<b class='flag-5'>周期</b>、<b class='flag-5'>时钟</b><b class='flag-5'>周期</b>、<b class='flag-5'>机器</b><b class='flag-5'>周期</b>、<b class='flag-5'>指令</b><b class='flag-5'>周期</b>

    振荡周期时钟周期机器周期指令周期的区别与联系

    =两个节拍;一个节拍=一个时钟周期;一个指令周期=N个机器周期;综上:1个
    发表于 11-25 13:36 14次下载
    振荡<b class='flag-5'>周期</b>、<b class='flag-5'>时钟</b><b class='flag-5'>周期</b>、<b class='flag-5'>机器</b><b class='flag-5'>周期</b>、<b class='flag-5'>指令</b><b class='flag-5'>周期</b>的区别与联系