设计与开发

51单片机的指令周期 51单片机的时钟及总线时序和总线扩展

小编 2024-10-21 设计与开发 23 0

51单片机的时钟及总线时序和总线扩展

说到51单片机的时钟首先想到51时怎么工作的呢?微型控制器要想工作必须要有一个“动力”,对于51单片机来说,这个“动力”就是时钟源。一般应用上会外接一个12MHz的晶振作为时钟源。

一般第一种接法用的比较多。选择内部震荡方式时晶振旁边有两个小电容。这两个电容叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十皮发。它会影响到晶振的谐振频率和输出幅度。晶振的负载电容=[(Cd*Cg)/(Cd+Cg)]+Cic+△C式中Cd,Cg为分别接在晶振的两个脚上和对地的电容,Cic(集成电路内部电容)+△C(PCB上电容)经验值为3至5pf。

各种逻辑芯片的晶振引脚可以等效为电容三点式振荡器。晶振引脚的内部通常是一个反相器, 或者是奇数个反相器串联。在晶振输出引脚 XO 和晶振输入引脚 XI 之间用一个电阻连接, 对于 CMOS 芯片通常是数 M 到数十M 欧之间。 很多芯片的引脚内部已经包含了这个电阻, 引脚外部就不用接了。这个电阻是为了使反相器在振荡初始时处与线性状态, 反相器就如同一个有很大增益的放大器, 以便于起振。

为什么要选择12MHz的晶振作为时钟源呢?

这就要说51单片机内部的几个周期了:指令周期、机器周期、时钟周期、振荡周期。

振荡周期是指为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。

时钟周期又称作状态周期或状态时间S,它是振荡周期的两倍,分为P1节拍和P2节拍,通常在P1节拍完成算术逻辑操作,在P2节拍完成内部寄存器之间的数据传送操作。(注意P1 和P2的相位关系 )

一个机器周期由6个状态组成,如果把一条指令的执行过程分作几个基本操作,则将完成一个基本操作所需的时间称作机器周期。单片机的单周期指令执行时间就为一个机器周期。

指令周期是执行一条指令所需的全部时间。MCS-51单片机的指令周期通常由1、2、4个机器周期组成。

对于12MHz的晶振,提供了12M的振荡周期,6M的时钟周期,1M的机器周期。所以此时51单片机的单指令周期为(1/1M)s=1us.这个1us有什么好处呢?后面大家会知道单片机应用中会有各种各样的时序,很多时候需要用一小段程序延时来达到时序要求,而1us的单指令周期比较方便计算延时时间以及确定每条语句的执行时间。应该明确的是单片机执行每条语句用的时间是非常确定的,是1us就是1us不会多一点也不会少一点。

下面说说51单片机的总线扩展:

这种结构就是上一篇说到的三总线结构,如图所示

1、数据总线

51 单片机的数据总线为P0 口,CPU 从P0 口送出和读回数据。

2、地址总线

51 系列单片机的地址总线为16 位。

为了节约芯片引脚,采用P0 口复用方式,除了作为数据总线外,在ALE 信号时序匹配下,通过外置的数据锁存器,在总线访问前半周期从P0口送出低8位地址,后半周期从P0 口送出8 位数据。

高8位地址则通过P2 口送出。

3、控制总线

51 系列单片机的控制总线包括(RD)读控制信号P3.7 和(WR)写控制信号P3.6 等,二者分别作为总线模式下数据读和数据写的使能信号。

51 单片机总线时序如图 所示。

从图2 中可以看出,完成一次总线( 读写) 操作周期为T,P0 口分时复用,在T0 期间,P0 口送出低8 位地址,在ALE 的下降沿完成数据锁存,送出低8位地址信号。在T1 期间,P0 口作为数据总线使用,送出或读入数据,数据的读写操作在读、写控制信号的低电平期间完成。

需要注意的是,在控制信号( 读、写信号) 有效期间,P2 口送出高8位地址,配合数据锁存器输出的低8 位地址,实现16 位地址总线,即64kB 范围的内的寻址。

由于CPU不可能同时执行读和写操作,所以读、写信号不可能同时有效。

采用这种总线结构按照规定的时序能够最大程度的利用单片机的全部地址线。这就是单片机的编址。编址分为线选法和译码法,译码法分为全译码、部分译码。线选法的优点是简单但是非常浪费地址线;全译码法能够最大程度的利用全部地址线,但是电路很复杂需要一些与非门的配合才行。一般用部分译码法性价比最高,尤其是在外接了存储芯片时部分译码法很方便。

51单片机学习笔记(单片机学习的几个周期)

51单片机的几个周期

(1)时钟周期,也称为振荡周期,定义为时钟频率的倒数(就是单片机外接晶振频率的倒数)。它是单片机中最基本的,最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作,控制着CPU的工作节奏,(自己理解,就类似于台式电脑cpu的主频),频率越高,cpu执行速度越快。

(2)状态周期。它是时钟周期的两倍。

(3)机器周期,单片机的基本操作周期,在一个操作周期内,单片机完成一项基本操作,如取指令,存储器的读/写。它由12个时钟周期(6个状态周期)组成。

(4)指令周期,它是指CPU执行一条指令所需要的的时间,一般一个指令周期含有1~4个机器周期。

相关问答

单片机 指令周期 、机器周期、状态周期、振荡时钟周期(时...

[最佳回答]时钟周期:时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12u...

51单片机 如何延迟到250纳秒?

对于那些老型号51单片机,无论如何也搞不出来250nS程序延迟,因为它们最快的指令也需要1微秒。现在的主流51单片机都提高了主频,并且采用了流水线结构,所以,...

51单片机 码速表说明?

51单片机码速表是一种常用的51单片机指令速查表,它包含了51单片机的大部分指令及其对应的操作码、机器码、指令周期、执行时间等信息。使用51单片机码速表可以...

51单片机的 定时器的时间怎么算?

51单片机,根据晶振频率,计算指令周期,设置定时器的分频,然后设置定时器的工作方式TMOD,最后设置初值TH0TL0比如用的XHZ的晶振,stc的单片机有3种模式(X/12...5...

51单片机 频率计算公式?

对于精简指令集性能的单片机的工作频率(1/机器周期)=时钟频率(1/时钟周期).普通的51单片机来说:频率是1MHZ,时钟周期是1/12us(1除以12M),机器周期是12倍的...

STC12C5A60S2 单片机的 指令周期 是多少?怎样精确定时?

各指令周期可以在芯片手册里查,但STC的芯片采用了流水线,即当前一个指令执行时,后一条指令处理预处理中了,但如果前一条指令是跳转指令,这个时间就会变长。...

指令周期 ,机器周期,时钟周期,振荡周期有什么关系?

1.机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。2.震荡周期:也称时钟周期,是指为单片机...

单片机的 延时10ms是多长时间啊?-ZOL问答

总结起来,延时10毫秒在电子领域中指一个以秒为单位的时间间隔,在单片机系统中可以通过内部时钟或外部晶振来实现。然而,在实际应用中需要考虑硬件设计和编程错...

单片机的 延时,延时时间长度是怎么算的?最好有一个例子,来...

单片机的延时可以使用定时器和循环来实现。以下是两种常见的方式:1.使用定时器延时时间长度取决于定时器的时钟源和预分频器的设置。例如,如果使用...

MCS- 51 系列 单片机 ,长调用LCALL和短调用ACALL什么情况下使用?

可寻址的范围不一样,ACALL是双字节指令,调用指令的地址PC加2后与所调用的子程序的起始地址应在同一个2KB范围内,而LCALL是三字节指令,可在64KB范围内调用,换...

猜你喜欢