1:入口地址:
复位:
外部中断 0:
定时器 0:
外部中断 1:
定时器 1:
串口:
0000H
0003H
000BH
0013H
001BH
0023H
(外部中断 0 结尾 定时器 B 结尾
相差 10H)
2:工作寄存器:
(1) 片内 RAM:
片外 RAM:
128B
64K
00H~7FH
0000H~FFFFH
MOV
MOVX
片内 RAM: 1:工作寄存器区 (30B) 4 组 8 个寄存器 R0~R7:
2:位寻址区
(16B)
3:通用 RAM 区 (80B)
片外 RAM RD(读) WR(写) 信号
(2)特殊功能寄存器:SFR 只允许用直接寻址方式
1:与运算器相关的寄存器(3 个)
累加器 ACC
寄存器 B
程序状态寄存器 PSW
2:指针类寄存器(3 个)
堆栈指针 SP:“后进先出”,入栈 SP+1
数据指针 DPTR:两个 8 为寄存器 DPH 和 DPL 组成
3:与口相关的寄存器(7 个)
8 位并行 I/O 口 P0,P1,P2,P3
串行口数据缓冲器 SBUF
串口波特率倍增 PCON
4:与中断相关的寄存器(2)
中断允许控制 IE
中断优先级控制 IP
5:与定时器相关的寄存器
初值寄存器 TH0 TL0 TH1 TL1
定时计数器工作方式 TMOD
定时计数控制寄存器 TCON
3:指令系统:
1:数据传送指令:
(1) 一般传送:
MOV
MOV
(2) 特殊传送:
DPTR,
A,
#date16
Rn
POP (堆栈操作)
MOVC (ROM 查表) MOVX ( 读 写 片 内 外 ROM )
PUSH
XCH(字节交换) XCHD(半字节交换)
SWAP(自交换)
2:算术运算指令:
3:逻辑运算:
ADD(不带进位) ADDC(带进位)
INC(加 1)
DA(十进制调整)
SUBB(带借位减) DEC(减 1)
MUL(乘法)
DIV(除法)
ORL(逻辑或)
ANL(逻辑与)
XRL(逻辑异或)
CLR(累加器清 0) CPL(取反)
RR(循环右移)
RL(循环左移)
RRC(CY 给 A7,A0 给 CY)
RLC(A7 给 CY, CY 给 A0)
4:控制转移类指令:
(1)无条件转移:
(2)条件转移:
AJMP
LJMP
SJMP(相对转移) JMP(散转移)
累加器判 0 转移:
比较不相等转移:
减一不为 0 转移:
JZ rel; JNZ
CJNE
DJNE
rel;
(3)调用与返回:
调用
返回
空操作
ACALL LCALL
RET
NOP
RETI
(PC+1)
5: 位操作指令:
(1) 位传送:
(2) 位状态:
MOV bit, C (C 是 CY 累加器)
CLR
C
SETB C
CLR
bit (赋值 0)
SETB bit (赋值 1)
(3) 位逻辑:
(4) 位判断:
ANL
ORL
CPL
JC
JB
JBC
JNB
C,
C,
C
bit (位与 CY 与,值给 CY)
bit (位与 CY 或,值给 CY)
(位取反)
CPL
bit
rel (若 CY=0)
rel (若 CY=1) JNC
bit,
bit,
bit,
rel ()
rel ()
rel ()