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

📄 main.lst

📁 DS18B20用来测温度十分方便
💻 LST
字号:
C51 COMPILER V3.96,  SN-83203013  MAIN                                                     09/13/05  14:48:43  PAGE 1   


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

stmt level    source

   1          //***********************************************************************
   2          //FILE:	main.c
   3          //功能:	主体流程程序
   4          //***********************************************************************
   5          #include "main.h"
   6          #include "initial.h"
   7          #include "reg931.h"
   8          #include "tools.h"
   9          #include "sht.h"
  10          #include "pcf8576d.h"
  11          #include "stdio.h"
  12          #include "math.h"
  13          
  14          sbit BEEP=P1^6;
  15          int Humi,Temp;
  16          
  17          
  18          void main()
  19          { 
  20   1        value humi_val,temp_val;
  21   1        uchar error,checksum;
  22   1        InitialAll();
  23   1        //Prints("Initial is over\r\n");
  24   1       //  s_connectionreset();
  25   1      /*   while(1)
  26   1         {
  27   1           BEEP=0;
  28   1           delay_1s();
  29   1           BEEP=1;
  30   1           delay_1s();
  31   1           //Prints("\r\n"); 
  32   1           //Prints("ok");
  33   1           error+= s_read_statusreg( &status,&checksum);
  34   1           Prints("error=");
  35   1           Puthexbyte(error);
  36   1           Prints("\r\n"); 
  37   1         }*/
  38   1        error+=s_humi((unsigned char*) &humi_val.i,&checksum); //防止第一遍由于时序原因显示乱码    
  39   1        error+=s_temp((unsigned char*) &temp_val.i,&checksum);
  40   1        humi_val.f=(float)humi_val.i;            
  41   1        temp_val.f=(float)temp_val.i;           
  42   1        calc_sth11(&humi_val.f,&temp_val.f); 
  43   1        while(1)                      
  44   1         { 
  45   2         	 error=0;
  46   2           error+=s_humi((unsigned char*) &humi_val.i,&checksum);      //measure humidity
  47   2           error+=s_temp((unsigned char*) &temp_val.i,&checksum);      //measure temperature
  48   2           if(error!=0) s_connectionreset();         //in case of an error: connection reset
  49   2           else
  50   2            {
  51   3          	  humi_val.f=(float)humi_val.i;            //converts integer to float
  52   3              temp_val.f=(float)temp_val.i;            //converts integer to float
  53   3              calc_sth11(&humi_val.f,&temp_val.f);     //calculate humidity, temperature
  54   3             // PCF8576Humi();
  55   3             // delay_1s();
C51 COMPILER V3.96,  SN-83203013  MAIN                                                     09/13/05  14:48:43  PAGE 2   

  56   3             // PCF8576Temp();
  57   3             // delay_1s();
  58   3            }
  59   2         }
  60   1      }
C51 COMPILER V3.96,  SN-83203013  MAIN                                                     09/13/05  14:48:43  PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 18
                                           ; SOURCE LINE # 19
                                           ; SOURCE LINE # 22
0000 120000  E     LCALL   InitialAll
                                           ; SOURCE LINE # 38
0003 750004  E     MOV     ?_s_humi?BYTE+03H,#04H
0006 750000  R     MOV     ?_s_humi?BYTE+04H,#HIGH checksum
0009 750000  R     MOV     ?_s_humi?BYTE+05H,#LOW checksum
000C 7B04          MOV     R3,#04H
000E 7A00    R     MOV     R2,#HIGH humi_val
0010 7900    R     MOV     R1,#LOW humi_val
0012 120000  E     LCALL   _s_humi
0015 EF            MOV     A,R7
0016 2500    R     ADD     A,error
0018 F500    R     MOV     error,A
                                           ; SOURCE LINE # 39
001A 750004  E     MOV     ?_s_temp?BYTE+03H,#04H
001D 750000  R     MOV     ?_s_temp?BYTE+04H,#HIGH checksum
0020 750000  R     MOV     ?_s_temp?BYTE+05H,#LOW checksum
0023 7B04          MOV     R3,#04H
0025 7A00    R     MOV     R2,#HIGH temp_val
0027 7900    R     MOV     R1,#LOW temp_val
0029 120000  E     LCALL   _s_temp
002C EF            MOV     A,R7
002D 2500    R     ADD     A,error
002F F500    R     MOV     error,A
                                           ; SOURCE LINE # 40
0031 AC00    R     MOV     R4,humi_val
0033 AD00    R     MOV     R5,humi_val+01H
0035 E4            CLR     A
0036 120000  E     LCALL   ?C_FCASTI
0039 8F00    R     MOV     humi_val+03H,R7
003B 8E00    R     MOV     humi_val+02H,R6
003D 8D00    R     MOV     humi_val+01H,R5
003F 8C00    R     MOV     humi_val,R4
                                           ; SOURCE LINE # 41
0041 AC00    R     MOV     R4,temp_val
0043 AD00    R     MOV     R5,temp_val+01H
0045 E4            CLR     A
0046 120000  E     LCALL   ?C_FCASTI
0049 8F00    R     MOV     temp_val+03H,R7
004B 8E00    R     MOV     temp_val+02H,R6
004D 8D00    R     MOV     temp_val+01H,R5
004F 8C00    R     MOV     temp_val,R4
                                           ; SOURCE LINE # 42
0051 7A00    R     MOV     R2,#HIGH temp_val
0053 7900    R     MOV     R1,#LOW temp_val
0055 750004  E     MOV     ?_calc_sth11?BYTE+03H,#04H
0058 750000  R     MOV     ?_calc_sth11?BYTE+04H,#HIGH temp_val
005B 750000  R     MOV     ?_calc_sth11?BYTE+05H,#LOW temp_val
005E 7B04          MOV     R3,#04H
0060 7A00    R     MOV     R2,#HIGH humi_val
0062 7900    R     MOV     R1,#LOW humi_val
0064 120000  E     LCALL   _calc_sth11
0067         ?C0001:
                                           ; SOURCE LINE # 43
                                           ; SOURCE LINE # 44
                                           ; SOURCE LINE # 45
C51 COMPILER V3.96,  SN-83203013  MAIN                                                     09/13/05  14:48:43  PAGE 4   

0067 E4            CLR     A
0068 F500    R     MOV     error,A
                                           ; SOURCE LINE # 46
006A 750004  E     MOV     ?_s_humi?BYTE+03H,#04H
006D 750000  R     MOV     ?_s_humi?BYTE+04H,#HIGH checksum
0070 750000  R     MOV     ?_s_humi?BYTE+05H,#LOW checksum
0073 7B04          MOV     R3,#04H
0075 7A00    R     MOV     R2,#HIGH humi_val
0077 7900    R     MOV     R1,#LOW humi_val
0079 120000  E     LCALL   _s_humi
007C EF            MOV     A,R7
007D 2500    R     ADD     A,error
007F F500    R     MOV     error,A
                                           ; SOURCE LINE # 47
0081 750004  E     MOV     ?_s_temp?BYTE+03H,#04H
0084 750000  R     MOV     ?_s_temp?BYTE+04H,#HIGH checksum
0087 750000  R     MOV     ?_s_temp?BYTE+05H,#LOW checksum
008A 7B04          MOV     R3,#04H
008C 7A00    R     MOV     R2,#HIGH temp_val
008E 7900    R     MOV     R1,#LOW temp_val
0090 120000  E     LCALL   _s_temp
0093 EF            MOV     A,R7
0094 2500    R     ADD     A,error
0096 F500    R     MOV     error,A
                                           ; SOURCE LINE # 48
0098 6005          JZ      ?C0003
009A 120000  E     LCALL   s_connectionreset
009D 80C8          SJMP    ?C0001
009F         ?C0003:
                                           ; SOURCE LINE # 50
                                           ; SOURCE LINE # 51
009F AC00    R     MOV     R4,humi_val
00A1 AD00    R     MOV     R5,humi_val+01H
00A3 E4            CLR     A
00A4 120000  E     LCALL   ?C_FCASTI
00A7 8F00    R     MOV     humi_val+03H,R7
00A9 8E00    R     MOV     humi_val+02H,R6
00AB 8D00    R     MOV     humi_val+01H,R5
00AD 8C00    R     MOV     humi_val,R4
                                           ; SOURCE LINE # 52
00AF AC00    R     MOV     R4,temp_val
00B1 AD00    R     MOV     R5,temp_val+01H
00B3 E4            CLR     A
00B4 120000  E     LCALL   ?C_FCASTI
00B7 8F00    R     MOV     temp_val+03H,R7
00B9 8E00    R     MOV     temp_val+02H,R6
00BB 8D00    R     MOV     temp_val+01H,R5
00BD 8C00    R     MOV     temp_val,R4
                                           ; SOURCE LINE # 53
00BF 7A00    R     MOV     R2,#HIGH temp_val
00C1 7900    R     MOV     R1,#LOW temp_val
00C3 750004  E     MOV     ?_calc_sth11?BYTE+03H,#04H
00C6 750000  R     MOV     ?_calc_sth11?BYTE+04H,#HIGH temp_val
00C9 750000  R     MOV     ?_calc_sth11?BYTE+05H,#LOW temp_val
00CC 7B04          MOV     R3,#04H
00CE 7A00    R     MOV     R2,#HIGH humi_val
00D0 7900    R     MOV     R1,#LOW humi_val
00D2 120000  E     LCALL   _calc_sth11
                                           ; SOURCE LINE # 58
                                           ; SOURCE LINE # 59
00D5 8090          SJMP    ?C0001
                                           ; SOURCE LINE # 60
C51 COMPILER V3.96,  SN-83203013  MAIN                                                     09/13/05  14:48:43  PAGE 5   

00D7 22            RET     
             ; FUNCTION main (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    216    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4      10
   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 + -