51单片机,时钟频率,机器周期,与执行指令的时间

前言

单片机在执行语句时,需要特定的频率或者说“节奏”,提供节奏的单元一般有两种:外部晶振以及内部RC震荡。晶振很在开发板上很常见,一般都是8Mhz或者12Mhz的。RC震荡单元我们看不到,它们集成在单片机内部,一般的单片机有低速震荡和高速震荡,具体数值见对应的规格书。

几个频率的联系与区别

明确一下,一般来说,晶振震荡的频率即为时钟频率,不过目前的51单片机都可以设置分频,如下所示:
在这里插入图片描述
此图中提供单片机工作节奏的单元是内部高速的RC震荡器,其可设置多种分频,假定使用2分频,那么这里实际工作时的 时钟频率 = 震荡频率 / 2 = 16Mhz,也即系统时钟为16Mhz。
还有一个名词叫机器周期,在此之前,说明一个概念,叫“nT”的单片机,比如说,12T单片机,1T单片机。学生时代常用的51单片机都是12T单片机,即 机器频率 = 时钟频率 / 12,T数越小,机器频率越高,当T数是1时,机器频率 = 时钟频率。也就是说,1T的单片机是执行速度最快的单片机。
最后说指令周期,其实51单片机的指令可以分为单周期指令,双周期指令和四周期指令。这里面,单周期指令的执行时间为1个机器周期双周期指令的执行时间为2个机器周期四周期指令的执行时间为4个机器周期。拿nop进行说明,它是单周期指令,执行它需要1个机器周期。

总结

上面一会儿说周期,一会儿说频率,可能会把大家搞糊涂,这样写的目的是更容易从晶振频率出发来理解这些概念。为了方便大家进行统一的理解,下面以周期来列个表格进行说明。

周期类型与其它周期类型的关系
振荡周期1/ (晶振频率) 或 1/(RC震荡频率)
时钟周期振荡周期* 分频比
机器周期时钟周期* 单片机T数
单指令周期机器周期
双指令周期2* 机器周期
四指令周期4* 机器周期

练习

一个2T的单片机,以内部32Mhz高速RC振荡器为时钟源,系统时钟为时钟源的2分频,那么请问,其执行一个nop语句消耗的时间是多少?(不考虑震荡器的误差,答案见评论区~)

  • 19
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值