技术文档

单片机 指令周期 51单片机指令周期,机器周期,时钟周期详解

小编 2024-10-10 技术文档 23 0

51单片机指令周期,机器周期,时钟周期详解

51单片机有指令周期,机器周期,时钟周期的说法,看似相近,但是又都不太一样,很容易混淆。还是详细分析一下。

本文引用地址:http://www.eepw.com.cn/article/201609/310558.htm

时钟周期:单片机外接的晶振的振荡周期就是时钟周期,时钟周期=振荡周期。比方说,80C51单片机外接了一个11.0592M的晶体振荡器,那我们就说这个单片机系统的时钟周期是1/11.0592M,这里要注意11.0592M是频率,周期是频率的倒数。

机器周期:单片机执行指令所消耗的最小时间单位。我们都知道51单片机采用的CISC(复杂指令指令集),所以有很多条指令,并且各条指令执行的时间也可能不一样(有一样的哦),但是它们执行的时间必须是机器周期的整数倍,这就是机器周期的意义所在。8051系列单片机又在这个基础上进行细分,将一个机器周期划分为6个状态周期,也就是S1-S6,每个状态周期又由两个节拍组成,P1和P2,而P1=P2=时钟周期。这也就是经常说的8051系列单片机的的时钟频率是晶振频率的12分频,或者是1/12,就是这个意思。现在(截至2012)新的单片机已经能做到不分频了,就是机器周期=时钟周期。

指令周期:指令周期执行某一条指令所消耗的时间,它等于机器周期的整数倍。传统的80C51单片机的指令周期大多数是单周期指令,也就是指令周期=机器周期,少部分是双周期指令。现在(截至2012)新的单片机已经能做到不分频了,并且尽量单指令周期,就是指令周期=机器周期=时钟周期。

来看这张8051单片机外部数据,这里ALE和$PSEN$的变化频率已经小于一个机器周期,如果使用C语言模拟这个信号是没有办法做到的一一对应的,所以只能尽量和上面的时序相同,周期延长。

单片机的周期频率

单片机的振荡如下所示:

振荡周期:振荡周期=1/晶振频率

时钟周期:=2*振荡周期

机器周期:=6*时钟周期=12*振荡周期

指令周期:=1条指令完成所需要的机器周期

单片机执行指令的过程是顺序的从ROM(程序存储器)里面取出指令一条条的顺序执行,再通过一些操作控制,来完成各种制定的动作。

它在执行程序的时候,各种动作必须有一定的顺序,简单来说就是控制信号在时间上有一个严格的先后顺序,这种次序就是单片机的时序。

单片机在每访问一次存储器的时间成为一个机器周期,机器周期是一个时间基准,就像我们生活中的秒一样,单片机一个机器周期包括12个振荡周期,振荡周期就是振荡源一个高低电平的转换时间,如果我们用12MHz的晶振,那么振荡周期为(T=1/F),也就1/12微妙,那我们用的是12MHz的晶振,一个机器周期就等于12*1/12=1微妙。

单片机中,有的指令只用一个机器周期就可以处理完,有的指令则需要两到三个机器周期才能处理完,所需机器周期越少,那么执行程序的速度就越快。

除了以上介绍的单片机的结构外,还有一个就是单片机的I/O结构,一般有以下几种:

1.OC开路输出结构:具有输出低电平电流大,高电平电流小的特性

2.带上拉OC输出结构:同上

3.推挽输出结构:具有输出低电平和高电平电流一样大的特性

我们学习单片机首先要有以下仪器及材料:

1.电脑一台,需要带有USB和串口功能,主要用来程序编写,程序编译,下载调试

2.安装编译软件KEIL

3.具备基础电路、模电数电知识

如果先要学习单片机,我首推的是51系类的入门,可以作一些简单的小玩意,像是跑马灯,延时器,感应器,红绿灯切换等等,这些容易培养起兴趣。

相关问答

12/fosc=12/6MHz=2us 指令周期 =(1~4)机器 周期 =2~8us_作业帮

[最佳回答]正确!100分

Mcs51 单片机 时钟周期机器 周期指令周期 是如何分配的?

12个时钟周期,是1个机器周期;在单片机中,是以机器周期的个数,作为时间的计量单位。Mcs51单片机的111条指令,执行时,所花费的时间,称为指令周期。有64条...

AT89C51 单片机指令 及其工作 周期 ?

AT89C51单片机指令系统完全和mcs-51一样,共111条,有单周期指令,比如:MOVA,#01H双周期指令,比如:SJMP$四周期指令,比如:DIVABAT89C51单片机指令系统...

单片机 中最基本的时间单位是什么?

时钟周期是单片机中运行指令的基本单位,它代表了单片机中的时钟信号通过一个完整的周期所用的时间。在单片机中,时钟信...单片机中最基本的时间单位是时钟周...

当80C51 单片机 晶振频率为12MHz时,时钟 周期 .机器 周期 各是多少?

1.时钟周期即晶振的单位时间发出的脉冲数,12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,即1/12微秒。2.一个机器...

51 单片机 执行一条 指令 需多久?

这个与单片机型号、指令类型和使用的晶振频率有关,比如AT89C51,是一个12个时钟周期等于1个机器周期的单片机,如果使用的晶振是12MHz的话,执行一条单指令的NO...

单片机 的晶振为2mhz其 指令周期 为多少?

感觉问的好像有一点小问题,单片机中有几种周期,如时钟周期也就是震荡周期,这里应该是0.5us,然后我们说执行一个特定的操作(读存储器啊什么的)的时间叫机器...

单片机 的机器 周期 和时钟 周期 分别肿么算的,还请举例说明下?-...

单片机的机器周期=12秒/晶振频率,时钟周期=振荡周期,等于单片机晶振频率的倒数,如常见的外接12M晶振,那它的时钟周期=1/12M。时钟周期以时间动作重复的最小周期...

51 单片机 中执行一条乘法 指令 或者除法 指令 需要多少个机器 周期 ?

一条乘法指令或者一条除法指令都需要4个机器周期。指令周期是不确定的,因为她和该条指令所包含的机器周期有关。一个指令周期=1个(或2个或3个或4个)机器周...

()。A.状态B.拍节C.机器 周期 D. 指令周期 19.若MCS-51 单片机 ...

[最佳回答]CDACBBBCC

猜你喜欢