📄 1.lst
字号:
A51 MACRO ASSEMBLER 1 06/15/2007 15:52:22 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN 1.OBJ
ASSEMBLER INVOKED BY: E:\Program Files\Keil 51\C51\BIN\A51.EXE 1.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0080 1 ADDR_KEY EQU 0080H ;键盘片选地址
0070 2 KEY_TMP EQU 70H ;键值暂存单元
00A7 3 LEDDATA EQU P2.7 ;定义数码管显示 74LS164 的数据线
00A6 4 LEDCLK EQU P2.6 ;定义数码管显示 74LS164 的时钟线
00A0 5 SCK EQU P2.0 ;定义P1.6为I2C总线的时钟线
00A1 6 SDA EQU P2.1 ;定义P1.7为I2C总线的数据线
0030 7 CNTRL0 EQU 30H ;定义控制/状态0数据存储地址
0031 8 CNTRL1 EQU 31H ;定义控制/状态1数据存储地址
0032 9 SEC EQU 32H ;定义秒初值存储地址
0033 10 MIN EQU 33H ;定义分初值存储地址
0034 11 HOUR EQU 34H ;定义时初值存储地址
0035 12 DAT EQU 35H ;定义天初值存储地址
0036 13 WEEK EQU 36H ;定义周初值存储地址
0037 14 MONTH EQU 37H ;定义月初值存储地址
0038 15 YEAR EQU 38H ;定义年初值存储地址
0039 16 MINBJ EQU 39H ;定义分定时初值存储地址
003A 17 HOURBJ EQU 3AH ;定义时定时初值存储地址
003B 18 DATBJ EQU 3BH ;定义日定时初值存储地址
003C 19 CLOCK EQU 3CH ;定义CLOCK 输出频率初值地址
003D 20 LEDBUF1 EQU 3DH ;定义显示的缓冲区,对应数码管显示的L6
003E 21 LEDBUF2 EQU 3EH ;定义显示的缓冲区,对应数码管显示的L5
003F 22 LEDBUF3 EQU 3FH ;定义显示的缓冲区,对应数码管显示的L4
0040 23 LEDBUF4 EQU 40H ;定义显示的缓冲区,对应数码管显示的L3
0041 24 LEDBUF5 EQU 41H ;定义显示的缓冲区,对应数码管显示的L2
0042 25 LEDBUF6 EQU 42H ;定义显示的缓冲区,对应数码管显示的L1
0043 26 TIMEBUF EQU 43H ;定义读出时间、日期数据存储首地址
0000 27 FLAG BIT 00H
0001 28 FLAG1 BIT 01H
0000 29 ORG 0000H
0000 020100 30 LJMP MAIN
0013 31 ORG 0013H
0013 32 LJMP INT
*** _________________________________________________^
*** ERROR #A45 IN 32 (1.asm, LINE 32): UNDEFINED SYMBOL (PASS-2)
0100 33 ORG 0100H
0100 34 MAIN:
0100 758150 35 MOV SP,#50H
0103 C2AF 36 CLR EA
0105 D2AA 37 SETB EX1
0107 D2BA 38 SETB PX1
0109 C28A 39 CLR IT1
010B D200 40 SETB FLAG
010D D201 41 SETB FLAG1
010F 42 LCALL LOAD8563 ;载入初值
*** ___________________________________^
*** ERROR #A45 IN 42 (1.asm, LINE 42): UNDEFINED SYMBOL (PASS-2)
0112 7830 43 MOV R0,#30H ;指向初值寄存器首地址
0114 7900 44 MOV R1,#00H ;初始化8563寄存器单元地址
0116 7B0C 45 MOV R3,#0CH ;需初始化字节数
0118 46 WRDATA:
0118 47 LCALL WR_PCF8563 ;向PCF8563写入初值
*** _________________________________________________^
*** ERROR #A45 IN 47 (1.asm, LINE 47): UNDEFINED SYMBOL (PASS-2)
011B 08 48 INC R0
011C 09 49 INC R1
011D DBF9 50 DJNZ R3,WRDATA
011F 51 LCALL DELAY
*** ___________________________________________^
A51 MACRO ASSEMBLER 1 06/15/2007 15:52:22 PAGE 2
*** ERROR #A45 IN 51 (1.asm, LINE 51): UNDEFINED SYMBOL (PASS-2)
0122 52 LCALL CLEARDISP ;清除显示器上的显示内容
*** __________________________________________^
*** ERROR #A45 IN 52 (1.asm, LINE 52): UNDEFINED SYMBOL (PASS-2)
0125 D2AF 53 REREAD: SETB EA
0127 120282 54 LCALL KEY
012A 55 REREAD1:
012A 753C83 56 MOV CLOCK, #83H
012D 783C 57 MOV R0 ,#CLOCK
012F 790D 58 MOV R1 ,#0DH
0131 59 LCALL WR_PCF8563
*** _________________________________________^
*** ERROR #A45 IN 59 (1.asm, LINE 59): UNDEFINED SYMBOL (PASS-2)
0134 120282 60 LCALL KEY
0137 7A10 61 MOV R2 ,#10H
0139 30E346 62 JNB ACC.3 ,DISP ;进入显示月份子程序?
013C 30E15A 63 JNB ACC.1,NAOZHONG ;进入闹钟设置
013F 30E005 64 JNB ACC.0,FLAG_1
0142 120554 65 LCALL TIME
0145 80E3 66 SJMP REREAD1
67 ;***************************************
68 ;关闹钟标志
69 ;****************************************
0147 70 FLAG_1:
0147 D200 71 SETB FLAG
0149 7CA0 72 MOV R4,#0A0H
014B 73 PPP:
74
014B 120282 75 LCALL KEY
014E 20E029 76 JB ACC.0,ZHENCHANG
0151 753100 77 MOV CNTRL1, #00H
0154 7831 78 MOV R0 ,#CNTRL1
0156 7901 79 MOV R1 ,#01H
0158 80 LCALL WR_PCF8563
*** _______________________________________^
*** ERROR #A45 IN 80 (1.asm, LINE 80): UNDEFINED SYMBOL (PASS-2)
015B 753980 81 MOV MINBJ,#80H
015E 753A80 82 MOV HOURBJ,#80H
0161 753B80 83 MOV DATBJ,#80H
0164 7839 84 MOV R0,#39H ;指向初值寄存器首地址
0166 7909 85 MOV R1,#09H ;初始化8563寄存器单元地址
0168 7B03 86 MOV R3,#03H ;需初始化字节数
016A 87 WRDATA_:
016A 88 LCALL WR_PCF8563 ;向PCF8563写入初值
*** _______________________________________________^
*** ERROR #A45 IN 88 (1.asm, LINE 88): UNDEFINED SYMBOL (PASS-2)
016D 08 89 INC R0
016E 09 90 INC R1
016F DBF9 91 DJNZ R3,WRDATA_
0171 120614 92 LCALL QUANLING
0174 93 LCALL DELAY
*** _________________________________________^
*** ERROR #A45 IN 93 (1.asm, LINE 93): UNDEFINED SYMBOL (PASS-2)
0177 02017F 94 LJMP SSPP
017A 95 ZHENCHANG:
017A 96 LCALL DELAY
*** ______________________________________^
*** ERROR #A45 IN 96 (1.asm, LINE 96): UNDEFINED SYMBOL (PASS-2)
017D DCCC 97 DJNZ R4,PPP
017F 98 SSPP:
017F 02012A 99 LJMP REREAD1
100 ;***************************************
101 ;使用资源 A ,R
102 ;R4控制在子程序停留的时间 ,时间到则返主,
103 ;时间未到按确认键则转入修改子程序
104 ;***************************************
A51 MACRO ASSEMBLER 1 06/15/2007 15:52:22 PAGE 3
0182 105 DISP:
0182 753C03 106 MOV CLOCK, #03H
0185 783C 107 MOV R0 ,#CLOCK
0187 790D 108 MOV R1 ,#0DH
0189 109 LCALL WR_PCF8563
*** _________________________________________^
*** ERROR #A45 IN 109 (1.asm, LINE 109): UNDEFINED SYMBOL (PASS-2)
018C 1204E7 110 LCALL DISP_NUM
018F 120282 111 LCALL KEY
0192 30E30A 112 JNB ACC.3 , LP
0195 DAEB 113 DJNZ R2 ,DISP
0197 2125 114 AJMP REREAD
115 ;***************************************
116 ;进入闹钟设置程序
117 ;*****************************************
0199 118 NAOZHONG:
0199 120282 119 LCALL KEY
019C 0203C9 120 LJMP NAOZHONG_1
121 ;**************修改时间子程序***********
122 ;完成了对分钟的修改
123 ;使用 的资源 A ,R3 ,R4 R6,R7
124 ;***************************************
019F C2AF 125 LP: CLR EA
01A1 7C10 126 MOV R4,#10H
01A3 120282 127 LCALL KEY
01A6 753D14 128 LP_: MOV LEDBUF1 ,#14H ;对分钟的修改
01A9 753E14 129 MOV LEDBUF2, #14H
01AC 130 LCALL DISPNUMBER
*** _________________________________________^
*** ERROR #A45 IN 130 (1.asm, LINE 130): UNDEFINED SYMBOL (PASS-2)
01AF 131 LCALL DELAY
*** _________________________________________^
*** ERROR #A45 IN 131 (1.asm, LINE 131): UNDEFINED SYMBOL (PASS-2)
01B2 AF44 132 MOV R7 ,TIMEBUF+1
01B4 120276 133 LCALL KEY1
01B7 30E075 134 JNB ACC.0, LOP
01BA 30E325 135 JNB ACC.3,L_P
01BD 20E105 136 JB ACC.1 ,NEXT0
01C0 1201D3 137 LCALL INC_NUM
01C3 F544 138 MOV TIMEBUF+1,A
01C5 139 NEXT0:
01C5 7844 140 MOV R0 ,#TIMEBUF+1
01C7 7903 141 MOV R1 ,#03H
01C9 142 LCALL WR_PCF8563
*** ________________________________________^
*** ERROR #A45 IN 142 (1.asm, LINE 142): UNDEFINED SYMBOL (PASS-2)
01CC 120554 143 LCALL TIME
01CF DCD5 144 DJNZ R4 ,LP_
01D1 2125 145 AJMP REREAD
01D3 146 INC_NUM:
01D3 7C10 147 MOV R4,#10H
01D5 EF 148 MOV A ,R7
01D6 2401 149 ADD A ,#01H
01D8 D4 150 DA A
01D9 FF 151 MOV R7,A
01DA 9460 152 SUBB A,#60H
01DC 4002 153 JC NEXT
01DE 7F00 154 MOV R7,#00H
01E0 EF 155 NEXT: MOV A, R7
01E1 22 156 RET
01E2 120282 157 L_P: LCALL KEY
01E5 0202B2 158 LJMP LP0
159 ;*****************************************
160 ;完成了对星期的修改
161 ;********************************************
01E8 120282 162 LOOP: LCALL KEY
A51 MACRO ASSEMBLER 1 06/15/2007 15:52:22 PAGE 4
01EB 7C10 163 MOV R4,#10H
01ED 754114 164 LOOP_: MOV LEDBUF5 ,#14H ;对星期的修改
01F0 754214 165 MOV LEDBUF6, #14H
01F3 166 LCALL DISPNUMBER
*** __________________________________________^
*** ERROR #A45 IN 166 (1.asm, LINE 166): UNDEFINED SYMBOL (PASS-2)
01F6 167 LCALL DELAY
*** __________________________________________^
*** ERROR #A45 IN 167 (1.asm, LINE 167): UNDEFINED SYMBOL (PASS-2)
01F9 AF47 168 MOV R7 ,TIMEBUF+4
01FB 120276 169 LCALL KEY1
01FE 30E328 170 JNB ACC.3, LO_OP
0201 30E09B 171 JNB ACC.0, LP
0204 20E103 172 JB ACC.1, NEXT4
0207 120218 173 LCALL INC_NUM2
020A 174 NEXT4:
020A 7847 175 MOV R0 ,#TIMEBUF+4
020C 7906 176 MOV R1 ,#06H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -