📄 temp.lst
字号:
C51 COMPILER V8.05a TEMP 06/26/2008 08:55:58 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE TEMP
OBJECT MODULE PLACED IN temp.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE temp.c LARGE ROM(COMPACT) DEBUG OBJECTEXTEND
line level source
1 #include "STC12C5410AD.h"
2 #include "app.h"
3 #include <string.h>
4 #include <stdio.h>
5 #include <INTRINS.H>
6
7 void temp_done(void);
8 unsigned char findindex(float temp);
9
10 //extern void CPLD_LED(unsigned char buffer);
11 //extern void CPLD_LED8(unsigned char buffer);
12 extern void CPLD_OUT(unsigned char buffer,unsigned char led);
13
14 extern struct _LED
15 {
16 unsigned char status ; // LED状态
17 unsigned char temp ; // 温度值
18 }LED;
19
20 code const float temptable[] =
21 {
22 //-20.0
23 489.0000,
24 //-19.0
25 462.4000,
26 //-18.0
27 437.2000,
28 //-17.0
29 413.5000,
30 //-16.0
31 391.1000,
32 //-15.0
33 370.0000,
34 //-14.0
35 349.9000,
36 //-13.0
37 331.1000,
38 //-12.0
39 313.3000,
40 //-11.0
41 296.5000,
42 //-10.0
43 280.6000,
44 //-9.0
45 265.8000,
46 //-8.0
47 251.7000,
48 //-7.0
49 238.5000,
50 //-6.0
51 226.1000,
52 //-5.0
53 214.4000,
54 //-4.0
55 203.3000,
C51 COMPILER V8.05a TEMP 06/26/2008 08:55:58 PAGE 2
56 //-3.0
57 192.9000,
58 //-2.0
59 183.1000,
60 //-1.0
61 173.8000,
62 // 0.0
63 164.9100,
64 // 1.0
65 156.6282,
66 // 2.0
67 148.8133,
68 // 3.0
69 141.4360,
70 // 4.0
71 134.4695,
72 // 5.0
73 127.8884,
74 // 6.0
75 121.6692,
76 // 7.0
77 115.7899,
78 // 8.0
79 110.2301,
80 // 9.0
81 104.9705,
82 // 10.0
83 99.9932,
84 // 11.0
85 95.2816,
86 // 12.0
87 90.8198,
88 // 13.0
89 86.5933,
90 // 14.0
91 82.5884,
92 // 15.0
93 78.7922,
94 // 16.0
95 75.1927,
96 // 17.0
97 71.7786,
98 // 18.0
99 68.5393,
100 // 19.0
101 65.4650,
102 // 20.0
103 62.5463,
104 // 21.0
105 59.7745,
106 // 22.0
107 57.1414,
108 // 23.0
109 54.6394,
110 // 24.0
111 52.2612,
112 // 25.0
113 50.0000,
114 // 26.0
115 47.8494,
116 // 27.0
117 45.8035,
C51 COMPILER V8.05a TEMP 06/26/2008 08:55:58 PAGE 3
118 // 28.0
119 43.8566,
120 // 29.0
121 42.0034,
122 // 30.0
123 40.2388,
124 // 31.0
125 38.5582,
126 // 32.0
127 36.9571,
128 // 33.0
129 35.4314,
130 // 34.0
131 33.9771,
132 // 35.0
133 32.5905,
134 // 36.0
135 31.2682,
136 // 37.0
137 30.0067,
138 // 38.0
139 28.8030,
140 // 39.0
141 27.6541,
142 // 40.0
143 26.5574,
144 // 41.0
145 25.5100,
146 // 42.0
147 24.5096,
148 // 43.0
149 23.5538,
150 // 44.0
151 22.6405,
152 // 45.0
153 21.7674,
154 // 46.0
155 20.9327,
156 // 47.0
157 20.1344,
158 // 48.0
159 19.3708,
160 // 49.0
161 18.6402,
162 // 50.0
163 17.9410,
164 // 51.0
165 17.2717,
166 // 52.0
167 16.6309,
168 // 53.0
169 16.0173,
170 // 54.0
171 15.4294,
172 // 55.0
173 14.8662,
174 // 56.0
175 14.3265,
176 // 57.0
177 13.8092,
178 // 58.0
179 13.3132,
C51 COMPILER V8.05a TEMP 06/26/2008 08:55:58 PAGE 4
180 // 59.0
181 12.8376,
182 // 60.0
183 12.3815,
184 // 61.0
185 11.9439,
186 // 62.0
187 11.5239,
188 // 63.0
189 11.1209,
190 // 64.0
191 10.7341,
192 // 65.0
193 10.3626,
194 // 66.0
195 10.0059,
196 // 67.0
197 9.6632,
198 //68.0
199 9.3341,
200 //69.0
201 9.0177,
202 //70.0
203 8.7137,
204 //71.0
205 8.4215,
206 //72.0
207 8.1405,
208 //73.0
209 7.8703,
210 //74.0
211 7.6104,
212 //75.0
213 7.3603,
214 //76.0
215 7.1197,
216 //77.0
217 6.8882,
218 //78.0
219 6.6653,
220 //79.0
221 6.4507,
222 //80.0
223 6.2441,
224 //81.0
225 6.0451,
226 //82.0
227 5.8534,
228 //83.0
229 5.6687,
230 //84.0
231 5.4907,
232 //85.0
233 5.3192,
234 //86.0
235 5.1539,
236 //87.0
237 4.9945,
238 //88.0
239 4.8407,
240 //89.0
241 4.6925,
C51 COMPILER V8.05a TEMP 06/26/2008 08:55:58 PAGE 5
242 //90.0
243 4.5495,
244 //91.0
245 4.4115,
246 //92.0
247 4.2784,
248 //93.0
249 4.1499,
250 //94.0
251 4.0259,
252 //95.0
253 3.9062,
254 //96.0
255 3.7906,
256 //97.0
257 3.6790,
258 //98.0
259 3.5711,
260 //99.0
261 3.4670,
262 //100.0
263 3.3663,
264 //101.0
265 3.2691,
266 //102.0
267 3.1751
268 };
269 extern unsigned char CMD_Status ; // 按键状态
270 extern IndexPamDef IndexPam; // 系统参数
271 extern unsigned int Current_Montor_Count;
272 extern unsigned int CurrentSpeed;
273
274 unsigned char songliaotime =0; // 送料电机时间控制
275
276 extern unsigned int GetSetInitCount(unsigned int Speed);
277
278
279 void temp_done(void)
280 {
281 1 unsigned int tempvalue;
282 1 float tempdata;
283 1 int a = 0;
284 1 float *p = temptable;
285 1 ADC_CONTR = ADC_Channel_0;
286 1
287 1 ADC_CONTR |= 0x08; // 启动AD转换
288 1 // 是否转换结束
289 1 while(!(ADC_CONTR&0x10));
290 1 //清转换和标志位,停止转换
291 1 ADC_CONTR &= 0xef;
292 1 //保存转化结果
293 1 tempvalue = (ADC_DATA<<2) | (ADC_LOW2&0x3);
294 1 // 计算得到电阻值
295 1 tempdata=(float)(50*tempvalue)/((float)(1024-tempvalue));
296 1 // 查表
297 1 while(tempdata<=*p)
298 1 {
299 2 p++;
300 2 a++;
301 2 }
302 1 // 减去负的20度
303 1 LED.temp =a - 20;
C51 COMPILER V8.05a TEMP 06/26/2008 08:55:58 PAGE 6
304 1
305 1 CPLD_OUT(LED.temp,LED.status);
306 1
307 1 if( (CMD_Status == 0x08) && ( (LED.status &FIREING) == FIREING) )
308 1 {
309 2 if(LED.temp>IndexPam.maxtemp)
310 2 {
311 3 Current_Montor_Count = GetSetInitCount(IndexPam.minspeed);
312 3 CurrentSpeed = IndexPam.minspeed;
313 3
314 3 if(songliaotime==0) // 循环结束
315 3 {
316 4 songliaotime ++;
317 4 MONTOR = 1;
318 4 LED.status |=SMALLFIRE;
319 4 LED.status &=BIGFIREOFF;
320 4 LED.status |=SONGLIAO;
321 4 CPLD_OUT(LED.temp,LED.status);
322 4
323 4 }
324 3
325 3 }
326 2 if( LED.temp<(IndexPam.maxtemp-IndexPam.mintemp) )
327 2 {
328 3 Current_Montor_Count = GetSetInitCount(IndexPam.maxspeed);
329 3 CurrentSpeed = IndexPam.maxspeed;
330 3
331 3 // // 进入燃烧状态时,送料循环
332 3 if(songliaotime==0) // 循环结束
333 3 {
334 4 songliaotime ++;
335 4 MONTOR = 1;
336 4 LED.status |=BIGFIRE;
337 4 LED.status &=SMALLFIREOFF;
338 4 LED.status |=SONGLIAO;
339 4 CPLD_OUT(LED.temp,LED.status);
340 4
341 4 }
342 3
343 3 }
344 2 }
345 1
346 1 }
347
348
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 398 ----
CONSTANT SIZE = 492 ----
XDATA SIZE = 1 11
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -