⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delay subroutine.ls1

📁 本程序实现通过BDM方式访问MOTOROLA 9S12单片机EEPROM
💻 LS1
📖 第 1 页 / 共 4 页
字号:
                     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 + -