📄 csy.lst
字号:
258 1 for(m=0;m<128;m++)
259 1 write_flash_byte(lead_add+m,buffer[m],DATA_FLASH);
260 1
261 1 }
262
263
264 //温度显示开始
265 /*----------------------------------------------------
266 * 整型转换成字符型子程序
267 *----------------------------------------------------*/
268 unsigned inttochar(unsigned int int1)
269 {
270 1 unsigned char ch1;
271 1 switch(int1)
272 1 {
273 2 case(0):ch1='0';break;
274 2 case(1):ch1='1';break;
275 2 case(2):ch1='2';break;
276 2 case(3):ch1='3';break;
277 2 case(4):ch1='4';break;
278 2 case(5):ch1='5';break;
279 2 case(6):ch1='6';break;
280 2 case(7):ch1='7';break;
281 2 case(8):ch1='8';break;
282 2 case(9):ch1='9';break;
283 2 default:break;
284 2 }
285 1 return(ch1);
286 1 }
287 /*----------------------------------------------------
288 * 整型转换成浮点型子程序
289 *----------------------------------------------------*/
290 float inttofloat(unsigned int int1)
291 {
292 1 float ch1;
293 1 switch(int1)
294 1 {
295 2 case(0):ch1=0;break;
296 2 case(1):ch1=1;break;
297 2 case(2):ch1=2;break;
298 2 case(3):ch1=3;break;
299 2 case(4):ch1=4;break;
300 2 case(5):ch1=5;break;
301 2 case(6):ch1=6;break;
302 2 case(7):ch1=7;break;
303 2 case(8):ch1=8;break;
C51 COMPILER V7.06 CSY 11/16/2007 16:56:48 PAGE 6
304 2 case(9):ch1=9;break;
305 2 default:break;
306 2 }
307 1 return(ch1);
308 1 }
309 /*----------------------------------------------------
310 * delay N count c里的一个while语句相当于汇编里的一个DJNZ语句,即两个机器周期
311 *----------------------------------------------------*/
312 void Delay_Count (unsigned char Count ) //延时时间为:(Count*2+5)*0.362 us
313 {
314 1 while(--Count);
315 1 }
316
317
318 /*----------------------------------------------------
319 * HEX->BCD查表程序,小数部分
320 *----------------------------------------------------*/
321 unsigned char hextobcd1(unsigned char tab)
322 {
323 1 unsigned int tab1;
324 1 switch(tab)
325 1 {
326 2 case(0x00): tab1=0x000; break;
327 2 case(0x01): tab1=0x001; break;
328 2 case(0x02): tab1=0x001; break;
329 2 case(0x03): tab1=0x002; break;
330 2 case(0x04): tab1=0x003; break;
331 2 case(0x05): tab1=0x003; break;
332 2 case(0x06): tab1=0x004; break;
333 2 case(0x07): tab1=0x004; break;
334 2 case(0x08): tab1=0x005; break;
335 2 case(0x09): tab1=0x006; break;
336 2 case(0x0A): tab1=0x006; break;
337 2 case(0x0B): tab1=0x007; break;
338 2 case(0x0C): tab1=0x008; break;
339 2 case(0x0D): tab1=0x008; break;
340 2 case(0x0E): tab1=0x009; break;
341 2 case(0x0F): tab1=0x009; break;
342 2
343 2 default: tab1=0x00;break;
344 2 }
345 1 return(tab1);
346 1 }
347
348 /*----------------------------------------------------
349 * start Reset Pulse
350 ----------------------------------------------------*/
351 void tmreset(void)
352 {
353 1 TMDAT=0;
354 1 Delay_Count(255);
355 1 Delay_Count(255);
356 1 Delay_Count(255);
357 1 Delay_Count(255);
358 1 TMDAT=1;
359 1 Delay_Count(70);
360 1 while(TMDAT);
361 1 // printf("已调用完判忙函数3\r\n");
362 1 while(~TMDAT);
363 1 // printf("已调用完判忙函数2\r\n");
364 1 Delay_Count(255);
365 1
C51 COMPILER V7.06 CSY 11/16/2007 16:56:48 PAGE 7
366 1 }
367
368
369 /*----------------------------------------------------
370 * start Reset Pulse
371 ----------------------------------------------------/
372 void tmreset()
373 {
374
375 // P0=0xfe;
376
377 // FLAG1=0;
378 TMDAT=1;
379 Delay_Count(1); //2.5us
380 TMDAT=0;
381 Delay_Count(250); //505us
382 Delay_Count(250); //505us
383 Delay_Count(250); //505us
384 TMDAT=1;
385 Delay_Count(28); //61us
386 Delay_Count(28); //61us
387 Delay_Count(28); //61us
388 while(TMDAT);
389
390 // printf("初始化成功\n");
391 while(~TMDAT);
392 //printf("初始化成功1\n");
393 Delay_Count(110); //225us
394 Delay_Count(110); //225us
395 Delay_Count(110); //225us
396
397 }
398
399 /*----------------------------------------------------
400 * Read a bit from 1820
401 *----------------------------------------------------*/
402 bit tmrbit(void)
403 {
404 1 int i=0;
405 1 bit dat;
406 1 TMDAT=0;
407 1 _nop_();
408 1 _nop_();
409 1 _nop_();
410 1
411 1 _nop_();
412 1 _nop_();
413 1 _nop_();
414 1
415 1 _nop_();
416 1 _nop_();
417 1 _nop_();
418 1
419 1 _nop_();
420 1 _nop_();
421 1 _nop_();
422 1 TMDAT=1;
423 1 _nop_();
424 1
425 1 _nop_();
426 1
427 1 _nop_();
C51 COMPILER V7.06 CSY 11/16/2007 16:56:48 PAGE 8
428 1
429 1 _nop_();
430 1 dat = TMDAT;
431 1 Delay_Count(30);
432 1
433 1 Delay_Count(30);
434 1
435 1 Delay_Count(30);
436 1
437 1 Delay_Count(30);
438 1 TMDAT=1;
439 1 return dat;
440 1 }
441 /*----------------------------------------------------
442 * Read a byte from 1820
443 *----------------------------------------------------*/
444 unsigned char tmrbyte()
445 {
446 1 unsigned char i,j,dat=0;
447 1 for(i=1;i<=8;i++)
448 1 {
449 2 j=tmrbit();
450 2 dat=(j<<7)|(dat>>1);
451 2 }
452 1 return dat;
453 1 }
454 /*----------------------------------------------------
455 * Write a byte from 1820
456 *----------------------------------------------------*/
457 void tmwbyte(unsigned char dat)
458 {
459 1 unsigned char i;
460 1 for(i=0;i<8;i++)
461 1 {
462 2 TMDAT=0;
463 2 _nop_();
464 2 _nop_();
465 2 _nop_();
466 2 _nop_();
467 2
468 2 _nop_();
469 2 _nop_();
470 2 _nop_();
471 2 _nop_();
472 2
473 2 _nop_();
474 2 _nop_();
475 2 _nop_();
476 2 _nop_();
477 2
478 2 _nop_();
479 2 _nop_();
480 2 _nop_();
481 2 _nop_();
482 2 TMDAT=dat&0x01;
483 2 Delay_Count(20);
484 2 _nop_();
485 2 _nop_();
486 2
487 2 Delay_Count(20);
488 2 _nop_();
489 2 _nop_();
C51 COMPILER V7.06 CSY 11/16/2007 16:56:48 PAGE 9
490 2
491 2 Delay_Count(20);
492 2 _nop_();
493 2 _nop_();
494 2
495 2 Delay_Count(20);
496 2 _nop_();
497 2 _nop_();
498 2
499 2 TMDAT=1;
500 2 _nop_();
501 2 _nop_();
502 2
503 2 _nop_();
504 2 _nop_();
505 2
506 2 _nop_();
507 2 _nop_();
508 2
509 2 _nop_();
510 2 _nop_();
511 2 dat>>=1;
512 2 }
513 1 }
514 /*----------------------------------------------------
515 * Main
516 *----------------------------------------------------*/
517 void temp()
518 {
519 1 unsigned char a,b,a2,b2,i,j,cha[6];
520 1 unsigned int w1;
521 1 unsigned int da1,da2;
522 1 //while(1)
523 1 //{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -