51单片机(或称为8051单片机)的汇编指令和寄存器是其编程和操作中非常关键的部分。以下是对51单片机常用的汇编指令和寄存器的清晰分点表示和归纳:
汇编指令
1. 数据传送类指令
- MOV:用于在寄存器之间、寄存器与存储单元之间以及立即数与寄存器之间的数据传输。
MOV A,Rn
:将工作寄存器Rn的内容传送到累加器A中。MOV direct,A
:将累加器A的内容传送到直接地址指定的内部RAM单元。MOVX A,@Ri
:通过间接寻址将外部RAM中的内容传送到累加器A(其中Ri为R0或R1)。MOVX @DPTR,A
:向外部RAM以DPTR指向的地址写入累加器A的内容。
2. 算术操作类指令
- ADD:对累加器进行加法运算。
- SUBB:带借位的减法运算。
- INC、DEC:递增或递减指定寄存器或内存单元的值。
3. 逻辑运算类指令
- ANL(或AND):按位逻辑与操作。
- ORL(或OR):按位逻辑或操作。
- XRL(或XOR):按位逻辑异或操作。
4. 控制转移类指令
- JMP:无条件跳转到指定地址。
- AJMP、LJMP:短跳转和长跳转到子程序或其他地址。
- JC、JNC、JZ、JNZ等:根据标志位状态进行条件转移。
5. 位操作类指令
- SETB:设置一个位为1。
- CLR:清零一个位。
- CPL:取反一个位。
- JB(或JBS):依据某位的状态进行跳转(如果位被设置则跳转)。
寄存器
1. 主要寄存器
- 累加器(A或ACC):直接寻址,参与算术运算和数据处理。
- 程序状态字寄存器(PSW):包含条件标志位(如CY, AC, F0, OV, P)以及工作寄存器组选择位(RS1, RS0)。
- 堆栈指针寄存器(SP):用于管理和维护堆栈操作。
- 数据指针寄存器(DPTR):高8位DPH(地址:83H),低8位DPL(地址:82H),组合成一个16位地址,指向外部存储器空间。
2. 并行I/O口寄存器
- P0 ~ P3:除了作为通用I/O外,P3口还具有第二功能,用于控制特殊功能寄存器和某些内部功能。
3. 定时/计数器相关寄存器
- TMOD:定时器模式寄存器。
- TCON:定时器控制寄存器。
- TH0/TL0、TH1/TL1:定时器0和定时器1的高8位和低8位计数值寄存器。
4. 中断相关寄存器
- IE:中断允许寄存器。
- IP:中断优先级寄存器。
5. 串行通信接口寄存器
- SCON:串行口控制寄存器。
6. 其他特殊功能寄存器
- PCON:电源控制寄存器,涉及掉电模式及SMOD位。
- WDT_CONTR 或 WDTRST:看门狗定时器控制寄存器(根据不同51内核版本)。
以上是对51单片机常用的汇编指令和寄存器的简要概述。在实际编程中,这些指令和寄存器将被频繁使用,以实现各种功能和操作。如需更详细的信息,建议查阅相关的51单片机手册或参考书籍。