单片机
- 寄存器
- 内部控制寄存器
- 寻址
- 指令集
- 数码管
- 引脚说明
单片机 |
内部程序存储器 |
内部数据存储器 |
外部程序存储器 |
外部数据存储器 |
8031 |
无 |
128B |
最大64KB |
最大64KB |
8051 |
4KB(ROM) |
128B |
最大60KB |
最大64KB |
8751 |
4KB(EPROM) |
128B |
最大60KB |
最大64KB |
8032 |
无 |
256B |
最大64KB |
最大64KB |
8052 |
8KB(ROM) |
256B |
最大56KB |
最大64KB |
AT89S52 单片机
单片机 |
内部程序存储器 |
Flash |
8KB |
RAM |
256B |
I/O |
32位 |
看门狗定时器 |
有 |
数据指针 |
2 |
定时器/计数器 |
3 个 16 位 |
中断结构 |
6 向量 2 级 |
串行口 |
全双工 |
晶振及时钟 |
片内 |
静态逻辑操作 |
可降到 0 HZ |
节电模式 |
2 种(软件) |
空闲模式 |
CPU 停止工作 |
掉电保护 |
RAM 内容保护 |
|
指令 |
说明 |
算术指令 |
ADD |
两数相加 |
|
ADDC |
两数相加再加C |
|
SUBB |
两数相减再减C |
|
INC |
加一 |
|
DEC |
减一 |
|
MUL |
相乘 |
|
DIV |
相除 |
|
DA |
调整为十进数 |
逻辑指令 |
ANL |
做AND运算 |
|
ORL |
做OR运算 |
|
XRL |
做XOR运算 |
|
CLR |
清除为0 |
|
CPL |
做反运算 |
|
RL |
左旋转 |
|
RLC |
连C左旋转 |
|
RR |
右旋转 |
|
RRC |
连C右旋转 |
|
SWAP |
高低4位交换 |
转移指令 |
MOV |
移动 |
|
MOVC |
程序内存移动 |
|
MOVX |
数据存储器移动 |
|
PUSH |
放入堆栈 |
|
POP |
由堆栈取回 |
|
XCH |
8位交换 |
|
XCHD |
低4位交换 |
布尔指令 |
CLR |
清除为0 |
|
SETB |
设定为1 |
|
CPL |
0与1互换 |
|
ANL |
做AND运算 |
|
ORL |
做OR运算 |
|
MOV |
移动 |
跳转指令 |
JC |
C=1时跳 |
|
JNC |
C=0时跳 |
|
JB |
位=1时跳 |
|
JNB |
位=0时跳 |
|
JBC |
位=1时跳且清除此位 |
|
CALL |
呼叫子程序 |
|
RET |
由子程序返回 |
|
RETI |
由中断子程序返回 |
|
JMP |
无条件跳 |
|
JZ |
A=0时跳 |
|
JNZ |
A<>0时跳 |
|
CJNE |
二数比较,不相等时跳 |
|
DJNZ |
减一,不等于0时跳 |
|
NOP |
无动作 |