8051 时钟周期,机器周期,指令周期
第二讲 第2章 MCS-51单片微型计算机结构

S1
S2
S3
读下一个操作 码(丢弃) P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P S1 S2 S3 S4 S5 S6 S1 (a) 单字节,单周期指令 例:MOV A R1
读操作码 读操作码 读第二字节
2
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P S1 S2 S3 S4 S5 S6 S1 (b) 双字节,单周期指令 例:ADD A dir 读操作码
MCS-51单片机的结构原理
一、计算机的经典组成 计算机的经典结构见 图1.1 所示。这种结 构是由计算机的开 拓者——数学家约 翰· 诺依曼最先提 冯· 出的,所以就称之 为冯· 诺依曼计算机 体系结构,也叫普 林斯顿结构。
图 1.1 计算机经典结构
二、 MCS-51单片机的基本组成
(一) 8051单片机的结构
﹡IP B8H ﹡IE A8H TMOD ﹡TCON TL0 TH0 TL1 TH1 PCON ﹡SCON 寄存器 SBUF
IP.7~IP.0 BFH~B8H 中断优先控制器 IE.7~IE.0 AFH~A8H 中断允许控制器 89H 定时器方式选择 88H TCON.7~TCON.0 8FH~88H 定时控制寄存器 8AH 定时器T0低8位 8CH 定时器T0高8位 8BH 定时器T1低8位 8DH 定时器T1高8位 87H 电源控制及波特率选择 98H SCON.7~SCON.0 9FH~98H 串行口控制 99H 串行口数据缓冲器
F0H E0H D0H B8H B0H A8H A0H 98H 90H 88H 80H
特 殊 功 能 寄 存 器 中 位 寻 址
FFFFH 外部 RAM
8051 时序

无取指( ALE) 无取指(无ALE)
S3
S4
S5
S6
S1
S2
S3
S4
S5
S6
数据 地址 访问外部存储器
MOVX类指令 单字节双周期指令 类指令(单字节双周期指令 类指令 单字节双周期指令)
对外部RAM 当CPU对外部 对外部 读写时, 读写时,ALE不是 不是 周期信号
读操作码
S1 S2
读第二字节操作码
8051单片机的时序 单片机的时序
机
器
周
期
机器周期是指CPU完成一种基本操作所需要的时间。例如 完成一种基本操作所需要的时间。 机器周期是指 完成一种基本操作所需要的时间 取指令、读存储器、写存储器等等。 等等 :取指令、读存储器、写存储器等等。 一个机器周期包括12个振荡周期,分为 个 状态 状态: 一个机器周期包括 个振荡周期,分为6个S状态:S1~S6。 个振荡周期 。 振荡周期(时钟周期) 振荡周期(时钟周期), 是指为单片机提供时钟脉冲信号的 振荡源的周期。是振荡频率的倒数。 表示。 振荡源的周期。是振荡频率的倒数。用P表示。 状态周期: 状态周期 每个状态周期为时钟周期的 2 倍, 是振荡周期经 二分频后得到的。每个状态又分为两拍,称为P1和 。 二分频后得到的。每个状态又分为两拍,称为 和P2。 因此,一个机器周期中的 个振荡周期表示为 个振荡周期表示为S1P1,S1P2 因此,一个机器周期中的12个振荡周期表示为 , ,S2P1,···,S6P1,S6P2。 , , , 。
8051访问外部数据存储器时序图
读操作码
S1 S2 S3 S4
读操作码(丢弃) 读操作码(丢弃)
S5 S6 S1 S2 S3 S4 S5 S6
51单片机指令周期,机器周期,时钟周期详解

51单片机指令周期,机器周期,时钟周期详解51单片机有指令周期,机器周期,时钟周期的说法,看似相近,但是又都不太一样,很容易混淆。
还是详细分析一下。
时钟周期:单片机外接的晶振的振荡周期就是时钟周期,时钟周期=振荡周期。
比方说,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语言模拟这个信号是没有办法做到的一一对应的,所以只能尽量和上面的时序相同,周期延长。
单片机时钟周期、机器周期、指令周期与总线周期

单片机时钟周期、机器周期、指令周期与总线周期时钟周期:时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12us),是计算机中最基本的、最小的时间单位。
在一个时钟周期内,CPU仅完成一个最基本的动作。
对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。
由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。
显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。
具体计算就是1/fosc。
也就是说如果晶振为1MHz,那么时钟周期就为1us;6MHz的话,就是1/6us。
8051单片机把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。
机器周期:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。
例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。
完成一个基本操作所需要的时间称为机器周期。
一般情况下,一个机器周期由若干个S周期(状态周期)组成。
8051系列单片机的一个机器周期同6个S周期(状态周期)组成。
前面已说过一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示),8051单片机的机器周期由6个状态周期组成,也就是说一个机器周期=6个状态周期=12个时钟周期。
具体计算为:时钟周期Xcycles。
如果单片机是12周期的话,那么机器周期就是T×12。
假设晶振频率为12M,单片机为12周期的话,那么机器周期就是1us。
例如外接24M晶振的单片机,他的一个机器周期=12/24M秒;52系列单片机一个机器周期等于12个时钟周期。
设晶振频率为12MHz时,52单片机是12T的单片机,即频率要12分频。
8051单片机的特点1

1.单片机概念:单片机,又称微控制器,是在一块硅片上集成了各种部件的微型计算机。
这些部件包括中央处理器CPU,数据存储器RAM,程序存储器ROM,定时器/计数器和多种I/O接口电路。
2.MCS-51系列单片机中的基本型产品是8051,8031和8751,这三个产品只是片内程序存储器制造工艺不同。
8051的片内程序存储器ROM为掩膜型的在制造芯片时已将应用程序固化进去,使它具有了某种专用功能;8031无ROM,使用时需外接ROM;8751的片内ROM是EPROM型的,固化的应用程序可以方便改写。
(除片内ROM 类型不同外,其他性能完全相同)3.其他性能的结构特点:(1)8位CPU;(2)片内震荡器及时钟电路(3)32根I\O线(4)外部存储器ROM和RAM寻址范围各64KB(5)2个16位的定时器/计数器(6)5个中断源,2个中断优先级(7)全双工串行口(8)布尔处理器4.8051的内部结构8051内部结构可划分为CPU,存储器,并行口,串行口,定时器/计数器和中断逻辑几部分。
(1)中央处理器8051的中央处理器CPU由运算器和控制逻辑构成。
其中包括若干特殊功能寄存器(SFR)。
a 以ALU为中心的运算器运算逻辑单元ALU能对数据进行加减乘除等算术运算和“与”“或”“异或”等逻辑运算以及位操作运算。
ALU只能进行运算,运算的操作数可以事先存放在累加器ACC或暂存器TMP 中,运算结果可以送回ACC或通用寄存器或储存单元中。
累加器ACC也可以写为A。
B寄存器在乘法指令中用来存放乘数,在除法指令中用来存放除数,运算后B中为部分运算结果。
程序状态字PSW是8位寄存器,用来寄存本次运算的特征信息,用到其中的七位,下面是其各位的定义:CY:进位标志,有进位或借位时,CY=1;否则CY=0.AC:半进位标志,当D3位向D4位产生借位或进位时,AC=1;否则AC=0;常用于十进制调整运算中。
F0:用户可设定的标志位,可置位或复位,也可供测试。
单片机指令周期怎么计算

单片机指令周期怎么计算指令周期:指令周期执行某一条指令所消耗的时间,它等于机器周期的整数倍。
传统的80C51单片机的指令周期大多数是单周期指令,也就是指令周期=机器周期,少部分是双周期指令。
现在(截至2012)新的单片机已经能做到不分频了,并且尽量单指令周期,就是指令周期=机器周期=时钟周期。
来看这张8051单片机外部数据,这里ALE和$PSEN$的变化频率已经小于一个机器周期,如果使用C语言模拟这个信号是没有办法做到的一一对应的,所以只能尽量和上面的时序相同,周期延长。
指令周期是不确定的,因为她和该条指令所包含的机器周期有关。
一个指令周期=1个(或2个或3个或4个)机器周期,像乘法或除法就含有4个机器周期,单指令就只含有1个机器周期。
对于大多说的51单片机来说,1个机器周期=12个时钟周期(或振荡周期)也有部分单片机时钟周期和振荡周期不相等,例如,1个时钟周期=2个振荡周期。
该定义指的是执行一条指令所需要的时间,通常一个指令周期会由若干个机器周期组成。
指令不同,所需的机器周期数也不同。
对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。
对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。
通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。
PIC单片机指令周期计算PIC单片机的每四个时钟周期为一个内部指令周期例如:8MHz的晶振,则内部指令周期为1/(8/4)= 0.5 uS实例一:35us,8MHz的晶振,8位定时器,分频比1/2 ,初值E4实例二:156.25us ,32768Hz的晶振,8位定时器,分频比1/32 ,初值FC计算方法一:35 = =(256-初值)*分频*4/晶振+ 14/分频=(256-初值)+14/2。
51单片机的指令周期

51单片机的指令周期051芯片内部有一高增益反相放大器,用于构成振荡器,反向放大器输入端为XTAL1,输出端XTAL2。
在XTAL1和XTAL2两端跨接一个石英晶体及两个电容就构成了稳定自激振荡器,电容器C1和C2通常都取30pF左右,对振荡频率有微调作用。
振荡频率范围是1.212MHz。
8051也使用外部震荡脉冲信号,由XTAL2端引脚输入,XTAL1端接地,外部震荡脉冲源方式常用于多块8051同时工作,以便于同步。
晶体振荡器的振荡信号从XTAL2端输出到片内的时钟发生器上,时钟发生器是一个二分频触发电路,它将振荡器的信号频率fosc除以2,向CPU提供两相时钟信号P1和P2。
时钟信号的周期称为机器状态时间S,CPU就以两相时钟P1和P2为基本节拍指挥8051单片机各个部件协调地工作。
除时钟周期外,还有两个与时间有关的概念叫机器周期和指令周期。
计算机的一条指令由若干个字节组成。
执行一条指令需要多少时间则以机器周期为单位。
所谓一个机器周期就是指CPU访问存储器一次所需要的时间。
例如取指令,读存储器,写存储器等等。
MCS51的一个机器周期为12个振荡周期,分为六个S状态,S1S6.而每个状态又分为两拍,称为P1和P2。
因此,一个机器周期中的12个振荡周期表示为S1P1,S1P2,S2P1等直到S6P2.若采用6MHZ晶体振荡器,则每个机器周期恰为2us。
每条指令都由一个或几个机器周期组成。
在MCS51系统中,有单周期指令,双周期指令。
四周期指令只有乘,除两条指令。
指令的运算速度和它的机器周期直接相关,机器周期数较小则执行速度快。
在编程时要注意选用具有同样功能而机器周期数小的指令。
每一条指令的执行都可以包括取指和执行两个阶段。
在取指阶段,CPU从内部或者外部ROM中取出指令操作码及操作数,然后再执行这条指令。
在8051指令系统中,根据各种操作的繁简程度,其指令可由单字节,双字节和三字节组成。
从机器执行指令的速度看,单字节和双字节指令都可能是单周期或双周期,而三字节指令都是双周期,只有乘,除指令占四个周期,一条指令的字节数表征这条指令在存储器中所占空间大小,而周期数表征运行这条指令所花时间长短,即运行速度。
单片机考试知识点总结

一、填空题:1、当使用8051单片机时,需要扩展外部程序存储器,此时EA应接低电平。
2、8051上电复位后,从地址0000H开始执行程序,外部中断1的中断入口地址为0013H.3、8051最多有64KB的程序存储器和64KB的数据存储器。
4、P0口通常用作分时复用为地址总线(低8位)及数据总线或外接上拉电阻用作普通I/O 口。
5、P2口的功能为用作地址总线和作为普通I/O口使用。
6、若由程序设定RS1、RS0=01,则工作寄存器R0的直接地址为08H。
7、若由程序设定RS1、RS0=00,则工作寄存器R0的直接地址为00H。
8、若累加器A中的数据为01110010B,则PSW中的P=0(偶数个1为0,奇数为1)9、8051单片机共有5个中断源,分别是INT0外部中断0、INT1外部中断1、T0定时器/计数器中断0中断、T1定时器计数器1中断、串行口中断。
10、ADC0809是8通路8位逐次逼近式模/数转换器。
11、计算机中按功能把总线分为数据总线、地址总线和控制总线。
12、MOV A,#0F5H中,#0F5H的寻址方式称之为立即寻址。
MOV类指令称之为一般传输指令。
13、8051的一个机器周期等于12个晶体震荡周期;通常8051单片机的ALE引脚以1/6倍的晶振频率输出脉冲。
14、8051单片机复位后,堆栈指针SP指向第07H号内部RAM;8051的堆栈是向上生长的。
15、十进制调整指令DA A,专用于BCD码的加减运算。
16、单片机的中断触发方式有低电平触发和下降沿触发两种。
大多数情况下,单片机控制系统采用下降沿触发方式触发中断。
17、若执行加法运算后累加器(A)中的数据为01110010B,则PSW中的P=018、8051单片机的程序存储器和数据存储器编址方式采用的是哈佛结构,即数据存储器和程序存储器分开的编址方式。
二、单项选择题1、8051单片机执行MOVX写指令时,相关的信号状态是PSEN无效为高电平,WR有效为低电平2、若PSW.4=1,PSW.3=1,现在需要保存R1的内容,可执行PUSH 19H指令3、下列指令不是变址寻址方式的是MOVX A,@DPTR4、在8051片外扩展一片EEPROM 28C64需要13根地址线(片选除外),8根数据线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时钟周期
时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。
在一个时钟周期内,CPU仅完成一个最基本的动作。
对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ 的时钟频率,则时钟周期为250us。
由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。
显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。
但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟周频率范围也不一定相同。
我们学习的8051单片机的时钟范围是1.2MHz-12MHz。
在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。
机器周期
在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。
例如,取指令、存储器读、存储
器写等,这每一项工作称为一个基本操作。
完成一个基本操作所需要的时间称为机器周期。
一般情况下,一个机器周期由若干个S周期(状态周期)组成。
8051系列单片机的一个机器周期同6个S周期(状态周期)组成。
前面已说过一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示),8051单片机的机器周期由6个状态周期组成,也就是说一个机器周期=6个状态周期=12个时钟周期。
指令周期
指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。
指令不同,所需的机器周期数也不同。
对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。
对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。
通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。
以51为例,晶振22.1184M,时钟周期(晶振周期)就是(1/22.1184)μs,一个机器周期包含12个时钟周期,一个机器周期就是0.5425μs。
一个机器周期一般是一条指令花费的时间,也有些是2个机器周期的指令,DJNZ,就是双周期指令,所以指令周期为0.5425μs 但不是所有机器周期都等于12个时钟周期的。
一个机器周期=6个状态周期=12个时钟周期。
时钟周期=外接晶振的倒数
机器周期=12乘与时钟周期列24m的晶振一个机器周期=12x1/24 us。