C单片机指令集大全.docx
《C单片机指令集大全.docx》由会员分享,可在线阅读,更多相关《C单片机指令集大全.docx(7页珍藏版)》请在冰豆网上搜索。
![C单片机指令集大全.docx](https://file1.bdocx.com/fileroot1/2023-1/23/046f4a1d-efcf-4dd5-8a9d-7245b01a24d1/046f4a1d-efcf-4dd5-8a9d-7245b01a24d11.gif)
C单片机指令集大全
集团企业公司编码:
(LL3698-KKI1269-TM2483-LUI12689-ITT289-DQS58-MG198)
C单片机指令集大全
格式功能简述字节数周期
一、数据传送类指令
MOVA,Rn寄存器送累加器11
MOVRn,A累加器送寄存器11
MOVA,@Ri内部RAM单元送累加器11
MOV@Ri,A累加器送内部RAM单元11
MOVA,#data立即数送累加器21
MOVA,direct直接寻址单元送累加器21
MOVdirect,A累加器送直接寻址单元21
MOVRn,#data立即数送寄存器21
MOVdirect,#data立即数送直接寻址单元32
MOV@Ri,#data立即数送内部RAM单元21
MOVdirect,Rn寄存器送直接寻址单元22
MOVRn,direct直接寻址单元送寄存器22
MOVdirect,@Ri内部RAM单元送直接寻址单元22
MOV@Ri,direct直接寻址单元送内部RAM单元22
MOVdirect2,direct1直接寻址单元送直接寻址单元32
MOVDPTR,#data1616位立即数送数据指针32
MOVXA,@Ri外部RAM单元送累加器(8位地址)12
MOVX@Ri,A累加器送外部RAM单元(8位地址)12
MOVXA,@DPTR外部RAM单元送累加器(16位地址)12
MOVX@DPTR,A累加器送外部RAM单元(16位地址)12
MOVCA,@A+DPTR查表数据送累加器(DPTR为基址)12
MOVCA,@A+PC查表数据送累加器(PC为基址)12
XCHA,Rn累加器与寄存器交换11
XCHA,@Ri累加器与内部RAM单元交换11
XCHDA,direct累加器与直接寻址单元交换21
XCHDA,@Ri累加器与内部RAM单元低4位交换11
SWAPA累加器高4位与低4位交换11
POPdirect栈顶弹出指令直接寻址单元22
PUSHdirect直接寻址单元压入栈顶22
二、算术运算类指令
ADDA,Rn累加器加寄存器11
ADDA,@Ri累加器加内部RAM单元11
ADDA,direct累加器加直接寻址单元21
ADDA,#data累加器加立即数21
ADDCA,Rn累加器加寄存器和进位标志11
ADDCA,@Ri累加器加内部RAM单元和进位标志11
ADDCA,#data累加器加立即数和进位标志21
ADDCA,direct累加器加直接寻址单元和进位标志21
INCA累加器加111
INCRn寄存器加111
INCdirect直接寻址单元加121
INC@Ri内部RAM单元加111
INCDPTR数据指针加112
DAA十进制调整11
SUBBA,Rn累加器减寄存器和进位标志11
SUBBA,@Ri累加器减内部RAM单元和进位标志11
SUBBA,#data累加器减立即数和进位标志21
SUBBA,direct累加器减直接寻址单元和进位标志21
DECA累加器减111
DECRn寄存器减111
DEC@Ri内部RAM单元减111
DECdirect直接寻址单元减121
MULAB累加器乘寄存器B14
DIVAB累加器除以寄存器B14
三、逻辑运算类指令
ANLA,Rn累加器与寄存器11
ANLA,@Ri累加器与内部RAM单元11
ANLA,#data累加器与立即数21
ANLA,direct累加器与直接寻址单元21
ANLdirect,A直接寻址单元与累加器21
ANLdirect,#data直接寻址单元与立即数31
ORLA,Rn累加器或寄存器11
ORLA,@Ri累加器或内部RAM单元11
ORLA,#data累加器或立即数21
ORLA,direct累加器或直接寻址单元21
ORLdirect,A直接寻址单元或累加器21
ORLdirect,#data直接寻址单元或立即数31
XRLA,Rn累加器异或寄存器11
XRLA,@Ri累加器异或内部RAM单元11
XRLA,#data累加器异或立即数21
XRLA,direct累加器异或直接寻址单元21
XRLdirect,A直接寻址单元异或累加器21
XRLdirect,#data直接寻址单元异或立即数32
RLA累加器左循环移位11
RLCA累加器连进位标志左循环移位11
RRA累加器右循环移位11
RRCA累加器连进位标志右循环移位11
CPLA累加器取反11
CLRA累加器清零11
四、控制转移类指令类
ACCALLaddr112KB范围内绝对调用22
AJMPaddr112KB范围内绝对转移22
LCALLaddr162KB范围内长调用32
LJMPaddr162KB范围内长转移32
SJMPrel相对短转移22
JMP@A+DPTR相对长转移12
RET子程序返回12
RET1中断返回12
JZrel累加器为零转移22
JNZrel累加器非零转移22
CJNEA,#data,rel累加器与立即数不等转移32
CJNEA,direct,rel累加器与直接寻址单元不等转移32
CJNERn,#data,rel寄存器与立即数不等转移32
CJNE@Ri,#data,relRAM单元与立即数不等转移32
DJNZRn,rel寄存器减1不为零转移22
DJNZdirect,rel直接寻址单元减1不为零转移32
NOP空操作11
五、布尔操作类指令
MOVC,bit直接寻址位送C21
MOVbit,CC送直接寻址位21
CLRCC清零11
CLRbit直接寻址位清零21
CPLCC取反11
CPLbit直接寻址位取反21
SETBCC置位11
SETBbit直接寻址位置位21
ANLC,bitC逻辑与直接寻址位22
ANLC,/bitC逻辑与直接寻址位的反22
ORLC,bitC逻辑或直接寻址位22
ORLC,/bitC逻辑或直接寻址位的反22
JCrelC为1转移22
JNCrelC为零转移22
JBbit,rel直接寻址位为1转移32
JNBbit,rel直接寻址为0转移
1、D1~D8八个彩灯按规定顺序依次点亮(间隔1秒),最后全亮;2、按规定顺序依次熄灭(间隔1秒),最后全灭;
3、八个灯同时点亮,保持1秒;4、八个灯同时熄灭,保持0.5秒;再将第3、4步重复4遍,最后整个程序再重复N遍。
5、让八个灯依次显示为010010011.假设1:
D1~D8八个彩灯接在P1口,输出低电平发光2.假设2:
系统晶振为12MHz3.假设3:
N=5
ORG0000H
MOVR3,#5;N=5
LOOP0:
MOVA,#0FFH
MOVP1,#0FFH;开始时全灭
;-------------------------------逐个点亮
MOVR2,#8
LOOP1:
CLRC
RLCA
MOVP1,A
CALLDL500MS
DJNZR2,LOOP1
;-------------------------------逐个熄灭
MOVR2,#8
LOOP2:
SETBC
RLCA
MOVP1,A
CALLDL500MS
DJNZR2,LOOP2
;-------------------------------全亮、全灭交替
MOVR2,#4
LOOP3:
MOVP1,#0;全亮
CALLDL500MS
CALLDL500MS;共1s
MOVP1,#255;全灭
CALLDL500MS;0.5s
DJNZR2,LOOP3
;-------------------------------
DJNZR3,LOOP0
MOVP1,#01001001B;5、显示为01001001
CALLDL500MS
CALLDL500MS;共1s
SJMP0000H;重新开始N遍
;-------------------------------延时子程序
DL500MS:
MOVR5,#9;1T
DL1:
MOVR6,#128;1T
DL2:
MOVR7,#215;1T
NOP;1T
DL3:
DJNZR7,DL3;2T2*215=430T
DJNZR6,DL2;2T[1+1+430+2]*128=55552T
DJNZR5,DL1;2T[1+55552+2]*9=499995T
RET;2T1+499995+2=499998T
;-------------------------------------
END