DJNZ R7,LOOP
SJMP $
7£®ÉèÓÐÁ½¸ö³¤¶ÈΪ15µÄÊý×飬·Ö±ð´æ·ÅÔÚ0200HºÍ0500HΪÊ×Ö·µÄ´æ´¢ÇøÓòÖУ¬ÊÔ±àд³ÌÐòÇóÆä¶ÔÓ¦ÏîÖ®ºÍ£¬½á¹û´æ·ÅÔÚÒÔ0600HΪÊ×Ö·µÄ´æ´¢ÇøÓòÖС£
MOV R7,#15
MOV R0,#00H CLR C
LOOP:
MOV P2,,#02H MOVX A,@R0 MOV B,A MOV P2,#05H MOVX A,@R0 ADDC A,B
MOV P2,#06H MOVX @R0,A INC R0
DJNZ R7,LOOP SJMP $
8£®·Ö±ðÓÃÊý¾Ý´«ËÍÖ¸ÁîºÍλ²Ù×÷Ö¸Áî±àд³ÌÐò£¬½«ÄÚRAMλѰַÇøµÄ128λµ¥ÔªÈ«²¿ÇåÁã¡£
MOV R0,#20H
MOV R1,#0FH MOV A,#00H
LOOP: MOV @R0,A
INC R0
DJNZ R1,LOOP SJMP $
9£®±à³ÌÇóÄÚ²¿RAMÖÐ40H¡«49H10¸öµ¥ÔªÖеÄÄÚÈݵÄƽ¾ùÖµ£¬²¢·ÅÈË4AHµ¥ÔªÖС£
START£ºMOV R3,#0
MOV R4,#0
MOV MOV
LOOP£º MOV
ADD
MOV
R2,#10 R0,#40H A£¬R3 A£¬@R0 R3£¬A
CLR A
ADDC A£¬R4
MOV R4£¬A INC R0
DJNZ R2£¬LOOP
£»µ÷Óõ¥×Ö½ÚÎÞ·ûºÅ³ý·¨³ÌÐò¼´¿É
13
10£®ÉèÄÚ²¿RAMÖÐ30HºÍ31Hµ¥ÔªÖÐÓÐ2¸ö´ø·ûºÅÊý£¬Çó³öÆäÖеĴóÊý´æ·ÅÔÚ32µ¥ÔªÖС£
CLR C
MOV A,30H SUBB A,31H JZ XMAX
JB ACC.7,NEG JB SJMP
NEG: JB YMAX: MOV
SJMP
XMAX: MOV RMAX: MOV
OV,YMAX XMAX OV,XMAX A,31H RMAX A,30H 32H,A
RET
11£®ÇëÓÃλ²Ù×÷Ö¸Áî±àдÏÂÃæÂß¼±í´ïʽֵµÄ³ÌÐò¡£ (1) P1.7=ACC.0¡Ä (B.0¡ÅP2.1)¡ÅP3.2 MOV C, B.0 ORL C, P2.1
ANL C, ACC.0 ORL C, P3.2
MOV P1.7,C
(2) PSW.5=P1.3¡ÄACC.2¡ÅB.5¡ÄP1.1 (3) P2.3=P1.5¡ÄB.4¡ÅACC.7¡ÄP1.0
12£®Ê¹ÓÃλ²Ù×÷Ö¸ÁîʵÏÖÏÂÁÐÂß¼²Ù×÷£¬µ«²»µÃ¸Ä±äδÉ漰λµÄÄÚÈÝ¡£ (1) ʹACC.0Öá°1¡± SETB ACC.0
(2) Çå³ýÀÛ¼ÓÆ÷¸ß4λ CLR ACC.7 CLR ACC.6 CLR ACC.5 CLR ACC.4 (3) Çå³ýACC.3£¬ACC.5£¬ACC.7λ¡£
CLR ACC.7 CLR ACC.5 CLR ACC.3
13£®ÊÔ±à³Ì°ÑƬÍâRAM´Ó2040H¿ªÊ¼µÄÁ¬Ðø50¸öµ¥ÔªµÄÄÚÈÝ°´½µÐòÅÅÁУ¬½á¹û´æÈë3000H¿ªÊ¼µÄ´æ´¢ÇøÖС£
START£»MOV R0£¬#50
MOV DPTR£¬#2040H MOV R1,#20H
A£¬@ DPTR
MOV @ R1,A INC DPTR
LOOP: MOVX
INC R1
DJNZ R0£¬LOOP
14
ACALL SORT
MOV DPTR£¬#3000H MOV R1,#20H
LOOP: MOV A ,@ R1 MOVX @ DPTR, A
INC DPTR INC R1
DJNZ R0£¬LOOP SJMP $
14£®ÊÔ±àÒ»²é±í³ÌÐò£¬´ÓÊ×µØַΪ2000H£¬³¤¶ÈΪ100µÄÊý¾Ý±íÖУ¬²éÕÒ³öAµÄASCIIÂ룬½«ÆäµØÖ·´æÈë2010HºÍ2011Hµ¥ÔªÖС£
MOV R7,#100 MOV B,¡¯A¡¯
MOV DPTR£¬#2000H LOOP£º MOVX A,@DPTR CJNE A,B,NFIND SJMP FIND RET
NFIND£º INC DPTR DJNZ R7,LOOP FIND£º MOV 2010H,DPL MOV 2011H,DPH
RET
15£®Éè¼ÆÒ»¸ö¶à×Ö½ÚÎÞ·ûºÅÊý¼Ó·¨×Ó³ÌÐòºÍ¼õ·¨×Ó³ÌÐò¡£
N×Ö½ÚÎÞ·ûºÅÊý¼Ó·¨³ÌÐò ([R0]+[R1])=([R0]) ;Èë¿Ú: R0,R1,R7 ;Õ¼ÓÃ×ÊÔ´: ACC,B
;³ö¿Ú: R0,CF NADDN: MOV B,R0 CLR C
NADN1: MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0 INC R1
DJNZ R7,NADN1 MOV R0,B RET
;N×Ö½ÚÎÞ·ûºÅÊý¼õ·¨³ÌÐò ([R0]-[R1])=([R0]) ;Èë¿Ú: R0,R1,R7 ;Õ¼ÓÃ×ÊÔ´: ACC,B ;³ö¿Ú: R0,CF NSUBN: MOV B,R0 MOV R7,N CLR C
15
NSUBN1 : MOV A,@R0 SUBB A,@R1 MOV @R0,A INC R0 INC R1
DJNZ R7,NSUBN1 MOV R0,B
RET 16£®ÔÚ128·ÖÖ§³ÌÐòÖÐÊÇÓÃAJMPÖ¸ÁîʵÏÖ·Ö֧תÒƵġ£ÈôÓó¤×ªÒÆÖ¸ÁîLJMPÀ´´úÌæAJMPÖ¸ÁÒÔ±ã×Ó³ÌÐòÈë¿ÚµØÖ·¿ÉÔÚ64KB·¶Î§ÄÚ°²ÅÅ¡£ÊÔÐÞ¸ÄÔÀ´µÄ³ÌÐò£¬Ê¹Ö®ÄÜÊÊӦеÄÒªÇó¡££¿
Ð޸ĺóµÄ³ÌÐò×î¶àÄÜÓÐ256¸ö·ÖÖ§
MOV DPTR,#JPTAB
MOV A,R1 MOV B,#03 MUL AB PUSH A MOV A,B ADD A,DPH
POP AJMP @A+DPTR
JPTAB: LJMP PROGRAM0
LJMP PROGRAM1
LJMP PROGRAMN
Ï°ÌâÎå
Ò»¡¢Ñ¡ÔñÌâ
(1) MCS-51µ¥Æ¬»úÖжÏÔ´ºÍ¿ÉÉèÖõÄÖжÏÓÅÏȵȼ¶·Ö±ðΪ( B )¡£ A£®ÖжÏԴΪ2¸ö£¬ÖжÏÓÅÏȵȼ¶Îª2¸ö B£®ÖжÏԴΪ5¸ö£¬ÖжÏÓÅÏȵȼ¶Îª2¸ö C£®ÖжÏԴΪ4¸ö£¬ÖжÏÓÅÏȵȼ¶Îª1¸ö
D£®ÖжÏԴΪ3¸ö£¬ÖжÏÓÅÏȵȼ¶Îª1¸ö
(2) MCS-51µ¥Æ¬»ú¶¨Ê±/¼ÆÊýÆ÷µÄ·½Ê½0ºÍ·½Ê½1·Ö±ðÊÇ( A )λ¶¨Ê±/¼ÆÊýÆ÷¡£ A£®13ºÍ16 B£®16ºÍ13 C£®8ºÍ16 D£®16ºÍ8
(3) MCS-51µ¥Æ¬»ú¶¨Ê±/¼ÆÊýÆ÷µÄ×î´ó¶¨Ê±Ê±¼äÊÇ( B )(ÉèʱÖÓƵÂÊΪ6MHz)¡£ A£®65.536ms B£®131.072ms C£®8.192ms D£®16.384ms (4) MCS-51µ¥Æ¬»ú¶¨Ê±/¼ÆÊýÆ÷·½Ê½lʱ£¬Æä×î´óµÄ¼ÆÊý¸öÊýÊÇ( A )¡£ A£®65536 D£®65635 C£®8192 D£®256 (5) T1ÖжÏÔ´µÄÖжÏʸÁ¿µØÖ·ÊÇ( D )¡£
A£®0003H B£®000BH C£®0013H D£®001BH (6) IE0ÊÇ( C )µÄÖжϱêÖ¾¡£
A£®T0 B£®T1 C£®INT0 D£®INT1
16