3-1 单片机指令常用的表示方式和寻址方式
单片机原理及应用习题答案第三

第一章习题参考答案1-1:何谓单片机?与通用微机相比,两者在结构上有何异同?答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。
单片机与通用微机相比在结构上的异同:(1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。
例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。
CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。
单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。
例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。
(2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU 对数据的存取速度。
现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。
单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。
(3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。
用户通过标准总线连接外设,能达到即插即用。
单片机应用系统的外设都是非标准的,且千差万别,种类很多。
单片机的I/O 接口实际上是向用户提供的与外设连接的物理界面。
用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。
单片机指令大全

引言概述:单片机指令是嵌入式系统设计中至关重要的一部分,它们定义了单片机的功能和操作。
本文是单片机指令大全系列的第二部分,旨在提供更多全面的单片机指令信息,帮助读者更好地理解和应用单片机指令。
正文内容:一、移位指令1.逻辑左移指令:将操作数的每一位向左移动一位,并且最低位填充0。
2.逻辑右移指令:将操作数的每一位向右移动一位,并且最高位填充0。
3.算术右移指令:将操作数的每一位向右移动一位,并且最高位保持不变。
4.循环左移指令:将操作数的每一位向左循环移动一位,即最高位移动到最低位。
5.循环右移指令:将操作数的每一位向右循环移动一位,即最低位移动到最高位。
二、逻辑运算指令1.逻辑与指令:对操作数进行逻辑与运算,将两个二进制数对应位上的值进行逻辑与操作。
2.逻辑或指令:对操作数进行逻辑或运算,将两个二进制数对应位上的值进行逻辑或操作。
3.逻辑非指令:对操作数进行逻辑非运算,将二进制数的每一位取反。
4.逻辑异或指令:对操作数进行逻辑异或运算,将两个二进制数对应位上的值进行逻辑异或操作。
5.逻辑移位指令:将操作数进行逻辑左移或右移。
三、算术运算指令1.加法指令:对操作数进行加法运算,并将运算结果保存到指定的寄存器或存储器中。
2.减法指令:对操作数进行减法运算,并将运算结果保存到指定的寄存器或存储器中。
3.乘法指令:对操作数进行乘法运算,并将运算结果保存到指定的寄存器或存储器中。
4.除法指令:对操作数进行除法运算,并将运算结果保存到指定的寄存器或存储器中。
5.移位指令:对操作数进行移位运算,包括算术左移、算术右移、循环左移和循环右移。
四、输入输出指令1.读取输入指令:从指定的输入设备读取数据,并将数据保存到指定的寄存器或存储器中。
2.输出显示指令:将指定的数据从寄存器或存储器中读取,并显示到指定的输出设备上。
3.端口输入指令:从指定的端口读取数据,并将数据保存到指定的寄存器或存储器中。
4.端口输出指令:将指定的数据从寄存器或存储器中读取,并输出到指定的端口上。
新编单片机原理与应用课后答案汇总

习题一参考答案1-1 假设某CPU 含有16根地址线,8根数据线,那么该CPU 的最大寻址能力为多少KB 答:CPU 的最大寻址能力为:K 6422261016=⋅= 1-2 在计算机里,一般具有哪三类总线请说出各自的特征(包括传输的信息类型、单向传输还是双向传输)。
答:1、数据总线,双向,输入输出数据信息;2、地址总线,单向,输出地址信息;3、控制总线,具体到某一根控制线为单向,输入或者输出控制信息;1-3 MCS-51系列单片机时钟周期、机器周期与指令周期这三者关系如何CISC 指令系统CPU 所有指令周期是否均相同答:时钟周期即为振荡周期,由外接晶振频率或外部输入的时钟频率决定,机器周期由12个时钟周期(或6个)构成,指令周期由1~4个机器周期构成;指令周期因具体指令不同而不同;1-4 计算机字长的含义是什么MCS-51单片机的字长是多少答:计算机字长是指CPU 一次能够处理的信息位长度;MCS-51单片机的字长是8位。
1-5 ALU 单元的作用是什么一般能完成哪些运算操作答:ALU 单元的作用是进行算术逻辑运算;算术运算主要是加、减、乘、除,逻辑运算主要是与、或、非、异或等。
1-6 CPU 内部结构包含了哪几部分单片机(MCU)芯片与通用微机CPU 有什么异同 答:CPU 主要包括算术逻辑单元ALU 、控制单元CU 和内部寄存器;单片机(MCU)芯片是在通用CPU 的基础上增加存储器、定时器/计数器、通信接口以及各种接口电路等构成。
1-7 在单片机系统中常使用哪些存储器答:包括程序存储器ROM 和数据存储器RAM 。
1-8 指令由哪几部分组成答:一般由操作码和操作数组成,部分指令只有操作码而无操作数。
1-9、什么是汇编语言指令为什么说汇编语言指令比机器语言指令更容易理解和记忆通过什么方式可将汇编语言程序转化为机器语言程序答:【1】用助记符表示的指令【2】因为在汇编语言指令中每条操作码、操作数都是用特定符号表示;而机器语言中的操作码和操作数均用二进制表示,没有明显特征【3】可通过专门的软件或手工查表方式1-10、汇编语言程序和汇编程序这两个术语的含义是否相同答:两者含义不同;1.汇编语言程序指由汇编语言指令构成的程序;2.汇编程序指将完成汇编语言指令转换为机器语言指令的程序1-11、什么是寻址方式对于双操作数指令来说,为什么不需要指定操作结果存放位置答:【1】确定指令中操作数所在存储单元地址的方式【2】在现代计算机系统中,对于双操作数指令,一般将指令执行后的结果放在第一个操作数(即目标操作数),这样可以减少指令码的长度1-12、指出下列指令中每一操作数的寻址方式答:【1】目标操作数为寄存器寻址,源操作数为立即数寻址【2】目标操作数为直接寻址,源操作数为寄存器寻址【3】目标操作数为直接寻址,源操作数为直接寻址【4】目标操作数为直接寻址,源操作数为寄存器间接寻址【5】寄存器寻址注:在单片机中,问到指令的寻址方式,既要答目标操作数的寻址方式,也要答源操作数的寻址方式,这与微机不同,请切记!1-13、单片机的主要用途是什么新一代8位单片机芯片具有哪些主要技术特征列举目前应用较为广泛的8位、32位单片机品种。
单片机课后习题答案

第一章计算机基础知识1-1微型计算机主要由哪几部分组成?各部分有何功能?答:一台微型计算机由中央处理单元(CPU)、存储器、I/O接口及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。
CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。
存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。
按其功能可分为RAM和ROM。
输入/输出(I/O)接口是CPU与外部设备进行信息交换的部件。
总线是将CPU、存储器和I/O接口等相对独立的功能部件连接起来,并传送信息的公共通道。
1-3什么叫单片机?其主要由哪几部分组成?答:单片机是指把CPU、RAM、ROM、定时器/计数器以及I/O接口电路等主要部件集成在一块半导体芯片上的微型计算机。
1-4在各种系列的单片机中,片内ROM的配置有几种形式?用户应根据什么原则来选用?答:单片机片内ROM的配置状态可分四种:(1)片内掩膜(Mask)ROM型单片机(如8051),适合于定型大批量应用产品的生产;(2)片内EPROM型单片机(如8751),适合于研制产品样机;(3)片内无ROM型单片机(如8031),需外接EPROM,单片机扩展灵活,适用于研制新产品;(4)EEPROM(或FlashROM)型单片机(如89C51),内部程序存储器电可擦除,使用更方便。
1-5写出下列各数的另两种数制的表达形式(二、十、十六进制)1100010100111001000111100100100111111101101100111011011101011119862H200394E47H585249H162363F6CH291D14955D71-6写出下列各数的BCD参与:59:01011001,1996:0001100110010110,4859.2:0100100001011001.0010389.41:001110001001.01000001第二章MCS-51单片机的硬件结构2-1 8052单片机片内包含哪些主要逻辑功能部件?答:8052单片机片内包括:①8位中央处理器CPU一个②片内振荡器及时钟电路③256B数据存储器RAM。
单片机常用指令

计算机通过执行程序完成人们指定的任务,程序由一条一条指令构成,能为CPU识别并执行的指令的集合就是该CPU的指令系统。
MCS-51单片机汇编语言指令格式:操作符目的操作数,源操作数指令中的常用符号Rn: n=(0~7),表示当前工作寄存器R0~R7中的一个Ri: i=(0、1),代表R0和R1寄存器中的一个,用作间接寻址寄存器dir : 8 位直接字节地址(片内RAM 和SFR )#data: 8位立即数,即8位常数。
可以为2进制(B)、10进制、16进制(H)、字符(‘ ’)#data16: 表示16位立即数,即16位常数,取值范围为#0000H~#0FFFFHaddr16 : 表示16位地址addr11 : 表示11位地址rel : 相对偏移量(为一字节补码)用于相对转移指令中bit :位地址,在位地址空间中。
$: 表示当前指令的地址。
寻址方式1、立即寻址指令中直接给出操作数的寻址方式。
在51系列单片机的指令系统中,立即数用一个前面加“#“号的8位数(#data,如#30H)或16位数(#data16,如#2052H)表示。
立即寻址中的数,称为立即数。
例如指令:MOV A,#30H2、直接寻址操作数的地址直接出现在指令中。
寻址对象:①内部数据存贮器:使用它的地址。
②特殊功能寄存器:既可使用它的地址,也可以直接使用寄存器名。
3、寄存器寻址操作数存放在寄存器中。
寻址对象:A,B,DPTR,R0~R7 。
B 仅在乘除法指令中为寄存器寻址,在其他指令中为直接寻址。
A 可以寄存器寻址又可以直接寻址,直接寻址时写作ACC例如:MOV A,R0 ;R0→A,A、R0均为寄存器寻址,机器码E8MUL AB ;A*B→BA,A、B为寄存器寻址,机器码A4MOV B,R0 ;R0→B,R0为寄存器寻址,B为直接寻址机器码88F0,其中F0为B的字节地址(见表1-2)PUSH ACC ;A的内容压入堆栈机器码C0E04、寄存器间址操作数存放在以寄存器内容为地址的单元中。
第3章 51单片机指令系统

3.1.3 堆栈操作指令
(1)入栈指令:
PUSH direct; SP ← SP+1, (SP) ← (direct)
入栈操作:栈指针SP+1指向栈顶的上 一个空单元,将直接地址direct寻址的单元 内容压入当前SP所指示的堆栈单元中。 (本操作不影响标志位)
例3-3 在中断响应时,SP=09H,数据 指针DPTR的内容为0123H。执行下列指令 后:
MOV @Ri , A ; (Ri)←A MOV @Ri , direct ; (Ri)←(direct) MOV @Ri , data ; (Ri)←#data 上述指令将累加器A,直接地址单元内 容或立即数送到Ri间接寻址单元中。由于内 容较多,下面需要说明:
累加器A是个使用最多的寄存器,MCS-51单 片机以A为中心体系结构。绝大部分指令均需通 过A送到ALU进行运算,结果存于A中,有些指令 仅在A中进行。 直接地址direct ,8位直接地址可寻址0~255个 单元。对于8051则直接寻址内部RAM0~127地址 空间的单元及128~255地址空间的特殊功能寄存 器。这里需注意128~255地址空间很多单元开始 时无定义,对无定义单元进行读/写,则读数不定, 欲写入的数将丢失。 间接寻址@Ri,@间接寻址的符号,是以Ri 的内容作为地址进行寻址,亦即Ri的内容不是操 作数,而是地址。此地址所对应的单元内容才是 所要找的操作数。间接寻址的寻址范围与直接寻 址相同(0~255)。直接寻址单元在编程时就已 明确,而间接寻址单元是在程序运行中明确。
[物理]单片机3第三章寻址方式
![[物理]单片机3第三章寻址方式](https://img.taocdn.com/s3/m/b2ca773355270722192ef7f1.png)
北京化工大学 信息科学与技术学院 郭 青
1
第三章
本章重点
寻址方式
80C51指令系统
指令格式
操作结果及对标志位影响
3.1
111条指令
概述
29 24 24 17
数据传送类指令 数学运算类指令
分类
逻辑运算类指令 控制转移类指令
位操作指令
17
单字节指令 按指令长度分类
双字节指令
三字节指令 12个振荡周期 64
COUNT:PUSH DPH; 保护DPTR内容
PUSH DPL;
MOV DPTR,#TABLE ;赋表首地址给DPTR
MOVC A, @A+DPTR
; POP DPL; 根据A中内容查表 恢复DPTR内容 返回主程序
POP DPH
RET;
ORG 1000H TABLE:DB 00 DB 01 DB 04 DB 09 DB 16 DB 25 DB 36 DB 49 DB 64 DB 81
19
3.3.1 数据传送类指令
按操作方式,分为三种: 数据传送 数据交换 栈操作
一、普通传送类指令 格式: MOV (目的操作数),(源操作数) 操作码助记符 操作: 将源操作数单元内容,传送到目的操作数 单元中,源操作数内容不变。不影响标志 位Cy,AC和OV。
操作数的组合关系
1、立即数的传送 MOV A, #data MOV Rn, #data (A) (Rn) #data #data
d:MOV direct,#data
将8位立即数送入由direct直接寻址的地 址单元中。 direct:00H~FFH,8位二进制地址码
寻址内部RAM(00H~7FH)及SFR
单片机复习题集及答案

单片机练习题部分答案(本练习题仅包括填空、选择、问答类型题。
题的来源选自《单片机原理与应用学习概要及题解》霍孟友主编机械工业出版社出版,题中页码与题号与其对应。
下文中填空与选择题有答案,问答题没有答案。
)单片机构成及原理*P155. 8051单片机有4个I/O口,它们分别是P0、P1、P2、P3 ,复位后对应它们的内容为0FFH 。
16.一个机器周期包括12 个振荡周期,具体分为 6 个状态周期。
17.按执行时间,8051的指令分为单机器周期、双机器周期和四机器周期指令共三种。
18.单片机由CPU\、存储器和I/O 三部分组成。
19.CPU由运算器和控制器两部分组成。
20.若不使用MCS—51片内程序存储器,引脚/EA必须地。
23.MCS—51有四个并行I/O口,由于是准双向口,所以在输入时必须先写 1 。
P16.1.当使用8751且/EA=1,程序地址小于1000H时,访问的是(A )。
A.片内ROM B。
片外ROM C。
. 片内/外ROM D。
. 不定2.堆栈操作遵循的原则是(A )。
A.先进后出B。
先进先出C。
后进后出D。
随机3.欲访问8051单片机的内部程序存储器,则/EA引脚必须为(A )。
A.高电平B。
低电平C。
高低电平D。
与PC值有关4.MCS—51中,一个机器周由(C)个时钟周期组成。
A.4 B。
8 C。
6 D。
12(注:时钟周期=状态周期=2个振荡周期)P176。
MCS—51系列单片机复位后其P1口的输出状态为( B )。
A.00H B。
0FFH C。
0F0H D。
不定P112-2 8051存储器分那几个地址空间? 如何区分不同空间地址?答:地址空间:(1)片内、片外统一的64KB程序存储器地址空间。
访问时采用MOVC指令。
(2)片内256B数据存储器地址空间。
访问时采用MOV指令。
(3)片外64KB的数据存储器地址空间。
访问时则是采用MOVX指令。
P122-4简述直接位寻址区的空间分配,片内RAM中包含那些可位寻址单元?2-10 开机复位后,CPU使用那些工作寄存器作为当前工作寄存器?它们的地址是什么?答:2-12 程序状态寄存器PSW的作用是什么?有哪些常用标志位?作用是什么?P14 答:2-14 8051单片机时钟周期与振荡周期之间有什么关系?答:2-15 一个机器周期的时序是怎样划分的?2-16 什么叫堆栈?堆栈指针SP的作用是什么?答:堆栈是在片内数据RAM区中,数据先进后出或后进先出的区域。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
rel是有符号的 8位二进制数, 用补码表示。 相对偏移在+ 127~-128字 节单元之间。
2000H+2H+28H
2000H SJMP 28H 2002H
· · ·
目的 地址
源地 址
转移指令本身字节数
第三章 MCS-51 单片机指令系统
学习目的 1.了解指令的形式,掌握MCS-51汇编语言指令的格 式。 2.了解掌握指令系统的分类,掌握MCS-51单片机指 令的寻址方式。 3.掌握指令系统中各指令的使用及应用 重点难点 1.寻址方式 2.指令系统
3-1 单片机指令常用的 表示方式和寻址方式
一 指令的表示方式 MCS-51单片机主要有两种指令形式: 机器语言指令 汇编语言指令。
速递快信
目的地
MOV A,#30H
30H
A
2. 寄存器寻址
寄存器寻址是指令中指定寄存器的内容作为操作 数的寻址方式。
目的地
寄存器
MOV A,R1
R0~R7 A B DPTR
3.直接寻址
• 直接寻址是指令直接给出操作数所在单元的地址的寻址方 式。指令中操作数部分给出直接地址,用direct表示。
目的地
变址间接寻址是将指令中基地址(基址寄存 器)和偏移量地址(变址寄存器)的内容相加形 成真正的操作数地址。
程序存储器 …. 1000H+30H 65H …. 1030H
PC DPTR
基址寄存器 1000H
变址寄存器 30H 65H
A
7.相对寻址
• 以当前的PC值加上指令 程序存储器 中给出的相对偏移量 rel 而形成转移目的地 址的寻址方式。 202AH
4.注释
注释不属于汇编语句的功能部分,它只 是对语句的说明。注释字段可以增加程序的 可读性,有助于编程人员的阅读和维护。注 释字段必须以分号“;”开头,长度不限可 以换行接着书写,但换行时应注意在开头使 用分号“;”。
二 指令的描述中经常用到一些特殊符号
Rn Ri direct #data: #data16 addr16: addr11 rel bit: / 工作寄存器R0~R7, 即n=0~7。 寄存器R0、 R1,即i=0、1。 8 位内部RAM单元的地址 指令中的8 位常数。 指令中的16位常数。 16位的目的地址 11位的目的地址 8位带符号的偏移量字节 内部数据RAM或SFR的可直接寻址位。 位操作数的前缀,表示对该位取反。
1.标号
标号是语句地址的标志符号,代表该语句指令代 码第一个字节的地址。 (1)标号由1~8个ASCII字符组成,且第一个字 符必须是字母,其余字符可以是字母、数字或其 他特定字符。 (2)不能使用该汇编语言已经定义了的符号作 为标号。如指令助记符、寄存器符号名称等。 (3)标号后必须跟冒号。
2.操作码
XXH
MOV A,3AH3AH
程序存储器 内部RAM … 操作码 …
PC
PC+1
11100101 00111010
3AH
39H
直接地址
100111111 …
A 10011111
4.位寻址
位寻址适用于可以进行单独位操作的指令,指令中直 接给出位地址寻找位操作数。参与操作的数据是1bit而不 是1B。位地址用bit表示,以区别字节地址direct。
• •
MOV A,#0AH ADD A,#14H
74H 0AH 24H 14H
8051汇编语言指令
• 指令组成:
操作码助记符 操作数
括号内的部分是可选项。 每个字段之间要用分隔符 分隔,可以用作分隔符的 符号有空格、冒号、逗号、 分号等。
指令格式:
[标号:]操作码[目的操作数][,源操作数];[注释] LOOP: MOV A, 3AH ; (A)←(3AH)
1.机器语言指令 用二进制代码表示的指令称为机器语言指令, 也称机器码。 例如:“累加器A加1”指令用二进制数表示时,是 “00000100”,在程序存储器中占用一个字节单元。
2.汇编语言指令
用容易记忆的缩写符号表示机器语言指令就 是汇编语言指令。 例如,“ A 加 B” 用英语写出来是“ Add B to A” , 缩写成“ADD A,B”。这个“ADD A,B”就是汇编语 言指令。MCS-51单片机的开发商约定:“ADD A,B” 与 25F0H 对应。我们将“ ADD” 缩写符号称为“助记 符”。 编写机器语言程序实质上就是用汇编语言编 写程序。 比较: 汇编语言指令 机器语言指令
操作码用于规定语句执行的操作。它是汇编 语句中唯一不能空缺的部分,也是语句的 核心,它用指令助记符表示。
3.操作数
操作数用于给指令的操作提供数据或地址。 在一条汇编语句中操作数可能是空缺的,也可能包 括一项,还可能包括两项或三项。当有多个操作数 时,各操作数间以逗号分隔。
(1)工作寄存器名。 (2)特殊功能寄存器名。 (3)标号名。 (4)常数。 (5)符号“$”,表示程序计数器PC的当前值。 (6)表达式。
(X )
((X)) ← <=>
X中的内容。
由 X寻址的单元中的内容。 表示数据的传送方向。 表示数据交换。
三 MCS-51指令系统的寻址方式
我的信在她 那!找信去!
①
注:找信是寻找信的“地 ② 址”!
寻址方式,就是指如 何找到存放被操作数 据的位置(地址)的 方法。
1.立即数寻址
立即数寻址是由指令直接给出操作数的寻址方式。 #为立即数的标识符。
程序存储器
PC PC+1 10100010 00110111 操 作 码 内部RAM位地址空间
37 36 35 34 33 26H 0
32
31 30
MOV C,37H
PSW
0 Cy
AC FO RSI RS0 OV
P
5.寄存器间接寻址
• 指令操作数的地址事先存放在某个寄存器中,由该 寄存器的内容指定操作数地址的寻址方式,称为寄 存器间接寻址,@为间接寻址指示符。
目的地
信在XXH中
XXH 可寻址内部 RAM128B、 外部RAM
寄存器
MOV A,@R1
R0、R1 DPTR
寻址DPTR
MOV A,@R0
程序存储器
…. 65H 11100110 操作码 …. ~ ~ …. 47H ~ ~ …. 47H A 内部RAM
PC
R0
65H
6.变址寻址(基址寄存器+变址寄存器 间接寻址)