实验基础
51单片机
本门课程硬件平台为ATMEL公司的AT89C52单片机,在Proteus软件进行仿真实验。
51单片机是8位单片机、8k ROM 、256bytes RAM、四个8位并行I/O口
汇编语言
本门课程使用汇编语言编程。
51单片机汇编指令
;汇编语言指令格式
[标号:] 操作码 [第一操作数] [,第二操作数] [,第三操作数] [;注释]
操作码 | 操作数 | 字节数 | 周期数 |
---|---|---|---|
数据传递类指令 | |||
MOV | A,Rn | 寄存器传送到累加器 | 1 |
MOV | A,direct | 直接地址传送到累加器 | 2 |
MOV | A,@Ri | 累加器传送到外部RAM(8 地址) | 1 |
MOV | A,#data | 立即数传送到累加器 | 2 |
MOV | Rn,A | 累加器传送到寄存器 | 1 |
MOV | Rn,direct | 直接地址传送到寄存器 | 2 |
MOV | Rn,#data | 累加器传送到直接地址 | 2 |
MOV | direct,Rn | 寄存器传送到直接地址 | 2 |
MOV | direct,direct | 直接地址传送到直接地址 | 3 |
MOV | direct,A | 累加器传送到直接地址 | 2 |
MOV | direct,@Ri | 间接RAM 传送到直接地址 | 2 |
MOV | direct,#data | 立即数传送到直接地址 | 3 |
MOV | @Ri,A | 直接地址传送到直接地址 | 1 |
MOV | @Ri,direct | 直接地址传送到间接RAM | 2 |
MOV | @Ri,#data | 立即数传送到间接RAM | 2 |
MOV | DPTR,#data16 | 16 位常数加载到数据指针 | 3 |
MOVC | A,@A+DPTR | 代码字节传送到累加器 | 1 |
MOVC | A,@A+PC | 代码字节传送到累加器 | 1 |
MOVX | A,@Ri | 外部RAM(8 地址)传送到累加器 | 1 |
MOVX | A,@DPTR | 外部RAM(16 地址)传送到累加器 | 1 |
MOVX | @Ri,A | 累加器传送到外部RAM(8 地址) | 1 |
MOVX | @DPTR,A | 累加器传送到外部RAM(16 地址) | 1 |
PUSH | direct | 直接地址压入堆栈 | 2 |
POP | direct | 直接地址弹出堆栈 | 2 |
XCH | A,Rn | 寄存器和累加器交换 | 1 |
XCH | A, direct | 直接地址和累加器交换 | 2 |
XCH | A, @Ri | 间接RAM 和累加器交换 | 1 |
XCHD | A, @Ri | 间接RAM 和累加器交换低4 位字节 | 1 |
(算术运算类指令) | |||
INC | A | 累加器加1 | 1 |
INC | Rn | 寄存器加1 | 1 |
INC | direct | 直接地址加1 | 2 |
INC | @Ri | 间接RAM 加1 | 1 |
INC | DPTR | 数据指针加1 | 1 |
DEC | <