一、引脚
1.1 电源引脚
- $Vcc$(Volt Current Condenser) 电源。
- $Vss$: 接地。
1.2 时钟引脚
- $XTAL1$(External Crystal Oscillator 1):片内时钟振荡器的反相放大器的输入端。
- $XTAL2$(External Crystal Oscillator 2):片内时钟振荡器的反相放大器的输出端。
1.3 控制引脚
- $RST$(RESET):复位信号输入端,高电平有效。
- $\overline{EA}/V_{pp}$(Enable Address/Voltage Pulse of Programing):外部程序存储器访问允许控制端。/对片内Flash进行编程时,作为接入编程电压。
- $ALE/PROG$(Address Latch Enable/PROGramming):ALE为地址锁存控制信号端,对片内Flash进行编程时,作为编程脉冲输入端。
- $\overline{PSEN}$(Program Strobe ENable):访问片外程序存储器的读选通信号,低电平有效。
1.4 并行I/O口引脚
- $P0-P3$(Pin1-Pin3):并行I/O口引脚。
1.5 P1口第二功能
- $P1.0/T2$(Time2):定时器/计数器T2输入引脚。
- $P1.1/T2EX$(Timer 2 EXternal pin):定时器2外部引脚触发信号。
- $P1.5/MOSI$(Master Output Slave Input):用于对片内Flash存储器的串行编程和校验。
- $P1.6/MISO$(Master Input Slave Output):用于对片内Flash存储器的串行编程和校验。
- $P1.7/SCK$(CMOS Clock):用于对片内Flash存储器的串行编程和校验的移位脉冲输入引脚。
1.6 P3口第二功能
$P3.0/RXD$(Receive eXternal Data):串行数据输入口。
$P3.1/TXD$(Transmit eXternal Data):串行数据输出口。
$P3.2/\overline{INT0}$(INTerrupt 0):外部中断0输入。
$P3.3/\overline{INT1}$(INTerrupt 1):外部中断1输入。
$P3.4/T0$(Time 0):定时器0外部计数输入。
$P3.5/T1$(Time 1):定时器1外部计数输入。
$P3.6/\overline{WR}$(WRite):外部数据存储器的写选通控制信号。
$P3.7/\overline{RD}$(Read):外部数据存储器的读选通控制信号。
二、特殊功能寄存器
- $P0$(Pin 0):P0口
- $SP$(Stack Pointer):堆栈指针
- $DP0L$(Data Pointer 0 Low-byte):数据指针DPTR0低字节
- $DP0H$(Data Pointer 0 High-byte):数据指针DPTR0高字节
- $DP1L$(Data Pointer 1 Low-byte):数据指针DPTR1低字节
- $DP1H$(Data Pointer 1 High-byte):数据指针DPTR1高字节
- $PCON$(Power CONtrol):电源控制寄存器
- $TCON$(Timer/Counter CONtrol):定时器/计数器1、2的控制寄存器
- $TMOD$(Timer/Counter MODe ):定时器/计数器1、2的方式寄存器
- $TL0$(Timer/Counter 0 Low-byte):定时器/计数器0低字节
- $TL1$(Timer/Counter 0 High-byte):定时器/计数器0高字节
- $TH0$(Timer/Counter 1 Low-byte):定时器/计数器1低字节
- $TH1$(Timer/Counter 1 High-byte):定时器/计数器1高字节
- $AUXR$(AUXiliary Register):辅助寄存器
- $P1$(Pin 1):P1口寄存器
- $SCON$(Serial port CONtrol):串行控制寄存器
- $SBUF$(Serial port data BUFfer):串行发送数据缓冲器
- $P2$(Pin 2):P2口寄存器
- $AUXR1$(AUXiliary Register):辅助寄存器
- $WDTRST$(WatchDog Timer Reset):看门狗复位寄存器
- $IE$(Interrupt Enable):中断允许控制寄存器
- $P3$(Pin 3):P3口寄存器
- $IP$(Interrupt Priority):中断优先级控制寄存器
- $PSW$(Program Status Word):程序状态字寄存器
- $A/Acc$(ACCumulate):累加器
- $B$(register B):B寄存器
- $T2CON$(Timer/Counter 2 CONtrol):定时器/计数器2控制寄存器
- $T2MOD$(Timer/Counter MODe):定时器/计数器2方式寄存器
- $RCAP2L$(Reload/CAPture 2 Low-byte):定时器/计数器2陷阱寄存器(低字节)
- $RCAP2H$(Reload/CAPture 2 High-byte):定时器/计数器2陷阱寄存器(高字节)
- $TL2$(Timer/Counter 2 Low-byte):定时器/计数器2(低字节)
- $TH2$(Timer/Counter 2 High-byte):定时器/计数器2(低字节)
三、特殊功能寄存器状态
3.1 PSW程序状态寄存器
- Cy/PSW.7(Carry):进位标志位
- Ac/PSW.6(Auxiliary carry):辅助进位标志位
- F0/PSW.5(Flag 0):用户使用的标志位
- RS1、RS0/PSW.4、PSW.3(Register Selection):工作寄存器组选择位
- OV/PSW.2(OVerflow):溢出标志位
- P/PSW.0(Parity):奇偶标志位
3.2 AUXR辅助寄存器
- DISALE/AUXR.0(Disabled Address Latch Enable):ALE的禁止/允许
- DISRTO/AUXR.3(Disabled Recovery Time Out):禁止/允许看门口定时器WDT溢出时的复位输出
- WDIDLE/AUXR.4(Watch Dog IDLE):WDT在空闲模式下的禁止/允许控制位
3.3 AUXR1辅助寄存器
- DPS/AUXR1.0(Data Processing System):数据指针寄存器
3.4 PCON电源控制寄存器
- SMOD/PCON.7(Serial Model Control Register):串行通信的波特率选座位
- GF1/PCON.3、GF0/PCON.2(General Flag1、General Flag2):通用标志位,供用户使用,应充分利用
- PD/PCON.1(Power Down):掉电模式控制位
- IDL/PCON.7(IDLe):空闲模式控制位
3.5 TCON 定时器/计数器的控制寄存器
- TF1/TCON.7(Timer Overflow Flag 1):片内定时器/计数器T1的溢出中断请求标志位
- TF0/TCON.5(Timer Overflow Flag 2):片内定时器/计数器T0的溢出中断请求标志位
- IE1/TCON.3(Interrupt External 1):外部中断请求1的中断请求标志位
- IT1/TCON.2(Interrupt Type 1):选择外部中断请求1位跳沿触发方式还是电平触发方式
- IE0/TCON.1(Interrupt External 0):外部中断请求0的中断请求标志位
- IT0/TCON.0(Interrupt Type 0):选择外部中断请求0位跳沿触发方式还是电平触发方式
3.6 SCON串行口控制寄存器
- SM0/SCON.7、SM1/SCON.6(Serial port Mode control):串行工作方式选择位
- SM2/SCON.5(Serial port Mode control 2):多机通信控制位
- REN/SCON.4(Receive ENable):允许串行接受位
- TB8/SCON.3(Transmit data Bit 8):发送的第9位数据
- RB8/SCON.2(Receive data Bit 8):接受的第9位数据
- TI/SCON.1(Transmit Interrupt):串行口的发送中断请求标志位
- RI/SCON.0(Receive Interrupt):串行口的接受中断请求标志位
3.7 IE中断允许寄存器
- EA/IE.7(Enable All Interrupt):中断允许总开关控制位
- ET2/IE.5(Enable Timer 2):定时器/计数器T2的中断允许位
- ES/IE.4(Enable Serial Port):串行口中断允许位
- ET1/IE.3(Enable Timer 1):定时器/计数器T1的中断允许位
- EX1/IE.2(Enable External 1):外部中断1中断允许位
- ET0/IE.1(Enable Timer 2):定时器/计数器T0的中断允许位
- EX0/IE.0(Enable External 0):外部中断0中断允许位
3.8 IP中断优先级寄存器
- PT2/IP.5(Priority Timer 2):定时器T2中断优先级控制位
- PS/IP.4(Priority Serial Port):串行口中断优先级控制位
- PT1/IP.3(Priority Timer 1):定时器T1中断优先级控制位
- PX1/IP.2(Priority External 1):外部中断1中断优先级控制位
- PT0/IP.1(Priority Timer 2):定时器T0中断优先级控制位
- PX0/IP.0(Priority External 0):外部中断0中断优先级控制位
3.9 TMOD工作方式控制寄存器
高4位控制T1,低4位控制T0
- GATE(GATE):门控位
- M1、M2(Mode):工作方式选择位
- $C/\overline{T}$(Counter/Timer):计数器模式和定时器模式选择位
3.10 TCON定时器/计数器控制寄存器
- TF1/TCON.7(Timer Overflow Flag 1):定时器/计算器1计算溢出标志位
- TR1/TCON.6(Timer Run 1):定时器/计算器1计算运行控制位
- TF0/TCON.5(Timer Overflow Flag 0):定时器/计算器0计算溢出标志位
- TR0/TCON.4(Timer Run 0):定时器/计算器0计算运行控制位
- IE1/TCON.3(Interrupt External 1):外部中断请求1的中断请求标志位
- IT1/TCON.2(Interrupt Type 1):选择外部中断请求1位跳沿触发方式还是电平触发方式
- IE0/TCON.1(Interrupt External 0):外部中断请求2的中断请求标志位
- IT0/TCON.0(Interrupt Edge 1):选择外部中断请求0位跳沿触发方式还是电平触发方式
3.11 T2MOD工作方式控制寄存器
DCEN/T2MOD.0(Decrement Count ENable/自己猜的):计数方式选择,向下计数允许位
T2OE/T2MOD.1(Timer 2 Out Enable/自己猜的):输出允许位
3.12 T2CON定时器/计数器控制寄存器
- TF2/T2CON.7(Timer Overflow Flag 2):T2计数计满溢出回0中断请求标志位
- EXF2/T2CON.6(timer EXternal (overflow) Flag 2):T2外部中断请求标志位
- RCLK/T2CON.5(Receive CLocK):串行口接受时钟标志位
- TCLK/T2CON.4(Transmit CLocK):串行口发送时钟标志位
- EXEN2/T2CON.3(timer EXternal ENable 2):T2外部采样允许标志位
- TR2/T2CON.2(Timer Run control 2):T2启动/停止控制位
- $C/\overline{T2}$/T2CON.1(Counter/Timer 2):T2的定时或计数模式选择位
- CP/RL2/T2CON.0(CaPture/ReLoad 2):T2捕捉/重新装载选择位
四、操作指令助记符
4.1 数据类传送类指令
- MOV(Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送
- MOVX(Move External RAM):对外部数据寄存器RAM或I/O端口寄存器进行传输
- MOVC(Move Code): 读取程序存储器数据表格的数据传送
- PUSH(Push onto Stack):进栈
- POP(Pop from Stack):出栈
- XCH(Exchange): 整字节交换指令
- XCHD(Exchange low-order Digit):低位半字节(低4位)交换指令
4.2 算数运算类指令
- ADD(Addition):加法指令
- ADDC(Add with Carry):带进位加法指令
- INC(Increment):增1指令
- DA(Decimal Adjust):十进制调整指令
- SUBB(Subtract with Borrow):带借位减法指令
- DEC(Decrement):减1指令
- MUL(Multiplication):乘法指令
- DIV(Division):除法指令
4.3 逻辑操作类指令
- CLR(Clear):累加器A字节清0指令
- CPL(Complement):累加器A字节求反指令
- RL(Rotate Left):左环移指令
- RLC(Rotate Left throught the Carry Flag):带进位左环移指令
- RR(Rotate Right):右环移指令
- RRC(Rotate Right throught the Carry Flag):带进位右环移指令
- SWAP(Swap):累加器半字节交换指令
- ANL(And Logic):逻辑与指令
- ORL(Or Logic):逻辑或指令
- XRL(Exclusive-Or Logic):逻辑异或指令
4.4 控制跳转类指令
- LJMP(Long Jump):长跳转指令
- SJMP(Short Jump):相对跳转指令
- AJMP(Absolure Jump):绝对跳转指令
- JMP(Jump Indirect):间接跳转指令
- JZ(Jump if Zero):条件跳转,如果累加器内容为0,则执行跳转指令
- JNZ(Jump if Not Zero):条件跳转,如果累加器内容非0,则执行跳转指令
- CJNE(Compare and Jump if Not Equal):比较不相等跳转指令
- DJNZ(Decrement and Jump if Not Zero):减1不为0跳转指令
- LCALL(Long Subroutine Call):长调用指令
- ACALL(Absolute Subroutine Call):绝对调用指令
- RET(Return from Subroutine):子程序返回指令
- RETI(Return from Interruption):中断返回指令
- NOP(No operation):空操作指令
4.5 位操作类指令
- SETB(Set Bit):复位指令
- JC(Jump if the Carry Flag is Set):如果进位标志位Cy=1,则转移
- JNC(Jump if Not Carry):如果进位标志位Cy=0,则转移
- JB(Jump if the Bit is Set):如果直接寻找位=1,则转移
- JNB(Jump if the Bit is Not Set):如果直接寻找位=0,则转移
- JBC(Jump if the Bit is Set and Clear the Bit):如果直接寻找位=1,则转移,并把寻址为清0
4.6 伪指令
- ORG(ORiGin):汇编起始地址命令
- END(END of assemble):汇编终止命令
- EQU(EQUate):标号赋值命令
- DB(Define Byte):定义数据字节命令
- DW(Define Word):定义数据字命令
- DS(Define Storage):保留字节单元命令
- BIT(Bit):位定义命令
五、其它常用英文缩写
- $RAM$(Random Access Memory):数据存储器
- $ROM$(Read-Only Memory):程序存储器
- $UART$(Universal Asynchronous Receiver/Transmitter): 通用异步串行通信口
- $SFR$(Special Function Register):特殊功能寄存器
- $WDT$(WatchDog Timer):看门狗定时器
- $DIP$(Dual In-line Package):双列直插封装
- $PLCC$(Plastic Leaded Chip Carrier):有引线芯片载体封装
- $TQFP$(Thin Quad Flat Package):薄塑封四角扁平封装
- $TTL$(Transistor-Transistor Logic):逻辑门电路
- $ALU$(Arithmetic and Logic Unit):算术逻辑运算单元
- $ISP$(In System Programmability):在线编程
- $DPS$(Data Processing System):数据指针寄存器
- $PC$(Program Counter):程序计数器
参考书籍:单片机原理及应用(第三版)张毅刚 赵光权 刘旺
参考他人总结链接: