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

📄 delay subroutine.ls1

📁 本程序实现通过BDM方式访问MOTOROLA 9S12单片机EEPROM
💻 LS1
📖 第 1 页 / 共 4 页
字号:
----                 521             RSEG  ?PR?delay40ms?DELAY_SUBROUTINE
0000                 522     delay40ms:
                     523             USING   0
                     524                             ; SOURCE LINE # 178
                     525     ;   int  v;
                     526     ;   for (v=0;v<1500;v++)
                     527                             ; SOURCE LINE # 180
                     528     ;---- Variable 'v?847' assigned to Register 'R4/R5' ----
0000 E4              529             CLR     A
0001 FD              530             MOV     R5,A
0002 FC              531             MOV     R4,A
0003                 532     ?C0030:
                     533     ;      {
                     534                             ; SOURCE LINE # 181
                     535     ;       delay17us();
                     536                             ; SOURCE LINE # 182
0003 120000   F      537             LCALL   delay17us
                     538     ;       }
                     539                             ; SOURCE LINE # 183
0006 0D              540             INC     R5
0007 BD0001          541             CJNE    R5,#00H,?C0064
000A 0C              542             INC     R4
000B                 543     ?C0064:
000B BC05F5          544             CJNE    R4,#05H,?C0030
000E BDDCF2          545             CJNE    R5,#0DCH,?C0030
                     546     ; }
                     547                             ; SOURCE LINE # 184
0011                 548     ?C0033:
0011 22              549             RET     
                     550     ; END OF delay40ms
                     551     
                     552     ; 
                     553     ; /*********************************************************
                     554     ; *函数原型:void delay40ms(void);
                     555     ; *功    能:40ms延迟。
                     556     ; **********************************************************/ 
                     557     ;  
                     558     ; void delay200ms(void) {
                     559     
----                 560             RSEG  ?PR?delay200ms?DELAY_SUBROUTINE
0000                 561     delay200ms:
                     562             USING   0
                     563                             ; SOURCE LINE # 191
                     564     ;   int  v;
                     565     ;   for (v=0;v<13000;v++)
                     566                             ; SOURCE LINE # 193
                     567     ;---- Variable 'v?948' assigned to Register 'R4/R5' ----
0000 E4              568             CLR     A
0001 FD              569             MOV     R5,A
0002 FC              570             MOV     R4,A
0003                 571     ?C0034:
                     572     ;      {
                     573                             ; SOURCE LINE # 194
                     574     ;       delay17us();
                     575                             ; SOURCE LINE # 195
0003 120000   F      576             LCALL   delay17us
                     577     ;       }
                     578                             ; SOURCE LINE # 196
0006 0D              579             INC     R5
0007 BD0001          580             CJNE    R5,#00H,?C0065
000A 0C              581             INC     R4
000B                 582     ?C0065:
000B BC32F5          583             CJNE    R4,#032H,?C0034
A51 MACRO ASSEMBLER  DELAY_SUBROUTINE                                                     07/16/2008 08:39:38 PAGE    10

000E BDC8F2          584             CJNE    R5,#0C8H,?C0034
                     585     ; }
                     586                             ; SOURCE LINE # 197
0011                 587     ?C0037:
0011 22              588             RET     
                     589     ; END OF delay200ms
                     590     
                     591     ;   
                     592     ; void delay100ms(void) {
                     593     
----                 594             RSEG  ?PR?delay100ms?DELAY_SUBROUTINE
0000                 595     delay100ms:
                     596             USING   0
                     597                             ; SOURCE LINE # 199
                     598     ;   int  v;
                     599     ;   for (v=0;v<6400;v++)
                     600                             ; SOURCE LINE # 201
                     601     ;---- Variable 'v?1049' assigned to Register 'R4/R5' ----
0000 E4              602             CLR     A
0001 FD              603             MOV     R5,A
0002 FC              604             MOV     R4,A
0003                 605     ?C0038:
                     606     ;      {
                     607                             ; SOURCE LINE # 202
                     608     ;       delay17us();
                     609                             ; SOURCE LINE # 203
0003 120000   F      610             LCALL   delay17us
                     611     ;       }
                     612                             ; SOURCE LINE # 204
0006 0D              613             INC     R5
0007 BD0001          614             CJNE    R5,#00H,?C0066
000A 0C              615             INC     R4
000B                 616     ?C0066:
000B E4              617             CLR     A
000C B505F4          618             CJNE    A,AR5,?C0038
000F EC              619             MOV     A,R4
0010 B419F0          620             CJNE    A,#019H,?C0038
                     621     ; }
                     622                             ; SOURCE LINE # 205
0013                 623     ?C0041:
0013 22              624             RET     
                     625     ; END OF delay100ms
                     626     
                     627     ; /*********************************************************
                     628     ; *函数原型:void delay207ms(void);
                     629     ; *功    能:207ms延迟。
                     630     ; ********************************************************** 
                     631     ; void delay207ms(void) {
                     632     ;   int  v;
                     633     ;   for (v=0;v<13550;v++)
                     634     ;      {
                     635     ;       delay17us();
                     636     ;       }
                     637     ; }
                     638     ; 
                     639     ; /*********************************************************
                     640     ; *函数原型:void delay60ms(void);
                     641     ; *功    能:60ms延迟。
                     642     ; **********************************************************  
                     643     ; void delay60ms(void) {
                     644     ;   int  v;
                     645     ;   for (v=0;v<3750;v++)
                     646     ;      {
                     647     ;       delay17us();
                     648     ;       }
                     649     ; }
A51 MACRO ASSEMBLER  DELAY_SUBROUTINE                                                     07/16/2008 08:39:38 PAGE    11

                     650     ; 
                     651     ; /*********************************************************
                     652     ; *函数原型:void delay107ms(void);
                     653     ; *功    能:107ms延迟。
                     654     ; ********************************************************** 
                     655     ;  
                     656     ; void delay107ms(void) {
                     657     ;   int  v;
                     658     ;   for (v=0;v<7000;v++)
                     659     ;      {
                     660     ;       delay17us();
                     661     ;       }
                     662     ; }
                     663     ; 
                     664     ; /*********************************************************
                     665     ; *函数原型:uchar input(void);
                     666     ; *功    能:模拟串口输入函数,输入一个字节。
                     667     ; **********************************************************/
                     668     ; uchar input(void) {
                     669     
----                 670             RSEG  ?PR?input?DELAY_SUBROUTINE
0000                 671     input:
                     672             USING   0
                     673                             ; SOURCE LINE # 247
                     674     ;   int  m;
                     675     ;   uchar in_data;
                     676     ;   in_data=0x00;
                     677                             ; SOURCE LINE # 250
                     678     ;---- Variable 'in_data?1151' assigned to Register 'R5' ----
0000 E4              679             CLR     A
0001 FD              680             MOV     R5,A
0002                 681     ?C0042:
                     682     ;   
                     683     ;   while(qRXD);
                     684                             ; SOURCE LINE # 252
0002 2092FD          685             JB      qRXD,?C0042
0005                 686     ?C0043:
                     687     ;   delay10us();
                     688                             ; SOURCE LINE # 253
0005 120000   F      689             LCALL   delay10us
                     690     ;   delay17us();
                     691                             ; SOURCE LINE # 254
0008 120000   F      692             LCALL   delay17us
                     693     ;   for(m=0;m<7;m++)
                     694                             ; SOURCE LINE # 255
                     695     ;---- Variable 'm?1150' assigned to Register 'R2/R3' ----
000B E4              696             CLR     A
000C FB              697             MOV     R3,A
000D FA              698             MOV     R2,A
000E                 699     ?C0044:
                     700     ;       {
                     701                             ; SOURCE LINE # 256
                     702     ;     //qrTXD=1;
                     703     ;       if(qRXD==1){
                     704                             ; SOURCE LINE # 258
000E 309205          705             JNB     qRXD,?C0047
                     706     ;       in_data|=0x80;
                     707                             ; SOURCE LINE # 259
0011 430580          708             ORL     AR5,#080H
                     709     ;       }
                     710                             ; SOURCE LINE # 260
0014 8003            711             SJMP    ?C0048
0016                 712     ?C0047:
                     713     ;     else {
                     714                             ; SOURCE LINE # 261
                     715     ;       in_data&=0x7f;
A51 MACRO ASSEMBLER  DELAY_SUBROUTINE                                                     07/16/2008 08:39:38 PAGE    12

                     716                             ; SOURCE LINE # 262
0016 53057F          717             ANL     AR5,#07FH
                     718     ;       }
                     719                             ; SOURCE LINE # 263
0019                 720     ?C0048:
                     721     ;     in_data>>=1;
                     722                             ; SOURCE LINE # 264
0019 ED              723             MOV     A,R5
001A C3              724             CLR     C
001B 13              725             RRC     A
001C FD              726             MOV     R5,A
                     727     ;     delay17us();
                     728                             ; SOURCE LINE # 265
001D 120000   F      729             LCALL   delay17us
                     730     ;    }
                     731                             ; SOURCE LINE # 266
0020 0B              732             INC     R3
0021 BB0001          733             CJNE    R3,#00H,?C0068
0024 0A              734             INC     R2
0025                 735     ?C0068:
0025 EB              736             MOV     A,R3
0026 6407            737             XRL     A,#07H
0028 4A              738             ORL     A,R2
0029 70E3            739             JNZ     ?C0044
002B                 740     ?C0045:
                     741     ;       if(qRXD==1){
                     742                             ; SOURCE LINE # 267
002B 309205          743             JNB     qRXD,?C0049
                     744     ;       in_data|=0x80;
                     745                             ; SOURCE LINE # 268
002E 430580          746             ORL     AR5,#080H
                     747     ;       }
                     748                             ; SOURCE LINE # 269
0031 8003            749             SJMP    ?C0050
0033                 750     ?C0049:
                     751     ;     else {
                     752                             ; SOURCE LINE # 270
                     753     ;       in_data&=0x7f;
                     754                             ; SOURCE LINE # 271
0033 53057F          755             ANL     AR5,#07FH
                     756     ;       }
                     757                             ; SOURCE LINE # 272
0036                 758     ?C0050:
                     759     ;       delay17us();
                     760                             ; SOURCE LINE # 273
0036 120000   F      761             LCALL   delay17us
                     762     ;     delay1us();
                     763                             ; SOURCE LINE # 274
0039 120000   F      764             LCALL   delay1us
                     765     ;     delay1us();
                     766                             ; SOURCE LINE # 275
003C 120000   F      767             LCALL   delay1us
                     768     ;       delay1us();
                     769                             ; SOURCE LINE # 276
003F 120000   F      770             LCALL   delay1us
                     771     ;       delay1us();
                     772                             ; SOURCE LINE # 277
0042 120000   F      773             LCALL   delay1us
                     774     ;     return(in_data);
                     775                             ; SOURCE LINE # 278
0045 AF05            776             MOV     R7,AR5
                     777     ;  }
                     778                             ; SOURCE LINE # 279
0047                 779     ?C0051:
0047 22              780             RET     
                     781     ; END OF input
A51 MACRO ASSEMBLER  DELAY_SUBROUTINE                                                     07/16/2008 08:39:38 PAGE    13

                     782     
                     783     ; 
                     784     ; 
                     785     ; 
                     786     ; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -