跟电师傅学单片机(20):单片机位操作指令图文讲解(一)
位操作指令:
➲指令中的操作数不是字节,而是字节中的某一位,每位取值只能是0或1;
➲指令中的操作对象是单片机内部RAM的位寻址区:20H~2FH单元中的128个位和SFR中的11个可以位寻址的特殊功能寄存器。
单片机内部RAM位寻区位地址表
一:位传送指令(2条)
位传送指令表
CY:单片机标志寄存器PSW的最高位,是进位标志位 ,CY也称为位累加器 ,在指令中CY直接写成C 。如同累加器A,都在单片机编程指令中使用频率较高。
Bit:位寻址区内的某一位的状态。
➲MOV C,Bit;指令功能是将直接寻址位的内容送入位累加器CY中。
➲MOV Bit ,C;指令功能是将位累加器CY中内容送入直接寻址位。
单片机标志寄存器PSW功能图
二:位置位和位清零指令(4条)
位置位和位清零指令
置位:就是置1。
➲CLR C;指令功能是将位累加器CY清零。
➲CLR Bit;指令功能是将直接寻址位清零。当直接寻址位为P0~P3端口某一位时,具有“读-改-写”功能。
➲SETB C;指令功能是将位累加器CY置1。
➲SETB Bit;指令功能是将直接寻址位置1。当直接寻址位为P0~P3端口某一位时,具有“读-改-写”功能。
跟电师傅学单片机(13):单片机算术运算类指令图文讲解
一:加一减一指令(共9条)
单片机加一减一指令表
1、INC:单片机加1指令(共5条),主要用于修改地址指针和计数次数,只有一个操作数。
指令功能:是将操作数所确定的单元或寄存器中的内容加1,最后将结果还是送回原操作数单元中。
操作数:累加器A、寄存器Rn、直接地址direct、寄存器间接寻址单元、数据指针寄存器DPTR中的内容。
2、DEC:单片机减1指令(共4条),只有一个操作数,与INC指令类似。
指令功能:是将操作数所确定的单元或寄存器中的内容减1,最后将结果还是送回原操作数单元中。
操作数:累加器A、寄存器Rn、直接地址direct、寄存器间接寻址单元中的内容。
二:十进制调整指令(1条)
DA A
单片机十进制调整指令,功能是在进行BCD码加法运算时,用来对BCD码的加法运算结果自动进行修正,修正结果存放在A中。
BCD码:是二进码十进数或二-十进制代码,用4位二进制数来表示1位十进制数中的0~9这10个数码。
注意:
1:在进行BCD加法运算时,在单片机加法指令ADD或ADDC指令后紧跟着DA A指令,单片机自动判断和修正。
2:对BCD码的减法运算时不能用DA A指令不进行修正,不适用减法指令。
3:影响PSW中CY、AC、OV标志位。(请看下图:标志寄存器PSW功能图)
三:乘法指令(1条)
MUL AB
单片机乘法指令,功能是实现2个8位无符号数的乘法运算,相乘的2个数分别存放在累加器A中和寄存器B中,乘积结果为16位:低8位存放在A中,高8位存放在B中。
注意:
1:乘数和被乘数可以交换。
2:乘积结果大于255,PSW中的溢出标志位OV置1,否则为0 。
单片机标志寄存器PSW功能图
单片机指令举例:
02H和04H的乘法运算
MOV A,#02H
MOV B,#04H
MUL AB
执行指令结果:
A:08H
B:00H
OV:0
四:除法指令(1条)
DIV AB
单片机除法指令,功能是实现2个8位无符号数的除法运算,被除数放在累加器A中,除数放在寄存器B中。相除结果:商放在A中,余数放在B中。
注意:
单片机除法指令也影响PSW中CY和OV标志位,相除之后CY和OV均为0。(请看上图:标志寄存器PSW功能图)
单片机指令举例:
22和4的除法运算
MOV A,#22
MOV B,#04
MUL AB
执行指令结果:
A:05H
B:02H
CY:0
OV:0
单片机乘除法指令
到此为止,24条单片机算术运算类指令讲解完毕,谢谢阅读!欢迎留言讨论,共同提高!
相关问答
单片机 所有 指令 的英文全称哪位大虾能告诉小弟 单片机 系统的所...[最佳回答]MCS-51使用汇编语言指令,它共有44个操作码助记符,33种功能,其操作数有#data、direct、Rn、@Ri等.这里先介绍指令助记符及其相关符号的记忆方法.一、...
51系列 单片机 编程 指令表 怎么用?使用51系列单片机编程指令表,首先需要了解指令表的结构和编码方式。指令表按照操作码进行分类,每个操作码对应不同的指令。在编程时,根据需要选择相应的指令,...
单片机 执行 指令 的三个阶段-牌子网下面分别说说单片机执行指令的三个阶段。1、取指令阶段根据程序计数器PC的值,从程序存储器读出当前要执行的指令,并将该指令送到指令寄存器。2、指...
单片机 按 指令 长度可以分为哪三类?指令的定义指令是指挥计算机执行操作的命令,一条指令对应着一种操作。MCS-51指令系统使用44种助记符,它们代表33种功能,可以实现51种操作。指令助记符和操作...
单片机 怎么设置代码?要设置单片机的代码,首先需要选择合适的开发环境,如Keil、IAR等。然后编写代码,包括初始化设置、功能实现和中断处理等。根据单片机型号和功能需求,选择合适...
51 单片机 查 表指令 详解?51单片机是一种常用的单片机型号,其指令集中有很多种不同的指令,其中就包括了查表指令。下面是关于51单片机查表指令的详细解释:查表指令是一种特殊的指令,...
51 单片机 码速 表 说明?51单片机码速表是一种常用的51单片机指令速查表,它包含了51单片机的大部分指令及其对应的操作码、机器码、指令周期、执行时间等信息。使用51单片机码速表可以...
单片机 clr 指令 怎么用?您好,单片机CLR指令是用来清除某个位的状态,让其变为0的指令。具体使用方法如下:CLR操作数其中,操作数可以是寄存器、内存单元或者直接指定的位。例如:C...
单片机 除法 指令 计算公式?单片机除法指令的计算公式如下:结果寄存器(quotient)=被除数寄存器(numerator)/除数寄存器(denominator)其中,被除数寄存器存储被除数的值,除数寄存...单...
单片机 的第一行 指令 是什么?如果是C,一般是#include等一些伪指令什么的。真正地程序开始肯定是main(){}如果是ASM汇编语言,那么第一句一般是ORGXXXX,也可以再前面有一些定义和库的引导...