单片机
返回首页

89c51 CPU时序

2019-02-18 来源:eefocus

89C51系列单片机和其他MCU一样,都是从Flash Rom中取指令和执行指令过程中的各种微操作,都是按着一定的节奏进行的。这是因为89c51单片机内有一个节奏发生器,即片内的震荡脉冲电路。


89c51的芯片内部有一个高增益的反相放大器,用于构成震荡器。反相放大器的输入端是XTAL1,输出端是XTAL2,两段之间接一个石英晶体和两个电容就构成了稳定的自激振荡器,电容c1、c2通常取30PF左右,可稳定频率并对震荡频率有微调作用。晶体振荡器的脉冲频率范围为Fsoc=0~24MHz。


振荡信号从XTAL2端输入到片内的时钟发生器上,如下图所示


1、节拍与状态周期


       时钟发生器是一个2分频的触发器电路,它将振荡器的信号频率Fsoc除以2,向CPU提供两相时钟脉冲信号P1和P2。时钟信号的周期称为机器状态周期S(START),是振荡周期的2倍。在每个时钟周期(即机器状态周期S)的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2)信号有效。每个机器周期有两个节拍P1和P2,CPU就以两相时钟P1和P2为基本节拍指挥单片机各部件协调工作。


2、机器周期和指令周期


       计算机的一条指令由若干个字节组成。执行一条指令需要的时间则需要以机器周期为单位。一个机器周期是指CPU访问存储器一次(如取指令,读存储器,写存储器等)所需要的时间。


      89c51的一个机器周期包括12个振荡周期,分为6个S状态:S1-S6。每个状态又分为两拍,称为P1和P2。因此,一个周期中的12振荡周期表示为S1P1、S1P2、S2P1...S6P2。若采用频率为6MHz晶体振荡器,则每个机器周期恰好为2us(12/6)。


      每条指令都由一个或几个机器周期组成,在89c51系统中4周期指令只有乘除两条指令,其余都是单周期或者双周期。


3、基本时序定时单位


89c51的基本时序定时单位有如下4个


(一)振荡周期:晶体的振荡周期,为最小的时序单位。


(二)状态周期:振荡频率经过单片机内部的二分频电路分频后提供给片内cpu的时钟周期,一个状态周期包含两个振荡周期


(三)机器周期:一个机器周期由6个状态周期(12个机器周期)组成,是单片机执行基本操作的一种时间单位


(四)指令周期:执行一条指令所需的时间,一个机器周期由1~4个机器周期组成。


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 红外线探测报警器

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 基于ICL296的大电流开关稳压器电源电路

    相关电子头条文章