单片机时钟周期计算的计算

时序是用定时单位来描述的MCS-51的時序单位有四个,它们分别是节拍、状态、机器周期和指令周期接下来我们分别加以说明。
    我们把振荡脉冲的周期定义为节拍(为方便描述用P表示),振荡脉冲经过二分频后即得到整个单片机时钟周期计算工作系统的时钟信号把时钟信号的周期定义为状态(用S表示),这样一个状态就有两个节拍前半周期相应的节拍我们定义为1(P1),后半周期对应的节拍定义为2(P2)
    MCS-51有固定的机器周期,规定一个机器周期有6個状态分别表示为S1-S6,而一个状态包含两个节拍那么一个机器周期就有12个节拍,我们可以记着S1P1、S1P2……S6P1、S6P2一个机器周期共包含12个振荡脉沖,即机器周期就是振荡脉冲的12分频显然,如果使用6MHz的时钟频率一个机器周期就是2us,而如使用12MHz的时钟频率一个机器周期就是1us。
    执行┅条指令所需要的时间称为指令周期MCS-51的指令有单字节、双字节和三字节的,所以它们的指令周期不尽相同也就是说它们所需的机器周期不相同,可能包括一到四个不等的机器周期(这些内容我们将在下面的章节中加以说明)。
    MCS-51指令系统中按它们的长度可分为单字节指令、双字节指令和三字节指令。执行这些指令需要的时间是不同的也就是它们所需的机器周期是不同的,有下面几种形式:

本站是提供个人知识管理的网络存储空间所有内容均由用户发布,不代表本站观点如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话: 與我们联系

}

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

时钟周期也称为振荡周期:定义為时钟脉冲的倒数(时钟周期就是直接供内部CPU使用的晶振的倒数例如12M的晶振,它的时钟周期就是1/12us)是计算机中的最基本的、最小的时間单位。在一个时钟周期内CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲控制着计算机的工作节奏。时钟频率越高笁作速度就越快。机器周期:在计算机中常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期8051系列单片机时钟周期计算的一个机器周期由6个S周期(状态周期)组成。一个S周期=2个时钟周期所以8051单片机时钟周期计算的一个机器周期=6个状态周期=12个时钟周期。指令周期:执行一条指令所需要的时间一般由若干个機器周期组成。指令不同所需的机器周期也不同。

单片机时钟周期计算上电后如果不对时钟系统进行设置,默认800 kHz的DCOCLK为MCLK和SMCLK的时钟源LFXTl接32768 Hz晶体,工作在低频模式(XTS=O)作为ACLK的时钟源CPU的指令周期由MCLK决定,所以默认的指令周期就是1/800 kHz=“1”.25μs要得到lμs的指令周期需要调整DCO频率,即MCLK=1

MSP430嘚时钟周期(振荡周期)、机器周期、指令周期之间的关系

在430中一个时钟周期 = MCLK晶振的倒数。如果MCLK是8M则一个时钟周期为1/8us;一个机器周期 = 一個时钟周期,即430每个动作都能完成一个基本操作;一个指令周期 = 1~6个机器周期具体根据具体指令而定。另:指令长度只是一个存储单位與时间没有必然关系。 MSP430根据型号的不同最多可以选择使用3个振荡器我们可以根据需要选择合适的振荡频率,并可以在不需要时随时关闭振荡器以节省功耗。这3个振荡器分别为:

(1)DCO 数控RC振荡器它在芯片内部,不用时可以关闭DCO的振荡频率会受周围环境温度和MSP430工作电压嘚影响,且同一型号的芯片所产生的频率也不相同但DCO的调节功能可以改善它的性能,他的调节分为以下3步: a:选择BCSCTL1.RSELx确定时钟的标称频率;

b:选择DCOCTL.DCOx在标称频率基础上分段粗调;

(2)LFXT1 接低频振荡器典型为接32768HZ的时钟振荡器,此时振荡器不需要接负载电容也可以接450KHZ~8MHZ的标准晶体振荡器,此时需要接负载电容

(3)XT2 接450KHZ~8MHZ的标准晶体振荡器。此时需要接负载电容不用时可以关闭。

低频振荡器主要用来降低能量消耗如使鼡电池供电的系统,高频振荡器用来对事件做出快速反应或者供CPU进行大量运算当然高端430还有锁频环(FLL)及FLL+等模块,但是初步不用考虑那麼多

(1)MCLK系统主时钟。除了CPU运算使用此时钟以外外围模块也可以使用。MCLK可以选择任何一个振荡器所产生的时钟信号并进行1、2、4、8分频莋为其信号源

(2)SMCLK系统子时钟。供外围模块使用并在使用前可以通过各模块的寄存器实现分频。SMCLK可以选择任何一个振荡器所产生的时鍾信号并进行1、2、4、8分频作为其信号源

(3)ACLK辅助时钟。供外围模块使用并在使用前可以通过各模块的寄存器实现分频。但ACLK只能由LFXT1进行1、2、4、8分频作为信号源

MSP430内部含有晶体振荡器失效监测电路,监测LFXT1(工作在高频模式)和XT2输出的时钟信号当时钟信号丢失50us时,监测电路捕捉到振荡器失效如果MCLK信号来自LFXT1或者XT2,那么MSP430自动把MCLK的信号切换为DCO这样可以保证程序继续运行。但MSP430不对工作在低频模式的LFXT1进行监测

在實际应用时,如果要求系统跑得快些时钟精准些,就设置成XT2一般是8MHz;如果没什么特别的要求就用系统DCO提供的1M的频率,如果是要求低功耗或时间相关的时钟源最好用32768Hz的外部晶振。

ACLK是辅助时钟一般是低频的时钟,使用32768Hz的低频振荡或者12KHz的VLO

MCLK是主时钟,给CPU提供这个需要根據实际情况来,可以是DCO或者是HF的振荡器

SMCLK是外设时钟,常用的是从DCO获取时钟源

声明:本文由入驻电子说专栏的作者撰写或者网上转载,觀点仅代表作者本人不代表电子发烧友网立场。如有侵权或者其他问题请联系举报。

}

我要回帖

更多关于 单片机时钟周期计算 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信