📄 delay subroutine.ls1
字号:
255
---- 256 RSEG ?PR?delay10us?DELAY_SUBROUTINE
0000 257 delay10us:
258 USING 0
259 ; SOURCE LINE # 74
260 ; int n;
261 ; for (n=0;n<=3;n++) {
262 ; SOURCE LINE # 76
263 ;---- Variable 'n?241' assigned to Register 'R6/R7' ----
0000 E4 264 CLR A
0001 FF 265 MOV R7,A
0002 FE 266 MOV R6,A
0003 267 ?C0006:
268 ; delay1us();
269 ; SOURCE LINE # 77
0003 120000 F 270 LCALL delay1us
271 ; }
272 ; SOURCE LINE # 78
0006 0F 273 INC R7
0007 BF0001 274 CJNE R7,#00H,?C0058
000A 0E 275 INC R6
000B 276 ?C0058:
000B EF 277 MOV A,R7
000C 6404 278 XRL A,#04H
000E 4E 279 ORL A,R6
000F 70F2 280 JNZ ?C0006
281 ; }
282 ; SOURCE LINE # 79
0011 283 ?C0009:
0011 22 284 RET
285 ; END OF delay10us
286
287 ; /*
288 ; void delay133us(void) {
289 ; int n;
290 ; for (n=0;n<=62;n++) {
291 ; delay1us();
292 ; }
293 ; }
294 ;
295 ;
296 ;
297 ; /*********************************************************
298 ; *函数原型:void delay104us(void);
299 ; *功 能:10us延迟。
300 ; **********************************************************/
301 ; void delay52us(void) {
302
---- 303 RSEG ?PR?delay52us?DELAY_SUBROUTINE
0000 304 delay52us:
305 USING 0
306 ; SOURCE LINE # 94
307 ; int n;
308 ; for (n=0;n<=24;n++) {
309 ; SOURCE LINE # 96
310 ;---- Variable 'n?342' assigned to Register 'R6/R7' ----
0000 E4 311 CLR A
0001 FF 312 MOV R7,A
0002 FE 313 MOV R6,A
0003 314 ?C0010:
315 ; delay1us();
316 ; SOURCE LINE # 97
0003 120000 F 317 LCALL delay1us
318 ; }
319 ; SOURCE LINE # 98
A51 MACRO ASSEMBLER DELAY_SUBROUTINE 07/16/2008 08:39:38 PAGE 6
0006 0F 320 INC R7
0007 BF0001 321 CJNE R7,#00H,?C0059
000A 0E 322 INC R6
000B 323 ?C0059:
000B EF 324 MOV A,R7
000C 6419 325 XRL A,#019H
000E 4E 326 ORL A,R6
000F 70F2 327 JNZ ?C0010
328 ; }
329 ; SOURCE LINE # 99
0011 330 ?C0013:
0011 22 331 RET
332 ; END OF delay52us
333
334 ;
335 ; void delay104us(void) {
336
---- 337 RSEG ?PR?delay104us?DELAY_SUBROUTINE
0000 338 delay104us:
339 USING 0
340 ; SOURCE LINE # 101
341 ; int n;
342 ; for (n=0;n<=49;n++) {
343 ; SOURCE LINE # 103
344 ;---- Variable 'n?443' assigned to Register 'R6/R7' ----
0000 E4 345 CLR A
0001 FF 346 MOV R7,A
0002 FE 347 MOV R6,A
0003 348 ?C0014:
349 ; delay1us();
350 ; SOURCE LINE # 104
0003 120000 F 351 LCALL delay1us
352 ; }
353 ; SOURCE LINE # 105
0006 0F 354 INC R7
0007 BF0001 355 CJNE R7,#00H,?C0060
000A 0E 356 INC R6
000B 357 ?C0060:
000B EF 358 MOV A,R7
000C 6432 359 XRL A,#032H
000E 4E 360 ORL A,R6
000F 70F2 361 JNZ ?C0014
362 ; }
363 ; SOURCE LINE # 106
0011 364 ?C0017:
0011 22 365 RET
366 ; END OF delay104us
367
368 ;
369 ; /*********************************************************
370 ; *函数原型:void delay35us(void);
371 ; *功 能:35us延迟。
372 ; **********************************************************
373 ;
374 ; void delay80us(void) {
375 ; int n;
376 ; for (n=0;n<=39;n++) {
377 ; delay1us();
378 ; }
379 ; }
380 ; /*void delay7us(void) {
381 ; int n;
382 ; for (n=0;n<=2;n++) {
383 ; delay1us();
384 ; }
385 ; }
A51 MACRO ASSEMBLER DELAY_SUBROUTINE 07/16/2008 08:39:38 PAGE 7
386 ;
387 ;
388 ; void delay3us(void) {
389 ; int n;
390 ; for (n=0;n<=0;n++) {
391 ; delay1us();
392 ; }
393 ; }*/
394 ; /*********************************************************
395 ; *函数原型:void delay10ms(void);
396 ; *功 能:10ms延迟。
397 ; **********************************************************/
398 ;
399 ; void delay10ms(void) {
400
---- 401 RSEG ?PR?delay10ms?DELAY_SUBROUTINE
0000 402 delay10ms:
403 USING 0
404 ; SOURCE LINE # 138
405 ; int v;
406 ; for (v=0;v<700;v++)
407 ; SOURCE LINE # 140
408 ;---- Variable 'v?544' assigned to Register 'R4/R5' ----
0000 E4 409 CLR A
0001 FD 410 MOV R5,A
0002 FC 411 MOV R4,A
0003 412 ?C0018:
413 ; {
414 ; SOURCE LINE # 141
415 ; delay17us();
416 ; SOURCE LINE # 142
0003 120000 F 417 LCALL delay17us
418 ; }
419 ; SOURCE LINE # 143
0006 0D 420 INC R5
0007 BD0001 421 CJNE R5,#00H,?C0061
000A 0C 422 INC R4
000B 423 ?C0061:
000B BC02F5 424 CJNE R4,#02H,?C0018
000E BDBCF2 425 CJNE R5,#0BCH,?C0018
426 ; }
427 ; SOURCE LINE # 144
0011 428 ?C0021:
0011 22 429 RET
430 ; END OF delay10ms
431
432 ;
433 ; void delay4ms(void) {
434
---- 435 RSEG ?PR?delay4ms?DELAY_SUBROUTINE
0000 436 delay4ms:
437 USING 0
438 ; SOURCE LINE # 146
439 ; int v;
440 ; for (v=0;v<300;v++)
441 ; SOURCE LINE # 148
442 ;---- Variable 'v?645' assigned to Register 'R4/R5' ----
0000 E4 443 CLR A
0001 FD 444 MOV R5,A
0002 FC 445 MOV R4,A
0003 446 ?C0022:
447 ; {
448 ; SOURCE LINE # 149
449 ; delay17us();
450 ; SOURCE LINE # 150
0003 120000 F 451 LCALL delay17us
A51 MACRO ASSEMBLER DELAY_SUBROUTINE 07/16/2008 08:39:38 PAGE 8
452 ; }
453 ; SOURCE LINE # 151
0006 0D 454 INC R5
0007 BD0001 455 CJNE R5,#00H,?C0062
000A 0C 456 INC R4
000B 457 ?C0062:
000B BC01F5 458 CJNE R4,#01H,?C0022
000E BD2CF2 459 CJNE R5,#02CH,?C0022
460 ; }
461 ; SOURCE LINE # 152
0011 462 ?C0025:
0011 22 463 RET
464 ; END OF delay4ms
465
466 ;
467 ; void delay1ms(void) {
468
---- 469 RSEG ?PR?delay1ms?DELAY_SUBROUTINE
0000 470 delay1ms:
471 USING 0
472 ; SOURCE LINE # 154
473 ; int v;
474 ; for (v=0;v<60;v++)
475 ; SOURCE LINE # 156
476 ;---- Variable 'v?746' assigned to Register 'R4/R5' ----
0000 E4 477 CLR A
0001 FD 478 MOV R5,A
0002 FC 479 MOV R4,A
0003 480 ?C0026:
481 ; {
482 ; SOURCE LINE # 157
483 ; delay17us();
484 ; SOURCE LINE # 158
0003 120000 F 485 LCALL delay17us
486 ; }
487 ; SOURCE LINE # 159
0006 0D 488 INC R5
0007 BD0001 489 CJNE R5,#00H,?C0063
000A 0C 490 INC R4
000B 491 ?C0063:
000B ED 492 MOV A,R5
000C 643C 493 XRL A,#03CH
000E 4C 494 ORL A,R4
000F 70F2 495 JNZ ?C0026
496 ; }
497 ; SOURCE LINE # 160
0011 498 ?C0029:
0011 22 499 RET
500 ; END OF delay1ms
501
502 ;
503 ; /*
504 ;
505 ; void delay6ms(void) {
506 ; int v;
507 ; for (v=0;v<455;v++)
508 ; {
509 ; delay17us();
510 ; }
511 ; }
512 ;
513 ;
514 ; /*********************************************************
515 ; *函数原型:void delay40ms(void);
516 ; *功 能:40ms延迟。
517 ; **********************************************************/
A51 MACRO ASSEMBLER DELAY_SUBROUTINE 07/16/2008 08:39:38 PAGE 9
518 ;
519 ; void delay40ms(void) {
520
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -