单片机
- 寄存器
- 内部控制寄存器
- 寻址
- 指令集
- 数码管
- 引脚说明
| 单片机 |
内部程序存储器 |
内部数据存储器 |
外部程序存储器 |
外部数据存储器 |
| 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 |
无动作 |