Transcript
  • 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

  • ASCB1MOVA,R2 ANL A,#0FH;4 CJNEA,#0AH,NOTA ;CYANOTA: JC LOOP;
  • 2ASCII4ASCIIR2R2BCDB1MOVA,R2 CLRC SUBBA,#30H ;ASCII30H MOVR2,A ;R2 SUBBA,#0AH JC LOOP ;
  • 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

  • 4-11Flash$INCLUDE (STC15.INC) ;STC15F2K60S2;ISP/IAP ISP_IAP_BYTE_READ EQU 1H ;ISP_IAP_BYTE_PROGRAM EQU 2H ;ISP_IAP_SECTOR_ERASE EQU 3H ;;FlashIAP/ISPIAP_CONTRENABLE_IAP EQU 82H ;
  • 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


Recommended