⒉时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。⒊控制线:控制线共有4根,⑴ALE/PROG:地址锁存允许/片内EPROM编程脉冲①ALE功能:用来锁存P0口送出的低8位地址②PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。⑵PSEN:外ROM读选通信号。⑶RST/VPD:复位/备用电源。①RST(Reset)功能:复位信号输入端。②VPD功能:在Vcc掉电情况下,接备用电源。⑷EA/Vpp:内外ROM选择/片内EPROM编程电源。①EA功能:内外ROM选择端。②Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。⒋I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)5.P3口第二功能P30RXD串行输入口P31TXD串行输出口P32INT0外部中断0(低电平有效)P33INT1外部中断1(低电平有效)P34T0定时计数器0P35T1定时计数器1P36WR外部数据存储器写选通(低电平有效)P37RD外部数据存储器读选通(低电平有效)[编辑本段]单片机指令功能一览表一、传送操作助记符代码说明MOVA,RnE8~EF寄存器AMOVA,directE5dircet直接字节送AMOVA,@RiER~E7间接RAM送AMOVA,#data74data立即数送AMOVRn,AF8~FFA送寄存器MOVRn,dircetA8~AFdircet直接字节送寄存器MOVRn,#data78~7Fdata立即数送寄存器MOVdircet,AF5dircetA送直接字节MOVdircet,Rn88~8Fdircet寄存器送直接字节MOVdircet1,dircet285dircet1dircet2直接字节送直接字节MOVdircet,@Ro86~87间接RAM送直接字节MOVdircet,#data75dircetdata立即数送直接字节MOV@Ri,AF6~F7A送间接RAMMOV@Ri,#data76~77data直接字节送间接RAMMOV@Ri,#data76~77data立即数送间接RAMMOVDPTR,#data1690data15~816位常数送数据指针data7~0MOVCA,@A+DPTR93由((A)+(DPTR))寻址的程序存贮器字节选AMOVCA,@A+PC83由((A)+(PC));寻址的程序存贮器字节送AMOVXA,@RiE2~E3送外部数据(8位地址)送AMOVXA,@DPTRE0送外部数据(16位地址)送AMOVX@Ri,AF2~F3A送外部数据(8位地址)MOVX@DPTR,AF0A送外部数据(16位地址)PUSHdircetC0dircet直接字节进栈,SP加1POPdircetD0dircet直接字节退栈,SP减1XCHA,RnC8~CF交换A和寄存器XCHA,dircetC5dircet交换A和直接字节XCHA,@RiC6~C7交换A和间接RAMXCHA,@RiD6~D7交换A和间接RAM的低位SWAPAC4二、算术操作(A的二个半字节交换)ADDA,Rn28~2F寄存器加到AADDA,dircet25dircet直接字节加到AADDA,@Ri26~27间接RAM加到AADDA,#data24data立即数加到AADDA,Rn38~3F寄存器和进位位加到AADDA,dircet35dircet直接字节和进位位加到AADDA,@Ri36~37间接字节和进位位加到AADDA,data34data立即数和进位位加到AADDA,Rn98~9FA减去寄存器和进位位ADDA,dircet95dircetA减去直接字节和进位位ADDA,@Ri36~37间接RAM和进位位加到AADDA,data34data立即数和进位位加到ASUBBA,Rn98~9FA减去寄存器和进位位SUBBA,dircet95dircetA减去直接字节和进位位SUBBA,@Ri96~97A减去间接RAM和进位位SUBBA,#data94dataA减去立即数和进位位INCA04A加1INCRn08~0F寄存器加1INCdircet05dircet直接字节加1INC@Ri06~07间接RAM加1DECA14A减1DECRn18~1F寄存器减1DECdircet15dircet直接字节减1DEC@Ri16~17间接RAM减1INCDPTRA3数据指针加1MULABA4A乘以BDIVAB84A除以BDAAD4A的十进制加法调整三、逻辑操作ANLA,Rn58~5F寄存器“与”到AANLA,dircet55dircet直接字节“与”到AANLA,@Ri56~57间接RAm“与”到AANLA,#data54data立即数“与”到AANLdircetA52dircetA“与”到直接字节ANLdircet,#data53dircetdata立即数“与”到直接字节ORLA,Rn48~4F寄存器“或”到AORLA,dircet45dircet直接字节“或”到AORLA,@Ri46~47间接RAM“或”到AORLA,#data44data立即数“或”到AORLdircet,A42dircetA“或”到直接字节ORLdircet,#data43dircetdata立即数“或”到直接字节XRLA,Rn68~6F寄存器“异或”到AXRLA,dircet65dircet直接字节“异或”到AXRLA,@Ri66~67间接RAM“异或”到AXRLA,#data64data立即数“异或”到AXRLdircetA62dircetA“异或”到直接字节XRLdircet,#data63dircetdata立即数“异或”到直接字节CLRAE4清零CPLAF4A取反RLA23A左环移RLCA33A通过进位左环移RRA03A右环移RRCA13A通过进位右环移四、控制程序转移ACALLaddr11*1addr(a7~a0)绝对子程序调用LCALLaddr1612addr(15~8)长子程序调用addr(7~0)RET22子程序调用返回RETIaddr1132中断调用返回AJMPaddr11△1addr(a7~a6)绝对转移LJMPaddr1602addr(15~8)长转移addr(7~0)SJMPrel80rel短转移,相对转移JMP@A+DPTR73相对于DPTR间接转移JZrel60relA为零转移JNZrel70relA为零转移CJNEA,dircet,relB5dircetrel直接字节与A比较,不等则转移CJNEA,#data,relB4datarel立即数与A比较,不等则转移CJNEA,Rn,#data,relB8~BFdatarel立即数与寄存器比较,不等则转移CJNE@Ri,#data,relB6~B7datarel立即数与间接RAM比较,不等则转移DJNZRn,relD8~DFrel寄存器减1,不为零则转移DJNZdircet,relB5dircetrel直接字节减1,不为零则转移NOP00空操作*=a10a9a8l△=a10a9a80五、布尔变量操作CLRCC3清零进位CLRbitC2清零直接位SETBCD3置位进位SETBbitD2置位直接位CPLCB3进位取反CPLbitB2直接位取反ANLC,bit82dit直接数“与”到进位ANLC,/bitB0直接位的反“与”到进位ORLC,bit72bit直接位“或”到进位ORLC,/bitA0bit直接位的反“或”到进位MOVC,bitA2bit直接位送进位MOVbit,C92bit进位送直接位JCrel40rel进位位为1转移JNCrel50rel进位位为0转移JBbit,rel20bitrel直接位为1相对转移JNBbit,rel30bitrel直接位为0相对转移JBCbit,rel10bitrel直接位为1相对转移,然后清零该位