ACALL BTOA MOV R5, A INC DPTR MOVX A, @DPTR MOV Rl, A SWAP A
ANL A, #0FH ACALL BTOA MOV R6, A MOV ANL ACALL MOV INC MOV MOVX INC MOV MOVX INC MOV MOVX INC MOV MOVX HERE: SJMP ORG BTOA: MOV MOV ORL LOP. RLC JNC INC NEXT: DJNZ RLC PUSH MOV JNB POP ORG SJMP CONT: POP GONE: RET
ORG A, Rl A, #0FH BTOA R7, A DPTR A,R4
@.DPTR£¬A DPTR A.R5
@DPTR£¬A DPTR A,R6
@DPTR£¬A DPTR A,R7
@ DPTR£¬A HERE 0200H R2,#08H R3£¬#00H A.#30H A NEXT R3
R2,LOP A ACC A,R3
ACC.O,CONT ACC A,#80H GONE ACC 2000H
DAT: DW 7954H DW 0000H DW 0000H END ¡¤¡¤ ¹² ¡¤
3¡¤2¡¤45 ÔĶÁÏÂÁгÌÐò д³ö³ÌÐòÖ´ÐкóƬÍâ RAM 8000HºÍ 8002Hµ¥ÔªÒÔ¼°Rl¡¢R3¡¢R4µÄÄÚÈÝ¡£
ORG 0200H
MOV DPTR£¬#DAT MOV R0£¬#0 MOV Rl£¬#1 MOV R2.#2
MOVX A,@DPTR MOV R3,A INC DPTR
MOVX A,@DPTR
ORL A,R3 JZ HERE
MOV DPTR£¬#DAT
LOOPl: MOV R3,#8
LOOP2: MOVX A.@DPTR ANL A,Rl MOV R4,A JZ NEXT TNC R0
NEXT: MOV A.Rl
RL A MOV Rl.A
DJNZ R3£¬LOOP2 INC DPTR DJNZ R2,LOOPl MOV A,R0
MOVX @DPTR£¬A HERE: SJMP HERE ORG 8000H
DAT: DW 4B9FH
DB 0 END
3¡¤2¡¤46ÔĶÁÏÂÁгÌÐò£¬ÉèfOSC=l2MHz£¬Çë»Ø´ð:
(1)¸Ã³ÌÐòÿ¸ô¶àÉÙʱ¼äÖ´ÐÐÒ»´Î¼ì²â³ÌÐò?ÊÇÔõÑù°²ÅÅ´ïµ½µÄ? (2)¶¨/¼Æ0¼°¶¨/¼Æ1¸÷ÔÚʲôÇé¿öÏÂÒç³ö?ÁгöÄúµÄ¼ÆËã¡£ (3)Ϊ³ÌÐò×÷³ö×¢ÊÍ¡£
0000H LJMP 0030H ;Ö÷³ÌÐò
ORG 0030H START: CLR Tl
MOV TMOD£¬#5lH MOV IE£¬#8AH MOV TH0£¬#0D8H
MOV TL0£¬#0F0H MOV THl,#0E8H MOV TLl£¬#90H SETB TR0 SETB TR1
; ;
;ÖжϷþÎñ³ÌÐò
ORG 000BH LJMP 0080H ORG 0080H
TOOV: SETB T1
MOV TH0£¬#0DBH MOV TL0£¬#0F0H CLR T1 RETI
ORG 00lBH LJMP 0090H ORG 0090H
T1OV: MOV THl,#0E8H
MOV TLl£¬#90H
;
; ;´ËÆðΪ¼ì²â³ÌÐò ; RETI
3¡¤2¡¤47ÔĶÁ±¾ÊéʵÑ鲿·ÖµÚ3ÕÂ\ʵÑéÎåP0¿ÚÀ©Õ¹I/O ¿Ú\²Î¿¼³ÌÐòÖÐ×ÔÖ¸ÁîMOV TMOD£¬#50HÆðµÄ³ÌÐò£¬×Ðϸ×êÑÐÆäÖж¨Ê±Æ÷/¼ÆÊýÆ÷0¡¢¶¨Ê±Æ÷/¼ÆÊýÆ÷l¡¢R6¡¢R7µÄÓ÷¨£¬Ð´³öÄúµÄÀí½â¡¢·ÖÎöÓë¼ÆËã¡£ 3¡¤2¡¤48ÔĶÁ²Î¿¼Êé¼®£¬×êÑÐMCS¡ª51ϵÁе¥Æ¬»úÔÚÔõÑùµÄÇé¿öϲÅÄܵ¥²½Ö´ÐÐÓû§³ÌÐò?