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