📄 functions.lst
字号:
224 2 }
225 1 LedBuf[0]=LedCode[i];
226 1
227 1 i=0;
228 1 while(dat>=100)
229 1 {
230 2 dat-=100;
231 2 i+=1;
232 2 }
233 1 LedBuf[1]=LedCode[i];
234 1
235 1 i=0;
236 1 while(dat>=10)
237 1 {
238 2 dat-=10;
239 2 i+=1;
240 2 }
241 1 LedBuf[2]=LedCode[i];
C51 COMPILER V7.50 FUNCTIONS 03/06/2007 20:40:54 PAGE 5
242 1
243 1 LedBuf[3]=LedCode[dat];
244 1 }
245
246 void LedL(unsigned int dat)
247 {
248 1 char i=0;
249 1
250 1 while(dat>=10000)
251 1 dat-=10000;
252 1 while(dat>=1000)
253 1 {
254 2 dat-=1000;
255 2 i+=1;
256 2 }
257 1 LedBuf[4]=LedCode[i];
258 1
259 1 i=0;
260 1 while(dat>=100)
261 1 {
262 2 dat-=100;
263 2 i+=1;
264 2 }
265 1 LedBuf[5]=LedCode[i];
266 1
267 1 i=0;
268 1 while(dat>=10)
269 1 {
270 2 dat-=10;
271 2 i+=1;
272 2 }
273 1 LedBuf[6]=LedCode[i];
274 1
275 1 LedBuf[7]=LedCode[dat];
276 1 }
277
278 void Led(unsigned int dat)//调试使用
279 {
280 1
281 1 char i=0;
282 1 while(dat>=10000)
283 1 {
284 2 dat-=10000;
285 2 i++;
286 2 }
287 1 LedH(i);
288 1
289 1 //dat%=10000;
290 1 LedL(dat);
291 1 }
292
293
294
295 void ShowInputTemp()
296 {
297 1 if(AdmitFlag==1)
298 1 return;
299 1 if((MeterSta!=STA_Sr)&&(PassWordLock==1))
300 1 return;
301 1
302 1 LedH(InputTemp);
303 1
C51 COMPILER V7.50 FUNCTIONS 03/06/2007 20:40:54 PAGE 6
304 1 switch(MeterSta)//加个小数点
305 1 {
306 2 //case STA_Sr://1
307 2 case STA_AUTO:
308 2 case STA_Sv:// 2
309 2 case STA_SH:// 3
310 2 case STA_SL:// 4
311 2 //case STA_oH:// 5
312 2 //case STA_oL:// 6
313 2 //case STA_P:// 7
314 2 //case STA_I:// 8
315 2 //case STA_d:// 9
316 2 //case STA_db:// 10
317 2 //case STA_Fd:// 11//Fun只在上述循环
318 2 DPA();
319 2 break;
320 2 case STA_oL://
321 2 case STA_P:// 7
322 2 case STA_I:// 8
323 2 case STA_d:// 9
324 2 LedBuf[1]+=128;
325 2 break;
326 2 default:
327 2 ;
328 2 }
329 1 }
330
331 void FunSwitch()
332 {
333 1 MeterSta++;
334 1 if(MeterSta>=13)//不包含13
335 1 {
336 2 MeterSta=0;
337 2 MAN_OFF();
338 2 }
339 1 AdmitFlag=0;
340 1 switch(MeterSta)
341 1 {//此处仅存储和显示即可,更新InputTemp,DataTemp
342 2 case 0://STA_AUTO
343 2 //存储
344 2 if(DataTemp!=InputTemp)
345 2 {//功能键处理=========
346 3 k0=Read(EP_Fd);
347 3 switch(k0)
348 3 {
349 4 case 0:
350 4 if(InputTemp!=0)
351 4 switch(InputTemp)
352 4 {//单次功能实现
353 5 case 5555:
354 5 Write( EP_FT, 0xffff);
355 5 break;
356 5 case 1000:
357 5 case 2000:
358 5 case 2001:
359 5 FFSta=InputTemp;
360 5 break;
361 5 }
362 4 break;
363 4 case 1://升温下线
364 4 if(InputTemp>LineB)
365 4 {
C51 COMPILER V7.50 FUNCTIONS 03/06/2007 20:40:54 PAGE 7
366 5 Write(EP_FF1,InputTemp);
367 5 LineA=InputTemp;
368 5 }
369 4 break;
370 4 case 2://
371 4 if((InputTemp<LineA)&&(InputTemp>LineC))
372 4 {
373 5 Write(EP_FF2,InputTemp);
374 5 LineB=InputTemp;
375 5 }
376 4 break;
377 4 case 3://
378 4 if((InputTemp<LineB)&&(InputTemp>0))
379 4 {
380 5 Write(EP_FF3,InputTemp);
381 5 LineC=InputTemp;
382 5 }
383 4 break;
384 4 case 4://
385 4 if(InputTemp>LineC)
386 4 {
387 5 Write(EP_FF4,InputTemp);
388 5 LineD=InputTemp;
389 5 }
390 4 break;
391 4 default:
392 4 break;
393 4 }
394 3 }
395 2
396 2
397 2 //更新
398 2 LedH(Temperature);
399 2 DPA();
400 2 DataTemp=Read(EP_Sv);
401 2 InputTemp=DataTemp;
402 2 InputLimit=5001; //400.0 degree is upper limit
403 2 LedL(DataTemp);
404 2 DPB();
405 2 if(AdmitFlag==0)
406 2 AdmitFlag=1;//允许上排数据更新
407 2 break;
408 2 case 1://Sr 密码
409 2 //存储:不需
410 2 //更新
411 2 LedBuf[4]=LedCode[C_S];
412 2 LedBuf[5]=LedCode[C_r];
413 2 MieDown();
414 2 //更新
415 2 DataTemp=Read(EP_Sr);
416 2 LedH(DataTemp);
417 2 InputTemp=DataTemp;
418 2 InputLimit=10000;
419 2 break;
420 2 case 2://Sv 设定值
421 2 //存储
422 2 if(InputTemp!=DataTemp)
423 2 {//
424 3 PassWordLock=0;
425 3 Write(EP_Sr,InputTemp);
426 3 }
427 2 if(InputTemp==2000)
C51 COMPILER V7.50 FUNCTIONS 03/06/2007 20:40:54 PAGE 8
428 2 PassWordLock=0;//开锁
429 2 else
430 2 PassWordLock=1;
431 2
432 2 //更新
433 2 LedBuf[4]=LedCode[C_S];
434 2 LedBuf[5]=LedCode[C_v];
435 2 MieDown();
436 2 DataTemp=Read(EP_Sv);
437 2 InputTemp=DataTemp;
438 2 InputLimit=5001;///most 400.0 degree
439 2 LedH(DataTemp);
440 2 DPA();
441 2 break;
442 2 case 3://SH 上限
443 2 if(DataTemp!=InputTemp)
444 2 {
445 3 Setted_Temperature=InputTemp;
446 3 Write(EP_Sv,InputTemp);
447 3 }
448 2 //更新
449 2 LedBuf[4]=LedCode[C_S];
450 2 LedBuf[5]=LedCode[C_H];
451 2 MieDown();
452 2 DataTemp=Read(EP_SH);
453 2 InputTemp=DataTemp;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -