If you can't read please download the document
Upload
wood
View
151
Download
6
Embed Size (px)
DESCRIPTION
第四章 指令系统 及汇编语言程序设计 本章学习目标 了解助记符、指令格式 掌握单片机寻址方式 掌握单片机指令系统 掌握单片机汇编语言程序设计及开发环境. 第四章 指令系统及汇编语言程序设计语言. 4.1 编程语言 4.2 指令格式及其分类 4.3 寻址方式 4.4 数据传送类指令 4.5 逻辑操作类指令 4.6 算术运算类指令 4.7 位操作指令 4.8 控制类转移指令 4.9 汇编语言程序设计 4.10 汇编语言程序调试 4.11 利用 ISP 工具将程序下载到单片机中验证程序. - PowerPoint PPT Presentation
Citation preview
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