[MCU] 关于单片机震荡频率问题

[复制链接]
1942|9
 楼主| azdd 发表于 2016-10-19 16:34 | 显示全部楼层 |阅读模式
我在网上看到,pic单片机机器周期是4个震荡周期,而51单片机是12个震荡周期,这是正确的吗?这种是单片机特有属性,还是可以设置的?求指教。。
NE5532 发表于 2016-10-19 16:54 | 显示全部楼层
楼主理解错了,不是什么振荡周期,是PIC单周期指令4个时钟完成,标准51单周期指令12个时钟完成,这个是内核决定的,没有地方可以设置。
 楼主| azdd 发表于 2016-10-19 17:38 | 显示全部楼层
NE5532 发表于 2016-10-19 16:54
楼主理解错了,不是什么振荡周期,是PIC单周期指令4个时钟完成,标准51单周期指令12个时钟完成,这个是内核 ...

时钟周期和指令周期之间不是还有个机器周期吗?
 楼主| azdd 发表于 2016-10-19 17:44 | 显示全部楼层
NE5532 发表于 2016-10-19 16:54
楼主理解错了,不是什么振荡周期,是PIC单周期指令4个时钟完成,标准51单周期指令12个时钟完成,这个是内核 ...

这是我摘录的一段话:时钟周期
       时钟周期也称为振荡周期,定义为时钟脉冲的倒数(时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时钟周期就是1/12us),是计算机中的最基本的、最小的时间单位。
       在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟频率越高,工作速度就越快。
       8051单片机把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。
机器周期
       计算机中,常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作。每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期。8051系列单片机的一个机器周期由6个S周期(状态周期)组成。 一个S周期=2个节拍(P),所以8051单片机的一个机器周期=6个状态周期=12个时钟周期。
       例如外接24M晶振的单片机,他的一个机器周期=12/24M 秒;
指令周期
    执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。
跟你说的好像不一样吧?
ningling_21 发表于 2016-10-19 18:40 | 显示全部楼层
azdd 发表于 2016-10-19 17:38
时钟周期和指令周期之间不是还有个机器周期吗?

指令周期:它是指CPU完成一条操作的所需的全部时间

机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。
xyz549040622 发表于 2016-10-19 21:03 | 显示全部楼层
什么时钟周期,指令周期,51中讲究这个,其他机器很少说机器周期了,你了解指令周期就好了。
 楼主| azdd 发表于 2016-10-20 08:03 | 显示全部楼层
ningling_21 发表于 2016-10-19 18:40
指令周期:它是指CPU完成一条操作的所需的全部时间

机器周期:一个机器周期包含6个状态周期S1~S6,也就 ...

这个说的是51单片机吧?pic单片机应该是4的倍数对吧?
NE5532 发表于 2016-10-20 08:53 | 显示全部楼层
你不想当学究的话,就记住多少时钟一条指令就够用了。
ningling_21 发表于 2016-10-20 09:20 | 显示全部楼层
azdd 发表于 2016-10-20 08:03
这个说的是51单片机吧?pic单片机应该是4的倍数对吧?

老的51是这样,某些增强型51的指令周期仅一个机器周期
皈依 发表于 2016-10-20 20:46 | 显示全部楼层
其实就是指令执行的时间是晶振震荡几下的关系。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

86

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部