格式功能简述字节数周期      一、数据传送类指令  MOVARn寄存器送累加器11  MOVRnA累加器送寄存器11  MOVA,@Ri内部RAM单元送累加器11  MOVRiA累加器送内部RAM单元11  MOVA#data立即数送累加器21  MOVAdirect直接寻址单元送累加器21  MOVdirectA累加器送直接寻址单元21  MOVRn#data立即数送寄存器21  MOVdirect#data立即数送直接寻址单元32  MOVRi#data立即数送内部RAM单元21  MOVdirectRn寄存器送直接寻址单元22  MOVRndirect直接寻址单元送寄存器22  MOVdirect,@Ri内部RAM单元送直接寻址单元22  MOVRidirect直接寻址单元送内部RAM单元22  MOVdirect2direct1直接寻址单元送直接寻址单元32  MOVDPTR#data1616位立即数送数据指针32  MOVXA,@Ri外部RAM单元送累加器(8位地址)12  MOVXRiA累加器送外部RAM单元(8位地址)12  MOVXA,@DPTR外部RAM单元送累加器(16位地址)12  MOVXDPTRA累加器送外部RAM单元(16位地址)12  MOVCA,@A+DPTR查表数据送累加器(DPTR为基址)12  MOVCA,@A+PC查表数据送累加器(PC为基址)12  XCHARn累加器与寄存器交换11  XCHA,@Ri累加器与内部RAM单元交换11  XCHDAdirect累加器与直接寻址单元交换21  XCHDA,@Ri累加器与内部RAM单元低4位交换11  SWAPA累加器高4位与低4位交换11  POPdirect栈顶弹出指令直接寻址单元22  PUS
Hdirect直接寻址单元压入栈顶22  二、算术运算类指令  ADDARn累加器加寄存器11  ADDA,@Ri累加器加内部RAM单元11  ADDAdirect累加器加直接寻址单元21  ADDA#data累加器加立即数21  ADDCARn累加器加寄存器和进位标志11  ADDCA,@Ri累加器加内部RAM单元和进位标志11  ADDCA#data累加器加立即数和进位标志21  ADDCAdirect累加器加直接寻址单元和进位标志21  INCA累加器加111  INCRn寄存器加111  cariINCdirect直接寻址单元加121  INCRi内部RAM单元加111  INCDPTR数据指针加112  DAA十进制调整11  SUBBARn累加器减寄存器和进位标志11  SUBBA,@Ri累加器减内部RAM单元和进位标志11  SUBBA#data累加器减立即数和进位标志21  SUBBAdirect累加器减直接寻址单元和进位标志21  DECA累加器减111  DECRn寄存器减111  DECRi内部RAM单元减111  DECdirect直接寻址单元减121  MULAB累加器乘寄存器B14  DIVAB累加器除以寄存器B14  三、逻辑运算类指令  ANLARn累加器与寄存器11  ANLA,@Ri累加器与内部RAM单元11  ANLA#data累加器与立即数21  ANLAdirect累加器与直接寻址单元21  ANLdirectA直接寻址单元与累加器21  ANLdirect#data直接寻址单元与立即数31  ORLARn累加器或寄存器11  ORLA,@Ri累加器或内部RAM单元11  ORLA#data累加器或立即数21  ORLAdirect累加器或直接寻址单元21  ORLdirectA
直接寻址单元或累加器21  ORLdirect#data直接寻址单元或立即数31  XRLARn累加器异或寄存器11  XRLA,@Ri累加器异或内部RAM单元11  XRLA#data累加器异或立即数21  XRLAdirect累加器异或直接寻址单元21  XRLdirectA直接寻址单元异或累加器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  JMPA+DPTR相对长转移12  RET子程序返回12  RET1中断返回12  JZrel累加器为零转移22  JNZrel累加器非零转移22  CJNEA#datarel累加器与立即数不等转移32  CJNEAdirectrel累加器与直接寻址单元不等转移32  CJNERn#datarel寄存器与立即数不等转移32  CJNERi#datarelRAM单元与立即数不等转移32  DJNZRnrel寄存器减1不为零转移22  DJNZdirectrel直接寻址单元减1不为零转移32  NOP空操作11  五、布尔操作类指令  MOVCbit直接寻址位送C21  MOVbitCC送直接寻址位21  CLRCC清零11  CLRbit直接寻址位清零21  CPLCC取反11  CPLbit直接寻址位取反21  SETBCC置位11  SETBbit直接寻
址位置位21  ANLCbitC逻辑与直接寻址位22  ANLC/bitC逻辑与直接寻址位的反22  ORLCbitC逻辑或直接寻址位22  ORLC/bitC逻辑或直接寻址位的反22  JCrelC1转移22  JNCrelC为零转移22  JBbitrel直接寻址位为1转移32  JNBbitrel直接寻址为0转移
1D1~D8八个彩灯按规定顺序依次点亮(间隔1秒),最后全亮;2、按规定顺序依次熄灭(间隔1秒),最后全灭;
3、八个灯同时点亮,保持1秒;4、八个灯同时熄灭,保持0.5秒;再将第34步重复4遍,最后整个程序再重复N遍。
5、让八个灯依次显示为010010011.假设1D1~D8八个彩灯接在P1口,输出低电平发光2.假设2:系统晶振为12MHz3.假设3N=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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。