1、C单片机指令集大全 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-DQS58-MG198)C单片机指令集大全格式功能简述字节数周期 一、数据传送类指令MOVA,Rn寄存器送累加器11MOVRn,A累加器送寄存器11MOVA,Ri内部RAM单元送累加器11MOVRi,A累加器送内部RAM单元11MOVA,#data立即数送累加器21MOVA,direct直接寻址单元送累加器21MOVdirect,A累加器送直接寻址单元21MOVRn,#data立即数送寄存器21MOVdirect,#data立即数送直接寻址单元32MOVRi,#data立即数送内
2、部RAM单元21MOVdirect,Rn寄存器送直接寻址单元22MOVRn,direct直接寻址单元送寄存器22MOVdirect,Ri内部RAM单元送直接寻址单元22MOVRi,direct直接寻址单元送内部RAM单元22MOVdirect2,direct1直接寻址单元送直接寻址单元32MOVDPTR,#data1616位立即数送数据指针32MOVXA,Ri外部RAM单元送累加器(8位地址)12MOVXRi,A累加器送外部RAM单元(8位地址)12MOVXA,DPTR外部RAM单元送累加器(16位地址)12MOVXDPTR,A累加器送外部RAM单元(16位地址)12MOVCA,A+DPTR查
3、表数据送累加器(DPTR为基址)12MOVCA,A+PC查表数据送累加器(PC为基址)12XCHA,Rn累加器与寄存器交换11XCHA,Ri累加器与内部RAM单元交换11XCHDA,direct累加器与直接寻址单元交换21XCHDA,Ri累加器与内部RAM单元低4位交换11SWAPA累加器高4位与低4位交换11POPdirect栈顶弹出指令直接寻址单元22PUSHdirect直接寻址单元压入栈顶22二、算术运算类指令ADDA,Rn累加器加寄存器11ADDA,Ri累加器加内部RAM单元11ADDA,direct累加器加直接寻址单元21ADDA,#data累加器加立即数21ADDCA,Rn累加器加
4、寄存器和进位标志11ADDCA,Ri累加器加内部RAM单元和进位标志11ADDCA,#data累加器加立即数和进位标志21ADDCA,direct累加器加直接寻址单元和进位标志21INCA累加器加111INCRn寄存器加111INCdirect直接寻址单元加121INCRi内部RAM单元加111INCDPTR数据指针加112DAA十进制调整11SUBBA,Rn累加器减寄存器和进位标志11SUBBA,Ri累加器减内部RAM单元和进位标志11SUBBA,#data累加器减立即数和进位标志21SUBBA,direct累加器减直接寻址单元和进位标志21DECA累加器减111DECRn寄存器减111DE
5、CRi内部RAM单元减111DECdirect直接寻址单元减121MULAB累加器乘寄存器B14DIVAB累加器除以寄存器B14三、逻辑运算类指令ANLA,Rn累加器与寄存器11ANLA,Ri累加器与内部RAM单元11ANLA,#data累加器与立即数21ANLA,direct累加器与直接寻址单元21ANLdirect,A直接寻址单元与累加器21ANLdirect,#data直接寻址单元与立即数31ORLA,Rn累加器或寄存器11ORLA,Ri累加器或内部RAM单元11ORLA,#data累加器或立即数21ORLA,direct累加器或直接寻址单元21ORLdirect,A直接寻址单元或累加器
6、21ORLdirect,#data直接寻址单元或立即数31XRLA,Rn累加器异或寄存器11XRLA,Ri累加器异或内部RAM单元11XRLA,#data累加器异或立即数21XRLA,direct累加器异或直接寻址单元21XRLdirect,A直接寻址单元异或累加器21XRLdirect,#data直接寻址单元异或立即数32RLA累加器左循环移位11RLCA累加器连进位标志左循环移位11RRA累加器右循环移位11RRCA累加器连进位标志右循环移位11CPLA累加器取反11CLRA累加器清零11四、控制转移类指令类ACCALLaddr112KB范围内绝对调用22AJMPaddr112KB范围内绝
7、对转移22LCALLaddr162KB范围内长调用32LJMPaddr162KB范围内长转移32SJMPrel相对短转移22JMPA+DPTR相对长转移12RET子程序返回12RET1中断返回12JZrel累加器为零转移22JNZrel累加器非零转移22CJNEA,#data,rel累加器与立即数不等转移32CJNEA,direct,rel累加器与直接寻址单元不等转移32CJNERn,#data,rel寄存器与立即数不等转移32CJNERi,#data,relRAM单元与立即数不等转移32DJNZRn,rel寄存器减1不为零转移22DJNZdirect,rel直接寻址单元减1不为零转移32NO
8、P空操作11五、布尔操作类指令MOVC,bit直接寻址位送C21MOVbit,CC送直接寻址位21CLRCC清零11CLRbit直接寻址位清零21CPLCC取反11CPLbit直接寻址位取反21SETBCC置位11SETBbit直接寻址位置位21ANLC,bitC逻辑与直接寻址位22ANLC,/bitC逻辑与直接寻址位的反22ORLC,bitC逻辑或直接寻址位22ORLC,/bitC逻辑或直接寻址位的反22JCrelC为1转移22JNCrelC为零转移22JBbit,rel直接寻址位为1转移32JNBbit,rel直接寻址为0转移1、D1D8八个彩灯按规定顺序依次点亮(间隔1秒),最后全亮;2
9、、按规定顺序依次熄灭(间隔1秒),最后全灭;3、八个灯同时点亮,保持1秒;4、八个灯同时熄灭,保持0.5秒;再将第3、4步重复4遍,最后整个程序再重复N遍。5、让八个灯依次显示为010010011.假设1:D1D8八个彩灯接在P1口,输出低电平发光2.假设2:系统晶振为12MHz3.假设3:N=5ORG0000HMOVR3,#5;N=5LOOP0:MOVA,#0FFHMOVP1,#0FFH;开始时全灭;-逐个点亮MOVR2,#8LOOP1:CLRCRLCAMOVP1,ACALLDL500MSDJNZR2,LOOP1;-逐个熄灭MOVR2,#8LOOP2:SETBCRLCAMOVP1,ACALL
10、DL500MSDJNZR2,LOOP2;-全亮、全灭交替MOVR2,#4LOOP3:MOVP1,#0;全亮CALLDL500MSCALLDL500MS;共1sMOVP1,#255;全灭CALLDL500MS;0.5sDJNZR2,LOOP3;-DJNZR3,LOOP0MOVP1,#01001001B;5、显示为01001001CALLDL500MSCALLDL500MS;共1sSJMP0000H;重新开始N遍;-延时子程序DL500MS:MOVR5,#9;1TDL1:MOVR6,#128;1TDL2:MOVR7,#215;1TNOP;1TDL3:DJNZR7,DL3;2T2*215=430TDJNZR6,DL2;2T1+1+430+2*128=55552TDJNZR5,DL1;2T1+55552+2*9=499995TRET;2T1+499995+2=499998T;-END
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1