单片机第3章

合集下载

单片机第3章习题答案

单片机第3章习题答案

第3章习题答案一、选择题1.在中断服务程序中,至少应该有一条( D )。

(A)传送指令(B)转移指令(C)加法指令(D)中断返回指令2.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是( C )。

(A)MOV (B)MOVC (C)MOVX (D)以上都行3.JNZ rel指令的寻址方式是( C )。

(A)立即寻址(B)寄存器寻址(C)相对寻址(D)位寻址4.执行LCALL 1020H指令时,MCS-51所完成的操作是( D )。

(A)保护PC (B)PC←1020H(C)保护现场(D)PC+3入栈,PC←1020H5.下面哪条指令产生WR信号( D )。

(A)MOVX A,@DPTR (B)MOVC A,@A+PC(C)MOVC A,@A+DPTR (D)MOVX @DPTR,A6.在执行PUSH ACC指令时,MCS-51完成的操作是( A )。

(A)(SP)←(SP)+1,((SP))←(ACC)(B)(SP)←(ACC),((SP))←(SP)-1(C)(SP)←(SP)-1,((SP))←(ACC)(D)((SP))←(ACC),(SP)←(SP)+17.MCS-51执行完MOV A,#08H后,PSW的哪一位被置位( D )。

(A)C (B)F0 (C)OV (D)P8.指令AJMP的跳转范围是( C )。

(A)256B (B)1KB (C)2KB (D)64KB9.在寄存器间接寻址方式中,指定寄存器中存放的是( B )。

(A)操作数(B)操作数地址(C)转移地址(D)地址偏移量10.执行返回指令时,返回的断点是( C )。

(A)调用指令的首地址(B)调用指令的末地址(C)调用指令下一条指令的首地址(D)返回指令的末地址二、填空题:1.8051指令基本格式由标号、操作码助记符、操作数和注释组成。

2.MOV A,20H源寻址方式为直接寻址。

3.执行ANL A,#0FH指令后,累加器A的高4位=0000B 。

单片机原理与接口技术第3章

单片机原理与接口技术第3章

注意:
①目操可以是A、direct、Rn、@Ri中的任一个,源 操可以是A、direct、Rn、@Ri、#data中的任一 个。 ②#data不能作目操。 ③目操和源操不能同时出现Rn、@Ri。 ④目操和源操不能同时为A。 ⑤目操和源操可以同时为direct类型。 ⑥目操和源操数据长度应保持一致。
• 例如指令: MOVC A, @A+PC ; (A)←((A)+(PC)) MOVC A,@A+DPTR ; (A)←((A)+(DPTR)) 这两个指令中,第2操作数采用了基址寄 存器加变址寄存器的间接寻址方式,其功 能是指定以A作为变址寄存器,PC(或 DPTR)作为基址寄存器,两者内容相加所 得结果作为参与操作的数据的存储单元地 址,把此单位中的内容送到累加器A中 。
(2)以Rn为目的地址的指令 指令 操作 MOV Rn, A (Rn)←(A) MOV Rn, direct (Rn)←(direct) MOV Rn, #data (Rn)←data 这组指令的功能是将源操作数送入当前 工作寄存器区R0~R7中的某一寄存器中。 源操作数的寻址方式分别为隐含寻址、直 接寻址和立即寻址方式。
(4)注释:该字段不是汇编语言的功能部分
,只增加程序的可读性。注释前要加“;”
MCS-51单片机指令系统具有111条指令
49条单字节指令
按指令代码的 字节数分
45条双字节指令 17条三字节指令
64条单机器周期指令 按指令的执 行时间分 45条双周期指令 2条(乘,除指令)四 机器周期指令 指令系统优点:存储效率高 执行速度快
3. 乘法指令 MUL
指令 MUL AB 这条指令是把累加器A和寄存器B中的8位无符 号二进制数相乘,16位乘积的低8位留在累加器A 中,高8位存放在寄存器B中。 如果乘积大于0FFH,则OV=1,否则OV=0。 CY标志总是被清0。 设(A)=50H,(B)=0A0H,执行指令:MUL AB 结果:(B)=32H,(A)=00H(即积为3200H),OV= 1,CY=0。

单片机应用技术(第四版)杨宏丽章 (3)

单片机应用技术(第四版)杨宏丽章 (3)

第3章 MCS-51指令系统
图3.2 直接寻址示意图
第3章 MCS-51指令系统
在直接寻址中,指令中直接给出了存放操作数的内部RAM地
址,而不是操作数本身,其寻址范围只限于内部RAM中,包括如
下两部分:
(1) 内部RAM的低128单元,地址范围为00H~FFH,在指令
中直接以单元地址形式给出。例如:指令MOV A,3AH中,3AH表
第3章 MCS-51指令系统
图3.1 寄存器寻址示意图
第3章 MCS-51指令系统
寄存器寻址的寻址范围包括如下两部分: (1) 通用寄存器R0~R7。MCS-51单片机中共有4组32个通 用寄存器,但寄存器寻址只能使用当前寄存器组,指令中的 寄存器名称也只能是R0~R7。因此,在使用前,需要通过对 PSW中的RS1、RS0位的状态进行设置,来选择当前寄存器组。 单片机复位时,RS1RS0=00,选中第0组工作寄存器。
题号 ① ②


助记符指令 MOV P1,#55H MOV 20H,#0F0H MOV P1,20H MOV A,#0F0H MOV P1,A MOV R4,#0FH MOV P1,R4
表 3.1 实 验 表 格
机器码指令
检查数据

(20H)= —
A= —
R4= —
发光二极管状态
第3章 MCS-51指令系统
02H。
MOV P1,A:将累加器A的内容,即02H送到P1口。发光二极
管的状态如下:
02H:
0
0
0
0
0
第3章 MCS-51指令系统
RL A:将A的内容02H左移一位,结果为04H。
MOV P1,A:将累加器A的内容,即04H送到P1口。发光二极管

单片机原理及应用第三章习题答案

单片机原理及应用第三章习题答案

单片机原理及应用第三章习题答案第一题:题目:什么是中断?中断是指在程序执行过程中,由于发生了某个特定事件,导致当前的程序需要暂时中断执行,转而去处理其他紧急或优先级更高的事件。

中断可以提高系统的实时性和响应速度。

第二题:题目:请简述中断的分类及其优缺点。

中断可以分为外部中断和内部中断。

外部中断:外部中断是通过外部设备触发的中断,例如按键输入、定时器溢出等。

外部中断的优点是能够及时响应外部事件,缺点是响应时间有一定延迟,并且可能会引起系统的不稳定性。

内部中断:内部中断是通过程序内部指令触发的中断,例如软件中断、硬件错误等。

内部中断的优点是响应时间几乎可以忽略,缺点是需要消耗较多的系统资源。

第三题:题目:简述中断的处理过程。

中断的处理过程一般包括以下几个步骤:1. 中断请求发生:外部设备或程序内部触发中断请求。

2. 中断响应:CPU接收到中断请求后,保存当前程序的执行状态,暂停当前程序的执行,并跳转到中断服务程序。

3. 中断服务程序执行:中断服务程序是为了处理中断事件而编写的程序,它会根据中断类型执行相应的操作,例如处理外部设备的输入、更新系统状态等。

4. 中断处理完成:中断服务程序执行完后,将恢复之前保存的执行状态,继续执行被中断的程序。

第四题:题目:请简述常见的中断优先级判断方式。

常见的中断优先级判断方式有两种:硬件优先级判断和软件优先级判断。

硬件优先级判断:硬件优先级判断是通过硬件电路来实现的,每个中断信号都有一个对应的硬件中断优先级,优先级高的中断信号将打断当前正在执行的中断信号。

软件优先级判断:软件优先级判断是通过编程的方式来实现的,每个中断信号都有一个对应的中断优先级,在中断服务程序中通过程序代码来判断当前是否有更高优先级的中断请求。

第五题:题目:请说明中断向量表的作用。

中断向量表是一个存储中断处理程序入口地址的数据结构,它将每个中断编号与对应的中断服务程序的入口地址进行映射。

当一个中断请求发生时,中断向量表将根据中断编号找到对应的中断服务程序的入口地址,从而实现中断的处理。

单片机第3章80C51单片机C语言程序设计-thh

单片机第3章80C51单片机C语言程序设计-thh
2017/4/24 20
以Rn为目的
;Rn (A) A MOV Rn , (direct) direct ;Rn # dat a ;Rn dat a 例如 MOV @R0,A ;(R0)←A MOV @R0,#55H ;(R0)←#55H MOV @R0,55H ;(R0)←(55H)
注意:此例中CY(PSW.7)为1
Rel常用符号地址表示,离源地址不要超过(-128~+127 )
2017/4/24 14
七 位寻址
寻址位数据 寻址空间
片内RAM位空间 SFR位空间
位地址07H 20H 1 位地址00H
【例】位地址00H内容为1,MOV C,00H 执行后,位地址PSW.7的内容为1。
2017/4/24
18
以A为目的
Rn direct MOV A , @Ri # data ;A (Rn) ;A (direct) ;A ((Ri)) ;A data
例如 MOV MOV MOV MOV
A,#55H A,55H A,R0 A,@R0
;A←#55H ;A←(55H) ;A←(R0) ;A←((R0))
8
2017/4/24
3.2.3
操作数寻址方式
寻址方式:寻找(源)操作数或指令转移地址的方式 80C51单片机有7种寻址方式,这里仅介绍5种操作数寻址方式
一、寄存器寻址
【例】若(R0)=30H,执行
MOV A,R0后,(A)=30H 操作数在寄存器中 寻址空间: 00H R0 30H R0~R7 、 累 加 器 ACC 、 寄 操作数 在R0 MOV A,R0 E8H 存器AB (AB形式)、DPTR
【例3-9】若(R1)= 20H,(20H)= 55H。执行指令 MOV A,@R1 后,(A)= 55H。

单片机基础与应用(C语言版)第3章 C51程序设计基础

单片机基础与应用(C语言版)第3章 C51程序设计基础

选择语句
多分支选择的switch语句, 其一般形式如下: switch(表达式)
{ case常量表达式1: 语句组1;break; case常量表达式2: 语句组2;break; …… case常量表达式n: 语句组n;break; default : 语句组n+1;
} 该语句的执行过程是:首先计算表达式的值,并逐个与case后的常量表达 式的值相比较,当表达式的值与某个常量表达式的值相等时,则执行对应 该常量表达式后的语句组,再执行break语句,跳出switch语句的执行,继 续执行下一条语句。如果表达式的值与所有case后的常量表达式均不相同, 则执行default后的语句组。
位运算
按位或操作符: |
或操作
格式:x|y
规则:对应位均为0时才为0,否则为1 例如, i=i|0x0f; 等同于
i|=0x0f;
主要用途:将1个数的某(些)位置1,其余各位不变
位运算
异或操作
按位异或操作符:^ 格式:x^y 规则:对应位相同时为0,不同时为1
例如, i=i^0x0f; 等同于 i^=0x0f; 主要用途:使1个数的某(些)位翻转(即原来为1的位 变为0,为0的变为1),其余各位不变。
右移运算符“>>”的功能,是把“>>”左边的操作数 的各二进制位全部右移若干位,移动的位数由“>>” 右边的常数指定。进行右移运算时,如果是无符号数, 则总是在其左端补“0”
练习
1 .若x = 10, 则!X的值为真或假? 2. 若a = 3, b = 2, 则if(a&b)的值为真或假? 3. 5 && 0 ||8的值为?
浮点型 指针型 位类型 特殊功能寄存器 16位特殊功能寄存器 可寻址位

单片机原理及接口技术(第3章)

单片机原理及接口技术(第3章)

第3章 MCS-51单片机的指令系统
① 操作码部分:以助记符表示,助记符用英语单词的缩写, 表明该指令的功能,如MOV表明该指令是一条数据传送指 令,ADD表明该指令是一条加法指令。
② 书写格式:操作码和操作数要用空格分开,如果指令中有 多项操作数,操作数之间要用“,”分开。方括号[ ]表 示该项是可选项, 可有可无。
单片机原理与接口技术 第3章
第3章 MCS-51单片机的指令系统
3.1 指令格式和寻址方式 3.1.1指令格式 1.指令格式
每条指令由操作码和操作数两部分组成。 操作码表示计算机将进行何种操作。 操作数表示参加操作的数或操作数所在的地址。 有无操作数、单操作数、双操作数三种情况。 汇编语言指令格式为: [标号:] 操作码助记符 [目的操作数] [,源操作数] [;注释]
(5)16位数据传送指令 MOV DPTR,#data16 ;将一个16位数送入DPTR中。 功能:把16位常数送入DPTR中。
高位立即数送入DPH,低位立即数送入DPL中。 (6)堆栈操作指令 PUSH direct ;将直接地址中的数压入栈顶;
SP←(SP)+1;(SP)←(direct)。 POP direct ;将栈顶中的数据弹出到直接地址;
例如:
MOV A,R6 ; A←(R6),将寄存器R6中的内容送到累加器A。
MOV A,30H ; A←(30),将内部RAM30H单元的内容送到累加器A。
MOV A,@R0 ; A←((R0)),将内部RAM中R0的内容为地址的单
元的内容送到累加器A。
MOV A,#40H
; A←40H,将立即数40H送给累加器A。
功能:将累加器A的低4位和R0或R1间址的存储单元的低4位

单片机课后第三章习题答案

单片机课后第三章习题答案

单片机课后第三章习题答案单片机课后第三章习题答案第一题:题目:请简述单片机中断的概念及其作用。

答案:单片机中断是指在程序执行过程中,当某个特定的事件发生时,会暂时中断当前正在执行的程序,转而去执行与该事件相关的处理程序。

中断的作用主要有两个方面:一是提高系统的响应速度,当有紧急事件发生时,可以立即中断当前任务去处理该事件,避免了因等待而造成的时间浪费;二是提高系统的可靠性,中断机制可以保证在紧急事件发生时,能够及时进行处理,避免了数据的丢失或系统的崩溃。

第二题:题目:请简述单片机中断的分类及其优先级。

答案:单片机中断可以分为外部中断和内部中断。

外部中断是指通过外部引脚接收到的中断信号,如按键、传感器等;内部中断是指通过内部定时器或其他模块产生的中断信号,如定时器溢出中断、串口接收中断等。

优先级方面,不同的中断源可以设置不同的优先级,一般来说,优先级越高的中断会先被响应和执行,优先级越低的中断会被延迟执行。

但是需要注意的是,在处理中断时,要尽量保证高优先级中断的处理时间短,以免影响低优先级中断的及时响应。

第三题:题目:请简述中断服务程序的编写流程。

答案:中断服务程序的编写流程如下:1. 定义中断向量表:将每个中断源对应的中断服务程序的入口地址存储在中断向量表中,以便单片机在中断发生时能够正确地找到对应的中断服务程序。

2. 初始化中断控制寄存器:根据需要,设置中断源的触发条件和优先级。

3. 编写中断服务程序:根据中断源的不同,编写相应的中断服务程序。

中断服务程序一般包括中断处理前的准备工作、中断处理代码和中断处理后的清理工作。

4. 注册中断服务程序:将编写好的中断服务程序的入口地址注册到中断向量表中,以便单片机在中断发生时能够正确地跳转到对应的中断服务程序。

5. 启用中断:根据需要,使能相应的中断源,使其能够触发中断。

第四题:题目:请简述单片机中断的优缺点。

答案:单片机中断的优点主要体现在两个方面:一是提高了系统的响应速度,当有紧急事件发生时,可以立即中断当前任务去处理该事件,避免了因等待而造成的时间浪费;二是提高了系统的可靠性,中断机制可以保证在紧急事件发生时,能够及时进行处理,避免了数据的丢失或系统的崩溃。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章 MCS-51系列单片机指令系统
3.3
指令系统
(29条)
(24条) (24条) (17条)
数据传送类指令:
算术运算类指令: 逻辑运算及移位类指令: 控制转移类指令:
位操作(布尔操作)类指令:(17条)
第3章 MCS-51系列单片机指令系统
3.3.1 数据传送类指令 内部存储器间传送:(MOV — 16条) 外部数据存储器与累加器间传送: (MOVX — 4条)
第3章 MCS-51系列单片机指令系统
练习一
说明下列指令中源操作数采用的寻址方式。
MOV 30H,R7 MOV A,55H MOV A,#55H MOVC A, @A+DPTR
MOV 30H,C
MOV A, @R0 MOVX A, @R0
第3章 MCS-51系列单片机指令系统
练习二 改错题
1. MOV R0,@R3 2. MOVC A, @ R0+DPTR 3. MOV R0,R1
第3章 MCS-51系列单片机指令系统
例如
MOV 30H,C ; 30H是位寻址位地址 MOV A, 30H ;30H是直接寻址的字节地址 MOV C, ACC.7 ;Cy←ACC.7 由上面指令可知,位寻址的位地址与直接 寻址的字节地址形式完全一样,主要由操作码 来区分,使用时需应该特别注意。
第3章 MCS-51系列单片机指令系统
3.1.1 指令格式 [标号]: 操作码 [操作数] ;[注释]
标号又称为指令地址符号,以字母开头字母/数字串。如:START 、LOOP、NEXT、MAIN 操作码 用 MCS-51 单片机所规定的助记符来表示,它指示 CPU 作
何种操作。如:MOV、ADD等。
操作数分为目的操作数和源操作数。 注释是对该指令作用或功能的说明,以便于阅读。注释部分前一
特点:操作数所指定的寄存器中存放的不是操作数本身, 而是操作数的地址。注意:@是它区别寄存器寻址的标 志。 例如: MOV A, @R0 ;A ← ((R0)) MOVX A, @DPTR ;A ← ((DPTR)) MOV @R0, #30H MOV @R0, 30H
第3章 MCS-51系列单片机指令系统
号为前缀。以区别直接寻址。 指令码中含有操作数本身 例如: MOV A, #30H ;A ← #30H MOV DPTR, #8000H ;DPTR ← #8000H
第3章 MCS-51系列单片机指令系统
4 寄存器间接寻址
指令所选中的寄存器内容是实际操作数地址(而不是操作数) 寻址范围:
内部RAM(00H-7FH/FFH)使用寄存器R0,R1,SP 外部数据存储器(0000H-FFFFH)
第3章 MCS-51系列单片机指令系统
3.2 MCS-51寻址方式
1 寄存器寻址
2 立即寻址
3 直接寻址
寻址: 如何在单片机的存储空间内取 得操作数,即找到存储操作数的地址。 内部ROM、RAM(低128地址单元、
4 寄存器间接寻址
5 相对寻址
SFR)、外部ROM、RAM
6 变址寻址
7 位寻址
第3章 MCS-51系列单片机指令系统
程序存储器向累加器传送: (MOVC — 2条)
数据交换: (XCH,XCHD,SWAP — 5条)
堆栈操作: (PUSH,POP — 2条)
第3章 MCS-51系列单片机指令系统
内部数据传送路径:
累加器 A 寻址
direct 直接寻址
@Ri 间接寻址
Rn 工作寄存器寻址
#data 立即数寻址
第3章 MCS-51系列单片机指令系统
特点:指令码中含有操作数地址,机器根据该地址寻找 操作数。 例如: MOV A, 30H ; A ←(30H) ANL 30H, #30H ;(30H)←(30H)∧#30H MOV 50H, 30H ;(50H)←((30H))
第3章 MCS-51系列单片机指令系统
例:MOV A,56H 机器码:E5 56
前面 6 种方式主要用来解决操作数如何给出 的问题,相对寻址是为解决程序转移而设置的, 只为转移指令所用。
此种寻址方式以程序计数器PC的内容为基地址,加上指令中给出的 偏移量rel,所得结果为转移目标地址,用于转移指令。 偏移量rel是一8位有符号补码数,范围128~+127。所以转移范围 应在当前PC指针的128~+127之间某一程序存储器地址中。

MOV @Ri, A
练习:把A累加器中的数传送到30H单元
第3章 MCS-51系列单片机指令系统

已知:R1=20H、(21H)=54H、(22H)=55H、 (30H)=56H,试问执行如下指令后,A、40H、 R2、20H、和P2口中的内容各是什么? • • • • • MOV A , 21H; MOV 40H ,A; MOV R2 , 22H; MOV @R1 , 21H; MOV P2, 30H; 结果为:A=54H,(40H)=54H , R2=55H ,(20H)=54H ,P2=56H
二进制形式 01110100 00001010 00100100 00000100 10000000 11111110 16进制形式 740AH 2404H 80FEH 汇编形式 MOV A,#0AH ADD A,#04H SJMP $
第3章 MCS-51系列单片机指令系统
MCS-51指令系统
51系列单片机指令集含有111条指令
第3章 MCS-51系列单片机指令系统
(2)16位立即数传送指令
•MOV DPTR,#data16 ;A ← data
第3章 MCS-51系列单片机指令系统
(3)通过A累加器的数据传送指令
• MOV A,direct
• MOV A,Rn
• MOV Rn,A
• MOV direct, A
• MOV A, @Ri
定要用分号“;”隔开。 ADD A,#0AH ;A=A+10 指令机器码:25H 0AH
第3章 MCS-51系列单片机指令系统
MCS-51指令符号意义的说明
• • • • • • • • • • •
Rn —— R0~R7中的一个 #data —— 8位立即数 #data16 —— 16位立即数 direct —— 8位直接地址 @Ri—— R0或R1,可以间接寻址 @DPTR —— 可按DPTR中地址对外部存储器寻址 bit —— 8位位地址 addr11 —— 11位目标地址 addr16 —— 16位目标地址 rel—— 8位地址偏移量 $—— 当前指令的地址
说明 位地址表示:
• 直接使用位地址。对于20H~2FH的16个单元 共128位的位地址分布是00H~7FH。 • 单元地址.位地址 20H.1。
• 对于特殊功能寄存器,可以直接用寄存器名字加 位数或位名表示,如PSW.3 , 位名:CY, AC。
第3章 MCS-51系列单片机指令系统
7 相对寻址
;A
(56H)
片内RAM
累加器A
功能: 将片内RAM 56H单元中的内容34H 送到累加器A中。 如左图
34H
56H
34H
图3.1 指令传递
第3章 MCS-51系列单片机指令系统
3 立即寻址
指令直接给出一个操作数,它紧跟在操作码后, 通常称它为立即数(8位或16位)。
特点
指令码中直接含有所需的操作数,操作数前加“#”符
第3章 MCS-51系列单片机指令系统
例如: MOV A, R0 R0
7F
用户RAM区
A
结果A=35H
FF
E0
30 20
位寻址区 通用寄存器区
00
35H
35H
80
第3章 MCS-51系列单片机指令系统
2 直接寻址
指令直接给出操作数所在存储单元的地址,它紧跟在操作码后。
此方式是访问专用寄存器的唯一方式(80H ~ FFH) 也可访问内部RAM的低128(8052的256)字节
(1)8位立即数传送指令
•MOV A,#data • MOV Rn,#data • MOV @Ri,#data • MOV direct,#data ;A ← data ;Rn ← data ;( Ri ) ← data ;( direct ) ← data
练习:把立即数00H送到内部RAM20H单元。 立即寻址型
第3章 MCS-51系列单片机指令系统
5
变址寻址(基址Biblioteka 存器+变址寄存器间接寻址)
为了访问程序存储器中的数据表格。
特点: 操作数=基地址+地址偏移量 指令码内隐含存放基地址的寄存器(DPTR/PC)号 DPTR/PC中的基地址常常是表格的起始地址,累加器中 存放偏移量rel。 例如: (1) MOVC A,@A+PC ;A ←(A+PC) (2) MOVC A,@A+DPTR ;A←(A+DPTR) (3) JMP @A+DPTR
第3章 MCS-51系列单片机指令系统
例:
已知:R0=30H,试问执行如下指令后累加
A, #20H #45H
器A、R3、30H、31H单元中内容各是什么? MOV MOV R3,
MOV @R0, #46H
MOV 31H, #47H
执行后,结果为: A=20H, R3=45H,
(30H)=46H, (31H)=47H
1 寄存器寻址 操作数在寄存器中。寄存器可为:R0~R7,
由RS0、RS1两位的值选定工作寄存器区 部分特殊功能寄存器:A、B、CY(位),DPTR 特点:指令码中含有操作数地址所在的寄存器号,根据 该寄存器号可以找到操作数。 例如: MOV A, R3 ;A ←(R3) ANL A, #30H MOV R0, 30H
相关文档
最新文档