📄 main.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 + -