¡¶µ¥Æ¬»úÔ­Àí¼°Ó¦Ó᪻ùÓÚProteusºÍKeil C¡· ¿Îºó´ð°¸Ï°Ìâ½â´ð

DJNZ SJMP

R7, CONT $

;¼ÆÊýÆ÷¼õ1£¬·Ç0£¬Ôò¼ÌÐø ;ÔÝÍ£

4£®±à³Ì²éÕÒÄÚ²¿RAMµÄ32H¡«41Hµ¥ÔªÖÐÊÇ·ñÓÐ0AAHÕâ¸öÊý¾Ý£¬ÈôÓÐÕâÒ»Êý¾Ý£¬Ôò½«50Hµ¥ÔªÖÃΪ0FFH£¬·ñÔò½«50Hµ¥ÔªÇåÁã¡£

½â£ºÉèÒ»¸öƬÄÚRAMÖ¸ÕëR0£¬ÏÈÖ¸ÏòÊ×µØÖ·32H£¬±È½Ï@R0Óë#0AAH£¬ÈôÏàµÈ£¬ÔòÍ˳öÑ­»·£¬¸ø50Hµ¥Ôª¸³0FFH£¬Èô²»ÏàµÈ£¬ÔòR0¼Ó1Ϊ¼ÌÐø±È½ÏÏÂÒ»¸ö×Ö½Ú×ö×¼±¸£¬Ö±µ½´ïµ½µØÖ·Îª41H»ò´ïµ½¼ÆÊýÆ÷¹æ¶¨µÄ16¸ö×Ö½ÚΪֹ»¹Ã»ÕÒµ½£¬Ôò¸ø50Hµ¥Ôª¸³00H ³ÌÐò1£º ÒÆ

MOV SJMP DJNZ MOV SJMP END

A,#0FFH

;ÏàµÈ£¬Ôò×¼±¸ºÃÒª¸³µÄ±êÖ¾Öµ0FFH ;ת´æµ½±£´æ½á¹û´¦ ;Ð޸ĵØÖ·Ö¸Õë

;¼ÆÊýÆ÷¼õ1£¬·Ç0£¬Ôò¼ÌÐø

;²éÕÒʧ°Ü£¬Ôò½«00H´æÈë½á¹û±êÖ¾µ¥Ôª ;½«±È½Ï½á¹û±êÖ¾´æÈë50Hµ¥Ôª

DOWN R0 $ R7,CONT

50H,A

MOV MOV SJMP CJNE MOV SJMP END MOV MOV

R7,#16 R0,#32H

;¼ÆÊýÆ÷¸³³õÖµ£¬´Ó20Hµ½30H¹²16¸ö×Ö½Ú

;±È½Ï²éÕÒÖµÓëÖ¸ÕëËùÖ¸µ¥ÔªµÄÖµ£¬²»ÏàµÈת

R0,#32H A,#0FFH

;ÉèµØÖ·Ö¸Õë³õÖµ

;ÏàµÈ£¬Ôò×¼±¸ºÃÒª¸³µÄ±êÖ¾Öµ0FFH ;ת´æµ½±£´æ½á¹û´¦ ;Ð޸ĵØÖ·Ö¸Õë

;ÈôÖ¸ÕëδԽ¹ýÖյ㣬Ôò¼ÌÐø

;²éÕÒʧ°Ü£¬Ôò½«00H´æÈë½á¹û±êÖ¾µ¥Ôª ;½«±È½Ï½á¹û±êÖ¾´æÈë50Hµ¥Ôª

CONT: CJNE

@R0,#0AAH,NEXT;±È½Ï²éÕÒÖµÓëÖ¸ÕëËùÖ¸µ¥ÔªµÄÖµ£¬²»ÏàµÈ×ªÒÆ DOWN R0 $

NEXT: INC

R0,#42H,CONT

A,#00H 50H,A

DOWN: MOV

;ÔÝÍ£

³ÌÐò2£º

;ÉèµØÖ·Ö¸Õë³õÖµ

CONT: CJNE @R0,#0AAH,NEXT

NEXT: INC

A,#00H

DOWN: MOV

;ÔÝÍ£

5£®²éÕÒ20H¡«4FHµ¥ÔªÖгöÏÖ00HµÄ´ÎÊý£¬²¢½«²éÕÒ½á¹û´æÈë50Hµ¥Ôª¡£ ½â£º´Ó20Hµ½4FH¹²48¸ö×Ö½Ú

MOV

R7,#48

;×Ö½Ú¼ÆÊýÆ÷¸³³õÖµ

MOV

R0,#20H

R6

;ÉèµØÖ·Ö¸Õë³õÖµ

;ÏàµÈ£¬0µÄ¸öÊý¼ÆÊýÆ÷¼Ó1

CONT: CJNE

INC

@R0,#00H,NEXT ;±È½Ï²éÕÒÖµÓëÖ¸ÕëËùÖ¸µ¥ÔªµÄÖµ£¬²»ÏàµÈ×ªÒÆ

NEXT: INC

DJNZ MOV SJMP END

R0 $

;Ð޸ĵØÖ·Ö¸Õë

;¼ÆÊýÆ÷¼õ1£¬·Ç0£¬Ôò¼ÌÐø

;±£´æOµÄ¸öÊý¼ÆÊýÖµµ½50Hµ¥Ôª ;ÔÝÍ£

R7,CONT

50H,R6 END

6£®ÒÑÖªA=83H£¬R0=17H£¬(17H)=34H£¬Ð´³öÏÂÁгÌÐò¶ÎÖ´ÐÐÖ®ºóµÄAÖеÄÄÚÈÝ¡£ ANL ORL XRL CPL A

END

ANL ORL XRL CPL

A

A,#17H 17H,A A,@R0

;A=03H

;A= 0000 0011 ¡Å 0011 0111 =0011 0100

´ð£º

;(17H)=0011 0100 ¡Å 0000 0011=0011 0111 ;A=1100 1011

A,#17H 17H,A A,@R0

7£®ÒÑÖªµ¥Æ¬»úµÄ¾§ÕñƵÂÊΪ12MHz£¬·Ö±ðÉè¼ÆÑÓʱΪ0.1s¡¢1sµÄ×Ó³ÌÐò¡£

´ð£ºÒÑÖªµ¥Æ¬»úµÄ¾§ÕñƵÂÊΪ12MHz£¬Ôò»úÆ÷ÖÜÆÚΪ1us£¬ÑÓʱ×Ó³ÌÐòÊÇͨ¹ýÖ´ÐÐÖ¸ÁîÐòÁÐÖлúÆ÷ÖÜÆÚÊýÀ´´ïµ½£¬Èç¹ûÒª0.1s£¬¼´100ms£¬Ò²¾ÍÊÇ100000us£¬ËùÒÔÐèÒª»úÆ÷ÖÜÆÚÊý´ïµ½100000¡£ÒªÑÓʱ´ïµ½1S£¬¿Éͨ¹ý¶ÔÑÓʱΪ0.1ÃëµÄ×Ó³ÌÐòµ÷ÓÃ10´ÎÀ´ÊµÏÖ¡£ DELAY100MS: D1: D2:

DELAY1S: LOOP:

MOV DJNZ RET

R7,#10

;¼ÆÊý10´Î

1 99795+2

ACALL DELAY100MS

R7,LOOP

;ÑÓʱ100ms×Ó³ÌÐò

NOP

MOV R6,#200

;1¸ö»úÆ÷ÖÜÆÚ

MOV R7,#250

;1¸ö»úÆ÷ÖÜÆÚ

;1¸ö»úÆ÷ÖÜÆÚ

DJNZ R7,D2 ;2¸ö»úÆ÷ÖÜÆÚ£¬3*251=753

DJNZ R6,D1 ;2¸ö»úÆ÷ÖÜÆÚ£¬(1+753+2)*132=99792 RET

;2¸ö»úÆ÷ÖÜÆÚ£¬1+99792+2=99795,Ô¼100ms

;δ´ïµ½10´ÎÔò¼ÌÐø 10*(2+99795+2) ;·µ»Ø2+10*(2+99795+2)=997992

8£®ÄÚ²¿RAM´Ó20Hµ¥Ôª¿ªÊ¼´¦ÓÐÒ»Êý¾Ý¿é£¬ÒÔODHΪ½áÊø±êÖ¾£¬ÊÔͳ¼Æ¸ÃÊý¾Ý¿éµÄ³¤¶È£¬½«¸ÃÊý¾Ý¿éË͵½ÍⲿÊý¾Ý´æ´¢Æ÷7E01H¿ªÊ¼µÄµ¥Ôª£¬²¢½«³¤¶È´æÈë7E00Hµ¥Ôª¡£ ½â£º´Ó20HµÄÖ¸ÕëÓÃR0£¬´ÓÍⲿRAM7E01¿ªÊ¼µÄÖ¸ÕëÓÃDPTR£¬¼ÆÊýÆ÷ÓÃR7

MOV MOV MOV

R7,#0

;×Ö½Ú¼ÆÊýÆ÷¸³³õÖµ ;ÉèÆ¬ÍâRAMµØÖ·Ö¸Õë³õÖµ

R0,#20H

;ÉèÆ¬ÄÚRAMµØÖ·Ö¸Õë³õÖµ

DPTR,#7E01H

CONT: MOV

INC INC INC CJNE MOV SJMP END

A,@R0

;ȡƬÄÚRAMÖеÄÒ»¸ö×Ö½Ú

MOVX @DPTR,A

R7 R0 DPTR $

;´æÈëÆ¬ÍâRAMÖ¸ÕëËùÖ¸µ¥Ôª ;³¤¶È¼ÆÊýÆ÷¼Ó1 ;ƬÄÚRAMµØÖ·Ö¸Õë¼Ó1 ;ƬÍâRAMµØÖ·Ö¸Õë¼Ó1 ;δ´ïµ½½áÊø±êÖ¾

;È¡¿é¼ÆÊý³¤¶ÈÖµ ;±£´æ ;ÔÝÍ£

A,#0DH,CONT

A,R7

MOVX @DPTR,A

9£®ÄÚ²¿RAM´ÓDATA¿ªÊ¼µÄÇøÓòÖдæ·Å×Å10¸öµ¥×Ö½ÚÊ®½øÖÆÊý£¬ÇóÆäÀۼӺͣ¬²¢½«½á¹û´æÈëSUMºÍSUM+1µ¥Ôª¡£

½â£ºR7¼ÆÊý£¬R6±£´æÀۼӺ͸ß8룬R0ÓÃ×÷µØÖ·Ö¸Õë

ORG LJMP ORG

A A NEXT R6 R0 $

;ÈôÎÞ½øÎ»Ôò²»Óùܸß8λ ;ÓнøÎ»£¬¸ß8λ¼Ó1 ;ƬÄÚRAMµØÖ·Ö¸Õë¼Ó1 ;δÍê¼ÌÐø

;±£´æµÍ8λ ;±£´æ¸ß8λ

0000H 100H 40H R7,#10

;×Ö½Ú¼ÆÊýÆ÷¸³³õÖµ ;ÉèÆ¬ÄÚRAMµØÖ·Ö¸Õë³õÖµ ;ÀÛ¼Ó½á¹ûµÄ¸ß8λ

;¼ÓRAMÖеÄÒ»¸ö×Ö½Úµ½ACC

R0,#DATAA R6,A

30H

MAIN

SUM

EQU

DATAA EQU MAIN: MOV

MOV CLR MOV DA JNC INC DJNZ MOV MOV SJMP END

;ÀÛ¼ÓÆ÷Çå0

CONT: ADD A,@R0

NEXT: INC

R7,CONT

SUM,A SUM+1,R6

;ÔÝÍ£

10£®ÄÚ²¿RAM´ÓDATA1ºÍDATA2µ¥Ôª¿ªÊ¼´¦´æ·Å×ÅÁ½¸öµÈ³¤µÄÊý¾Ý¿é£¬Êý¾Ý¿éµÄ³¤¶ÈÔÚLENµ¥ÔªÖС£Çë±à³Ì¼ì²éÕâÁ½¸öÊý¾Ý¿éÊÇ·ñÏàµÈ£¬ÈôÏàµÈ£¬½«0FFHдÈëRESULTµ¥Ôª£¬·ñÔò½«0дÈëRESULTµ¥Ôª¡£

½â£º´ÓDATA1¿ªÊ¼µÄÖ¸ÕëÓÃR0£¬´ÓDATA2¿ªÊ¼µÄÖ¸ÕëÓÃR1£¬¼ÆÊýÆ÷ÓÃR7 LEN

EQU

10 30H

DATA1 EQU

DATA2 EQU RESULT EQU

MOV MOV MOV MOV CJNE INC INC DJNZ MOV SJMP

40H 50H R7,#LEN

;×Ö½Ú¼ÆÊýÆ÷¸³³õÖµ

;ÉèÆ¬ÄÚRAMµØÖ·Ö¸Õë³õÖµ ;ÉèÆ¬ÍâRAMµØÖ·Ö¸Õë³õÖµ ;ȡƬÄÚRAM R0ËùÖ¸µÄµÄÒ»¸ö×Ö½Ú

;½«R1ËùÖ¸µ¥ÔªÄÚÈÝÈ¡µ½Æ¬ÄÚRAMµØÖ·7FHÖÐ

R0,#DATA1 R1,#DATA2 A,@R0 7FH,@R1

CONT: MOV

A,7FH,NOEQ R0 R1 $

;±È½Ï£¬²»ÏàµÈÔò½áÊø ;DATA1 RAMµØÖ·Ö¸Õë¼Ó1 ;DATA2 RAMµØÖ·Ö¸Õë¼Ó1 ;δÍ꣬¼ÌÐø ;ÏàµÈ,×¼±¸Ð´ÈëFFH ;תдÈë½á¹û´¦ ;²»ÏàµÈ,×¼±¸Ð´Èë00H

;±£´æ±È½Ï½á¹û±êÖ¾ ;ÔÝÍ£

R7,CONT DOWN

A,#0

A,#0FFH

NOEQ: MOV DOWN: MOV

SJMP END

RESULT,A

11£®±àÖÆ³ÌÐò£¬½«ÄÚ²¿RAMÖÐM1¡¢M2¡¢M3ºÍM4µ¥ÔªÖеÄÎÞ·ûºÅÊýxl¡¢x2¡¢x3ºÍx4Ïà¼Ó£¬²¢°ÑºÍ´æÈëROºÍR1(R0ÖÐΪ¸ß8λ)ÖС£ ½â£º M1 M2 M3 M4

EQU EQU EQU EQU MOV ADD JNC MOV JNC INC JNC INC SJMP END

30H 40H 45H 4FH A,M1 A,M2 R0,#1 A,M3

;È¡µÚÒ»¸öÊý ;ÓëµÚ¶þ¸öÊýÏà¼Ó ;ÓнøÎ»£¬¸ß8λÖÃ1 ;ÓëµÚÈý¸öÊýÏà¼Ó

NEXT1 ;Èç¹ûÎÞ½øÎ»£¬Ôò×ªÒÆÖÁµÚÈý¸öÏà¼Ó

NEXT1: ADD

NEXT2 R0

A,M4

;ûÓнøÎ»£¬ÔòתÖÁµÚËĸöÊýÏà¼Ó ;ÓнøÎ»£¬¸ß8λ¼Ó1

;ÓëµÚËĸöÊýÏà¼Ó ;ûÓнøÎ»£¬ÔòתÖÁ½áÊø ;ÓнøÎ»£¬¸ß8λÔÙ¼Ó1

;µÍ8λ±£´æµ½R1 ;ÔÝÍ£

NEXT2: ADD

NEXT3 R0 $

R1,A

NEXT3: MOV

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)