📄 ct.lst
字号:
C51 COMPILER V8.05a CT 06/05/2007 06:25:14 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE CT
OBJECT MODULE PLACED IN ct.OBJ
COMPILER INVOKED BY: D:\syssoft\keil805\C51\BIN\C51.EXE ct.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2
3 #include "MATH.H"
4 #include "STC12.H"
5 #include "pin.h"
6 #include "function.h"
7 #include "evariable.h"
8 //cwf2:temperature sensor character --
9 //Dv=10/(10+R)*1024
10 //output voltage 2.8532v~0.8807v : 0C~50C
11 const float code cwf2[51]={
12 13.29,
13 12.74,12.22,11.72,11.25,10.8,10.37,9.962,9.571,9.197,8.839,//1~10 C
14 8.476,8.168,7.854,7.553,7.266,6.992,6.73,6.48,6.241,6.013, //11~20 C
15 5.794,5.584,5.382,5.188,5,4.819,4.646,4.48,4.324,4.179, //21~30 C
16 4.018,3.878,3.749,3.627,3.508,3.392,3.28,3.17,3.064,2.962, //31~40 C
17 2.864,2.77,2.68,2.593,2.512,2.43,2.353,2.279,2.207,2.138 //41~50 C
18 };
19 byte ct(word DV)
20 {
21 1 float k1=0,k2=0;
22 1 unsigned int DV2;
23 1 byte i;
24 1 i=0;
25 1 while(1)
26 1 {
27 2 k1=cwf2[i]+10;
28 2 k1=cwf2[i]*1024/k1;
29 2 DV2=(unsigned int)k1;
30 2 if((DV >= DV2)&&(i!=0))
31 2 {
32 3 k2=cwf2[i-1]+10;
33 3 k2=cwf2[i-1]*1024/k2;
34 3 k2=k1+k2;
35 3 k2=k2/2;
36 3 DV2=(unsigned int)k2;
37 3 if(DV >= DV2)
38 3 {
39 4 i-=1;
40 4 }
41 3 break;
42 3 }
43 2 if((DV>= DV2)&&(i==0))
44 2 {
45 3 break;
46 3 }
47 2 i++;
48 2 if(i >= 51)
49 2 {
50 3 break;
51 3 }
52 2 }
53 1 return(i);
54 1 }
C51 COMPILER V8.05a CT 06/05/2007 06:25:14 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 289 ----
CONSTANT SIZE = 204 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 11
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 + -