80C51单片机指令的取指、执行时序

合集下载

第3章80C51系列单片机的硬件基础知识

第3章80C51系列单片机的硬件基础知识

(3) P2口(21脚~28脚):P2口的8条引脚也有两种不同的 功能: 1) 准双向输入/输出接口,每一位也可独立控制。
2) 在接有片外存储器或扩展I/O接口时,P2口作为高8位地
址总线。
引脚
第二功能
说 明
P3.0
RXD
串行口输入
外部中断0输入,低电平
(4) P3口(10 脚~17脚): 8条引脚也有两种不同的功能: P3.1 TXD P3口的 串行口输出
STC
Winbond(华邦) W78C54,W78C58,W78E54,W78C58等 Intel(英特尔) i87C54,i87C58,i87L54,i87C51FB,i87C51FC
Siemens(西门子) C501-1R,C501-1E,C513A-H,C503-1R,C504-2R
3.1.3 80C51系列单片机的选择依据
3.1.1 MCS-51系列单片机
1980年美国INTEL公司推出了高性能的8位单片机: MCS-51系列单片机。 系列单片机是指同一厂家生产的具有相同系统结构 的多种型号的单片机。 MCS-51系列单片机又可分为51和52两个子系列。
各个子系列所含有的芯片型号及其硬件资源的区别如表3-1所示。
MCS-51系列 型号 8031 片内ROM 无 4KB掩膜ROM 4KB EPROM 无 8KB掩膜ROM 片内 RAM 128B 128B 128B 256B 256B 定时器/计数 中断源数量 器 2×16位 2×16位 2×16位 3×16位 3×16位 5 5 5 6 6
PDIP (T2)P1.0 (T2EX)P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST (RXD)P3.0 (TXD)P3.1 1 40 39 38 37 36 35 VCC P0.0(AD0) P0.1(AD1) P0.2(AD2) P0.3(AD3) P0.4(AD4) P0.5(AD5) P0.6(AD6) P0.7(AD7) EA/VPP ALE/PROG PSEN P0.4(AD4) P0.5(AD5) P2.7 P0.6(AD6) P2.6 P0.7(AD7) EA/VPP P2.5 NC P2.4 ALE/PROG PSEN P2.3 P2.7 P2.6 P2.2 P2.5 P2.1 P2.0

80c51汇编语言指令格式

80c51汇编语言指令格式

80c51汇编语言指令格式80C51汇编语言是一种低级编程语言,主要用于对8051系列单片机进行编程。

在80C51汇编语言中,指令格式基本上由操作码、操作数和注释组成。

下面将详细介绍80C51汇编指令的格式。

1.操作码(Opcode):操作码是指令的基本操作,决定了执行指令时处理器应该进行的具体操作。

80C51汇编指令的操作码包括一字节,可以是直接指令,也可以是扩展指令。

-直接指令:直接在指令中给出操作数,可以是寄存器、立即数、或者存储器地址。

指令的操作码如MOV、ADD等。

-扩展指令:扩展指令需要使用扩展二字节的形式,扩展二字节包括操作码和相关的操作数。

扩展指令的操作码如JMP、CALL等。

2.操作数(Operand):操作数位于指令的操作码之后,在指令中给出具体的数据或者数据的地址。

操作数的格式可以是直接给出的数据,也可以是通过地址访问的数据。

-立即数(Immediate value):直接给出的数据,一般用来作为常数或者立即加载到寄存器中的数据。

-寄存器(Register):指令操作数为特定的寄存器,分为通用寄存器和特殊功能寄存器两种。

-存储器(Memory):通过给出地址的方式访问存储器中的数据,可以是位于内部RAM或外部存储器中的数据。

3.注释(Comments):注释是对指令的解释和说明,用于增加代码的可读性。

在80C51汇编语言中,注释以分号(;)开头,并紧跟在指令或数据的后面。

下面是一些80C51汇编指令的例子以加深理解:1. MOV指令的格式:MOV A, #10 ;将立即数10加载到累加器A中MOV R1, R0 ;将R0的值复制到R1中2. ADD指令的格式:ADD A, R1 ;将累加器A与R1中的值相加,并将结果存回A中ADD A, #5 ;将累加器A与立即数5相加,并将结果存回A中3. JMP指令的格式:JMP 1000 ;无条件跳转到内存地址为1000的位置继续执行指令4. CALL指令的格式:CALL 2000 ;调用一个子程序,跳转到内存地址为2000的位置执行指令,并在子程序执行完成后返回到指令的下一条指令继续执行5. SJMP指令的格式:SJMP label ;有条件跳转指令,根据条件跳转到指定标签处执行指令6. RET指令的格式:RET ;用于从子程序返回主程序,并继续执行主程序的下一条指令总结:80C51汇编语言指令的格式主要由操作码、操作数和注释组成。

3_80C51单片机指令系统

3_80C51单片机指令系统

③特殊功能寄存器符号加位的表示方法。例如: MOV C,ACC.6 该指令是将累加器A位六的值赋给位累加器C。 ④位名称表示方法,特殊功能寄存器中的一些寻址 位是有名称的。例如: MOV C,F0 该指令等同于MOV C,PSW.5,因为PSW寄存器位 5为F0标志位。 ⑤利用伪指令定义位地址。有关伪指令的内容参见 4.1节。 位寻址方式是80C51单片机的特有功能,丰富的位操 作指令为逻辑运算、逻辑控制以及各种状态标志的设置提 供了方便。
相关寄存器
寻址空间 程序存储器 片内RAM低128B和SFR
R0~R7,A,B,DPTR, CY @R0,@R1,SP @R0,@R1,@DPTR @A+DPTR,@A+PC PC+rel CY,SFR 片内RAM 片外RAM 程序存储器 程序存储器 片内RAM的位寻址区 可以位寻址的特殊功能寄 存器
③注意直接地址和位地址之间的区别。例如: MOV A,30H MOV C,30H 第一条指令是将直接地址30H中的内容(8位二进制 数)送给累加器A;第二条指令是将位地址30H中的内容 (1位二进制数)送给进(借)位标志位CY。 ④直接寻址是访问特殊功能寄存器的惟一方法。
(3)寄存器寻址 此处的寄存器指R0~R7、累加器A、通用寄存器B、 数据指针寄存器DPTR和位累加位C(即进位标志位C)。 寄存器寻址是指在指令中将指定寄存器的内容作为 操作数。因此指定了寄存器就能得到了操作数。例如: MOV A,R0 此指令的功能是将R0中的内容送入累加器A中(如图 3-3所示),即 (A)←(R0) 如通用寄存器R0中的内容为80H,则执行该指令后, 累加器A中的内容为80H。
3 80C51单片机指令系统 单片机指令系统
3.1 概述
指令是计算机能够直接识别和执行的命令,一台计 算机所能执行的全部指令的集合称为指令系统。80C51系 列单片机完全继承了MCS-51的指令系统,共有111条指 令。

51单片机指令周期,机器周期,时钟周期详解

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语言模拟这个信号是没有办法做到的一一对应的,所以只能尽量和上面的时序相同,周期延长。

80C51 单片机的硬件结构 思考题及答案

80C51 单片机的硬件结构 思考题及答案

1 、如何理解51单片机存储空间在物理结构上可分为4个,而逻辑上又可划分为3个答:MCS-51在物理上有四个存储空间:1、片内程序存储器2、片外程序存储器、3、片内数据存储器4、片外数据存储器。

从逻辑上划分有三个存储器地址空间:1、片内外统一编址的64K字节程序存储器(0000H~0FFFFH)2、内部256字节数据存储器地址空间(包括128字节片内RAM和128字节的SFR)3、外部64K字节数据存储器地址空间(0000H~0FFFFH))2 、MCS-51片内RAM的容量8051最大可配置的RAM/ROM容量答:1)MCS-51片内RAM的容量:51子系列:128B52子系列:256B2)其ROM最大可扩展到64KB注:片内数据存储区=片内RAM+SFR,51和52子系列的SFR容量都是128B3 、8051的/PSEN、/RD、/WR的作用答:1)/PSEN(外部程序存储器读选通信号): CPU访问片外ROM时,使/PSEN低电平有效,可实现片外ROM的读操作,其他情况下此引脚为高电平封锁状态。

·2)/RD:外部RAM读信号3)/WR:外部RAM写信号4 、ALE线的作用当8051不和RAM/ROM相连时,ALE线的输出频率是多少答:1)ALE(地址锁存控制信号):访问片外ROM,RAM时,ALE用于控制把P0口输出的低8位地址送入锁存器锁存,实现低位地址和数据的分时传送。

不访问片外存储器时,可做为外部时钟使用。

2)当8051不和RAM/ROM相连时,ALE线的输出频率等于时钟周期的倒数<5 、MCS-51的工作寄存区包含几个通用工作寄存器组每组的地址是什么如何选用开机复位后,CPU使用的是哪组工作寄存器答:1)MCS-51的工作寄存区包含4个通用工作寄存器组2)第0组通用寄存器区地址:00H~07H第1组通用寄存器区地址:08H~0FH第2组通用寄存器区地址:10H~17H第3组通用寄存器区地址:18H~1FH3)选择哪个工作寄存器组是通过软件对程序状态字寄存器PSW的第4、3位进行设置实现的4(6、MCS-51的内部RAM地址空间是如何安排的共有多少个单元可以位寻址位地址又是如何排列的答:1)MCS-51的内部RAM地址的空间安排:00H~1FH 寄存器区20H~2FH 位寻址区30H~7FH 数据缓冲区80H~FFH 专用寄存器区2)位寻址的单元个数:16B*8位/B=128位3)位地址排列方式:|位地址为:00H~7FH字节地址:20H~2FH7 、MCS-51的程序计数器PC是几位寄存器它是否为专用寄存器PC 的内容是什么信息答1)MCS-51的程序计数器PC是16位寄存器2)它不是专用寄存器3)PC的内容为将要执行的指令地址{8 、什么是堆栈堆栈指针SP的作用是什么在程序设计时,有时为什么要对SP重新赋值如果CPU在操作中要使用两组工作寄存器,SP 的初值应设为多少答:1)堆栈是一种数据结构,专门存放向上生长堆栈的栈顶位置。

80C51单片机上电复位和复位延时的时序分析

80C51单片机上电复位和复位延时的时序分析

80C51单片机上电复位和复位延时的时序分析1.上电复位时序分析:当单片机通电时,其内部电路经过一系列的过程,最终实现上电复位。

具体的时序如下:a.当电源供电稳定后,单片机内部开始运行,在此之前,通过电源上的电感元件(电源滤波电感)将电源的浪涌电流限制在一定范围内,避免对器件造成损害。

b.在电源稳定后,单片机内部的复位电路开始工作,将复位引脚(RST)拉低。

复位引脚通常由一个上拉电阻连接到电源电压,当复位引脚被拉低时,单片机内部复位逻辑电路开始工作。

c.单片机内部的复位逻辑电路通过一系列的电路操作,包括对寄存器、内存等的清零操作,实现对整个系统的复位。

同时,系统时钟和各个外设模块(如定时器、串口等)被禁止,确保整个系统进入复位状态。

d.完成复位操作后,复位引脚会逐渐恢复高电平,此时单片机开始退出复位状态,系统可以开始正常运行。

2.复位延时时序分析:在单片机复位后,必须等待一段时间,直到内部电路完全稳定,才能恢复正常运行。

此时间段被称为复位延时。

具体的时序如下:a.当复位引脚恢复高电平时,复位逻辑电路停止工作,但系统内部的各个模块以及外设模块的电路需要一定时间来稳定,此时单片机处于复位延时状态。

b.在复位延时期间,系统时钟和各个外设模块仍然被禁止,保证系统内部不会发生意外的操作。

c.复位延时的具体时间取决于单片机的工作频率,通常在给定的单片机规格书中可以找到相关的参数或公式。

复位延时可以使用一个定时器或延时循环实现,保证系统稳定后再进行正常的操作。

总结:80C51单片机的上电复位和复位延时时序分析是单片机运行的基础,关系到系统的稳定性和可靠性。

通过了解上电复位和复位延时的时序分析,可以更好地理解单片机的工作原理,并合理地设计系统硬件电路和软件逻辑,保证系统的正常运行。

80c51汇编语言指令

80c51汇编语言指令

80c51汇编语言指令80C51汇编语言是一种常用的低级程序设计语言,广泛应用于嵌入式系统中。

它是基于Intel 8051系列单片机的指令集架构,具有高效、灵活、可靠的特点。

本文将介绍80C51汇编语言的一些常用指令。

一、MOV指令MOV指令是80C51汇编语言中最基本、最常用的指令之一,用于将数据从一个寄存器或内存位置复制到另一个寄存器或内存位置。

例如,MOV A, #25H表示将立即数25H复制到A寄存器中。

二、ADD指令ADD指令用于执行两个操作数的相加运算,并将结果存储在目标操作数中。

例如,ADD A, R0表示将A寄存器和R0寄存器中的数据相加,并将结果存储在A寄存器中。

三、SUBB指令SUBB指令用于执行两个操作数的减法运算,并将结果存储在目标操作数中。

与ADD指令不同的是,SUBB指令会考虑进位位的值。

例如,SUBB A, R1表示将A寄存器中的数据减去R1寄存器中的数据,并将结果存储在A寄存器中。

四、MUL指令MUL指令用于执行两个操作数的乘法运算,并将结果存储在累加器A和可选的乘法寄存器B中。

例如,MUL AB表示将累加器A和B 中的数据相乘,并将结果存储在A和B中。

五、DIV指令DIV指令用于执行两个操作数的除法运算,并将结果存储在累加器A和可选的余数寄存器B中。

例如,DIV AB表示将累加器A和B 中的数据相除,并将商存储在A中,余数存储在B中。

六、JC、JNC指令JC指令用于在条件跳转时执行跳转操作,如果进位标志位(C)为1,则执行跳转。

JNC指令则相反,只有当进位标志位为0时才执行跳转。

七、JZ、JNZ指令JZ指令用于在条件跳转时执行跳转操作,如果零标志位(Z)为1,则执行跳转。

JNZ指令则相反,只有当零标志位为0时才执行跳转。

八、CJNE指令CJNE指令用于在条件跳转时执行跳转操作,它比较两个操作数的值,并根据比较结果来确定是否执行跳转。

如果两个操作数相等,则不执行跳转;如果不相等,则执行跳转。

单片机 第二章 80C51系列单片机内部结构与工作原理

单片机 第二章 80C51系列单片机内部结构与工作原理

2.2 80C51单片机内部基本结构及引脚功能
③检查单片机芯片的好坏,可用示波器查看ALE端
是否有脉冲信号输出。
④ALE端的负载能力为8个LS型TTL。 :对EPROM型单片机,如对87C51BH编程时 的编程脉冲输入端。 ⑵、 (29脚):程序存储允许输出端。片外程
序存储器的读选通信号,低电平有效。
2.2 80C51单片机内部基本结构及引脚功能
3、基本功能单元
功能: 满足单片机测控功能要求的基本计算机外 围电路,用来完善和扩大计算机的功能.
组成: 包括定时/计数器、中断系统、串行通信 接口等。 说明: (1)80C51有两个16位定时/计数器 (T0和T1)。 作用: 可以作为内部定时器或外部脉冲计数器使 用。作内部定时器时,是靠对时钟振荡器的12分频脉
2.1 2.2 2.3
2.4
2.5 2.6
2.7
2.8 2.9
80C51系列单片机简介 80C51单片机内部基本结构及引脚功能 80C51单片机CPU结构 80C51存储器结构 输入/输出(I/O)端口 单片机的工作过程 80C51的低功耗方式 本章小结 练习思考题
第二章
80C51系列单片机内部结构与工作原理
①CPU从外部ROM取指令时,在每个机器周期中两 次有效。但在访问片外RAM时,要少产生两次负脉冲信
2.2 80C51单片机内部基本结构及引脚功能
号。有效时,将外部ROM中的指令读到数据总线上。
②检查单片机系统上电后,CPU能否正常到 EPROM/ROM中读取指令码,可用示波器查看该端有无负 脉冲信号输出。 ③可驱动8个LS型TTL门电路。
⑶、 (31脚):内部/外部ROM地址选择信号/ 固化编程电压输入端。 :①为高电平,CPU访问ROM有两种情况: 当PC中的值小于0FFFH时,执行片内ROM指令; 当PC中的值超过0FFFH时,将自动转向执行片外 ROM指令。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

80C51单片机指令的取指、执行时序
使用ALE 信号作为低8 位地址的锁存控制信号。

ALE 接到外部锁存器时,高电平期间,51 的p0 输出地址,低电平时锁存器将地址锁存,在ALE 低电平时,(PSEN 为低)p0 口可以传输数据(指令),这样就可以地址/数据复用了。

以PSEN 信号作为扩展程序存储器的读选通信号,在读外部ROM 是PSEN
是低电平有效,以实现对ROM 的读操作。

以EA 信号作为内外程序存储器的选择控制信号,当其为低电平时,对ROM
的读操作限定在外部的程序存储器,当其为高电平时, 对ROM 的读操作是从内部存储器开始的,并可延至外部程序存储器.
由RD 和WR 信号作为扩展数据存储器和I/O 口的读选通、写选通信号。

EA 信号是表示是当前指令是读内,还是外存储器的控制信号。

如:当选用无片内存储器的单片机,或者不打算用片内存储器时,EA 必须接低电平,此外,片外程序存储器的起始地址应该安排在片内存储器之后。

RD 和WR 信号就相对好理解,就是当读数据时(不分内外、RAM、ROM)它
就有效。

WR 也是这样的。

80C51 单片机指令的取指、执行时序
现按4 类指令介绍CPU 时序。

因为CPU 工作的过程就是取指令与执行指令
的过程,所以CPU 必须先取出指令,然后才能执行指令。

1.双字节单周期指令
由于双字节单周期指令必须在一个周期内取机器码二次,所以必须在一个机器周期内安排二次读操作码的操作,分别发生在S1P2 与S4P2。

在S1P2 读入
机器码74 并送入指令寄存器IR,在S4P2 读入数据03 送入累加器A,即读2
取2。

在指令的执行过程中,P0 口要分时传送地址与数据,因此当操作码的地。

相关文档
最新文档