📄 kaijijs.lst
字号:
A51 MACRO ASSEMBLER KAIJIJS 02/09/2009 15:04:28 PAGE 1
MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN kaijijs.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE kaijijs.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1
2
00A3 3 SDA24 EQU P2.3
00A2 4 SCLK24 EQU P2.2
5
0000 6 ORG 0000H
0000 0130 7 AJMP MAIN
0030 8 ORG 0030H
9
0030 9000CA 10 MAIN: MOV DPTR,#TAB
0033 7400 11 MOV A,#00H ;读地址
0035 120054 12 LCALL RD24
0038 B40A00 13 CJNE A,#10,TT
003B 5002 14 TT: JNC TT1
003D 0141 15 AJMP TT2
003F 7400 16 TT1: MOV A,#00
0041 F530 17 TT2: MOV 30H,A
0043 93 18 MOVC A,@A+DPTR
0044 C2B7 19 CLR P3.7 ;开数码管
0046 F580 20 MOV P0,A ;送显示
21
0048 E530 22 MOV A,30H
004A 04 23 INC A
004B F5F0 24 MOV B,A
004D 7400 25 MOV A,#00H
004F 120083 26 LCALL WT24
0052 0152 27 AJMP $
28
0054 C0E0 29 RD24: PUSH ACC ;读24C02子程序。
0056 D2A3 30 SETB SDA24
0058 C2A2 31 CLR SCLK24
005A 11A2 32 CALL START24
005C 74A0 33 MOV A,#0A0H
005E 11B9 34 CALL SHIFT8
0060 11B4 35 CALL ACK
0062 D0E0 36 POP ACC
0064 11B9 37 CALL SHIFT8
0066 11B4 38 CALL ACK
0068 11A2 39 CALL START24
006A 74A1 40 MOV A,#0A1H
006C 11B9 41 CALL SHIFT8
006E 11B4 42 CALL ACK
0070 D2A3 43 SETB SDA24
0072 7F08 44 MOV R7,#8
0074 E4 45 CLR A
0075 D2A3 46 SETB SDA24
0077 23 47 RD000: RL A
0078 D2A2 48 SETB SCLK24
007A A2A3 49 MOV C,SDA24
007C 92E0 50 MOV ACC.0,C
007E C2A2 51 CLR SCLK24
0080 DFF5 52 DJNZ R7,RD000
0082 22 53 RET
54
55 ;-------------------------------
56 ;写入24C02程序:
0083 C0E0 57 WT24: PUSH ACC
0085 D2A3 58 SETB SDA24
A51 MACRO ASSEMBLER KAIJIJS 02/09/2009 15:04:28 PAGE 2
0087 C2A2 59 CLR SCLK24
0089 11A2 60 CALL START24
008B 74A0 61 MOV A,#0A0H
008D 11B9 62 CALL SHIFT8
008F 11B4 63 CALL ACK
0091 D0E0 64 POP ACC
0093 11B9 65 CALL SHIFT8
0095 11B4 66 CALL ACK
0097 E5F0 67 MOV A,B
0099 11B9 68 CALL SHIFT8
009B 11B4 69 CALL ACK
009D 11AD 70 CALL STOP
009F 11C5 71 CALL DELAY2
00A1 22 72 RET
73
74 ; -------------------------------
75 ;开始条件
00A2 C2A3 76 START24: CLR SDA24
00A4 D2A3 77 SETB SDA24
00A6 D2A2 78 SETB SCLK24
00A8 C2A3 79 CLR SDA24
00AA C2A2 80 CLR SCLK24
00AC 22 81 RET
82
83 ;停止条件
00AD C2A3 84 STOP: CLR SDA24
00AF D2A2 85 SETB SCLK24
00B1 D2A3 86 SETB SDA24
00B3 22 87 RET
88
89 ;应答信号
00B4 D2A2 90 ACK: SETB SCLK24
00B6 C2A2 91 CLR SCLK24
00B8 22 92 RET
93
94 ;读、写数据
00B9 7F08 95 SHIFT8: MOV R7,#8
00BB 33 96 SH01: RLC A
00BC 92A3 97 MOV SDA24,C
00BE D2A2 98 SETB SCLK24
00C0 C2A2 99 CLR SCLK24
00C2 DFF7 100 DJNZ R7,SH01
00C4 22 101 RET
102
00C5 00 103 DELAY2: NOP
00C6 00 104 NOP
00C7 00 105 NOP
00C8 00 106 NOP
00C9 22 107 RET
108
00CA C0F9A4B0 109 TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
00CE 999282F8
00D2 8090
110
111
112 END
A51 MACRO ASSEMBLER KAIJIJS 02/09/2009 15:04:28 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
ACK. . . . . . . . C ADDR 00B4H A
B. . . . . . . . . D ADDR 00F0H A
DELAY2 . . . . . . C ADDR 00C5H A
MAIN . . . . . . . C ADDR 0030H A
P0 . . . . . . . . D ADDR 0080H A
P2 . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . D ADDR 00B0H A
RD000. . . . . . . C ADDR 0077H A
RD24 . . . . . . . C ADDR 0054H A
SCLK24 . . . . . . B ADDR 00A0H.2 A
SDA24. . . . . . . B ADDR 00A0H.3 A
SH01 . . . . . . . C ADDR 00BBH A
SHIFT8 . . . . . . C ADDR 00B9H A
START24. . . . . . C ADDR 00A2H A
STOP . . . . . . . C ADDR 00ADH A
TAB. . . . . . . . C ADDR 00CAH A
TT . . . . . . . . C ADDR 003BH A
TT1. . . . . . . . C ADDR 003FH A
TT2. . . . . . . . C ADDR 0041H A
WT24 . . . . . . . C ADDR 0083H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -