《例说51单片机(C语言版)(第3版)》一1.4 MCS-51的时序分析与复位

1.4 MCS-51的时序分析与复位

例说51单片机(C语言版)(第3版)
在本单元里将介绍8x51的复位(RESET)与时序分析。

1.4.1 时序分析
时钟脉冲是微型计算机系统的基本信号,在1-2节里,我们曾经简单地介绍了8x51的时钟脉冲。不管是采用内部的振荡电路,或由外部的时钟脉冲产生电路提供的时钟脉冲,这个时钟脉冲将成为整个系统运行的根据。89C51的额定时钟脉冲为0到24MHz,表示只要不超过24MHz即可。而89S51的额定时钟脉冲为0到33MHz,表示只要不超过33MHz就不会有问题。当我们在设计电路时,是不是要使用其最高的频率呢?当然不是这样。若时钟脉冲的频率太高,可能会导致程序复杂、使用的CPU资源增大,“延迟函数”就是最明显的例子。

通常我们会挑选一个常用、容易买到(且便宜)的石英振荡晶体,而且程序不必刻意修改就能兼容,这里挑选最常用的12MHz时钟脉冲。

如图1-21所示为12MHz时钟脉冲的时序图,一个机器周期由6个状态周期(S1到S6)所构成,每个状态周期包括两个时钟脉冲(即P1、P2)。对于12MHz的时钟脉冲而言,一个脉冲的周期为1/12μs,一个机器周期包含12个时钟脉冲,也就是1μs。

在8x51的111条指令里,除了执行乘法与除法指令需要4个机器周期外,其余指令都能在1个或2个机器周期执行完毕。尽管如此,有些指令的长度为1B,有些为2B,还有少数指令为3B。对于不同的指令,CPU如何读取与执行呢?在此将结合图1-21简要说明。首先是地址锁存使能引脚ALE,每个机器周期送出两个脉冲(分别是在S1及S4时),以锁存P0输出的地址(A0~A7),CPU将进行读取存储器的动作。对于不同的指令类型,其动作分别说明如下。

1个机器周期、1B的指令,如CLR C指令,在S1时读取指令,在S6时执行完毕;而在S4时读取下条指令,但并不使用它,直到下个机器周期的S1时再重新读取下条指令。
1个机器周期、2B的指令,如INC direct指令,在S1时读取指令,在S4时读取第二个byte,在S6时执行完毕。在下个机器周期的S1时读取下条指令,以此类推。
2个机器周期、1B的指令,如RET指令,在S1时读取指令,而在S4及下个机器周期的S1、S4时分别读取下条指令,由于指令尚未执行完毕,所以这三个阶段的指令读取都会被放弃。直到第二个机器周期的S6,指令执行完毕后,CPU才会在第三个机器周期的S1重新读取下条指令,才是有效的读取。

图1-21 时序分析图

另外一种2个机器周期、1B的指令为存取外部存储器数据的指令,即MOVX指令。同样在第一个机器周期的S1时读取指令,而在S4时读取下条指令,当然也会被放弃。在S5时P0送出的A0到A7地址将被放入锁存器,而S6到下个机器周期的S3之间,由P0进行外部存储器的数据存取。由于进行外部存储器的存取,第二个机器周期的S1与S4并不进行读取指令的动作,直到第三个机器周期的S1时,才会重新读取下条指令。

1.4.2 复位

对于微型计算机系统而言,复位是一项很重要的归零动作。而8x51的复位是将高电平加到RESET引脚(第9脚)上,时间超过两个机器周期以上,也就是2μs。一般手动按8x51系统里的RESET按钮开关都会超过2μs,换言之,只要按RESET按钮,就一定会使系统复位。当系统复位时,CPU内部寄存器将回归初始状态(如表1-6所示),程序将从0000H处开始执行。

时间: 2024-09-21 12:03:13

《例说51单片机(C语言版)(第3版)》一1.4 MCS-51的时序分析与复位的相关文章

c语言-51单片机C语言编程问题

问题描述 51单片机C语言编程问题 這個程序是這樣的分IN0IN1JP1JP2 JP2為0時常規測試(全顯示格子1格子2)JP2為1時測試模式 當JP2為1時而且JP1為1時進入測試模式1 測試模式1:當IN0為0時顯示pic1;當IN1為0時顯示pic2; 當IN0=0&&IN1=0以及IN0=1&&IN1=1顯示blank 當JP2為1時而且JP1為0時進入測試模式2當IN1接收到一段約為50ms的脈衝將IN0拉高1.5秒如果這1.5秒內IN0有變為0就顯示pic1且持

《51单片机应用开发从入门到精通》——第 2 章 51单片机基础实例 2.1 简单点亮发光二极管实例

第 2 章 51单片机基础实例 本章主要介绍以下几个单片机的基础实例程序: 简单点亮发光二极管实例 跑马灯实例 流水灯实例 查0-9平方表实例 受控输出实例 比较输入数大小实例 交通灯控制器实例 蜂鸣器发音实例 单片机演奏音乐实例 软件陷阱实例 2.1 简单点亮发光二极管实例 单片机最简单的实例之一就是点亮发光二极管(LED)闪烁.本节通过点亮1只发光二极管的实例来介绍单片机的I/O口操作. 本节首先介绍单片机I/O口结构的基础知识,接着介绍实例的硬件电路,然后给出了实例程序,最后将分析操作单片

51单片机 c语言-单片机作业,明天的考试估计会有类型题,但不会,20分啊。。。。呜呜,求帮助

问题描述 单片机作业,明天的考试估计会有类型题,但不会,20分啊....呜呜,求帮助 解决方案 最小系统要求能够正确运行,所以晶振是必须的,另外还要能够正确复位,因此,复位电路也是必须的. 由于程序要求不复杂,因此使用片内的程序空间就可以,所以不需要外部程序存储器,所以EA引脚需要接到高电平. 如下图所示 --其它问题楼下继续 解决方案二: 明天考试,那试题怎么提前能得到?试题都泄露了还不会实在羞羞. 解决方案三: 对于80C51来说,它的定时器脉冲来自于12分频的晶振频率,由于晶振12M,12

51单片机通过IIC向EEPROM存储和读取数据

问题描述 51单片机通过IIC向EEPROM存储和读取数据 我用51单片机通过IIC向EEPROM存储数据,然后再把数据读出来,再通过串口发送出去, 再用串口调试工具(eaglecom)查看数据...最后发现一次只能发送或者读取12个 字节,大于12个字节之后的数据全是0xff.不知道原因是什么. ```#include #include "delay.h" #include "Uart.h" #define ERROR 0 #define SUCCESS 1 #d

《例说51单片机(C语言版)(第3版)》——1-5 MCS-51的开发流程与工具

1-5 MCS-51的开发流程与工具 例说51单片机(C语言版)(第3版) 8x51系统的开发流程与一般单片机微控制器的开发流程类似,其基本开发流程可分为软件与硬件两部分,而这两部分可以并行开发.在硬件开发方面,主要是设计原型电路板(prototype),也就是目标板(target board).在软件开发方面,则是编写源程序(可使用C语言或汇编语言),再经过编译.汇编成为可执行码,然后进行调试/仿真.当完成软件设计后,即可应用在线仿真器(In-Circuit Emulator,ICE),加载该

《例说51单片机(C语言版)(第3版)》一第1章 轻松看MCS-511.1 微型计算机与单片机

第1章 轻松看MCS-51 例说51单片机(C语言版)(第3版) 本章内容丰富,主要包括以下内容. 8x51的基本知识,包括结构.引脚.封装.MCS-51系列与基本电路等. 8x51的结构,包括存储器配置.时序分析等. 8x51软硬件的开发流程,包括源程序的编写.编译.连接,以及软硬件仿真等. 高.低4位交替闪烁灯的程序设计及其编译.连接与软件仿真. 1.1 微型计算机与单片机 例说51单片机(C语言版)(第3版) 一般地,微型计算机系统包括中央处理单元(CPU).存储器(Memory)及输入/

《例说51单片机(C语言版)(第3版)》一1.5 MCS-51的开发流程与工具

1.5 MCS-51的开发流程与工具 例说51单片机(C语言版)(第3版) 8x51系统的开发流程与一般单片机微控制器的开发流程类似,其基本开发流程可分为软件与硬件两部分,而这两部分可以并行开发.在硬件开发方面,主要是设计原型电路板(prototype),也就是目标板(target board).在软件开发方面,则是编写源程序(可使用C语言或汇编语言),再经过编译.汇编成为可执行码,然后进行调试/仿真.当完成软件设计后,即可应用在线仿真器(In-Circuit Emulator,ICE),加载该

《例说51单片机(C语言版)(第3版)》一1.6 实例演练

1.6 实例演练 例说51单片机(C语言版)(第3版) 单片机系统的设计中,软件与硬件息息相关,不同的电路设计,程序可能就不太一样.因此,在编写程序之前,必须确定电路的连接状态,例如,要利用89S51的P2来控制8个LED,让这8个LED分成两组(高4位与低4位)交替闪烁,其设计步骤如下. 首先把电路连接妥当,如图1-26所示.当P2的引脚输出低电压(0)时,其所连接的LED呈现正向偏压而发亮:若将引脚输出高电压(1)时,其所连接的LED不导通而不亮.因此,我们的程序设计就要让P2输出为"000

《例说51单片机(C语言版)(第3版)》——1-3 认识MCS-51的存储器结构

1-3 认识MCS-51的存储器结构 例说51单片机(C语言版)(第3版) 除了无ROM型的8031及8032外,MCS-51的存储器包括程序存储器(ROM)与数据存储器(RAM)两部分,一般地这两部分是独立的个体.标准的8x51系列具有4KB程序存储器.128B数据存储器,而标准的8x52系列具有8KB.256B数据存储器,刚好是8x51系列的两倍.不管是8x51.8031.8032或8x52,其外部扩展的程序存储器或数据存储器最多为64KB. 虽然MCS-51的兼容单片机都扩展了其内部程序存

《例说51单片机(C语言版)(第3版)》——1-6 实例演练

1-6 实例演练 例说51单片机(C语言版)(第3版) 单片机系统的设计中,软件与硬件息息相关,不同的电路设计,程序可能就不太一样.因此,在编写程序之前,必须确定电路的连接状态,例如,要利用89S51的P2来控制8个LED,让这8个LED分成两组(高4位与低4位)交替闪烁,其设计步骤如下. 图像说明文字首先把电路连接妥当,如图1-26所示.当P2的引脚输出低电压(0)时,其所连接的LED呈现正向偏压而发亮:若将引脚输出高电压(1)时,其所连接的LED不导通而不亮.因此,我们的程序设计就要让P2输