📄 check.lst
字号:
00D9 1200EF 127 lcall byte_out
00DC 1200FD 128 lcall byte_in
00DF C2B6 129 clr sclk ;关闭x5045
00E1 D2A7 130 setb cs
00E3 22 131 ret
132 ;-----------用wip位判是否完成内部操作----------------------
00E4 7C99 133 check_wip:mov r4,#99h ;设置最大查询数目
00E6 1200D3 134 check_wi1:lcall rdsr ;通过读状态寄存器来说明内部写周期结束否
00E9 30E002 135 jnb acc.0,check_wi2 ;因为wip是状态寄存器的第0位
00EC DCF8 136 djnz r4,check_wi1
00EE 22 137 check_wi2:ret
138 ;------------写字节到EEPROM------------------------------
00EF 7D08 139 byte_out: mov r5,#8 ;写入一个字节(8位)数据
00F1 C2B6 140 bout1: clr sclk
00F3 33 141 rlc a ;带进位的左移,进位给c
00F4 92B7 142 mov si,c
00F6 D2B6 143 setb sclk
00F8 DDF7 144 djnz r5,bout1
00FA C2B7 145 clr si
00FC 22 146 ret
147 ;-----------从EEPROM中读字节------------------------------
00FD 7D08 148 byte_in: mov r5,#8
00FF D2B6 149 bin1: setb sclk
0101 C2B6 150 clr sclk
0103 A2B5 151 mov c,so
0105 33 152 rlc a
0106 DDF7 153 djnz r5,bin1
0108 22 154 ret
155 ;**********************************************************
156 ;----------------键盘中断---------------------------------
0109 C0E0 157 ankey:push acc
010B C0D0 158 push psw
010D D201 159 setb key_bit
010F D0D0 160 pop psw
0111 D0E0 161 pop acc
0113 32 162 reti
163 ;----------------按键判断---------------------------------
0114 7580FF 164 key: mov output,#0ffh
0117 C2A6 165 clr keyboard
0119 E580 166 mov a,output
011B D2A6 167 setb keyboard
011D 30E406 168 jnb acc.4,menu
0120 30E51E 169 jnb acc.5,enter
0123 02003C 170 ljmp main
171 ;--------------按键处理----------------------------------
0126 75F00E 172 menu: mov b,#0eh
0129 120046 173 lcall enable
012C 75F082 174 mov b,#82h
012F 120046 175 lcall enable
0132 7445 176 mov a,#45h
0134 F52C 177 mov mrd,a
0136 120057 178 lcall display
0139 752F01 179 mov numbyt,#1 ;写入1个字节
013C 120065 180 lcall byte_write ;将数据写入EEPROM
013F 013C 181 ajmp main
0141 75F00E 182 enter:mov b,#0eh
0144 120046 183 lcall enable
0147 75F084 184 mov b,#84h
014A 120046 185 lcall enable
014D 752F01 186 mov numbyt,#1 ;读出1个字节
0150 12009B 187 lcall byte_read ;读数据存于MRD开始的缓冲区
0153 120057 188 lcall display
0156 013C 189 ajmp main
190 ;----------------延时程序---------------------------------
A51 MACRO ASSEMBLER CHECK 04/24/2006 17:04:16 PAGE 4
0158 7F7C 191 delay:mov r7,#124 ;5ms延时
015A 7E14 192 loop2:mov r6,#20
015C DEFE 193 loop3:djnz r6,loop3
015E DFFA 194 djnz r7,loop2
0160 22 195 ret
196 end
A51 MACRO ASSEMBLER CHECK 04/24/2006 17:04:16 PAGE 5
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
ANKEY. . . . . . . C ADDR 0109H A
B. . . . . . . . . D ADDR 00F0H A
BIN1 . . . . . . . C ADDR 00FFH A
BOUT1. . . . . . . C ADDR 00F1H A
BYTE_IN. . . . . . C ADDR 00FDH A
BYTE_OUT . . . . . C ADDR 00EFH A
BYTE_READ. . . . . C ADDR 009BH A
BYTE_WRITE . . . . C ADDR 0065H A
CHECK_WI1. . . . . C ADDR 00E6H A
CHECK_WI2. . . . . C ADDR 00EEH A
CHECK_WIP. . . . . C ADDR 00E4H A
CS . . . . . . . . B ADDR 00A0H.7 A
DELAY. . . . . . . C ADDR 0158H A
DISPLAY. . . . . . C ADDR 0057H A
DPH. . . . . . . . D ADDR 0083H A
DPL. . . . . . . . D ADDR 0082H A
E. . . . . . . . . B ADDR 00B0H.4 A
EA . . . . . . . . B ADDR 00A8H.7 A
ENABLE . . . . . . C ADDR 0046H A
ENTER. . . . . . . C ADDR 0141H A
EX0. . . . . . . . B ADDR 00A8H.0 A
INIT . . . . . . . C ADDR 0005H A
KEY. . . . . . . . C ADDR 0114H A
KEYBOARD . . . . . B ADDR 00A0H.6 A
KEY_BIT. . . . . . B ADDR 0020H.1 A
LCD_BG . . . . . . B ADDR 0090H.2 A
LOOP2. . . . . . . C ADDR 015AH A
LOOP3. . . . . . . C ADDR 015CH A
MAIN . . . . . . . C ADDR 003CH A
MENU . . . . . . . C ADDR 0126H A
MRD. . . . . . . . N NUMB 002CH A
NEXT . . . . . . . C ADDR 0043H A
NUMBYT . . . . . . N NUMB 002FH A
OUTPUT . . . . . . D ADDR 0080H A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . D ADDR 00B0H A
PSW. . . . . . . . D ADDR 00D0H A
RDSR . . . . . . . C ADDR 00D3H A
RS . . . . . . . . B ADDR 00B0H.3 A
RW . . . . . . . . B ADDR 00B0H.5 A
R_L. . . . . . . . C ADDR 00A8H A
SCLK . . . . . . . B ADDR 00B0H.6 A
SI . . . . . . . . B ADDR 00B0H.7 A
SO . . . . . . . . B ADDR 00B0H.5 A
SP . . . . . . . . D ADDR 0081H A
WELCOME. . . . . . C ADDR 0026H A
WREN . . . . . . . C ADDR 00C5H A
W_L. . . . . . . . C ADDR 0072H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -