处理器 寄存器 总线 主频 逻辑门 缓存
主页 正文

51单片机指令记忆技巧解析

【新手必看】51单片机指令快速记忆法

在学习MCS-51单片机指令系统时,理解和记住111条指令很重要。
我们总结了一套有效的记忆策略,供新手参考。
指令由操作码和操作数两部分组成。
MCS-51 的 44 个操作码助记符可以通过多种方式记忆。
第一的, 它们可以分为五类,例如表枚举法将具有相同功能的指令分组在一起。
第二, 对英语语言的简化方法有助于理解。
例如, 增量指令INCREMECT源自英语“Increment”,通过重构英语词源给人留下深刻印象。
对于指令操作员; 掌握六种寻址方式(立即数、直接寻址、寄存器寻址、间接寻址、变址寻址和相对寻址)的表示是基础。
例如, MOV指令是A, 氡, 可以按照direct、@Ri等方向运算符的顺序快速记忆15条相关指令。
图形存储方式为MOV; 可以直观地显示操作数之间的关系,例如MOVX和MOVC的数组转移指令以及CJNE不同条件的分支指令。
添加 论演绎与逻辑功能等相似的指令可以通过分类来记忆在一起。
公式助记​​符可以帮助您记住复杂的运算,例如PUSH和POP指令的分组运算,以及乘法和除法的分组规则。
记住这些策略后, 练习通过阅读示例和编写程序来巩固您的记忆。

51单片机指令有哪些啊?

MCS-51 单片机指令集 1. 数据传输指令 助记符 功能说明 字节数 振荡周期 MOVA、Rn 寄存器发送到累加器 112MOVA,直接 将直接地址单元中的数据发送到累加器 212MOVA,间接发送@Ri RAM中的数据被发送到112MOVA累加器,并且#data88位提示被发送到累加器。
加法器212MOVRn,累加器的发送到寄存器112MOVRn,直接寻址模块的发送到寄存器224MOVRn,寄存器Rn的发送到寄存器212MOVdirect,累加器的发送到直接寻址模块地址模块212MOVdirect,将寄存器Rn的发送到Enter直接地址模块 224MOVdirect,将直接地址模块中的数据发送到324MOVdirect直接地址模块,@Ri为 将间接 RAM 中的数据发送到直接寻址单元 224MOVdirect,#data 88 位立即数发送到直接地址单元 324MOV@Ri,累加器 A 的发送到间接 RAM 单元 1 12MOV@Ri ,将直接地址模块中的数据发送到间接RAM模块224MOV@Ri,将#data88位数据发送到间接RAM模块 212MOVDPTR,直接地址#data1616位发送到地址寄存器324MOVCA,@A+DPTR发送到DPTR作为索引寻址单元中的基地址。
数据发送到累加器124MOVCA,@A+PC以PC作为基地址。
索引寻址单元中的数据发送到124MOVXA累加器,外部RAM@Ri(8位地址)发送到124MOVXA累加器。
, @DPTR 外部 RAM(16 位地址)被送入汇编器 124MOVX@Ri,汇编器被送入外部 RAM(8 位地址) 124MOVX@DPTR,汇编器被送入外部 RAM(16 位地址) 124PUSHdirect将直接地址单元中的数据推送到堆栈 224POPDIRECT 将堆栈中的数据推送到直接地址单元 224XCHA, Rn 寄存器与累加器 112XCHA 交换,直接直接寻址单元与累加器 212XCHA 交换,@Ri 与累加器 112XCHDA 交换间接 RAM,@Ri 与累加器 1122 交换间接 RAM。
算术操作指令 助记符 功能说明 周期 ADDA 字节数变动, Rn寄存器添加到汇编器112ADDA,直接直接 将地址单元添加到汇编器212ADDA,@Ri 间接 RAM 加到累加器 112ADDA,#data 88 位点值加到累加器 212ADDCA,Rn 寄存器加到累加器 112ADDCA 带进位,直接地址单元加到累加器 212ADDCA 带进位,@Ri内存 间接随机存取 向累加器添加开销 112ADDCA,#data8 8 位立即数与 借位到汇编器 212SUBBA,Rn 借位减去寄存器的汇编器 112SUBBA,借位减去直接地址单元的直接汇编器 212SUBBA,@Ri 借位减去间接 RAM 的汇编器 112SUBBA,#data8 借位减去寄存器的汇编器 212INCA 立即数 8 位加 To 11寄存器12INCRn加上直接地址单元1112INC 将间接 RAM 1212INC@Ri 加 1112INCDPTDRDPTR 加累加器 1124DECA 减寄存器 1112DECRn 减直接地址单元 1112DEC 减 1212DEC@Ri 间接 RAM 容量减 1112MULA,BA 乘以 B148DIVA,BA 除以累加器 B148DAA 进行转换 十进制 1123、逻辑操作指令、助记符功能说明、字节数振荡周期 ANLA、Rn 累加器与“与”寄存器 112ANLA、直接累加器与直接地址单元“与” 212ANLA、@Ri 累加器 直接地址单元与非 RAM 进行与运算直接 112ANLA,#data8 与 8 位直接值进行与运算 212ANLdirect,直接地址单元与汇编器进行与运算 212ANLdirect, #data8 直接地址单元与 8 位立即数“AND” 324ORLA、Rn 累加器与寄存器“OR” 112ORL A、直接累加器与直接地址单元“OR” 212ORLA、@Ri累加器和间接 RAM “OR”112ORLA,累加器 #data8 和直接数据 8 位“OR”212ORLdirect,直接地址单元和累加器相位 "OR" 212ORLdirect,#data8 直接地址单元与 8 位直接数据“或”324XRLA,Rn 累加器与寄存器 112XRLA 异或,直接累加器与直接地址单元 212XRLA 异或,Ri 累加器为 #data8 包装器与 8 位瞬时数据 212XRLdirect 进行异或 ,直接地址单元与汇编器 212XRLdirect 进行“异或”,#data8 直接地址单元与 8 位直接值进行“异或”。
累加器 324CLRA 清零到反相累加器 0112CPLA 累加器 112RLA 向左旋转 累加器 112RLCA 带负载向左旋转 移位 RRA 累加器带负载旋转 112,累加器带负载向右旋转 112。
右循环移位 112SWAPA 交换累加器 1124,控制指令 传输类助记符 功能说明 字节数 振荡周期 ACALLaddr11 短调用绝对值子程序 224LACLLaddr16长调用子程序 324RET 返回 子程序 124RETI 返回中断 124AJMPaddr11 绝对短传送 224LJMPaddr16 长传送 324SJMPrel 相对传送 224JMP@A+DPTR 相对于 DPTR 间接传送 124JZrel 累加器为零传送 224JNZrel 累加器非零传送 224CJNEA, direct, rel 累加器与直接地址单元比较,如果不相等,则移至 324C JNEA, #data8, rel 累加器与 8 位立即数比较,如果不相等,则移至 324 8 位立即数移动(如果相等,则执行该指令后面的指令。
) CJNE@ Ri,#data8,rel 间接 RAM 模块,如果不相等,则移动 324(但在某些情况下) 有时候我们也想知道两个数字比较后哪个数字更大,哪个数字更小,这条指令还有这样一个功能,如果两个数字不相等,CPU也会将较大的数字和较小的数字颠倒过来。
使用 CY(进位符号)位完成。
如果左边的数字(A,Rn,@Ri)大于或等于右边的数字(直接,#date8),则CY = 0; “无条件传送指令”、“有条件传送指令”、“子程序调用指令”和“返回指令”。
5. 逻辑变量操作指令 助记符功能说明 字节数 振荡周期 CLRC 清除进位位 112CLRbit 清除直接地址位 212SETBC 进位位设置 112SETBbit 设置直接地址位 212CPLC 进位位取反 112CPLbit 直接地址位取反 212ANLC、进位位和直接地址bit 224ANLC,直接地址的进位位/位和补码位是 “与”224ORLC,进位位与直接地址位“或”224ORLC,进位位/位与直接地址位补“或”224MOVC,直接地址位进位位送至212MOVbit,进位位C被发送到直接地址位224JCrel。
如果移动位为 1,则将被移动(CY=O 否)。
移动,=移动一)进位位 224JNCrel 为 0,移动(与上相反)224JBbit,直接地址位 rel 为 1,移动 324JNBbit,直接地址位 rel 为 0,移动 324JBCbit,直接地址位 rel 为 1,移动,清零位324 助记符 功能说明 伪指令 ORG 程序起始地址设置 源代码 结束标记 代码结束 EQU 定义常量 SET 定义编号 TRUE DATA 分配字节类型代码值 BYTE 分配字节类型代码值 WROD 分配字类型代码值 BIT 位地址名称 ALTNAME 使用自定义名称来替换保留字 DB 给出一个持久存储区域块来加载字节数据 DW 保留持久存储空间或加载为某个区域指定的字节 连续存储用于下载 DS 线数据。
INCLUDE 将源文件插入到程序并将行添加到 TITLE 列表文件中。
NOLIST 编译时不会创建列表文件。
NOCODE 在条件编译时不会创建列表。
如果条件为 false,则不会创建任何列表。

51单片机中include是什么意思

include 是预编译指令。
include函数是将微控制器52的reg52.h头文件嵌入到源文件中。

一旦预处理器遇到#include指令,它将在指令后的<>中查找文件名,并将该文件的包含在当前文件中。
包含文件中的文本替换源文件中的#include 指令,就好像包含文件的全部已输入到源文件中的该位置。

表示调用单片机的资源52或51,也就是说可以直接控制单片机相应的寄存器和引脚,非常方便。

扩展信息:

reg52.h中特殊字节寄存器说明:

sfr P0 = 0x80; // 特殊端口寄存器P0的寻址位

sfr P 1 = 0x90; // 端口 P1 特殊寄存器的寻址位

sfr P2 = 0xA0 // 端口 P2 特殊寄存器的寻址位

sfr P3 = 0xB0; // 特殊端口寄存器P3; 位寻址

sfr PSW = 0xD0; //程序状态字寄存器

sfr ACC = 0xE0; //电池

sfr B = 0xF0; //特殊寄存器B

nf r SP = 0x81; //堆栈指针寄存器

sfr DPL = 0x82; //数字指针(低位)

sfr DPH = 0x83; //数字指针(最高有效位)

sfr PCON = 0x87; //电源控制寄存器

sfr TCON = 0x88 //控制定时器/计数器0和1

sfr TMOD = 0x89; //定时器/计数器0和1模式

sfr TL0 = 0x8A; //低8位定时器/计数器寄存器0

sfr TL1 = 0x8B; //低8位定时器/计数器寄存器1

sfr TH0 = 0x8C; //高8位定时器/计数器寄存器0

sfr TH1 = 0x8D //高8位定时器/计数器寄存器1

sfr IE = 0xA8; //中断使能寄存器

sfr IP = 0xB8; //中断优先级寄存器(低)

sfr SCON = 0x98; //串口控制寄存器

sfr SBUF = 0x99; 数据缓冲装置

热门资讯
各种逻辑门的特点是什么
运算器算术逻辑运算实验
内存条从外观上怎么看型号
主频也叫做时钟频率或什么
CPU时钟频率核心参数解析与性能影响
数字电路基础与门、或门、非门详解
汽车can协议盒开发
处理器天玑好还是骁龙好