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

📄 tools.lst

📁 DS18B20用来测温度十分方便
💻 LST
字号:
C51 COMPILER V3.96,  SN-83203013  TOOLS                                                    09/12/05  17:49:31  PAGE 1   


DOS C51 COMPILER V3.96, COMPILATION OF MODULE TOOLS
OBJECT MODULE PLACED IN .\OUT\TOOLS.OBJ
COMPILER INVOKED BY: C:\C51\BIN\C51.EXE TOOLS.C-CODE-DEBUG-SMALL-OBJECTEXTEND-OJ(.\OUT\TOOLS.OBJ) 

stmt level    source

   1          
   2          //***********************************************************************
   3          //FILE: tools.c
   4          //功能:	基本的串口输入输出工具
   5          //***********************************************************************
   6          
   7          #include "main.h"
   8          #include "intrins.h"
   9          
  10          /*************************************
  11          名称:  Putchar
  12          功能:  输出一个字节函数
  13          *************************************/
  14          void Putchar(unsigned char byte)
  15          {
  16   1         SBUF=byte;
  17   1         while(TI==0);
  18   1         TI=0;
  19   1      }
  20          
  21          /*************************************
  22          名称:  Puthexbyte
  23          功能:  将数据用16进制的格式表示
  24          *************************************/
  25          void Puthexbyte(unsigned char ch)
  26          {
  27   1      	 unsigned char i;
  28   1      	 i=(ch>>4);
  29   1         if (i<=9)  Putchar(0x30+i);
  30   1      	 else Putchar (0x37+i);
  31   1      	 i=(ch&0x0F);
  32   1      	 if (i<=9)  Putchar(0x30+i);
  33   1         	else Putchar (0x37+i);
  34   1      }
  35          
  36          /*************************************
  37          名称:  prints
  38          功能:  打印一串字符,不超过50bytes
  39          *************************************/
  40          
  41          void Prints(unsigned char sMessage[26])
  42          {
  43   1      	 uchar k=0;
  44   1      	 while(sMessage[k] != 0) 
  45   1      	 {
  46   2      		 Putchar(sMessage[k]);
  47   2      		 k++;
  48   2      	 }
  49   1      }
  50          
  51          /****************************************************
  52          name: delay_1s()
  53          function: delay 1s
  54          ****************************************************/
  55          void delay_1s()
C51 COMPILER V3.96,  SN-83203013  TOOLS                                                    09/12/05  17:49:31  PAGE 2   

  56          {
  57   1          uint i,j;
  58   1          for(j=0;j<2;j++)
  59   1           { 
  60   2            for(i=0;i<45000;i++)
  61   2            {
  62   3                _nop_();
  63   3                _nop_();
  64   3            }
  65   2           }
  66   1      }      
  67          
C51 COMPILER V3.96,  SN-83203013  TOOLS                                                    09/12/05  17:49:31  PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _Putchar (BEGIN)
;---- Variable 'byte' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 14
                                           ; SOURCE LINE # 15
                                           ; SOURCE LINE # 16
0000 8F99          MOV     SBUF,R7
0002         ?C0001:
                                           ; SOURCE LINE # 17
0002 3099FD        JNB     TI,?C0001
0005         ?C0002:
                                           ; SOURCE LINE # 18
0005 C299          CLR     TI
                                           ; SOURCE LINE # 19
0007 22            RET     
             ; FUNCTION _Putchar (END)

             ; FUNCTION _Puthexbyte (BEGIN)
;---- Variable 'ch' assigned to Register 'R6' ----
0000 AE07          MOV     R6,AR7
                                           ; SOURCE LINE # 25
                                           ; SOURCE LINE # 26
                                           ; SOURCE LINE # 28
0002 EE            MOV     A,R6
0003 C4            SWAP    A
0004 540F          ANL     A,#0FH
;---- Variable 'i' assigned to Register 'R5' ----
0006 FD            MOV     R5,A
                                           ; SOURCE LINE # 29
0007 D3            SETB    C
0008 9409          SUBB    A,#09H
000A 5009          JNC     ?C0004
000C ED            MOV     A,R5
000D 2430          ADD     A,#030H
000F FF            MOV     R7,A
0010 120000  R     LCALL   _Putchar
0013 8007          SJMP    ?C0005
0015         ?C0004:
                                           ; SOURCE LINE # 30
0015 ED            MOV     A,R5
0016 2437          ADD     A,#037H
0018 FF            MOV     R7,A
0019 120000  R     LCALL   _Putchar
001C         ?C0005:
                                           ; SOURCE LINE # 31
001C EE            MOV     A,R6
001D 540F          ANL     A,#0FH
001F FD            MOV     R5,A
                                           ; SOURCE LINE # 32
0020 D3            SETB    C
0021 9409          SUBB    A,#09H
0023 5008          JNC     ?C0006
0025 ED            MOV     A,R5
0026 2430          ADD     A,#030H
0028 FF            MOV     R7,A
0029 120000  R     LCALL   _Putchar
002C 22            RET     
002D         ?C0006:
                                           ; SOURCE LINE # 33
002D ED            MOV     A,R5
C51 COMPILER V3.96,  SN-83203013  TOOLS                                                    09/12/05  17:49:31  PAGE 4   

002E 2437          ADD     A,#037H
0030 FF            MOV     R7,A
0031 120000  R     LCALL   _Putchar
                                           ; SOURCE LINE # 34
0034         ?C0008:
0034 22            RET     
             ; FUNCTION _Puthexbyte (END)

             ; FUNCTION _Prints (BEGIN)
0000 8B00    R     MOV     sMessage,R3
0002 8A00    R     MOV     sMessage+01H,R2
0004 8900    R     MOV     sMessage+02H,R1
                                           ; SOURCE LINE # 41
                                           ; SOURCE LINE # 42
                                           ; SOURCE LINE # 43
;---- Variable 'k' assigned to Register 'R6' ----
0006 E4            CLR     A
0007 FE            MOV     R6,A
0008         ?C0009:
                                           ; SOURCE LINE # 44
0008 AB00    R     MOV     R3,sMessage
000A AA00    R     MOV     R2,sMessage+01H
000C A900    R     MOV     R1,sMessage+02H
000E 8E82          MOV     DPL,R6
0010 758300        MOV     DPH,#00H
0013 120000  E     LCALL   ?C_CLDOPTR
0016 FF            MOV     R7,A
0017 6006          JZ      ?C0011
                                           ; SOURCE LINE # 45
                                           ; SOURCE LINE # 46
0019 120000  R     LCALL   _Putchar
                                           ; SOURCE LINE # 47
001C 0E            INC     R6
                                           ; SOURCE LINE # 48
001D 80E9          SJMP    ?C0009
                                           ; SOURCE LINE # 49
001F         ?C0011:
001F 22            RET     
             ; FUNCTION _Prints (END)

             ; FUNCTION delay_1s (BEGIN)
                                           ; SOURCE LINE # 55
                                           ; SOURCE LINE # 56
                                           ; SOURCE LINE # 58
0000 E4            CLR     A
0001 F500    R     MOV     j,A
0003 F500    R     MOV     j+01H,A
0005         ?C0012:
0005 C3            CLR     C
0006 E500    R     MOV     A,j+01H
0008 9402          SUBB    A,#02H
000A E500    R     MOV     A,j
000C 9400          SUBB    A,#00H
000E 502D          JNC     ?C0018
                                           ; SOURCE LINE # 59
                                           ; SOURCE LINE # 60
;---- Variable 'i' assigned to Register 'R2/R3' ----
0010 E4            CLR     A
0011 FB            MOV     R3,A
0012 FA            MOV     R2,A
0013         ?C0015:
0013 7FC8          MOV     R7,#0C8H
C51 COMPILER V3.96,  SN-83203013  TOOLS                                                    09/12/05  17:49:31  PAGE 5   

0015 7EAF          MOV     R6,#0AFH
0017 7D00          MOV     R5,#00H
0019 7C00          MOV     R4,#00H
001B 120000  E     LCALL   ?C_LPUSH
001E AE02          MOV     R6,AR2
0020 AF03          MOV     R7,AR3
0022 E4            CLR     A
0023 FC            MOV     R4,A
0024 FD            MOV     R5,A
0025 120000  E     LCALL   ?C_SLCMP
0028 5009          JNC     ?C0014
                                           ; SOURCE LINE # 61
                                           ; SOURCE LINE # 62
002A 00            NOP     
                                           ; SOURCE LINE # 63
002B 00            NOP     
                                           ; SOURCE LINE # 64
002C 0B            INC     R3
002D EB            MOV     A,R3
002E 7001          JNZ     ?C0019
0030 0A            INC     R2
0031         ?C0019:
0031 80E0          SJMP    ?C0015
                                           ; SOURCE LINE # 65
0033         ?C0014:
0033 0500    R     INC     j+01H
0035 E500    R     MOV     A,j+01H
0037 7002          JNZ     ?C0020
0039 0500    R     INC     j
003B         ?C0020:
003B 80C8          SJMP    ?C0012
                                           ; SOURCE LINE # 66
003D         ?C0018:
003D 22            RET     
             ; FUNCTION delay_1s (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    155    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       5
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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