单片机的单片指令
助记符代码 说明
MOV A,Rn E8~EF寄存器A
MOV A,direct E5 direct 直接字节送A
MOV A,@Ri ER~E7 间接RAM送A
MOV A,#data 74 data立即数送A
MOV Rn,A F8~FF A送寄存器
MOV Rn,direct A8~AF direct 直接字节送寄存器
MOV Rn,#data 78~7F data立即数送寄存器
MOV direct,A F5 direct A送直接字节
MOV direct,Rn 88~8F direct 寄存器送直接字节
MOV direct1,direct2 85 direct1 direct2 直接字节送直接字节
MOV direct,@Ro 86~87 间接RAM送直接字节
MOV direct,#data 75 direct data立即数送直接字节
MOV @Ri,A F6~F7 A送间接RAM
MOV @Ri,direct 76~77 direct 直接字节送间接RAM
MOV @Ri,#data 76~77 data 立即数送间接RAM
MOV DPTR,#data16 90 data 15~8 16位常数送数据指针
data7~0
MOVC A,@A+DPTR 93 由((A)+(DPTR))寻址的程序存贮
器字节选A
MOVC A,@A+PC 83 由((A)+(PC));寻址的程序存贮器字节送A
MOVX A,@Ri E2~E3 送外部数据(8位地址)送A
MOVX A,@DPTR E0 送外部数据(16位地址)送A
MOVX @Ri,A F2~F3 A送外部数据(8位地址)
MOVX @DPTR,A F0 A送外部数据(16位地址)
PUSH direct C0 direct 直接字节进栈,SP加1
POP direct D0 direct 直接字节退栈,SP减1
XCH A,Rn C8~CF 交换A和寄存器
XCH A,direct C5 direct 交换A和直接字节
XCH A,@Ri C6~C7 交换A和间接RAM
XCH A,@Ri D6~D7 交换A和间接RAM的低位
SWAP A C4 (A的二个半字节交换)
ADD A,Rn 28~2F 寄存器加到A
ADD A,direct 25 direct 直接字节加到A
ADD A,@Ri 26~27 间接RAM加到A
ADD A,#data 24data立即数加到A
ADD A,Rn 38~3F 寄存器和进位位加到A
ADD A,direct 35direct 直接字节和进位位加到A
ADD A,@Ri 36~37 间接字节和进位位加到A
ADD A,data 34 data立即数和进位位加到A
ADD A,Rn 98~9F A减去寄存器和进位位
ADD A,direct 95 direct A减去直接字节和进位位
ADD A,@Ri 36~37 间接RAM和进位位加到A
ADD A,data 34 data 立即数和进位位加到A
SUBB A,Rn 98~9F A减去寄存器和进位位
SUBB A,direct 95 direct A减去直接字节和进位位
SUBB A,@Ri 96~97 A减去间接RAM和进位位
SUBB A,#data 94 data A减去立即数和进位位
INC A 04 A加1
INC Rn 08~0F 寄存器加1
INC direct 05 direct 直接字节加1
INC @Ri 06~07 间接RAM加1
DEC A 14 A减1
DEC Rn 18~1F 寄存器减1
DEC direct 15 direct 直接字节减1
DEC @Ri 16~17 间接RAM减1
INC DPTR A3 数据指针加1
MUL AB A4 A乘以B
DIV AB 84 A除以B
DA A D4 A的十进制加法调整 ANL A,Rn 58~5F 寄存器“与”到A
ANL A,direct 55 direct 直接字节“与”到A
ANL A,@Ri 56~57 间接RAm“与”到A
ANL A,#data 54 data立即数“与”到A
ANL direct A 52 direct A“与”到直接字节
ANL direct,#data 53 direct data立即数“与”到直接字节
ORL A,Rn 48~4F 寄存器“或”到A
ORL A,direct 45 direct 直接字节“或”到A
ORL A,@Ri 46~47 间接RAM“或”到A
ORL A,#data 44 data立即数“或”到A
ORL direct,A 42 direct A“或”到直接字节
ORL direct,#data 43 direct data立即数“或”到直接字节
XRL A,Rn 68~6F 寄存器“异或”到A
XRL A,direct 65 direct 直接字节“异或”到A
XRL A,@Ri 66~67 间接RAM“异或”到A
XRL A,#data 64 data立即数“异或”到A
XRL direct A 62 direct A“异或”到直接字节
XRL direct,#data 63 direct data立即数“异或”到直接字节
CLR A E4 清零
CPL A F4 A取反
RL A 23 A左环移
RLC A 33 A通过进位左环移
RR A 03 A右环移
RRC A 13 A通过进位右环移 ACALL addr 11 *1 addr(a7~a0) 绝对子程序调用
LCALL addr 16 12 addr(15~8) 长子程序调用
addr(7~0)
RET 22子程序调用返回
RETI addr 11 32 中断调用返回
AJMP addr 11 △1 addr(a7~a6) 绝对转移
LJMP addr 16 02addr(15~8) 长转移
addr(7~0)
SJMP rel 80 rel 短转移,相对转移
JMP @A+DPTR 73 相对于DPTR间接转移
JZ rel 60 rel A为零转移
JNZ rel 70 rel A为零转移
CJNE A,direct,rel B5 direct rel 直接字节与A比较,不等则转移
CJNE A,#data,rel B4 data rel立即数与A比较,不等则转移
CJNE A,Rn,#data,rel B8~BF data rel立即数与寄存器比较,不等则转移
CJNE @Ri,#data,rel B6~B7 data rel立即数与间接RAM比较,不等则转移
DJNZ Rn,rel D8~DF rel 寄存器减1,不为零则转移
DJNZ direct,rel B5 direct rel 直接字节减1,不为零则转移
NOP 00 空操作 CLR C C3 清零进位
CLR bit C2 清零直接位
SETB C D3 置位进位
SETB bit D2 置位直接位
CPL C B3 进位取反
CPL bit B2 直接位取反
ANL C,bit 82 dit 直接数“与”到进位
ANL C,/bit B0 直接位的反“与”到进位
ORL C,bit 72 bit 直接位“或”到进位
ORL C,/bit A0 bit 直接位的反“或”到进位
MOV C,bit A2 bit 直接位送进位
MOV bit,C 92 bit 进位送直接位
JC rel 40 rel 进位位为1转移
JNC rel 50 rel 进位位为0转移
JB bit,rel 20 bit rel 直接位为1相对转移
JNB bit,rel 30 bit rel 直接位为0相对转移
JBC bit,rel 10 bit rel 直接位为1相对转移,然后清零该位 STC单片机
STC公司的单片机主要是基于8051内核,是新一代增强型单片机,指令代码完全兼容传统8051,速度快8~12倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强.
PIC单片机:
是MICROCHIP公司的产品,其突出的特点是体积小,功耗低,精简指令集,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好,大部分芯片有其兼容的FLASH程序存储器的芯片.
EMC单片机:
是台湾义隆公司的产品,有很大一部分与PIC 8位单片机兼容,且相兼容产品的资源相对比PIC的多,价格便宜,有很多系列可选,但抗干扰较差.
ATMEL单片机(51单片机):
ATMEl公司的8位单片机有AT89、AT90两个系列,AT89系列是8位Flash单片机,与8051系列单片机相兼容,静态时钟模式;AT90系列单片机是增强RISC结构、全静态工作方式、内载在线可编程Flash的单片机,也叫AVR单片机.
PHLIPIS 51LPC系列单片机(51单片机):
PHILIPS公司的单片机是基于80C51内核的单片机,嵌入了掉电检测、模拟以及片内RC振荡器等功能,这使51LPC在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求.
HOLTEK单片机:
台湾盛扬半导体的单片机,价格便宜,种类较多,但抗干扰较差,适用于消费类产品.
TI公司单片机(51单片机):
德州仪器提供了TMS370和MSP430两大系列通用单片机.TMS370系列单片机是8位CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合;MSP430系列单片机是一种超低功耗、功能集成度较高的16位低功耗单片机,特别适用于要求功耗低的场合
松翰单片机(SONIX):
是台湾松翰公司的单片,大多为8位机,有一部分与PIC 8位单片机兼容,价格便宜,系统时钟分频可选项较多,有PMW ADC 内振 内部杂讯滤波。缺点RAM空间过小,抗干扰较好。
飞思卡尔单片机
飞思卡尔 8 位单片机系列主要包括 RS08 类、HCS08 类、HC08 类、HC08 汽车类、 HCS08 汽车类。
英飞凌单片机
英飞凌单片机的XC82x和XC83x单片机系列经过专门设计,可进一步在各种工业领域内降低系统成本,提高能效。
深联华单片机(51单片机)
深联华公司的单片机主要是基于8051内核,是新一代安全防逆向型单片机,指令代码完全兼容传统8051,速度快8~12倍,带有62 K FLASH ROM,内置256字节RAM和集成外置1024字节RAM,白噪声密码-没有规律可循,每颗芯片都有自己的密码,同样的密码不可重用。 美国SST公司推出的SST89系列单片机为标准的51系列单片机,包括SST89E/V52RD2, SST89E/V54RD2,SST89E/V58RD2,SST89E/V554RC,SST89E/V564RD等.它与8052系列单片机兼容.提供系统在线编程(ISP功能).内部flash擦写次数1万次以上,程序保存时间可达100年.
还有很多优秀的单片机生产企业这里没有收集,每个企业都有自己的特点,大家根据需要选择单片机,在完全实现功能的前提下追求低价位,当然并不是这样最好,实际中选择单片机跟开发者的应用习惯和开发经验是密不可分的.