sd
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11ISP
sd
4.1 1 2
sd
4.1 CPU
sd
Assembly LanguageCPU
sd
High Level Language
sd
MOV A, #76H 76HA011101000111011074H76H 74HA,76H
sd
MOV ADD ANL
sd
sd
D,HB
sd
MOV A, #71H71H801110001BA88816
sd
08051##
sd
4.2 : 1":"
sd
sd
azAZ(09)(@_?)_(azAZ)(@_)?31
sd
HOW NEXT_1 AA1QMCCl MODEL?? _DELAY5FVM -F33G ?MOV ADD XOR
sd
: 2MOV
sd
: 3
sd
sd
: 4
sd
MOV A,#68H MOV B,#73H
sd
MOV A,#68H68HA;;74H68H74H68H. MOV B, #73H73HB;75HF0H73H,75HB73H
sd
sd
1000H
sd
74HA68HA75HF0HF0HB73H
sd
sd
4.3STC15F2K60S27
sd
1 CPU
sd
M0V A#28H 28HAA28HAA28H28HA28HA74H28H
sd
0100H
4-1 MOV A,#28H
sd
MOV A#28H A88#
sd
sd
2 CPU
sd
MOV A, #45H A45H 45HINC R0 R0 R0+1
sd
MOV A, R1 AR1 R1A
sd
INC R5 ;0DH;R51R5R5RAM
4-2 INC R5
sd
CPU
sd
sd
3
sd
MOV A,45H45HA45HE5H45HE5H45H
sd
MOV A,45H 0100H 0101H45H34HA=34HA
4-3 MOV A, 45H
sd
4:R0R1DPTR @
sd
MOV A ,@R0 ;R0AR031H31H51HA51H
4-4 MOV A,@R0
sd
5PCAA+PCDPTRAA+DPTR
sd
MOVC A,@A+PCMOVCPCA 0100 7402 MOV A, #02 0102 83 MOVC A, @A+PC 0103 00 NOP 0104 00 NOP 0105 64 DB 64H
MOVC A,@A+PCA=2PC=0103HA+PC=0105H@A+PC0105HA0105H64HA
sd
MOVC A,@A+DPTRDPTRA MOV A,#02H MOV DPTR,#TABLE MOVC A,@A+DPTR TABLE: DB 30H DB 31H DB 32H
sd
DPTR MOVC A,@A+DPTR
sd
6 PC
sd
PC-128+127 JC 80H C=0PCC=1PC80H
sd
JC 80H1005H80H-80H
4-5 JC 80H
sd
7 MOV C,P1.0 ;P1.0C SETB 20H.6 ;20H61 CLR 25H ;25H
sd
sd
4.4 PSW
sd
1MOV2MOVX3MOVC
sd
1MOVMOVRn;@RiRAM;RAM00H7FH
sd
RAMASFRMOV16bitDPTRMOV , MOV
sd
1ARnRAMSFR MOV A, #data8 MOV addr8,#data8 MOV @Ri, #data8 MOV Rn, #data8 @RiRiRAMRii=01;A #data8;addr8 #data8;Ri #data8;Rn #data8
sd
: MOV R0, #60H ;60HR0 MOV @R0, #56H ;56HR0 ;60H56H RAM MOV 20H, #56H ;56H20H MOV P1, #80H ;80HP190H
sd
2RnRAMSFRA6 MOV A, addr8 MOV A, @Ri MOV A, Rn MOV addr8, A MOV @Ri, A MOV Rn, A ;A addr8;A Ri;A Rn;addr8 A;Ri A;RnA
sd
@RiRiRi800HFFH MOV R1, #82H MOV A, @R1 STC12C5A60S2RAM82HA80HFFHRAM
sd
DPLA MOV A, 82H ;ADPL MOV A,DPL
sd
3RnSFRRAM5 MOV addr8, addr8 MOV addr8@Ri MOV addr8, Rn MOV @Ri, addr8 MOV Rn, addr8 ;(addr8)(addr8);addr8Riaddr8Rn;Riaddr8;Rnaddr8
sd
MOV 60H, 50H ;50H60HPSWRS1RS0011 MOV 40H, R0 MOV 40H, 08H RAM30HP1 MOV 30H, #25H MOV P1, #0CAH 30H=25HP1=0CAH
sd
416 MOV DPTR ,#data16 MOV DPTR ,#0150H16DPTR=0150HDPH=01HDPL=50H
sd
2I/OAMOVX ARAMI/O
sd
R1R0I/O256P28P2RiMOVX16DPTR64KBI/O
sd
MOVX , 4 MOVX A, @DPTR ;ADPTR MOVX A, @Ri ;ARi MOVX @DPTR,A ;DPTRA MOVX @Ri, A ;RiAR1R0256DPTR
sd
0100H=60H0101H=2FH MOV DPTR ,#0100H MOVX A, @DPTR ;A=60H
sd
3AMOVCPCDPTRAMOVCA
sd
MOVC A ,@A+PC ; PCPC+1AA+PC MOVC A ,@A+DPTR ; AA+DPTRAPCDPTRA168
sd
MOVC A ,@A+PCMOVC A ,@A+DPTR
sd
MOVC A ,@A+PCMOVC A ,@A+DPTRPCCPUPC11PCPC+18PC256DPTRDPTR64KBDPTR
sd
4-1 A09 COUNT PUSH DPH PUSH DPL ;DPTR MOVDPTR ,#TABLE;DPTR MOVC A ,@A+DPTR;A POP DPL POP DPH ;DPTR RET ; TABLE DB 00,01,04,09,16,25,36,49,64,81
sd
1 XCH A,addr8 ;Aaddr8 XCH A,@Ri ;ARi XCH A,Rn ;ARn A
sd
R0=20HA=3FH20H=75H XCH A,@R0 ;A=75H20H=3FH
sd
2 XCHD A,@Ri ;A3~0Ri3~0 A4RAM44
R130HA69HRAM30H87H XCHD A,@R1 ; A=67H30H=89H
sd
sd
:PCPC:PUSH,POP
sd
LIFOLast In First Out,SPSP4-6
sd
PUSH addr8;SPSP+1SPaddr8 POP addr8;addr8SPSPSP- 1 PUSHPOP
sd
STC15F2K60S2SP+1SPSPSP- 1SPPUSHPOP
sd
PUSH ACC ;ACC PUSH PSW ; ; POP PSW ; POP ACC ;ACC ACCPSW
sd
PUSH ACC PUSH PSW ; POP ACC POP PSW ACCPSW
sd
POPMOVPSWPSWPSFRSFR
sd
STC15F2K60S2RAM80HFFH@RiAPUSH ACCPOP ACCPUSH APOP AAACCAACC
sd
4.5024A0AAARnRAMSFR
sd
sd
4.5 A A0
1A0 CLR A ;A000HA
2A CPL A ;A A
sd
A67HCLR A00HCPL A0FFH
3A RL A; RLC A;CY RR A; RRC A;CY SWAP A; 22
sd
MOV A ,#01H;A01H RL A ;A02H RL A ;A04H RL A ; A08H A=08H RR A ;A04H RR A ;A02H RR A ;A01H1
CY
sd
4-2 40H41H1641H40H222CY CLR C ; MOV A, 41H RRC A MOV 41H, A; MOV A, 40H RRC A MOV 40H, A
sd
SWAPA30744 MOV A,#0A5H SWAP A ; A=5AH
sd
AAANL 00 1;ORL1 110;XRL 10
sd
1A
ANLORLXRL A,
sd
AB 01=10=00=0 00 11=1 11AB1+0=0+1=1+1=1 11 0+0=0 00AB 01=10=1 1 00=11=0 0
sd
A63HR20AAHANLORLXRL ANL A,R2 ORL A,R2 XRL A,R2 ;A=22H;A=0EBH;A=0C9H
sd
2RAMSFRA ANLORL,XRL addr8, A ANLORL,XRL addr8, #data8 RAMSFRARAMSFR
sd
50H0AAHA15H ANL 50H,#0F0H ;50H=0A0H50H4 ORL 50H,#0FH ;50H=0AFH50H41 XRL 50H,A ;50H=0BFH I/O
sd
4-3 ASCII40H41HBCD40H ANL 40H,#0FH ;40HASCBCD MOV A,41H ANL A,#0FH ;41HASCBCD RL A ;4 RL A RL A RL A ORL 40H, A ;40H
sd
SWAP ANL 40H,#0FH ;40HASCBCD MOV A, 41H ; ANL A,#0FH ;41HASCBCD SWAP A ;4 ORL 40H, A ;40H
sd
4.6 PSW4-3
sd
A OVCYACP
sd
1 ADD A,#data8 ;AA+#data8 ADD A,addr8 ;AA+addr8 ADD A,@Ri ;AA+Ri ADD A,Rn ;AA+Rn ACCYOVP
sd
MOV A, #0C3H ADD A, #0AAHCY=1OV=1AC=0PSW=85H A=6DH OV67OV1OV0OV=1
sd
2 ADDC A, #data8 ;AA+#data 8+CY ADDC A, addr8 ;AA+addr8+CY ADDC A, @Ri ;AA+Ri+CY ADDC A, Rn ;AA+Rn+CY
sd
A0AAHR055HC1 ADDC A,R0
A=00000000B AC=1CY=1OV=0
sd
4-420H21H30H31H40H41HOVER ADDMMOVA,20H; ADDA,30H; MOV40H,A;40H MOVA,21H; ADDC A,31H; MOV41H,A ;41H JC OVER ;OVER OVER
sd
3
SUBB A,#data8;AA - #data8 - CY SUBB A,addr8;AA -addr8- CY SUBB A,@Ri ;AA -Ri- CY SUBB A,Rn ;AA - Rn CY
CY=1CY=0CY=1CY=0
sd
OV=167
sd
AD9HR087H CLRC SUBB A,R0 A=52HCY=0OV=0 OVCY1OV
sd
4-5 20H21H30H31H40H41H SUBMCLRC ;CY0 MOV A,20H;A SUBB A,30H ; MOV 40H,A ;40H MOV A,21H;A SUBB A,31H; MOV 41H,A;41H JC OVER ;OVER OVER
sd
A BAB
sd
1 MULAB A B816AB2550FFH10CY0
sd
A=82H130B=38H56 MULAB1C70H7280 A=70HB=1CHOV=1CY=0
sd
4-6 830H831H40H50H51H52H
XY X228+X1Y=X2Y28+X1Y
sd
MULX2YX1YX1YX1Y8RES0X1YRES1X1Y+X2YRES2X2YX1Y+X2Y
sd
MOVA,30H MOVB,40H MULAB ;X1Y MOV51H,B ;51H MOV50H,A ;50H MOVA,31H MOVB,40H MULAB ;X2Y ADD A,51H ;X2Y8X1Y8 MOV51H,A MOVA,B ADDCA,#00H ; MOV 52H,A ;52H
sd
2 DIV AB A8B8ABCYOV0
sd
B00HOV14793HB130DH DIV AB A=0BHB=04HOV=0CY=0
sd
111 INCA INCaddr8 INC@Ri INCRn INCDPTR;A A+1;addr8 addr8+1;Ri Ri+1;Rn Rn+1;DPTR DPTR+1
sd
INC10FFH100HR0=7EHRAM7EH=0FFH7FH=40H INC@R0 INC R0 INC@R0;7EH 00H;R0 R0+1R0=7FH;7FH 41H
sd
2 DECA DECaddr8 DEC@Ri DECRnDEC100H10FFH;A A1;addr8 addr81Ri Ri1;Rn Rn 1
sd
MOVR1,#7FHMOV7EH,#00HMOV7FH,#40HDEC@R1DECR1 DEC@R1;R1 7FH;7EH 00H;7FH 40H;7FH 3FH;R1 R1-1R1=7EH;7EH 0FFH
sd
DAAA3-0>9AC=1A3-0A3-006HA7-4>9CY=1A7-4A7-460HA7-4=94A7-0A7-066H49AC=106H49CY=160H49466H
sd
DABCDBCD87H+68HACCYADDADDCABCDBCDADDADDCDA ADA A
sd
4-76BCDRAM32H31H30H42H41H40H52H51H50HBCDADDMOVA,30H; ADDA,40H DAA MOV50H,A;BCD MOVA,31H; ADDCA,41H DAA MOV51H,A;BCD MOVA,32H; ADDCA,42H DAA MOV52H,A;BCD
sd
4-830H40H50H9AH10010BCDSUBCLRC;MOVA,#9AH;SUBBA,40H ADDA,30H;DAAMOV50H,A;50H
sd
4.7 17 .0B8H.020H.1CEA.P1.0PSW.4
sd
4-4
MOVC, bitbit,CCLRC bitbitCPLSETBANLCbit CC/bit C/bitORLCJCrelrelJNCJBbit,relJNB0JB1JNBJBC10
sd
MOVC,bit; CY bit MOVbit,C;bit CY CYbit
sd
RAM20H=79H MOVC,07H ;07H20H7CY=0
sd
010 CLRbit;bit 0 CLRC; CY 0 bitCY0
sd
RAM25H34H0011 0100B CLR 2AH ;2AH25H225H30H0011 0000B
sd
2 CPL bit;bit CPL C; CY bitCY
MOV25H, #5DH CPL2BH CPLP1.2;(25H)=0101 1101B;(25H)=0101 0101B; P1.2
sd
3 SETBbit;bit 1 SETBC; CY 1 CY1
P149H0100 1001B SETBP1.7 P1C9H1100 1001B
sd
1 ANL C,bit; CY CYbit ANL C,/bit; CY CY CYCY/bit
sd
4-7 ANLa) ANL C,bit b) ANL C,/bit
sd
&
(bit)
CY
(a)
CY
(bit)
(b)
&
CY
CY
1
7FH=1ACC.7=1C1C0 MOVC,7FH ;CY7FH ANLC,ACC.7;CYCY ACC.7
sd
2 ORL C,bit;CY CY bit ORL C,/bit;CY CY /bit CYCY
sd
4-8 ORL
sd
7FHACC.7 MOV C,7FH ORL C,ACC.7 ;CY
sd
CY1CY JC rel JNC rel CY10PCPCPC2; CY= 1PCPCrel; CY= 0PCPCrel
sd
JC rela)JNC relb)
4-9 JCJNCaJC relbJNC rel
sd
rel ADD A,#30H ; C JC L2;C=1L2L1:L2:
sd
2 JB bit,rel ;bit=1PCPC+rel JNB bit,rel ;bit=0PCPC+rel JBC bit,rel ;bit=1PCPC+rel bit0
sd
a)b)c)
4-10 JBJNBJBCa) JB bit,rel b) JNB bit,rel c) JBC bit,rel
sd
rel MOV P1, #0CAH MOV A, #56H JB P1.2, L1 JNB ACC.3, L2 L1: L2: ;P10CAH11001010B;A56H01010110B; P1.2=0 ; ACC.3=0 L2
sd
MOV A,#43H JBC ACC.2,L1 JBC ACC.6,L2 L1: L2: L2ACC.30ACC.6=10; A 43H01000011B; ACC.2=0 ;ACC.6=1 L2,ACC.6 0
sd
4.8
sd
4-5
sd
11
2
sd
1PCLJMPAJMPSJMP JMP
sd
1 LJMP addr16 ;PCaddr16 16PC8816bit64KB
sd
0000H LJMP 0100H 0100H
sd
2 AJMP addrll ;PCPC+2PC15~11PC10~0addr10~0 85673a10~a8AJMPPC2AJMP2KB2KB
sd
38PC11PC5PC22KB
4-11 AJMP
sd
3 SJMP rel ;PCPC2PCPCrel rel8 PC128127
sd
4 JMP@A+DPTR; PCA+DPTR 8DPTR16PC168
sd
JMP@A+DPTR; PCA+DPTR 3 DPTRADPTR256
sd
LJMP AJMP SJMP AJMPSJMPLJMPLJMPAJMPSJMP
sd
2-128+127
sd
2
sd
1 JZ rel ; 0 JNZ rel ; 0
PCPC2
sd
JZ rel JNZ rel 4-12 JZJNZ
sd
MOVA,P0 ; P0AJZL1 ; A0A=0L1DECA ; A1L1:
sd
2 CJNErelPCPC3 PC0
sd
4RAM4-13 4-13 CJNE
sd
addr8
()
A
()
#data8
()
Rn
()
@Ri
()
4CJNE A,#data8,rel CJNEA,addr8,relCJNE@Ri,#data8,relCJNERn,#data8,rel
sd
CJNEPCPCPC3PC3PC31271284-14 CJNE
sd
R7=53H CJNE R7,#68H,K1 ; R768HK1CY1 ; K1 : JC K3 ; CY=1R768HK3 K3:
sd
3 DJNZ,rel 10100 00H0FFH
sd
DJNZdirect, relDJNZRn, rel 4-15 DJNZ DJNZ
sd
DJNZ CPUCPU
sd
DJNZ DJNZ12MHz2449usP1.050s CLRP1.0; P1.7 MOVR2,#18H; HERE : DJNZ R2,HERE ;R2 R21, SETBP1.0 ; P1.7
sd
DJNZ R0R120H256CLRA; A0SUMC:ADDA,@R1; INCR1; 1DJNZ R0,SUMC; 10MOV20H,A; 20H
sd
12NOP
sd
sd
STC15F2K60S2LCALLACALLRET
sd
1
LCALL addr16 ;
LJMP1664KB LCALL STR STR PC PC3 SPSP+1SPPC7~0 SP SP+1 SPPC15~8 PC addr16
sd
2
ACALL addr11
112KB2KBLCALL PC PC2SPSP+1SPPC7~0SPSP+1SPPC15~8PC10~0 addr11PC15~11
sd
3 RET
RETLCALLACALL PC15~8SP SPSP1 PC7~0SP SPSP1
sd
4
RETI
RET
sd
5NOP
NOP PCPC1
PC1
sd
NOPLOOP:CLRP2.7;P2.70NOP;NOP NOPNOPSETBP2.7;P2.7 NOPNOP;NOPNOP LJMPLOOP
sd
4.9 CPUPseudo-InstructionCPUMOV A#30H30HA
sd
1ORGORIGIN ORG xxxxH ORGxxxxxxxxH
sd
ORG 0000H0000H ORG 0000HSTART:LJMP MAIN MOV A,#00H ORG 0100HDELAY:MOV R0,#30H
sd
ORGPC0000H0000HORG 0000HDELAY ORG 0100H0100HORG 0100HDALAY
sd
2 [] [] []
sd
DBDW1DBDefine Byte [] DB ASCIIASCII 1
sd
2DWDefine Word
DW2
sd
ORG1000HSEG DB 23H; DW1000H; DBMCS-51; END 1000H=23HSEG1000H 1001H=00H 1002H=10H 1003H=4DHMASCII 1004H=43H C ASCII 1005H=53HS ASCII 1006H=2DH-ASCII 1007H=35H 5ASCII 1008H=31H 1ASCII
sd
DBDWASCII
sd
DDecimalBBinary10101001BHHexadecimal09AF0ASCIIA8
sd
*/000FFH
sd
3EQUEquate EQU
EQUEQU
sd
4-9 COLUMN EQU 32H ROW EQU 68H BUFFER DB MOV A#COLUMN MOV B#ROW MUL AB MOV BUFFERA MOV BUFFER+1,B COLUMN ROW BUFFERBUFFER+1COLUMN ROW
sd
EQU
sd
4DATA DATA
RAM00H0FFH BUFFER DATA 40H
sd
5XDATAExtenal Data XDATA
RAM0000H0FFFFH MYDATA XDATA 0100H
sd
6BIT BIT
DOGOUT BIT P3.4 DOGOUTP3.4
sd
7INCLUDEINCLUDE.INCC#include $INCLUDE ()
sd
STC15F2K60S2STC15.INC $INCLUDE (STC15.INC)STC15F2K60S2 MOV CMOD,#10000000B ;PCA
sd
8: IF [ 1 ] [ ELSE ] [ 2 ] ENDIF
sd
IF1IF2IF63Keil uVision10IF ELSEIFELSE
sd
9 END []ENDEND
sd
sd
RAM
sd
$INCLUDE (STC12.INC) ;STC15F2K60S2;------EQUDATABIT ORG0000HSTART: LJMPMAIN ; ORG0003H LJMPINT0_ISR ;0 ORG000BH LJMPT0_ISR ;0 ORG0013H LJMPINT1_ISR ;1 ORG001BH LJMPT1_ISR ;1 ORG0023H LJMPUART1_ISR ;1
sd
ORG002BH LJMPADC_ISR ;ADC ORG0033H LJMPLVD_ISR ; ORG003BH LJMPPCA_ISR ;PCA ORG0043H LJMPUART2_ISR;2 ORG004BH LJMPSPI_ISR ;SPI
sd
ORG0053H LJMPINT2_ISR;INT2 ORG005BH LJMPINT3_ISR ;INT3 ORG0063H LJMPT2_ISR ;2 ORG0083H LJMPINT4_ISR ;INT4
sd
ORG0100HMAIN: MOVSP,#70H ; ; ;SFR;MAINLOOP: ; LJMP MAINLOOP
sd
;INT0_ISR: ;0 ;RETIINT1_ISR: ;1 ;RETIT0_ISR: ;0 ;RETIT1_ISR: ;1 ;RETIUART1_ISR: ;1 ;RETI
sd
UART2_ISR:;2 ;RETIADC_ISR: ;ADC ;RETISPI_ISR:;SPI ;RETILVD_ISR:; ;RETIPCA_ISR:;PCAPWM ;RETI ;
sd
INT2_ISR: ;INT2 ; RETIINT3_ISR: ;INT3 ; RETIT2_ISR: ;2 ; RETIINT4_ISR: ;INT4 ; RETI; END
sd
0003H000BH0013H001BH0023H 002BH0033H003BH0043H004BH0053H005BH0063H0083H0100HMAINMAIN ORG 0100HMAIN0100H
sd
0003H0083H0000H
sd
sd
sd
4-16
sd
4-17
sd
123456
sd
1 JZJNZCJNEDJNZJCJNCJBJNBJBC
sd
4-9xR0y SIGNCJNECJC
sd
SIGN EQU 50HORG0000HLJMPMAINORG 0100HMAIN:CJNE R0,#37,NOTEQ ;R037NOTEQMOV SIGN,#00H ;,SIGN0LJMP ENDMNOTEQJC NEG ;,R037NEGMOV SIGN,#01H ;R037,SIGN+1LJMP ENDMNEG MOV SIGN,#0FFH ;R037,SIGN-1ENDMNOPEND
sd
2
sd
LEDLEDMOVC A@ADPTR
sd
ALEDLED MOVDPTR, #SEGTAB; MOVCA,@A+DPTR; ;SEGTABDB0C0H ;0 DB0F9H;1 DB0A4H;2 DB0B0H;3 DB99H;4 DB92H;5 DB82H;6 DB0F8H;7 DB80H;8 DB90H;9
sd
34-18
sd
MOV R7,#150 ;2LOOP DJNZ R7,LOOP;4 RET
STC15F2K60S21T80516MHz1/6us0.1msNOP
sd
0.1ms0.125.5msN0.1msR0
DELAY:MOV R7, #150 ;6MHz0.1ms LOOPDJNZ R7,LOOP DJNZ R0,DELAY RET
sd
4 BCD1BCD DA AADDADDC9AH
sd
R1R0R2R0R3 07H01
sd
SUBCD MOV R3,#00H;0 CLR 07H;0 CLR C;C0SUBCD1: MOV A,#9AH SUBB A,@R0; ADD A,@R1 DA A MOV @R0,A INC R0;1 INC R1 INC R3;1
sd
CPL C ; DJNZ R2,SUBCD1 ; JNCSUBCD2 ;SUBCD2 SETB 07H;1SUBCD2: RET;
sd
DA AC=0C=1
sd
BCD8943H - 7649H=? 10011010 9A 01001001 49 01010001 4910051 + 01000011 43 0 10010100 94
C=0C=1
sd
10011010 9A 01110110 76 00100100 7610024 00000001 C=1 00100011 123 10001001 89 10101100 + 01100110 66 1 00010010 12
sd
C=0C=1C=01294H
sd
2STC15F2K60S2MUL AB81616
sd
16R2R3R6R733H32H31H30H(R3R7)LR3R78(R3R7)HR3R78
4-19
sd
DMUL MOV A,R3 MOV B,R7 MUL AB ;R3R7 MOV 30H,A ;(30H) (R3R7)L MOV 31H,B ;(31H) (R3R7)H MOV A,R2 MOV B,R7 MUL AB ;R2R7 ADD A,31H ;(R3R7)H+(R2R7)L MOV 31H,A CLR A ADDC A,B MOV 32H,A ;(32H) (R2R7)H
sd
MOV A,R3MOV B,R6MUL AB ;R3R6ADD A,31HMOV 31H,AMOV A,BADDC A,32H ;(R2R7)H+(R3R6)HMOV 32H,AMOV F0,C ;Cy
sd
MOV A,R2MOV B,R6MUL AB ;R2R6ADD A,32HMOV 32H,ACLR AMOV ACC.0,CMOV C,F0 ;ADDC A,BMOV 33H,ARET
sd
5
sd
RAM 30H~37HR707HF0F0=0F0=1R0RAM30H4-20
sd
SORT: MOV R6,#07HGOON: CLR F0 ;0 MOV R0,#30H ;R0 MOVA,R6 MOV R7,A ;R7LOOP: MOV A,@R0 ; MOV3BH,A ; INC R0 MOV 3AH,@R0 ; CLR C CJNE A,3AH,EXCH LJMP NEXT
sd
EXCH: JC NEXT ; MOV @R0,3BH DEC R0 MOV @R0,3AH ; INC R0 SETB F0 ;NEXT: DJNZ R7,LOOP ; JNBF0,DONE ; DJNZR6,GOON;DONE: RET;
sd
6/A/DD/ABCDASCII
sd
14ASCIIASCII41030HASCII101037H4R2ASCIIR2
sd
3BCDBCD4R1R2R2R1BCD100003E8H100=0064H10=000AHBCD
sd
BCDR1R2 R1 R2
20H21H20H21H
sd
BCDB11:MOV20H,#00H MOV 21H,#00H ;0 MOV R3,#0E8H MOV R4,#03H ;1R3R4 MOV A,R2 ANL A,#0F0H ; SWAP A ; JZ BRAN1 ;0BRAN1LOOP1: DEC A LCALL ADDT ;0 JNZ LOOP1
sd
BRAN1:MOV R3,#64H MOV R4,#00H ;R3R4 MOV A,R2 ANL A,#0FH ; JZ BRAN2 ;0BRAN2LOOP2: DEC A LCALL ADDT JNZ LOOP2 ;
sd
BRAN2: MOV R3,#0AH MOV A,R1 ANL A,#0F0H ; SWAPA JZ BRAN3 ;0BRAN3LOOP3: DEC A LCALL ADDT JNZ LOOP3 ;BRAN3: MOV A,R1 ANL A,#0FH MOV R3,A LCALL ADDT RET
sd
ADDT: PUSH PSWPUSHACC CLR C MOV A,20H ;20H21H ADD A,R3 ; MOV 20H,A MOV A,21H ADDC A,R4 MOV 21H,A POPACC POP PSW RET
sd
7STC15F2K60S216DPTR0DPTR1DPTRAUXR1DPSDPS0DPTR0DPS1DPTR1AUXR1
sd
DPSDPTR0DPTR0 1DPTR1
D7D6D5D4D3D2D1D0S1_S1S1_S0CCP_S0CCP_S1SPI_S1SPI_S00DPS
sd
4-10RAM0000H000FH0040H004FHDPTR0DPTR1
sd
AUXR1 DATA 0A2HORG0000HLJMPMAINORG 0100HMAIN:MOV SP,#30H; MOV R2,#10H; ANL AUXR1,#0FEH;DPS.0=0,DPTR0 MOV DPTR,#0000H; ORL AUXR1,#01H;DPS.0=1,DPTR1 ;INC AUXR1 MOV DPTR,#0040H;LOOP: ANL AUXR1,#0FEH ;INC AUXR1 MOVX A,@DPTR INC DPTR ; ORL AUXR1,#01H ;INC AUXR1 MOVX @DPTR,A INC DPTR ; DJNZ R2,LOOP SJMP$ ;$SJMP $HERE: SJMP HERE END
sd
8STC15F2K60S2FlashEEPROMSTC15F2K60S21KBFlashEEPROM
sd
ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP, #70H ; 70H LCALL Delay ; ;EEPROMMAIN1: MOV DPTR, #START_ADDRESS ;EEPROMDPTR LCALL Byte_Read MOV 40H, A ;EEPROM 40H CJNE A, #DEBUG_DATA, NOT_EQU_DEBUG_DATA ;,;, LCALL Delay ; SJMP $ ;CPU
sd
NOT_EQU_DEBUG_DATA:;EEPROM;EEPROM, LCALL Delay ; MOV DPTR,#START_ADDRESS ;EEPROMDPTR LCALL Sector_Erase ; MOV DPTR, #START_ADDRESS ;EEPROMDPTR MOV A, #DEBUG_DATA ; EEPROM #DEBUG_DATA LCALL Byte_Program ; SJMP $ ;,CPU
sd
;--------- -------------------------------- ;IAP:DPTR=:A=Byte_Read: MOV IAP_CONTR,#ENABLE_IAP ;IAP,Flash MOV IAP_CMD,#ISP_IAP_BYTE_READ ;IAP/ISP MOV IAP_ADDRH, DPH ;8 MOV IAP_ADDRL, DPL ;8 MOV IAP_TRIG, #5AH ;5AH,A5HISP/IAP MOV IAP_TRIG, #0A5H ;A5HISP/IAP NOP MOV A,IAP_DATA ;IAP_DATA,A LCALL IAP_Disable ;IAP, RET
sd
;------------------- ------------------------ ;IAP:DPTR=, A=Byte_Program: MOV IAP_CONTR, #ENABLE_IAP;IAP, Flash MOV IAP_CMD, #ISP_IAP_BYTE_PROGRAM ; MOV IAP_ADDRH, DPH ;8 MOV IAP_ADDRL, DPL ;8 MOV IAP_DATA, A ;ISP_DATA MOV IAP_TRIG, #5AH ;5AH,A5HISP/IAP MOV IAP_TRIG, #0A5H ;A5HISP/IAP NOP LCALL IAP_Disable ; IAP , RET
sd
;------------------- ------------------------ ;IAP:DPTR=, A=Byte_Program: MOV IAP_CONTR, #ENABLE_IAP;IAP, Flash MOV IAP_CMD, #ISP_IAP_BYTE_PROGRAM ; MOV IAP_ADDRH, DPH ;8 MOV IAP_ADDRL, DPL ;8 MOV IAP_DATA, A ;ISP_DATA MOV IAP_TRIG, #5AH ;5AH,A5HISP/IAP MOV IAP_TRIG, #0A5H ;A5HISP/IAP NOP LCALL IAP_Disable ; IAP , RET
sd
;------------------- ------------------------ ;IAP:DPTR=, A=Byte_Program: MOV IAP_CONTR, #ENABLE_IAP;IAP, Flash MOV IAP_CMD, #ISP_IAP_BYTE_PROGRAM ; MOV IAP_ADDRH, DPH ;8 MOV IAP_ADDRL, DPL ;8 MOV IAP_DATA, A ;ISP_DATA MOV IAP_TRIG, #5AH ;5AH,A5HISP/IAP MOV IAP_TRIG, #0A5H ;A5HISP/IAP NOP LCALL IAP_Disable ; IAP , RET MOVCMOVCFlashF000H~F3FFH
sd
4.10
Keil uVision
sd
KeilKeilHEX
sd
sd
4.11ISPISP
4-41 STC15F2K60S2ISP
sd
ISPP3.0P3.1RS-485P3.2/P3.3=0/0ISPISPISPms~ms
sd
ISP P3.2P3.30P3.2P3.3050uSP3.2P3.30ISPISP
sd
ISP
sd