📄 asm.lt
字号:
1 ORG 0000H
0000 74FF 2 START: MOV A,#0FFH ;
0002 C3 3 CLR C ;
0003 7A10 4 MOV R2,#16 ;循环次。
0005 33 5 LOOP: RLC A ;带进位左移。
0006 F5A0 6 MOV P2,A ;输出到P2口。
0008 12008B 7 LCALL DELAY ;延时一段时间
000B DAF8 8 DJNZ R2,LOOP ;反复循环
000D 7A10 9 MOV R2,#16 ;再往回循环。
000F 13 10 LOOP1: RRC A ;带进位右移
0010 F5A0 11 MOV P2,A ;输出到P2口。
0012 12008B 12 LCALL DELAY ;延时一段时间
0015 DAF8 13 DJNZ R2,LOOP1 ;反复循环
0017 747E 14 MOV A,#7EH ;发光管初值
0019 780C 15 MOV R0,#12 ;循环次数
001B F5A0 16 LOOP2: MOV P2,A
001D 12008B 17 LCALL DELAY ;调用延时程序
0020 F9 18 MOV R1,A ;
0021 44F0 19 ORL A,#0F0H ;或运算,用于将高四位清除
0023 23 20 RL A ;左移,实现灯向左依次显示
0024 C9 21 XCH A,R1 ;交换
0025 440F 22 ORL A,#0FH ;或运算,用于将低四位清除
0027 03 23 RR A ;右移,实现灯向右依次显示
0028 59 24 ANL A,R1 ;组成一个完整的字节
0029 D8F0 25 DJNZ R0,LOOP2 ;R0不为零,则循环
002B 120098 26 LCALL DELAY1 ;延时
002E 7E08 27 MOV R6,#8
0030 7455 28 LOOP3: MOV A,#01010101B ;
0032 F5A0 29 MOV P2,A ;
0034 12008B 30 LCALL DELAY
0037 74AA 31 MOV A,#10101010B ;
0039 F5A0 32 MOV P2,A ;
003B 12008B 33 LCALL DELAY
003E DEF0 34 DJNZ R6,LOOP3
0040 7E08 35 MOV R6,#8
0042 74CC 36 LOOP6: MOV A,#11001100B ;
0044 F5A0 37 MOV P2,A ;
0046 12008B 38 LCALL DELAY
0049 7433 39 MOV A,#00110011B ;
004B F5A0 40 MOV P2,A ;
004D 12008B 41 LCALL DELAY
0050 DEF0 42 DJNZ R6,LOOP6
0052 7E08 43 MOV R6,#8
0054 74EE 44 LOOP7: MOV A,#11101110B ;
0056 F5A0 45 MOV P2,A ;
0058 12008B 46 LCALL DELAY
005B 7411 47 MOV A,#00010001B ;
005D F5A0 48 MOV P2,A ;
005F 12008B 49 LCALL DELAY
0062 DEF0 50 DJNZ R6,LOOP7
0064 7E08 51 MOV R6,#8
0066 740F 52 LOOP4: MOV A,#0FH ;
0068 F5A0 53 MOV P2,A ;
006A 12008B 54 LCALL DELAY
006D 74F0 55 MOV A,#0F0H ;
006F F5A0 56 MOV P2,A ;
0071 12008B 57 LCALL DELAY
0074 DEF0 58 DJNZ R6,LOOP4
0076 7E08 59 MOV R6,#8
0078 7400 60 LOOP5: MOV A,#00H ;
007A F5A0 61 MOV P2,A ;
007C 12008B 62 LCALL DELAY
007F 74FF 63 MOV A,#0FFH ;
0081 F5A0 64 MOV P2,A ;
0083 12008B 65 LCALL DELAY
0086 DEF0 66 DJNZ R6,LOOP5
0088 020000 67 LJMP START ;重新开始
008B 7B14 68 DELAY: MOV R3,#20
008D 7C14 69 D1: MOV R4,#20
008F 7DE1 70 D2: MOV R5,#225
0091 DDFE 71 DJNZ R5,$
0093 DCFA 72 DJNZ R4,D2
0095 DBF6 73 DJNZ R3,D1
0097 22 74 RET
0098 7B14 75 DELAY1: MOV R3,#20
009A 7C14 76 D3: MOV R4,#20
009C 7D64 77 D4: MOV R5,#100
009E DDFE 78 DJNZ R5,$
00A0 DCFA 79 DJNZ R4,D4
00A2 DBF6 80 DJNZ R3,D3
00A4 22 81 RET
82 END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -