22单片机的指令系统--位操作、子程序调用、返回和空操作指令
单片机指令系统ppt课件
加减指令
操作
操作数
Rn @Ri direct #data A
ADD *
*
*
*
X
ADDC *
*
*
*
X
SUBB *
*
*
*
X
INC *
*
*
X
*
DEC *
*
*
X
*
其他算术运算指令
16位寄存器加一指令 INC DPTR
十进制调整指令
DA A
乘法指令 MUL AB
(A) X (B) = BA
Cy = 0
若乘积>0FFH 则 OV=1
A #data
ANL *
*
ORL *
*
XRL *
*
控制转移类指令
控制转移类指令有17条,分为:
无条件转移指令 判零转移指令 比较转移指令 循环转移指令 调用返回指令
无条件转移指令
短转移指令 AJMP addr11
PC高5位与指令中给出的11位地址相加,可在2K 范围内转移
长转移指令 LJMP addr16
例: MOV 90H,A
MOV P1,A
寄存器寻址方式
寄存器寻址方式指令中给出寄存器编号 寄存器编号为 R0 -- R7 其对应单元位置由 RS1、RS0 决定 例
INC R0 ADD A,R2
寄存器间接寻址方式
寄存器间接寻址在指令中给出存放操作数 地址的寄存器 可用于间接寻址方式的寄存器有
R0、R1 用于寻址内部128字节RAM DPTR 用于寻址外扩数据存储器( R0、R1)
寻址外扩数据存储器,只能用寄存器间接寻 址方式 例: MOV A,@R0 MOVX @DPTR,A
3.8 位操作指令
教案用纸附页
教学内容、方法和过程
附记
1)、绝对调用指令
ACALL addr11
子程序调用范围是2KB,其构造目的地址是在PC+2的基础上,以指令提供的11位地址取代PC的低11位,而PC的高5位不变。即:
PC(PC)+2
SP(SP)+1,(SP)(PC)7~0
SP(SP)+1,(SP)(PC)15~8
答:根据题意编制程序如下:
MOV A,40H
CPL A
SETB ACC. 0
SETB ACC. 7
MOV 40H,A
4、位控制转移指令组
位控制转移指令就是以位的状态作为实现程序转移的判断条件。
1)、以C状态为条件的转移指令
JC rel;(CY)=1转移,否则顺序执行
JNC rel;(CY)=0转移,否则顺序执行
MJ/JW-JL-11(15) 5年
三明市高级技工学校
教案用纸
学
科
单片机技术
第三章单片机指令系统
第8节位操作指令
审批签字
授课时数
2
授课方法
讲授
教2节11.9 3-4节
授课班级
09电工班、09电梯班
教学目的
子程序调用转移指令,空操作,位操作指令
教学重点
和难点
子程序调用和转移指令
1、逻辑与运算指令组
2、逻辑或运算指令组
3、逻辑异或运算指令组
4、累加器清"0”和取反指令组
5、移位指令
复习提问
条件转移和无条件转移指令的区别?
教学内容、方法和过程
附记
(一)、组织教学
(二)、课前复习1、无条件转移指令组2、条件转移指令组
单片机复习题
单片机一.填空题1.AT89S51单片机为位单片机。
2.MCS-51系列单片机的典型芯片分别为、、。
3.AT89S51有级中断,个中断源。
4.AT89S51内部数据存储器的地址范围是,位地址空间的字节地址范围是,对应的位地址范围是,外部数据存储器的最大可扩展容量是。
5.AT89S51单片机指令系统的寻址方式有、_______、_ ___、_ __ __、。
6.如果(A)=34H,(R7)=0ABH,执行XCH A, R7;结果(A)= ,(R7)= 。
7.82C55可以扩展个并行口,其中条口线具有位操作功能;8.当单片机复位时PSW=H,这时当前的工作寄存器区是区,R4所对应的存储单元地址为H。
9.若A中的内容为67H,那么,P标志位为。
10.74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中片芯片。
12.串行口的方式0的波特率为。
13.AT89S51内部数据存储器的地址范围是,位地址空间的字节地址范围是,对应的位地址范围是外部数据存储器的最大可扩展容量是。
14.在内部RAM中可位寻址区中,位地址为40H的位,该位所在字节的字节地址为。
15.如果(A)=58H,(R1)= 49H,(49H)= 79H,执行指令XCH A, @R1后;结果(A)= ,(49H)= 。
16.当单片机复位时PSW=H,SP= ,P0~P3口均为电平。
17.当AT89S51执行MOVC A,@A+ DPTR指令时,伴随着控制信号有效。
18.AT89S51访问片外存储器时,利用信号锁存来自发出的低8位地址信号。
19.已知fosc=12MHz,T0作为定时器使用时,其定时时间间隔为。
20.若AT89S51外扩8KB 程序存储器的首地址若为1000H,则末地址为H。
21.串行口方式2接收到的第9位数据送寄存器的位中保存。
22.AT89S51访问片外存储器时,利用信号锁存来自发出的低8位地址信号。
23.若AT89S51外扩32KB 数据存储器的首地址若为4000H,则末地址为 H。
关于习题二答案单片机的指令系统
习题二答案单片机的指令系统一、选择题1、执行下列3条指令后,30H单元的内容是( C )。
MOV R0,#30HMOV 40H,#0EHMOV @R0,40HA)40H B)30H C)0EH D)FFH2、在堆栈中压入一个数据时(B)。
A)先压栈,再令SP+1 B)先令SP+1,再压栈C)先压栈,再令SP-l D)先令SP-1,再压栈3、在堆栈操作中,当进栈数据全部弹出后,这时的SP应指向 A 。
A)栈底单元B)7FHC)栈底单元地址加1 D)栈底单元地址减l4、指令MOVC A,@A+PC源操作数的寻址方式是 D 。
A)寄存器寻址方式B)寄存器间接寻址方式C)直接寻址方式D)变址寻址方式5、ANL 20H,#30H指令中,源操作数的寻址方式是 A 。
A)立即寻址方式B)直接寻址方式C)位寻址方式D)相对寻址方式6、ANL C,/30H指令中,源操作数的寻址方式是 C 。
A)立即寻址方式 B)直接寻址方式C)位寻址方式 D)相对寻址方式7、Jz rel指令中,操作数rel的寻址方式是 D 。
A)立即寻址方式 B)直接寻址方式C)位寻址方式 D)相对寻址方式8、Jz rel指令中,是判断 A 中的内容是否为0。
A) A B) B C)C D)PC9、MOVX A,@DPTR指令中源操作数的寻址方式是(B)A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址10、下面条指令将MCS-51的工作寄存器置成3区(B)A)MOV PSW,#13H (B)MOV PSW,#18H11、MOV C,00H指令中源操作数的寻址方式是(A)A)位寻址 B)直接寻址 C)立即寻址 D)寄存器寻址二、填空题1、8051单片机共有7 种寻址方式。
访问外部数据存储器应采用寄存器间接寻址方式。
2、访问外部数据存储器应采用寄存器间接寻址方式;查表应使用变址寻址方式。
3、在8051单片机中,堆栈操作的指令有PUSH 和 POP两个。
单片机复习资料 仅供参考
一、单选题1、一个完整的系统通常包括( B )。
A.系统软件和应用软件B.硬件系统和软件系统C.计算机及外设D.硬件和系统软件2、MCS-51 系列单片机的CPU 是( B )位的。
A.4 位B.8 位C.16 位D.32 位3、在MCS-51 单片机中,惟一一个可供用户使用的16 位寄存器是( C )。
A.PWS B.ACC C.DPTR D.PC4、一字节补码所能表示的整数范围是(A)。
A.128~+127 B.127~+127 C.129~+128 D.128~+1 285、8051 的内部RAM 中常用做堆栈保护区的是( D )。
A.00H-FFH B.00H-1FH C.20H-2FH D.30H-7FH6、在机器数中,( B )的零的表示形式是唯一的。
A.原码B.补码C.反码D.补码和反码7、在计算机中,字符的编码普遍采用的是( D )。
A.BCD 码B.十六进制C.格雷码D.ASCII 码8、在单片机中,用作标志寄存器的一个特殊功能寄存器是(A)。
A.PSW B.DPTR C.PC D.B9、己知x 为整数,且[x]补=10011011,则x 的十进制数值是(A)。
A.-101 B.+155 C.+101 D.-15510、迄今为止,计算机中的所有信息仍以二进制方式表示的理由是( C )。
A.节约元件B.运算速度快C.物理器件最容易实现电路的功能D.信息处理方便11、如果8051 单片机的一个机器周期为2 微秒,则其时钟频率为(A)MHz。
A.6 B.8 C.12 D.1612、若[x]补码=11100001,则x=( C )。
A.-32 B.32 C.-31 D.3113、存储器的地址范围是0000H~0FFFH,它的容量为( D )。
A.1KB B.2KB C.3KB D.4KB14、MOVX A,@DPTR 指令中源操作数的寻址方式是(B )。
A.寄存器寻址B.寄存器间接寻址C.直接寻址D.立即寻址15、JNZ REL 指令的寻址方式是( C )。
单片机常用指令
计算机通过执行程序完成人们指定的任务,程序由一条一条指令构成,能为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、寄存器间址操作数存放在以寄存器内容为地址的单元中。
单片机复习题
《单片机》复习题一、填空题:8051单片机的存储器分为片内程序存储器、外部程序存储器、外部数据存储器、内部RAM和特殊功能寄存器。
单片机复位方式有电平复位、脉冲复位和自动复位。
8051单片机的并行I/O口共有4个,分别是p0口、p1口、p2口和p3口。
8051单片机指令系统按操作功能可分为数据传送指令、算术运算指令、逻辑运算指令、位操作指令、控制及转移指令五大类。
操作码助记符是由英文字母组成的字符串,它规定了指令的执行动作。
8051单片机堆栈中数据的压入和弹出是按先进后出的规律。
堆栈指令包括数据入栈指令和数据出栈指令两类。
二、判断题(正确的打√,错误的打×,)1、只读存储器ROM内部信息停电后会丢失。
(×)2、堆栈操作是按“后进先出”的原则存取数据。
(√)3、8051单片机访问存储器时,同一地址对应惟一的存储单元。
(×)4、数据寄存器指针DPTR由DPH和DPL组成。
(√)5、程序计数器PC总是指向正在执行的指令地址。
(√)6、汇编语言程序中的注释可以缺省。
(√)7、指令中操作码助记符项可有可无。
(×)8、计算机寻址方式越多,计算机的功能超强,灵活性亦越大。
(√)9、若累加器A中“1”的个数为偶数,则奇偶标志位P为1。
(×)10、作算术运算时,若有进位则一定有溢出。
(×)三、选择题1、单片机机器内的数是以(C)的形式表示的A、原码B、反码C、补码D、ASCII码2、8051单片机有()个特殊功能寄存器。
A、3B、10C、21D、1283、数据寄存器指针DPTR是一个()位的寄存器。
A、8B、16C、24D、324、8051单片机的工作寄存器分成(B)组,每组有(D)单元。
A、2个B、4个C、6个D、8个5、SJMP rel指令中rel的取值范围为()。
A、+127~-127B、0~+127C、0~-128D、+127~-1286、指令MOVX A,@DPTR中源操作数属于()方式。
(整理)单片机指令英文全称.
51单片机汇编指令集(指令集带英文翻译)一、数据传送类指令(7种助记符)MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVC(Move Code)读取程序存储器数据表格的数据传送;MOVX(Move External RAM)对外部RAM的数据传送;XCH(Exchange)字节交换;XCHD(Exchange low-order Digit)低半字节交换;PUSH(Push onto Stack)入栈;POP (Pop from Stack)出栈;二、算术运算类指令(8种助记符)ADD(Addition) 加法;ADDC(Add with Carry) 带进位加法;SUBB(Subtract with Borrow) 带借位减法;DA(Decimal Adjust) 十进制调整;INC(Increment) 加1;DEC(Decrement) 减1;MUL(Multiplication、Multiply) 乘法;DIV(Division、Divide) 除法;三、逻辑运算类指令(10种助记符)ANL(AND Logic) 逻辑与;ORL(OR Logic) 逻辑或;XRL(Exclusive-OR Logic) 逻辑异或;CLR(Clear) 清零;CPL(Complement) 取反;RL(Rotate left) 循环左移;RLC(Rotate Left throught the Carry flag) 带进位循环左移;RR(Rotate Right) 循环右移;RRC(Rotate Right throught the Carry flag) 带进位循环右移;SWAP (Swap)低4位与高4位交换;四、控制转移类指令(17种助记符)ACALL(Absolute subroutine Call)子程序绝对调用;LCALL(Long subroutine Call)子程序长调用;RET(Return from subroutine)子程序返回;RETI(Return from Interruption)中断返回;SJMP(Short Jump)短转移;AJMP(Absolute Jump)绝对转移;LJMP(Long Jump)长转移;CJNE (Compare Jump if Not Equal)比较不相等则转移;DJNZ (Decrement Jump if Not Zero)减1后不为0则转移;JZ (Jump if Zero)结果为0则转移;JNZ (Jump if Not Zero) 结果不为0则转移;JC (Jump if the Carry flag is set)有进位则转移;JNC (Jump if Not Carry)无进位则转移;JB (Jump if the Bit is set)位为1则转移;JNB (Jump if the Bit is Not set) 位为0则转移;JBC(Jump if the Bit is set and Clear the bit) 位为1则转移,并清除该位;NOP (No Operation)空操作;五、位操作指令(1种助记符)CLR 位清零;SETB(Set Bit)位置1。
单片机指令一览
ADD
P44
ADDA,Rn
ADDA,direct
ADDA,@Ri
ADDA,#data
1.不带进位的加法指令
ADDC
P45
ADDCA,Rn
ADDCA,direct
ADDCA,@Ri
ADDCA,#data
2.带进位的加法指令
INC
P46
INCA
INCRn
INCdirect
INC@Ri
INCDPTR
MOV@R0,70H
MOV@R1,#78H
4.以寄存器间接地址为目的地址的指令
MOVDPTR,#data
5.16位数据传送指令
MOVX
P42
片外数据存储器(或扩展I/O口)与累加器A之间的传送指令
MOVXA,@DPTR
MOVXA,@Ri(0,1)
MOXX@DPTR,A
MOVX@Ri,A
MOVC
P42
JB
P53
JB bit,rel
JNB
P53
JNB bit,rel
JBC
P53
JBC bit,rel
CJNE
P53
CJNE A,direct,rel
CJNE A,#data,rel
CJNE Rn,#data,rel
CJNE @Ri,#data,rel
2.比较不相等转移指令
DJNZ
P53
DJNZ Rn,rel
3.增量指令
2.减法指令
SUBB
P47
SUBBA,Rn
SUBBA,direct
SUBBA,@Ri
SUBBA,#data
1.带进位的减法指令
DEC
单片机课件
4、不相等转移 BRNE——不相等转移 说明:条件相对转移,测试零标志(Z),如 果Z位被清零,则相对PC 值转移。如果在 执行CP、CPI、SUB 或SUBI 指令后立即 执行该指令,且当在寄存器Rd 中的无符号 或带符号二进制数不等于寄存器Rr 中的无 符号或带符号二进制数时转移将发生。
5、C 标志位置位转移 BRCS——进位位置位转移 说明:条件相对转移测试进位标志C,如果 C 位被置位则相对PC 值转移。
6、C 标志位清除转移 BRCC ——进位位清除转移 说明:条件相对转移测试进位标志C,如果 C 位被清除则相对PC 值转移。
7、大于或等于转移 BRSH——大于等于转移(无符号) 说明:条件相对转移,测试进位标志(C),如 果C 位被清零,则相对PC 值转移如果在执 行CP、CPI、SUB或SUBI 指令后,立即执 行该指令,且当在寄存器Rd 中无符号二进 制数大于等于寄存器 Rr 中无符号二进制数 时转移将发生。
14、半进位标志清零转移 BRHC——半进位标志被清零转移 说明:条件相对转移,测试半进位标志H, 如果H 位被清零,则相对PC 值转移。
15、T 标志置位转移 BRTS——T 标志被置位转移 说明:条件相对转移测试T标志,如果T被 置位,则相对PC值转移。
16、T 标志清零转移 BRTC——T 标志被清零转移 说明:条件相对转移,测试T标志,如果T 被清零,则相对PC 值转移。
22、寄存器位清零跳行 SBRC——寄存器位被清零跳行 说明:该指令测试寄存器某位,如果该位 被清零,则跳下一行执行指令。
23、寄存器位置位跳行 SBRS——寄存器位置位跳行 说明:该指令测试寄存器某位,如果该位 被置位,则跳下一行执行指令。
指令的种类
3.堆栈操作指令
4.输入/输出指令
★统一编址 当内存与接口地址统一编址时,内存与接口同属于一个 地址空间,用于内存的指令原则上均可用于接口。 ★独立编址 当内存与接口地址采用独立编址时,它们的地址是相互 独立的。
指令的种类
1.2 算术运算类指令
格式
MOVS/MOVSB/MOVSW
串 操
CMPS/CMPSB/CMPSW
作
SCAS/SCASB/SCASW
指
令
LODS/LODSB/LODSW
STOS/STOSB/STOSW
名称 串传送指令 串比较指令 串扫描或串搜索指令 串装入指令 字串存储指令
指令的种类
1.8 位操作指令
位操作指令是对某一位进行操作的指令,也就是对一个字 (字节)中的某一位进行操作的指令。
格式
操作
标
HLT
使处理器处于停止状态, 不执行指令
志
位 WAIT 使处理器处于等待状态
操 作 指
LOCK
封锁总线指令,可放在 任一指令前作为前缀
令
NOP
空操作指令,处理器什 么操作也不做
指令的种类
1.7 串操作指令
在存储器中存放的一串字或字节可以是二进制数,也可以是 BCD码或ASCⅡ码。它们存放在某一个连续的内存区中,若对它 们的每字或字节均进行同样的操作,该操作就称串操作。
XOR指令对两个操作数进 行按位异或运算。
指令的种类
1.4 移位、循环类指令
CF
位移指令SAL/SHL操作示意图
CF
SAR操作示意图
CF 0
SHR操作示意图
指令的种类
单片机指令系统与子程序调用的操作方法
(3) 位数据传送指令 位数据传送指令与字节数据传送指令相似。 (4)位条件转移类指令 位条件转移类指令与字节条件转移类指令相似,地址偏移量 re 1 的计 算方法相同。 (11 位。在调用子程序时,该 指令与 AJMP 指令类似,要求调用子程序的入口地址与 ACALL 指令后面指 令的第一个字节在同一个 2 K 页面的程序存储器区域中。 (2)长调用指令
长调用指令 LCALL 指令的目标地址是 16 位。可在 64 K 程序存储器 区域范围内调用任何一个子程序。 (3) 子程序返回指令 子程序返回指令 RET,功能是使 CPU 从子程序返回到主程序的断点 处,使主程序继续执行。 (4) 中断返回 RETI 中断返回指令 RET I,功能是使 CPU 从中断服务子程序返回主程序
单片机指令系统与子程序调用的操作方法
MCS-51 单片机有丰富的位操作指令,可以把大量的硬件组合逻辑用 软件来代替,这样可以方便地应用于各种逻辑控制,主要用于控制线路通、 断,继电器的吸合与释放等。位操作指令如表所示。 (1)位修正指令 位修正指令包括: 位清零指令 CLR、位置 1 指令 SETBJ 位取反指 令 CPL。 (2) 位逻辑运算指令 位逻辑运算指令与字节逻辑运算指令相似。其中/b it 表示取反后在进 行逻辑运算。
YS1MS: MOV R7,# 4 LL1: MOV R6,#200 LL2: DJNZ R6,LL2 DJNZ R7,LL1 RET 可以在主程序中 调用子程序 LCALL YS1MS
的断点处,同时清除相应的中断状态寄存器,开发中断。 (5) 空操作指令 执行空操作指令 NOP,除 PC 内容加 1 外,不影响任何标志位和其他 寄存器。NOP 指令常用来产生一个机器周期的延迟。 调用及回过程:主程序调用了子程序,子程序执行完之后必须再回到 主程序继续执行,不能一去不回头,那幺回到什幺地方呢?是回到调用子程 序的下面一条指令继续执行
单片机指令大全
单片机指令大全一、数据传送类指令MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,@Ri 内部RAM单元送累加器 1 1 MOV @Ri ,A 累加器送内部RAM单元 1 1 MOV A ,#data 立即数送累加器 2 1 MOV A ,direct 直接寻址单元送累加器 2 1 MOV direct ,A 累加器送直接寻址单元 2 1 MOV Rn,#data 立即数送寄存器 2 1 MOV direct ,#data 立即数送直接寻址单元 3 2 MOV @Ri ,#data 立即数送内部RAM单元 2 1 MOV direct ,Rn 寄存器送直接寻址单元 2 2 MOV Rn ,direct 直接寻址单元送寄存器 2 2 MOV direct ,@Ri 内部RAM单元送直接寻址单元 2 2 MOV @Ri ,direct 直接寻址单元送内部RAM单元 2 2 MOV direct2,direct1 直接寻址单元送直接寻址单元 3 2 MOV DPTR ,#data16 16位立即数送数据指针 3 2MOVX A ,@Ri 外部RAM单元送累加器(8位地址) 1 2MOVX @Ri ,A 累加器送外部RAM单元(8位地址) 1 2MOVX A ,@DPTR 外部RAM单元送累加器(16位地址) 1 2MOVX @DPTR ,A 累加器送外部RAM单元(16位地址) 1 2MOVC A ,@A+DPTR 查表数据送累加器(DPTR为基址) 1 2MOVC A ,@A+PC 查表数据送累加器(PC为基址) 1 2XCH A ,Rn 累加器与寄存器交换 1 1 XCH A ,@Ri 累加器与内部RAM单元交换 1 1 XCHD A ,direct 累加器与直接寻址单元交换 2 1 XCHD A ,@Ri 累加器与内部RAM单元低4位交换 1 1SWAP A 累加器高4位与低4位交换 1 1 POP direct 栈顶弹出指令直接寻址单元 2 2 PUSH direct 直接寻址单元压入栈顶 2 2 二、算术运算类指令ADD A, Rn 累加器加寄存器 1 1 ADD A,@Ri 累加器加内部RAM单元 1 1 ADD A, direct 累加器加直接寻址单元 2 1 ADD A, #data 累加器加立即数 2 1ADDC A, Rn 累加器加寄存器和进位标志 1 1 ADDC A,@Ri 累加器加内部RAM单元和进位标志 1 1ADDC A, #data 累加器加立即数和进位标志 2 1 ADDC A, direct 累加器加直接寻址单元和进位标志 2 1 INC A 累加器加1 1 1INC Rn 寄存器加1 1 1INC direct 直接寻址单元加1 2 1 INC @Ri 内部RAM单元加1 1 1 INC DPTR 数据指针加1 1 2 DA A 十进制调整 1 1 SUBB A, Rn 累加器减寄存器和进位标志 1 1 SUBB A,@Ri 累加器减内部RAM单元和进位标志 1 1SUBB A, #data 累加器减立即数和进位标志 2 1 SUBB A, direct 累加器减直接寻址单元和进位标志 2 1 DEC A 累加器减1 1 1 DEC Rn 寄存器减1 1 1 DEC @Ri 内部RAM单元减1 1 1 DEC direct 直接寻址单元减1 2 1 MUL AB 累加器乘寄存器B 1 4 DIV AB 累加器除以寄存器B 1 4三、逻辑运算类指令ANL A, Rn 累加器与寄存器 1 1 ANL A,@Ri 累加器与内部RAM单元 1 1 ANL A, #data 累加器与立即数 2 1 ANL A, direct 累加器与直接寻址单元 2 1 ANL direct, A 直接寻址单元与累加器 2 1 ANL direct, #data 直接寻址单元与立即数 3 1 ORL A, Rn 累加器或寄存器 1 1 ORL A,@Ri 累加器或内部RAM单元 1 1 ORL A,#data 累加器或立即数 2 1 ORL A,direct 累加器或直接寻址单元 2 1 ORL direct, A 直接寻址单元或累加器 2 1 ORL direct, #data 直接寻址单元或立即数 3 1 XRL A, Rn 累加器异或寄存器 1 1 XRL A,@Ri 累加器异或内部RAM单元 1 1 XRL A,#data 累加器异或立即数 2 1 XRL A,direct 累加器异或直接寻址单元 2 1 XRL direct, A 直接寻址单元异或累加器 2 1 XRL direct, #data 直接寻址单元异或立即数 3 2 RL A 累加器左循环移位 1 1 RLC A 累加器连进位标志左循环移位 1 1 RR A 累加器右循环移位 1 1RRC A 累加器连进位标志右循环移位 1 1 CPL A 累加器取反 1 1CLR A 累加器清零 1 1四、控制转移类指令类ACCALL addr11 2KB范围内绝对调用 2 2 AJMP addr11 2KB范围内绝对转移 2 2 LCALL addr16 2KB范围内长调用 3 2 LJMP addr16 2KB范围内长转移 3 2 SJMP rel 相对短转移 2 2 JMP @A+DPTR 相对长转移 1 2 RET 子程序返回 1 2RET1 中断返回 1 2JZ rel 累加器为零转移 2 2JNZ rel 累加器非零转移 2 2 CJNE A ,#data ,rel 累加器与立即数不等转移 3 2 CJNE A ,direct ,rel 累加器与直接寻址单元不等转移 3 2 CJNE Rn,#data ,rel 寄存器与立即数不等转移 3 2 CJNE @Ri ,#data,rel RAM单元与立即数不等转移 3 2 DJNZ Rn ,rel 寄存器减1不为零转移 2 2 DJNZ direct ,rel 直接寻址单元减1不为零转移 3 2 NOP 空操作 1 1五、布尔操作类指令MOV C, bit 直接寻址位送C 2 1 MOV bit, C C送直接寻址位 2 1 CLR C C清零 1 1 CLR bit 直接寻址位清零 2 1 CPL C C取反 1 1 CPL bit 直接寻址位取反 2 1 SETB C C置位 1 1 SETB bit 直接寻址位置位 2 1 ANL C, bit C逻辑与直接寻址位 2 2 ANL C, /bit C逻辑与直接寻址位的反 2 2 ORL C, bit C逻辑或直接寻址位 2 2 ORL C, /bit C逻辑或直接寻址位的反 2 2 JC rel C为1转移 2 2 JNC rel C为零转移 2 2JB bit,rel 直接寻址位为1转移 3 2 JNB bit,rel 直接寻址为0转移 3 2 JBC bit,rel 直接寻址位为1转移并清该位 3 2单片机MCS-51系列指令快速记忆法随着微电子技术和超大规模集成电路技术的发展,单片微型计算机以其体积小、性价比高、功能强、可靠性高等独有的特点,在各个领域(如工业控制、家电产品、汽车电子、通信、智能仪器仪表)得到了广泛的应用。
中职教育-单片机技术应用课件:第3章 指令系统(4).ppt
ANL C,/bit
;C∧(/bit)→C,如ANL C,/21H
(2)逻辑“或”指令
ORL C,bit
;C∨(bit)→C,如ORL C,45H
ORL C,/bit
;C∨(/bit)→C,如ORL C,/27H
说明:
斜杠“/”表示用这个位的值取反,然后再与Cy进行运算,但
并不改变这个位的本身。
第1章单片机基础知识
CCyy
AA77
…
AA00
((cc))循循环环右右移移
AA77
…
(d()d)带带CCy位y 位循环循右环移右移
CCyy
AA77
AA00
…
AA00
第1章单片机基础知识
说明:
(1)“RL A”和“RLC A”指令的相同之处在于两者都是使 A中的内容左移一位,而且两者的不同点在于“RLC A”将 Cy连同A中的内容一起循环左移,A7的内容进入Cy,原来 Cy内容进入A0,但不对其他标志位产生影响。 (2)“RR A”和“RRC A”指令的异同点类似于“RL A” 和“RLC A”,仅是A中的数据移位方向向右。 (3)当A中最高位不为“1”时,可以采用“RL A”指令对A 中的内容做乘2运算。 (4)当A中最高位为“1”时,采用“RLC A”指令对A中的 内容做乘2运算,只是在乘前必须将Cy位清零,此时的数据 实际是包括Cy内的“9”位数据。 (5)当A中最低位不为“1”时,可采用“RR A”指令对A中 的内容做除以2运算。 (6)当A中最高低位为“1”时,采用“RRC A”指令对A中 的内容做除以2运算,只是在运算前必须将Cy位清零,Cy相 当于小数位。
若(bit)=0,则程
序顺序执行
②(bit)=0转移指令:
《单片机原理与应用》一(含答案)
《单片机原理与应用》期末复习题一一、填空题:1.单片微型计算机是一种把(1)中央处理器(CPU)(2)半导体存储器(ROM、RAM)(3)输入/输出接口(I/O接口)(4)定时器/计数器(5)中断系统(6)串行口等部分集成在同一块硅芯片上的有完整功能的微型计算机。
2.十进制数+100的补码=64H,十进制数-100的补码= 9C H 。
3.在8051单片机内部,其RAM高端128个字节的地址空间称为特殊功能寄存器或SFR 区,8051单片机其内部有 21 个特殊功能寄存器,其中11 个可以位寻址。
4.通常单片机上电复位时PC = 0000H,P0~P3 = FFH。
SP = 07H,PSW = 00H ,通用寄存器则采用第0组,这一组寄存器的地址范围是从00H 到07H。
《5.若PSW为18H,则选取的是第3组工作寄存器。
6.在微机系统中,CPU是按照程序计数器PC 来确定程序的执行顺序的。
7.ORL A , #0F0H是将A的高四位置1,而低四位不变。
8.堆栈遵循先进后出(或后进先出)的数据存储原则,针对堆栈的两种操作为PUSH 和 POP 。
9.MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以:位寻址。
10. 8位二进制数,采用补码形式表示带符号数,它能表示的带符号数真值的范围是分别为-128~127。
11.I/O端口作为通用输入输出口时,在该端口引脚输入数据时,应先向端口锁存器进行写“1”操作。
12.MCS51单片机PC的长度为16位;SP的长度为8位,数据指针DPTR的长度为16位。
13.8051片内有256B的RAM ,可分为四个区,00H~1FH为工作寄存器区;20H~2FH为位寻址区;30H~7FH为堆栈、数据缓冲区;80H~FFH为特殊功能寄存器区。
14.半导体存储器中有一类在掉电后不会丢失数据,称为只读存储器,另一类掉电后丢失数据,且通电后也不能自动恢复,称为随机存取存储器。
单片机指令的位操作和逻辑运算
单片机指令的位操作和逻辑运算单片机是在嵌入式系统中广泛应用的一种微处理器,它具有尺寸小、功耗低、集成度高等特点,常用于控制和管理各种电子设备。
在单片机的编程中,位操作和逻辑运算是非常重要的概念和技巧。
一、位操作位操作是指对单片机中的位进行操作,包括位的读取、置位、清零、取反等操作。
单片机中的数据通常以位的形式存储,对位的操作可以很方便地实现对数据的控制和处理。
1. 位的读取在单片机中,可以通过使用逻辑与运算符来读取某一位的值。
逻辑与运算符可以用来判断某一位是否为1或者0,从而进行相应的逻辑处理。
例如,在使用单片机控制LED灯时,可以通过读取一个特定位的值来确定LED灯的状态,进而进行灯的亮灭的控制。
2. 位的置位位的置位意味着将某一位设置为1。
在单片机编程中,可以使用逻辑或运算符和位运算符来实现位的置位操作。
通过位的置位操作,可以实现对某一位的控制。
例如,在使用单片机控制电机时,可以通过位置位操作来控制电机的启动。
3. 位的清零位的清零意味着将某一位设置为0。
与位的置位类似,位的清零操作同样可以使用逻辑与运算符和位运算符来实现。
通过位的清零操作,可以实现对某一位的复位。
例如,在单片机控制温度传感器时,可以通过清零操作来复位传感器的状态。
4. 位的取反位的取反意味着将某一位的值从1变为0,或者从0变为1。
在单片机中,可以使用位运算符来实现位的取反操作。
通过位的取反操作,可以实现对某一位状态的改变。
例如,在单片机输入输出控制中,可以通过取反操作来改变IO口的输出状态。
二、逻辑运算逻辑运算是指对单片机中的位进行逻辑判断和运算,包括逻辑与、逻辑或、逻辑非等操作。
逻辑运算可以对多位数据进行综合处理,从而实现各种逻辑功能。
1. 逻辑与运算逻辑与运算是指对两个数据进行逻辑与操作,结果为1的条件是两个数据都为1,否则结果为0。
在单片机编程中,可以使用逻辑与运算符来实现逻辑与运算。
逻辑与运算在逻辑判断和逻辑运算中广泛应用,常用于状态判断和位操作等方面。
填空题
一、填空题(每空1分,共20分)1、计算机的系统总线有地址总线、控制总线和数据总线。
2、通常、单片机上电复位时PC= 0000H,SP= 07H;而工作寄存器则缺省采用第00 组,这组寄存器的地址范围是从00H~ 07H。
3、JZ e 的操作码地址为1000H,e=20H,它转移的目标地址为1022H。
4、汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对汇编过程进行某种控制。
5、假定累加器A的内容30H,执行指令:1000H:MOVC A,@A+PC后,把程序存储器1031H单元的内容送累加器A中。
6、MCS-51单片机访问外部存储器时,利用ALE信号锁存来自P0口的低8位地址信号。
7、MCS-51单片机8031中有2 个16 位的定时/计数器,可以被设定的工作方式有四种。
8、MCS-51单片机有 5 个中断源,可分为 2 个中断优先级。
上电复位时外部中断0 中断源的最高。
9、用串行口扩展并行口时,串行接口的工作方式应选为方式0。
10、半导体存储器的最重要的两个指标是存储容量和存储速度。
11、若某8位D/A转换器的输出满刻度电压为+5V,则D/A转换器的分辨率为5/255=0.0196V。
12、写8255A控制字时,需将A1、A0置为11。
1、MCS-8051系列单片机字长是8 位,有40 根引脚,96系列字长是16 位。
单片机的特点有体积小、价格低、功能全。
2、8051单片机的存储器的最大特点是指令存储器与数据存储器分开编址,Px并行口的地址是与数据存储器统一编址的,或者说属于该存储器。
3、8051最多可以有4 个并行输入输出口,最少也可以有1个并行口,即P1 。
P3常需复用作串行通信、外部中断、外部计数脉冲和读写控制信号。
4、ALE信号的作用是低8位地址锁存。
5、8051复位后,PC= 0 H。
若希望从片内存储器开始执行,EA脚应接高电平,PC值超过0FFF H时,8051会自动转向片外存储器继续取指令执行。
单片机判断题复习题库
1.MCS-51单片机可执行指令:MOV 35H,@R3。
(×)2.8031与8051的区别在于内部是否有程序存储器。
(√)3.当向堆栈压入一个字节的数据后, SP中的内容减1。
(×)4.程序计数器PC中装的内容是当前正在执行指令的地址。
(×)5.某特殊功能寄存器的字节地址为80H,它即能字节寻址,也能位寻址。
(√)6.MCS-51单片机中的PC是不可寻址的。
(√)7.当MCS-51执行MOVX @DPTR,A指令时,伴随着WR信号有效。
(√)8.MCS-51的定时器/计数器对外部脉冲进行计数时,要求输入的计数脉冲的高电平或低电平的持续时间不小于1个机器周期。
(×)9.区分外部程序存储器和数据存储器的最可靠的方法是看其是被WR还是被PSEN信号连接。
(√)10.各中断源发出的中断请求信号,都会标记在MCS-51的TCON寄存器中。
(×)(1)MCS-51单片机可执行指令:MOV 28H,@R4;(×)(2)MCS-51单片机可执行指令:INC DPTR;(√)(3)MCS-51单片机可执行指令:DEC DPTR ;(×)(4)MCS-51单片机可执行指令:CLR R0 ;(×)(5)MCS-51单片机可执行指令:MOV T0,#3CF0H;(×)1.MCS-51的程序存储器只是用来存放程序的。
(×)存放程序和表格常数。
2.当MCS-51上电复位时,堆栈指针SP=00H。
(×)。
SP=07H3.MCS-51外扩I/O口与外RAM是统一编址的。
(√)。
4.PC存放的是当前执行的指令。
(×)是将要执行的下一条指令的地址。
5.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。
(×)80H~FFH。
6.调用子程序指令(如:LCALL)及返回指令(如:RET)与堆栈有关但与PC无关。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机器码 C3 C2 bit D3 D2 bit B3 B2 bit 82 bit 72 bit
指令 字节 1 2 1 2 1 2 2
机器 周期 1 1 1 1 1 1 2
位修 SETB C 正指 SETB bit 令 CPL C CPL bit ANL C, bit 位逻 ANL C, /bit 辑指 ORL C, bit 令 ORL C, /bit
(3)子程序返回指令
子程序返回指令RET,功能是使CPU从子程序返回到主程 序的断点处,使主程序继续执行。
(4)中断返回RETI
中断返回指令RETI,功能是使CPU从中断服务子程序返
回主程序的断点处,同时清除相应的中断状态寄存器,开发 中断。 (5)空操作指令 执行空操作指令NOP,除PC内容加1外,不影响任何标志 位和其他寄存器。NOP指令常用来产生一个机器周期的延迟。
2 2 2 2
2 2 2 2
位 条 件 转 移 指 令
JNC rel
JB bit, rel
JNB bit, rel JBC bit, rel
直接位为1,则转移
直接位为0,则转移 直接位为1,则转移,且清零
20 bit rel
30 bit rel 10 bit rel
3
3 3
2
2 2
(1)位修正指令 位修正指令包括:位清零指令CLR、位置1指令SETB、位 取反指令CPL。 (2)位逻辑运算指令 位逻辑运算指令与字节逻辑运算指令相似。其中“/bit” 表示取反后在进行逻辑运算。 (3)位数据传送指令 位数据传送指令与字节数据传送指令相似。 (4)位条件转移类指令 位条件转移类指令与字节条件转移类指令相似,地址偏 移量rel的计算方法相同。
作业
进位位和直接位的反码相与 B0 bit
进位位和直接位的反码相或 A0 bit
2
2 2
2
2 2
位 传 送 指 令
MOV bit, C MOV C, bit JC rel
进位位向直接位单元传送 直接位向进位位传送 进位位C为1,则转移 进位位C为0,则转移
92 bit A2 bit 40 rel 50 rel
空操作 NOP 指令
(1)短调用指令
短调用指令ACALL指令的目标地址是11位。在调用子程 序时,该指令与AJMP指令类似,要求调用子程序的入口地址 与ACALL指令后面指令的第一个字节在同一个2 K页面的程序 存储器区域中。 (2)长调用指令
长调用指令LCALL指令的目标地址是16位。可在64 K程 序存储器区域范围内调用任何一个子程序。
类别
助记符
功能简介 绝对子程序调用 子程序长调用 子程序返回 中断返回 空操作
机器码 &1 addr7-0 12 addr15-8 addr7-0 22 32 00
指令 字节
2 3 1 1 1
机器 周期
2Hale Waihona Puke 2 2 2 1子程序 ACALL addr11 调用指 LCALL addr16 令 返回 指令 RET RETI
单片机的指令系统
位操作、子程序调用、返回和空操作指令
5.位操作指令
MCS-51单片机有丰富的位操作指令,可以把大
量的硬件组合逻辑用软件来代替,这样可以方便地
应用于各种逻辑控制,主要用于控制线路通、断,
继电器的吸合与释放等。位操作指令如表1-8所示。
类别
助记符 数 CLR C CLR bit
操作
功能简介 进位位清0 直接位清0 进位位置1 直接位置1 进位位取反 直接位取反 进位位和直接位相与 进位位和直接位相或