Skip to content

Latest commit

 

History

History
112 lines (93 loc) · 1.92 KB

C51.md

File metadata and controls

112 lines (93 loc) · 1.92 KB

C51

C

功能
sfr 定义特殊功能寄存器地址
sbit 定义管脚

汇编

前缀

前缀 功能 格式
# 立即数 #0
@ 间接寻址 @

寄存器

A B PSW控制R0~R7的实际地址 ACC累加寄存器 DPTR数据段地址

RS1 RS0 地址
0 0 00H~07H
0 1 08H~0fH
1 0 10H~17H
1 1 18H~1fH

中断

IE寄存器 EA | | |ES|ET1|ET1|EX1|ET0|EX0|

功能
EA 总中断
EX0 外部中断
EX1 外部中断
ET1 定时器中断
ET0 定时器中断
ES 串口中断

TCON TF1|TR1|TF0|TR0|IE1|IT1|IE0|IT0|

功能
IE0/IE1 有无外部中断申请
IT0/IT1 为0低电平有效 为1脉冲信号有效

TMOD寄存器 TH0/TH1 TL0/TL1 ####定时器 |T0M|T1M|| |-|-|-| |0|0|13位TH 8位 TL5位| |0|1|16位TH 8位 TL8位| |1|0|16位TH 8位 TL8位 自动重装| |1|1|工作模式3|

####中断入口地址

INT0 0003H
T0 000BH
INT1 0013H
T1 001BH
串口 0023H

总线

IIC总线

单总线

指令

指令 功能 用时(周期) 格式
SETB 拉高电平
CLR 拉低电平
BIT 命名 名字 BIT P0.0
指令 功能 用时(周期) 格式
MOV 移动 MOV 寄存器,#立即数/寄存器
MOVC 移动
ORG 开始地址 ORG 地址
END 结束程序
INC 加一 INC 寄存器
RL 左移 RL 寄存器
RLC 带进位标志左移
DIV 除法 A(结果) B(余数)
ORL 或运算
指令 功能 用时(周期) 格式
PUSH 将数据推入栈中 PUSH 寄存器
POP 数据从栈中拿出来 POP 寄存器
指令 功能 用时(周期) 格式
CALL 跳到标签
LCALL
RET 返回CALL的位置
JMP 无条件跳转
LJMP 长跳转
JNZ 不为0转移
DJNZ 减一不为0转移 2 DJNZ 寄存器,标签
CJNE 不相等则转移 CJNE 寄存器,寄存器,标签
JB 为1转移
JNB 为0转移 JNB 位寄存器,标签
RETI 返回中断处