📄 main.lst
字号:
00F7 31A9 158 keys_reader: call time10ms
00F9 E590 159 mov a,p1
00FB F4 160 cpl a
00FC 540F 161 anl a,#0fh
00FE F508 162 mov keys_byte,a
0100 E590 163 keys_reader_0: mov a,p1
0102 F4 164 cpl a
0103 540F 165 anl a,#0fh
0105 B400F8 166 cjne a,#0,keys_reader_0
167
168 ;*****************************************************
169 ;按键处理程序
170 ;*****************************************************
171
0108 11C0 172 keys_management: call beep1
010A E508 173 mov a,keys_byte
010C B40102 174 cjne a,#01h,keys_check_2
010F 8014 175 sjmp keys_1
0111 B40202 176 keys_check_2: cjne a,#02h,keys_check_3
0114 8011 177 sjmp keys_2
0116 B40402 178 keys_check_3: cjne a,#04h,keys_check_4
0119 800E 179 sjmp keys_3
011B B40802 180 keys_check_4: cjne a,#08h,keys_check_err
011E 800B 181 sjmp keys_4
0120 C28B 182 keys_check_err: clr ie1
0122 D2AF 183 setb ea
0124 32 184 reti
185
0125 8006 186 keys_1: jmp keys_manage_1
0127 8017 187 keys_2: jmp keys_manage_2
0129 8029 188 keys_3: jmp keys_manage_3
012B 8038 189 keys_4: jmp keys_manage_4
190
A51 MACRO ASSEMBLER MAIN 11/17/2007 23:52:30 PAGE 4
191 ;*****************************************************
192 ;1键处理
193 ;*****************************************************
194
012D EC 195 keys_manage_1: mov a,r4 ;增加延时时间,即减慢流动速度
012E B43207 196 cjne a,#50,keys_manage_1_0
0131 11C9 197 call beep2
0133 C28B 198 clr ie1
0135 D2AF 199 setb ea
0137 32 200 reti
0138 2405 201 keys_manage_1_0: add a,#5
013A FC 202 mov r4,a
013B C28B 203 clr ie1
013D D2AF 204 setb ea
013F 32 205 reti
206
207 ;*****************************************************
208 ;2键处理
209 ;*****************************************************
210
0140 EC 211 keys_manage_2: mov a,r4 ;增加延时时间,即减慢流动速度
0141 B40507 212 cjne a,#5,keys_manage_2_0
0144 11C9 213 call beep2
0146 C28B 214 clr ie1
0148 D2AF 215 setb ea
014A 32 216 reti
014B C3 217 keys_manage_2_0: clr c
014C 9405 218 subb a,#5
014E FC 219 mov r4,a
014F C28B 220 clr ie1
0151 D2AF 221 setb ea
0153 32 222 reti
223
224 ;*****************************************************
225 ;3键处理
226 ;*****************************************************
227
0154 EB 228 keys_manage_3: mov a,r3 ;改变流动花样
0155 B40307 229 cjne a,#3,keys_manage_3_0
0158 7B00 230 mov r3,#0
015A C28B 231 clr ie1
015C D2AF 232 setb ea
015E 32 233 reti
015F 0B 234 keys_manage_3_0: inc r3
0160 C28B 235 clr ie1
0162 D2AF 236 setb ea
0164 32 237 reti
238
239 ;*****************************************************
240 ;4键处理
241 ;*****************************************************
242
0165 EB 243 keys_manage_4: mov a,r3 ;改变流动花样
0166 B40007 244 cjne a,#0,keys_manage_4_0
0169 7B03 245 mov r3,#3
016B C28B 246 clr ie1
016D D2AF 247 setb ea
016F 32 248 reti
0170 1B 249 keys_manage_4_0: dec r3
0171 C28B 250 clr ie1
0173 D2AF 251 setb ea
0175 32 252 reti
253 ;*****************************************************
254 ;延时10uS
255 ;*****************************************************
256
A51 MACRO ASSEMBLER MAIN 11/17/2007 23:52:30 PAGE 5
0176 7D05 257 time10us: mov r5,#05h ;11us
0178 DDFE 258 djnz r5,$
017A 22 259 ret
260
261 ;*****************************************************
262 ;延时50uS
263 ;*****************************************************
264
017B 7D19 265 time50us: mov r5,#19h ;51us
017D DDFE 266 djnz r5,$
017F 22 267 ret
268
269 ;*****************************************************
270 ;延时100uS
271 ;*****************************************************
272
0180 7D31 273 time100us: mov r5,#31h ;99.6us
0182 DDFE 274 djnz r5,$
0184 22 275 ret
276
277 ;*****************************************************
278 ;延时200uS
279 ;*****************************************************
280
0185 7D64 281 time200us: mov r5,#64h ;201us
0187 DDFE 282 djnz r5,$
0189 22 283 ret
284
285 ;*****************************************************
286 ;延时250uS
287 ;*****************************************************
288
018A 7D7C 289 time250us: mov r5,#7ch ;249.6us
018C DDFE 290 djnz r5,$
018E 22 291 ret
292
293 ;*****************************************************
294 ;延时350uS
295 ;*****************************************************
296
018F 7DAF 297 time350us: mov r5,#0afh ;351us
0191 DDFE 298 time350us_1: djnz r5,time350us_1
0193 22 299 ret
300
301 ;*****************************************************
302 ;延时500uS
303 ;*****************************************************
304
0194 7DFA 305 time500us: mov r5,#0fah ;501us
0196 DDFE 306 time500us_1: djnz r5,time500us_1
0198 22 307 ret
308
309 ;*****************************************************
310 ;延时1mS
311 ;*****************************************************
312
0199 7DFA 313 time1ms: mov r5,#0fah ;1001us
019B 00 314 time1ms_1: nop
019C 00 315 nop
019D DDFC 316 djnz r5,time1ms_1
019F 22 317 ret
318
319 ;*****************************************************
320 ;延时2.5mS
321 ;*****************************************************
322
A51 MACRO ASSEMBLER MAIN 11/17/2007 23:52:30 PAGE 6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -