3-1 单片机指令常用的表示方式和寻址方式
- 格式:ppt
- 大小:2.10 MB
- 文档页数:21
第一章习题参考答案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、寄存器间址操作数存放在以寄存器内容为地址的单元中。
单片机练习题部分答案(本练习题仅包括填空、选择、问答类型题。
题的来源选自《单片机原理与应用学习概要及题解》霍孟友主编机械工业出版社出版,题中页码与题号与其对应。
下文中填空与选择题有答案,问答题没有答案。
)单片机构成及原理*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. 指令的格式指令的格式是指指令在计算机中的存储格式和表示方式。
在单片机中,常见的指令格式有以下几种:1.1. 定长指令格式定长指令格式是指每条指令的长度是固定的,无论指令是什么类型,都占据相同的存储空间。
这种格式的好处是指令的读取和译码速度较快,但缺点是指令长度固定,不能灵活利用存储空间。
常见的定长指令格式有两种:字长指令和字节长指令。
字长指令是指每条指令的长度为一个字(一般为16位),指令用一个字节编码。
字长指令的格式可以表示简单的操作,但对于复杂的操作可能不够灵活。
字节长指令是指每条指令的长度为一个字节(8位),指令用一个字节编码。
字节长指令的格式比较紧凑,可以灵活利用存储空间,但对于一些复杂的操作可能需要多条指令来完成。
1.2. 变长指令格式变长指令格式是指每条指令的长度可以根据需要进行变化,每个指令由不定数量的字节组成。
这种格式的好处是可以根据指令的类型和需要,灵活地分配存储空间,适用于各种不同的指令。
常见的变长指令格式有两种:指令长度字段和可选字段。
指令长度字段是指在指令中使用一个字段来表示指令的长度,根据该字段的值来确定指令的长度。
这种格式可以灵活地表示各种指令长度,但需要占用额外的存储空间。
可选字段是指在指令中使用一个字段来表示某些操作或参数的存在与否,根据该字段的值来决定是否包含该操作或参数。
这种格式可以灵活地表示各种不同的操作和参数,但需要更高的指令解码和执行的复杂度。
2. 指令的编码方式指令的编码方式是指对指令中的操作码、操作数和寻址方式等进行编码的方式。
不同的编码方式可以实现不同的功能和操作。
2.1. 直接编码直接编码是指将指令中的操作码和地址直接编码为二进制代码。
这种编码方式简单直观,对于简单的操作和寻址方式比较适用,但指令码长度较长,占用存储空间较大。
精心整理《单片机原理及应用》习题答案第一章计算机基础知识1-1 微型计算机主要由哪几部分组成?各部分有何功能?答:一台微型计算机由中央处理单元(CPU)、存储器、I/O接口及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。
CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制和ROM。
I/O1-6 写出下列各数的BCD参与:59:01011001,1996:0001100110010110,4859.2:0100100001011001.0010389.41:001110001001.01000001第二章 MCS-51单片机的硬件结构2-1 8052单片机片内包含哪些主要逻辑功能部件?答:8052单片机片内包括:①8位中央处理器CPU一个②片内振荡器及时钟电路③256B数据存储器RAM。
④8KB片内程序存储空间ROM⑤21个特殊功能寄存器SFR⑥4个8位并行I/O端口(32条线)⑦1个可编程全双工串行口⑧可寻址64KB的外部程序存储空间和外部数据存储空间⑨3个16位的定时器/计数器⑩6个中断源、2个优先级嵌套中断结构2-2 8052答:⑴8052的存储器分为6个编址空间:①片内ROM的容量为8KB,其地址为②可扩展片外ROM的容量为64KB,其地址为片内RAM的容量为256B,其地址为00H~FFH RAM低区,④另128B为片内RAM高区,其地址空间为⑤可扩展片外RAM的容量为64KB,其地址为⑥特殊功能寄存器SFR的空间为128B26BCPU第31脚EA接高电平时, CPU将从片内程序存储器0000H1FFFH时,会自动转向片外程ROM的0000H单元开始执行。
CPU,低区128B地址空间00H~7FH中地址为00H~1FH 这32表示,通过工作寄存器指令进行访问。
片内RAM 中的16个单元共128位中的每一位又可单独00H`7FH;对片内高区128B寻址只能用CPU通过指令MOVX访问片外数据存储器。
单片机就是一个芯片,它内部集成有CPU,程序存储器ROM,数据存储器RAM,输入输出接口等等,使得它的功能非常强大。
寻址方式:就是寻找操作数地址的方式。
在51系列单片机中,存放数据的存储器空间有4种:内部RAM、外部RAM、特殊功能寄存器SFR、程序存储器ROM。
1 立即寻址指令中直接给出操作数的寻址方式称为立即寻址。
跟在指令操作码后面的数就是参加运算的数,称为立即数,(加“#”号)立即数是存放在程序存储器ROM中的常数,因此可访问ROM例:MOV A,#data MOV A,#3AH; 3AH--- AMOV DPTR,#data16 MOV DPTR, #1234H ;1234H——>DPTR (把立即数的高8位20H送入DPH寄存器,把低8位00H送入DPL寄存器)2 直接寻址直接给出操作数地址------》操作数。
在51单片机中,直接寻址访问2种存储空间:(1)片内RAM低128个字节单元(00H---7FH),在指令中以直接地址表示;(2)特殊功能寄存器SFR,在指令中用寄存器名称表示。
直接寻址是唯一能访问特殊功能寄存器SFR的寻址方式!例:MOV A,30H;内部RAM30H单元中的内容-》ASFR:MOV IE,#00H 中断允许寄存器IE的地址是80H,也可以写成MOV 80H,#00H大家来分析下面几条指令:MOV 60H,AMOV A,directMOV direct,directMOV P0,#85H3 寄存器寻址操作数在寄存器中,因此指定了寄存器名称就能得到操作数。
通用寄存器包括:A、B、DPTR、8个工作寄存器R0~R7。
注意点:【 B寄存器仅在乘法、除法指令中为寄存器寻址,在其它指令中为直接寻址】MOV A,R1 ADD A,R0MUL AB ;A,B为寄存器寻址低8位放A中,高 8位放B中同理DIV AB 累加器A中内容除以B中内容,商的整数放A,余数放B MOV B, R0 R0为寄存器寻址,B为直接寻址(乘除才寄存器寻址)INC A ;寄存器寻址(A累加器中的内容+1)INC ACC(直接寻址)4 寄存器间接寻址(加间址符“@”)寄存器中内容为操作数地址------》操作数寻址内部RAM(低128单元)的数据只能使用寄存器R0、R1作为地址指针;访问外部RAM(64K)时可使用R0、R1、DPTR作为地址指针,并用MOVX作为操作助记符。
单片机常用指令单片机是一种集成在一个芯片上的微型计算机,广泛应用于各种电子设备中。
要让单片机按照我们的意愿工作,就需要给它下达各种指令。
下面就来介绍一些单片机常用的指令。
一、数据传送指令这一类指令用于在单片机内部的寄存器、存储器之间进行数据的传输。
比如“MOV”指令,它可以将一个数据从源操作数传送到目的操作数。
例如“MOV A, 50H”,就是把十六进制数 50H 传送到累加器 A 中。
“MOVX”指令则用于在单片机与外部数据存储器之间进行数据传送。
比如“MOVX A, @DPTR”,可以从外部数据存储器中读取数据到累加器 A 。
二、算术运算指令用于执行加、减、乘、除等算术运算。
“ADD”指令用于加法运算,“SUBB”指令用于带借位的减法运算。
例如“ADD A, R0”,将累加器 A 的值和寄存器 R0 的值相加,结果存放在累加器 A 中。
“MUL”指令用于乘法运算,它将累加器 A 和寄存器 B 中的两个 8 位无符号数相乘,结果的低 8 位存放在累加器 A 中,高 8 位存放在寄存器 B 中。
三、逻辑运算指令进行与、或、异或等逻辑操作。
“ANL”指令执行逻辑与操作,“ORL”指令执行逻辑或操作,“XRL”指令执行逻辑异或操作。
例如“ANL A, 0FH”,将累加器 A 的值和十六进制数 0FH 进行逻辑与运算,结果存放在累加器 A 中。
四、控制转移指令这类指令用于改变程序的执行流程。
“JMP”指令用于无条件跳转,直接跳转到指定的地址去执行程序。
例如“JMP 1000H”,程序将跳转到地址为 1000H 的地方继续执行。
“CJNE”指令用于比较两个操作数,如果不相等则跳转。
比如“CJNE A, 50H, LOOP”,如果累加器 A 的值不等于 50H ,就跳转到标号 LOOP 处执行。
“LCALL”和“ACALL”指令用于调用子程序。
“LCALL”可以调用64KB 范围内的子程序,而“ACALL”只能调用 2KB 范围内的子程序。
小知识单片机的寻址方式有哪些?
在单片机这一大概念下,能分出非常多的种类。
并且在实际的操作当中,很多效果是无法通过单一的单片机来进行实现的。
本文将为单片机的寻址方式进行总结,感兴趣的朋友快来看一看吧。
尽管现在单片机编程大多使用C语言,但必得对单片机的内核结构、存储结构及指令集有一定的了解,才有可能写出优秀的程序代码。
对于单片机指令的学习,寻址方式的学习是其中的一个重点和难点,寻址方式的正确理解不仅对汇编编程至关重要,而且有助于对于单片机内核结构(如RISC和CISC的区别)、存储结构的更深刻理解。
但是,不同单片机都提供了一些不同的寻址方式,且即使同样的寻址方式在不同的单片机中也有不同的名称,使得寻址方式显得混乱,不一致,不易理解。
推荐阅读:MCS-51单片机寻址方式总结
不过,经过仔细的对比、学习和分析,我发现,其实所有的寻址方式,都可以归为以下六类:
1)立即寻址
2)无址寻址
3)寄存器直接寻址
4)寄存器间接寻址
5)内存直接寻址
6)内存间接寻址
下面对以上六类指令一一分解:
1、立即寻址,即在指令中直接给出实际的操作数数值,如MOV R1,#0。