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指令。

(C语言版)绝密版C51单片机复习题及答案

(C语言版)绝密版C51单片机复习题及答案

(C 语言版)绝密版 C51 单片机复习题及答案一填空题1、计算机中最常用的字符信息编码是( ASCII 码)。

2、MCS-51 系列单片机为( 8 )位单片机。

3、若不使用 MCS-51 片内存储器引脚( /EA )必须接(地)。

4、8031 内部有 ( 128 )个 RAM; 8051 内部有 (4K ROM )和( 128 个 RAM)。

5 、堆栈的地址由 ( SP ) 内容确定,其操作规律是“(先 ) 进(后)出”。

6 、在单片机扩展时, ( P0 ) 口和 ( P2 ) 口为地址线, (P0 ) 口又分时作为数据线。

7 、在 MCS-51 单片机中,如采用 6MHZ 晶振,一个机器周期为( 2us )。

8、当 80C51 的 RST 引脚上保持 ( 2 ) 个机器周期以上的低电平时,80C51 即发生复位。

9、当 P1 口做输入口输入数据时,必须先向该端口的锁存器写入( 1 ),否则输入数据可能出错。

10、若某存储芯片地址线为 12 根,那么它的存储容量为( 4K B )。

11、程序状态寄存器 PSW 的作用是用来保存程序运行过程中的各种状态信息。

其中 CY 为 (进位) 标志,用于无符号数加 (减) 运算,当进行(位)操作时作为位累加器。

OV 为(溢出)标志,用于有符号数的加(减)运算。

12、消除键盘抖动常用两种方法,一是采用(硬件去抖电路),用基本 RS 触发器构成;二是采用(软件去抖程序),既测试有键输入时需延时 ( 约大于 10 毫秒) 后再测试是否有键输入,此方法可判断是否有键抖动。

13、若 MCS-51 单片机采用 12MHz 的晶振频率,它的机器周期为( 1us ),ALE 引脚输出正脉冲频率为(2 MHZ )。

14 、 8051 有两个 16 位可编程定时/计数器,T0 和 T1。

它们的功能可由两个控制寄存器( TCON ) 、 ( TMOD ) 的内容决定,且定时的时间或计数的次数与( TH)、 ( TL)两个寄存器的初值有关。

80C51单片机原理

80C51单片机原理

80C51单片机原理RAM地址寄存器 RAM 128B 程序地址寄存器P0驱动器 P2锁存器 P2驱动器P1锁存器 暂存器2 B 寄存器 4KB ROM暂存器1ACC SP P0锁存器 PC PC 增1 缓冲器 P3锁存器 OSC中断、串行口及定时器PSW ALU DPTRP1驱动器 P3驱动器XTAL1XTAL2 P0.0~P0.7 P2.0~P2.7 P3.0~P3.7 P1.0~P1.7 RST ALEV CCV SS定时控制 指令译码器 指令寄存器 PSEN EA表2-1 P3口各引脚与第二功能表PSW 的各位定义见表80C51 P0~P3接口功能简见大多数口线都有双重功能,介绍如下: 1、P0口具有双重功能:(1) 作为通用I/O ,外接I/O 设备。

(2) 作为地址/数据总线。

在有片外扩展存储器的系统 中,低8位地址和数据由P0口分时传送。

PSW 位地址 PS W.7PSW .6PSW .5 PSW .4 PSW .3 PSW .2 PSW .1 PSW .0 位标志CY ACF0RS1RS0OVF1P2、P1口是唯一的单功能口:作为输入/输出口,P1口的每一位都可作为输入/输出口。

3、P2口具有双重功能:(1)作为输入/输出口。

(2)作为高8位地址总线。

在有片外扩展存储器的系统中,高8位地址由P2口传送。

4、P3口具有双重功能:(1)作第一功能使用时,其功能为输入/输出口。

(2)作第二功能使用时,每一位功能定义如表2.1所示。

80C51单片机的4个I/O口都是8位双向口,这些口在结构和特性上是基本相同的,但又各具特点,以下将分别介绍之。

图2-9 P0口某位的结构图2-10 P1口某位的结构图2-11 P2口某位的结构图2-12 P3口某位的结构P0~P3口使用时应注意事项1、如果80C51单片机内部程序存贮器ROM够用,不需要扩展外部存贮器和I/O接口,80C51的四个口均可作I/O口使用。

第三章-80C51单片机的指令系统

第三章-80C51单片机的指令系统

第三章-80C51单片机的指令系统80C51单片机是一种常用的微控制器,广泛应用于嵌入式系统中。

其指令系统是该单片机的核心组成部分,决定了其功能和特性。

在本文中,我们将深入探讨80C51单片机的指令系统,包括其指令格式、指令集以及指令的执行过程。

一、指令格式80C51单片机的指令格式通常由若干个字节组成,每个字节又分为几个字段。

具体而言,一条指令通常包括操作码、目标操作数和源操作数等字段。

其中,操作码表示指令的类型和功能,目标操作数表示指令操作的目标寄存器或内存单元,源操作数表示指令操作的源寄存器或内存单元。

以MOV指令为例,其指令格式如下:| 操作码 | 目标操作数 | 源操作数 |其中,操作码为一个字节,表示MOV指令;目标操作数和源操作数也为一个字节,分别表示指令操作的目标和源。

二、指令集80C51单片机的指令集丰富多样,包括数据传送指令、算术运算指令、逻辑运算指令、分支指令等等。

这些指令可以实现各种功能,满足不同的应用需求。

1. 数据传送指令数据传送指令用于将数据从一个寄存器或内存单元复制到另一个寄存器或内存单元。

例如,MOV指令可以实现数据传送操作。

2. 算术运算指令算术运算指令用于进行加法、减法、乘法和除法等运算。

例如,ADD指令可以实现两个操作数的相加操作。

3. 逻辑运算指令逻辑运算指令用于进行与、或、非、异或等逻辑运算。

例如,AND 指令可以实现两个操作数的与运算。

4. 分支指令分支指令用于实现循环、条件判断和跳转等功能。

例如,JMP指令可以无条件跳转到指定的地址。

除了上述指令之外,80C51单片机还支持位操作指令、移位指令、输入输出指令等。

三、指令执行过程在80C51单片机中,指令的执行过程包括取指、译码、执行以及访问存储器等阶段。

1. 取指阶段取指阶段是指令执行的第一步,其目的是从存储器中读取指令。

取指的过程通常涉及到程序计数器的操作,确定下一条要执行的指令地址。

2. 译码阶段译码阶段是将取到的指令进行解码,将其转换为内部指令表示形式,以便后续的执行。

80C51系列单片机指令表

80C51系列单片机指令表

80C51系列单片机指令表80C51系列单片机指令以A开头的指令有18条,分别为:ACALL addr11ADD A,RnADD A,directADD A,@RiADD A,#dataADDC A,RnADDC A,directADDC A,@RiADDC A,#dataAJMP addr11ANL A,RnANL A,directANL A,@RiANL A,#dataANL direct,AANL direct,#dataANL C,bitANL C,/bit1. ACALL addr11指令名称:绝对调用指令指令代码:A10 A9 A8 1 0 0 0 1 A7 A6 A5 A4 A3 A2 A1 A0指令功能:构造目的地址,进行子程序调用。

其方法是以指令提供的11位地址(al0~a0),取代PC的低11位,PC的高5位不变。

操作内容:PC←(PC)+2SP←(SP)+1(SP)←(PC)7~0SP←(SP)+1(SP)←(PC)15~8PC10~0←addrl0~0字节数:2机器周期:2使用说明:由于指令只给出子程序入口地址的低11位,因此调用范围是2KB。

2. ADD A,Rn指令名称:寄存器加法指令指令代码:28H~2FH指令功能:累加器内容与寄存器内容相加操作内容:A←(A)+(Rn),n=0~7字节数:1机器周期:1影响标志位:C,AC,OV3. ADD A,direct指令名称:直接寻址加法指令指令代码:25H指令功能:累加器内容与内部RAM单元或专用寄存器内容相加操作内容:A←(A)+(direct)字节数:2机器周期:1影响标志位:C,AC,OV4. ADD A,@Ri指令名称:间接寻址加法指令指令代码:26H~27H指令功能:累加器内容与内部RAM低128单元内容相加操作内容:A←(A)+((Ri)),i=0,1字节数:1机器周期:1影响标志位:C,AC,OV5. ADD A,#data指令名称:立即数加法指令指令代码:24H指令功能:累加器内容与立即数相加操作内容:A←(A)+data字节数:2机器周期:1影响标志位:C,AC,OV6. ADDC A,Rn指令名称:寄存器带进位加法指令指令代码:38H~3FH指令功能:累加器内容、寄存器内容和进位位相加操作内容:A←(A)+(Rn)+(C),n=0~7字节数:1机器周期:1影响标志位:C,AC,OV7. ADDC A,direct指令名称:直接寻址带进位加法指令指令代码:35H指令功能:累加器内容、内部RAM低128单元或专用寄存器内容与进位位加操作内容:A←(A)+(direct)+(C)字节数:2机器周期:1影响标志位:C,AC,OV8. ADDC A,@Ri指令名称:间接寻址带进位加法指令指令代码:36H~37H指令功能:累加器内容、内部RAM低128单元内容及进位位相加操作内容:A←(A)+((Ri))+(C),i=0,1字节数:1机器周期:1影响标志位:C,AC,OV9. ADDC A,#data指令名称:立即数带进位加法指令指令代码:34H指令功能:累加器内容、立即数及进位位相加操作内容:A←(A)+data+(C)字节数:2机器周期:1影响标志位:C,AC,OV10. AJMP addr11指令名称:绝对转移指令指令代码:A10 A9 A8 1 0 0 0 1 A7 A6 A5 A4 A3 A2 A1 A0指令功能:构造目的地址,实现程序转移.其方法是以指令提供的11位地址,取代PC的低11位,而PC的高5位保持不变.操作内容:PC←(PC)+2PCl0~0←addrll字节数:2机器周期:2使用说明:由于addrll的最小值是000H,最大值是7FFH,因此地址转移范围是2KB.11. ANL A,Rn指令名称:寄存器逻辑与指令指令代码:58H~5FH指令功能:累加器内容逻辑与寄存器内容操作内容:A←(A)∧(Rn),n=0~7字节数:1机器周期:112. ANL A,direct指令名称:直接寻址逻辑与指令指令代码:55H指令功能:累加器内容逻辑与内部RAM低128单元或专用寄存器内容操作内容:A←(A)∧(diret)字节数:2机器周期:113. ANL A,@Ri指令名称:间接寻址逻辑与指令指令代码:56H~57H指令功能:累加器内容逻辑与内部RAM低128单元内容操作内容:A←(A)∧((Ri))i=0,1字节数:1机器周期:114. ANL A,#data指令名称:立即数逻辑与指令指令代码:54H指令功能:累加器内容逻辑与立即数操作内容:A←(A)∧data字节数:2机器周期:115. ANL direct,A指令名称:累加器逻辑与指令指令代码:52H指令功能:内部RAM低128单元或专用寄存器内容逻辑与累加器内容操作内容:direct←(A)∧(direct)字节数:2机器周期:116. ANL direct,#data指令名称:逻辑与指令指令代码:53H指令功能:内部RAM低128单元或专用寄存器内容逻辑与立即数操作内容:direct←(direct)∧data字节数:3机器周期:217. ANL C,bit指令名称:位逻辑与指令指令代码:82H指令功能:进位标志逻辑与直接寻址位操作内容:C←(C)∧(bit)字节数:2机器周期:218. ANL C,/bit指令名称:位逻辑与指令指令代码:B0H指令功能:进位标志逻辑与直接寻址位的反操作内容:C←(C)∧(bit)字节数:2机器周期:280C51系列单片机指令以C开头的指令有10条,分别为: CJNE A,dircet,relCJNE A,#data,relCJNE Rn,#data,relCJNE @Ri,#data,relCLR ACLR CCLR bitCPL ACPL CCPL bit1. CJNE A,dircet,rel指令名称:数值比较转移指令指令代码:B5H指令功能:累加器内容与内部RAM低128字节或专用寄存器内容比较,不等则转移。

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

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

80C51单片机指令的取指、执行时序来源:21ic作者:关键字: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口要分时传送地址与数据,因此当操作码的地址从P0口输出后,必须发地址锁存信号ALE给74LS373锁存器,将地址锁存在74LS373内,腾出P0口读入机器码74。

在取数据03时同样要发ALE信号。

因此,在一个机器周期内地址锁存信号二次有效,见80C51时序图2-13。

单片机习题和试题库之四 问答题

单片机习题和试题库之四  问答题
6. 简述复位的用途,复位的方法。
7. MCS-51单片机系统中,外接程序存储器和数据存储器公用16位地址线和8位数据线,为什么不会发生冲突?
8. 若异步通信按方式2传送,每分钟传送3000个字符,其波特率是多少?
9. 中断响应的条件是什么?
10. MCS-51单片机系统中,外接程序存储器和数据存储器公用16位地址线和8位数据线,为什么不会发生冲突?
14.指令如下:
MOV A,R4 ;
在程序状态字PSW中 ⑴ RS1=0,RS0=0; ⑵ RS1=1,RS0=0
两种情况下,上述指令执行结果有何不同?
15.MCS-51 单片机堆栈有何特点?若SP=60H,PC=2000H,标号LABEL所在的地址为3000H,问执行长调用指令LCALL LABEL后,堆栈指针和堆栈的内容发生什么变化?PC的值等于什么?
3456,623,105
57. 写出下列字符的ASCII码
A 9 * = !
58. 设机器字长为8位,求下列数值的二、十六进制原码、反码、和补码
+0,-0,+33,-33,+127,-127,+75,-75;
59. 已知X=+59,Y=+78用八位机器数补码运算求X+Y=?,X-Y=?并判别溢出情况?
82.用74373输入(P2.0片选),74377输出(P2.1片选),试画出与80C51的连接电路,并编制程序,从373依次读入8个数据,取反后,从377输出。
83.51系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义?
84.各中断源对应的中断服务程序的入口地址是否能任意设定?

MCS51单片机时序

MCS51单片机时序

S1
S1
P1P2 S2 S3 S4 S5 S6 P1P2 S2 S3 S4 S5 S6
ALE
读操作码
读下一个操作码(丢弃)
单字节单周期指令
S1 S2 S3 S4 S5 S6 S1
例:INC A
读操作码 读第二个字节
双字节单周期指令
S1 S2 S3 S4 S5 S6 S1
例:ADD A,DATA
读操作码
一、片内振荡器及时钟信号的产生
8051芯片内部有一个高增益反相放大器,用于构成振 荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,分 别是8051的19脚和18脚。
在XTAL1和XTAL2两端跨接石英晶体及两个电容就可以 构成稳定的自激振荡器。电容器C1和C2通常取30pF左右, 对 振 荡 频 率 有 微 调 作 用 。 振荡 频 率 范围 是 0.5MHz-16MHz
提供定时信号的振荡源的周期; 计算机中最基本的时间单位。
时钟周期:
1个时钟周期=2个振荡周期; 分为P1节拍和P2节拍; P1节拍通常完成算术逻辑操作; P2节拍完成内部寄存器间的传送。
机器周期*:
1个机器周期 = 12个振荡周期 CPU访问存储器一次所需的时间; 执行一条指令需要的时间以机器周期为单位。
指令的字节数指指令的存储长度,在进行程序跳转时用 于计算跳转的偏移量。
指令的周期数指指令的运行时间,决定了指令执行的速 度,同时在定时时要用于计算实际定时时间。
CPU取指、执行周期时序
每一条指令都可以包括取指和执指两个阶段。 在取指阶段,CPU从内部或者外部ROM中取出指令操作 码及操作数,然后再执行这条指令。 在8051指令系统中,根据各种操作的繁简程度,其指 令可由单字节、双字节和三字节组成。从机器执行指令速 度看,单字节和双字节指令都可能是单周期或双周期的, 而三字节指令都是双周期的,只有乘、除指令占四个周期。 此外,在6MHz时钟频率下,执行一条指令的时间(指 令周期)分别为2μs,4μs和8μs。

第3章 80C51系列单片机指令系统

第3章 80C51系列单片机指令系统

⒉ 16位数据传送指令
⒊ 外RAM传送指令.
(2条)
(4条)
⒋ 读ROM指令
⒌ 堆栈操作指令
(2条)
(2条)
⒍ 交换指令
(5条)
23
⒋ 读ROM指令(2条)
① MOVC
② MOVC
A,@A+DPTR
A,@A+PC
;(A+DPTR)→A
;PC+1→PC,(A+PC)→A
24
如:MOVC A,@A+DPTR 设DPTR=2000H,A=E0H
A= R0=
20
⒊ 外RAM传送指令(4条)
① ② ③ ④ MOVX MOVX MOVX MOVX A,@Ri A,@DPTR @Ri,A @DATR,A ;(Ri)→A,i=0、1 ;(DPTR)→A ;A→(Ri),i=0、1 ;A→(DATR)
21
22
一、数据传送类指令
⒈ 内RAM数据传送指令 (15条)
SBR:MOV SP,#30H ;设栈底 PUSH A ;保护现场 PUSH B MOV A,#0 MOV B,#01 … ;恢复现场 POP B POP A RET
堆栈操作示意:
片内 RAM 34H × 33H × 32H × 56 31H × 02 30H ×
SP→ SP→ SP→
33
堆栈指令使用形式
⒊ 外RAM传送指令.
(2条)
(4条)
⒋ 读ROM指令
⒌ 堆栈操作指令
(2条)
(2条)
⒍ 交换指令
(5条)
29
⒌ 堆栈操作指令(2条)
① PUSH direct ;SP+1→SP,(direct)→(SP)

80C51系列单片机指令表

80C51系列单片机指令表
方括符[ ]表示可选项 方括符[ 标号代表指令所在地址,1-8个字母/数字,":"结尾 标号代表指令所在地址, 个字母/数字, 结尾
标号:指令的符号地址. ⑴ 标号:指令的符号地址.
① 用于一段功能程序的识别标记或控制 转移地址. 转移地址. ② 指令前的标号代表该指令的地址, 指令前的标号代表该指令的地址, 用符号表示的地址. 是用符号表示的地址. 一般用英文字母和数字组成. ③ 一般用英文字母和数字组成. 标号必须用冒号" 与操作码分隔. ④ 标号必须用冒号" :"与操作码分隔.
【例】 MOV MOV

A,3 A,3AH A,P0
单元中的数据传送至A ;将内RAM 3AH单元中的数据传送至A中 将内RAM AH单元中的数据传送至 ;将特殊功能寄存器P0口中的数据传送至A 将特殊功能寄存器P0口中的数据传送至A P0口中的数据传送至
说明: AH和 是以direct形式出现的直接地址 说明:3AH和P0是以direct形式出现的直接地址 direct 访问特殊功能寄存器SFR SFR只能采用直接寻址方 访问特殊功能寄存器SFR只能采用直接寻址方 式.
注释:指令功能说明. ⑷ 注释:指令功能说明.
注释属于非必需项, 是为便于阅读, ① 注释属于非必需项 , 是为便于阅读 , 对指令功能作的说明和注解. 对指令功能作的说明和注解. ② 注释必须以";"开始. 注释必须以" 开始.
3.1.2 指令分类
80C51共有111条指令. 80C51共有111条指令. 共有111条指令
A,R0 MOV A,R0 INC A MUL AB ;将R0中的数据传送至A中 中的数据传送至A
⒋ 寄存器间接寻址

AT80C51的工作原理

AT80C51的工作原理

AT80C51的工作原理AT80C51是一款8位微控制器,其工作原理如下:1. 寄存器:AT80C51包含了多个内部寄存器,用于存储数据和控制微控制器的操作。

这些寄存器可以通过特定的地址访问,并且用于存储输入/输出端口、时钟控制、中断向量等信息。

2. CPU:AT80C51的中央处理器(CPU)负责执行指令和处理数据。

它包含一个累加器(ACC)和多个通用寄存器(R0-R7),用于进行算术和逻辑运算。

CPU通过从寄存器中读取数据、执行指令、写入结果来完成计算。

3. 存储器:AT80C51具有内部存储器和外部存储器接口。

内部存储器包括程序存储器(ROM)和数据存储器(RAM)。

ROM用于存储程序指令,RAM用于存储临时数据和变量。

外部存储器接口可以连接额外的存储器设备,以扩展存储容量。

4. 时钟:AT80C51使用时钟来驱动CPU和其他部件的操作。

时钟可以通过内部时钟源或外部时钟源提供。

时钟速度决定了AT80C51的工作频率和指令执行速度。

5. 输入/输出(I/O)端口:AT80C51具有多个可编程输入/输出端口。

这些端口可以连接外部设备,如传感器、显示器、键盘等。

通过读取和写入I/O端口的状态,AT80C51可以与外部设备进行通信。

6. 中断:AT80C51支持中断功能,可以响应外部信号的触发。

当发生中断信号时,CPU会立即暂停当前的任务,并跳转到对应的中断处理程序。

中断可以用于实时响应外部事件,提高系统的实时性能。

总结起来,AT80C51的工作原理是通过CPU执行指令,从寄存器和存储器中读取数据,进行计算和处理,并与外部设备进行通信。

时钟驱动整个系统的运行,而中断机制能够实现实时响应外部事件。

《单片机微型计算机原理与接口技术》第八章 80C51单片微机的系统扩展原理与接口技术

《单片机微型计算机原理与接口技术》第八章 80C51单片微机的系统扩展原理与接口技术

②开始数据传送 在串行时钟线(SCL)保持高电平的情况下,串行数据线(SDA )上发生一个由高电平到低电平的变化作为起始信号(START) ,启动I2C 总线。I2C总线所有命令必须在起始信号以后进行。 ③停止数据传送 在串行时钟线(SCL)保持高电平的情况下,串行数据线 (SDA)上发生一个由低电平到高电平的变化,称为停止信号( STOP)。这时将停止I2C 总线上的数据传送。 ④数据有效性 在开始信号以后,串行时钟线(SCL)保持高电平的周期 期间,当串行数据线(SDA)稳定时.串行数据线的状态表示数 据线是有效的。需要一个时钟脉冲。 每次数据传送在起始信号(START)下启动,在停止信号 (STOP)下结束。 在I2C总线上数据传送方式有两种,主发送到从接收和从发 送到主接收。它们由起始信号(START)后的第一个字节的最低 位(即方向位R/W)决定。
①串行数据线(MISO、MOSI) 主机输入/从机输出数据线(MISO)和主机输出/ 从机输入数据线(MOSI),用于串行数据的发送和接收。 数据发送时.先传送MSB(高位),后传送LSB(低位)。 在SPI设置为主机方式时,MISO线是从机数据输入线 ,MOSI是主机数据输出线;在SPI设置为从机方式时, MISO线是从机数据输出线,MOSI是从机数据输入线。
8.1.1外部并行扩展原理
单片微机是通过芯片的引脚进行系统扩展的。 80C51系列带总线的单片微机芯片引脚可以构成图8-1所 示的三总线结构.即地址总线(AB)数据总线(DB)和控制总 线(CB)。具有总线的外部芯片都通过这三组总线进行扩展。 (1)地址总线(AB) 地址总线由单片微机P0口提供 低8位地址A0~A7,P2口提 供高8位地址A8~A15。P0口是地址总线低8位和8位数据总线复 用口,只能分时用作地址线。故P0口输出的低8位地址A0~A7必 须用锁存器锁存。 锁存器的锁存控制信号为单片微机ALE引脚输出的控制信 号。在ALE的下降沿将P0口输出的地址A0~A7锁存。P0、P2口 在系统扩展中用做地址线后便不能作为一般I/O口使用。 由于地址总线宽度为16位,故可寻址范围为64 KB。 (2)数据总线(DB) 数据总线由P0口提供,用D0~D7表示。P0口为三态双向
  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 口要分时传送地址与数据,因此当操作码的地。

相关文档
最新文档