📄 ks0713.lst
字号:
440 * 参数 : 参数名称: 输入/输出? 类型 描述
441 * *x_add 页地址 y_add 列地址 *p 字模数据地址*
442 * 返回值 :
443 * 作者 :
444 * 创建日期 :2006-12-19
445 * 全局变量 :
446 * 全局静态变量:
447 * 局部静态变量:
448 *----------------------------------------修改历史------------------------------------------
449 * 当前版本 : 修改人: 修改日期:
450 * 修改说明 :
451 ******************************************************************************************/
452 void dispdigit(uchar x_add,uchar y_add,uchar code *p)
453 {
454 1 uchar i,pag,colh,coll;
455 1 pag = x_add*2+0xb0;
456 1 colh = y_add>>4; //取y_add的高4位
457 1 colh = colh | 0xf0;
458 1 colh = colh & 0x1f;
459 1 coll = y_add & 0x0f; //取y_add的低4位
460 1 lcdwrcommand(colh);
461 1 lcdwrcommand(coll);
462 1 lcdwrcommand(pag);
463 1 for (i=0;i<16;i++)
464 1 {
465 2 if (i == 8)
466 2 {
467 3 lcdwrcommand(pag+1);
468 3 lcdwrcommand(colh);
469 3 lcdwrcommand(coll);
470 3 }
471 2 lcdwrdata(*p++);
472 2 }
473 1 }
474 /******************************************************************************************
475 * 函数名称 :disbmp
476 * 功能描述 :显示一幅128*64的图片
477 * 参数 : 参数名称: 输入/输出? 类型 描述
C51 COMPILER V7.50 KS0713 07/26/2007 13:34:29 PAGE 9
478 *
479 * 返回值 :
480 * 作者 :
481 * 创建日期 :2006-12-19
482 * 全局变量 :
483 * 全局静态变量:
484 * 局部静态变量:
485 *----------------------------------------修改历史------------------------------------------
486 * 当前版本 : 修改人: 修改日期:
487 * 修改说明 :
488 ******************************************************************************************/
489 void disbmp(uchar *p)
490 {
491 1 uchar i,j;
492 1 for (i = 0xb0;i<0xb8;i++)
493 1 {
494 2 lcdwrcommand(i);
495 2 lcdwrcommand(0x10);
496 2 lcdwrcommand(0x02);
497 2 for (j=0x02;j<0x82;j++)
498 2 lcdwrdata(*p++);
499 2 }
500 1 }
501 /******************************************************************************************
502 * 函数名称 :Init_DS18B2
503 * 功能描述 :初始化ds1820
504 * 参数 : 参数名称: 输入/输出? 类型 描述
505 *
506 * 返回值 :
507 * 作者 :
508 * 创建日期 :2006-12-19
509 * 全局变量 :
510 * 全局静态变量:
511 * 局部静态变量:
512 *----------------------------------------修改历史------------------------------------------
513 * 当前版本 : 修改人: 修改日期:
514 * 修改说明 :
515 ******************************************************************************************/
516 Init_DS18B20(void)
517 {
518 1 uchar x=0;
519 1 DQ = 1; //DQ复位
520 1 delay(8); //稍做延时
521 1 DQ = 0; //单片机将DQ拉低
522 1 delay(80); //精确延时 大于 480us
523 1 DQ = 1; //拉高总线
524 1 delay(14);
525 1 x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
526 1 delay(20);
527 1 }
528
529 /******************************************************************************************
530 * 函数名称 :ReadOneChar
531 * 功能描述 :读一个字节
532 * 参数 : 参数名称: 输入/输出? 类型 描述
533 *
534 * 返回值 :
535 * 作者 :
536 * 创建日期 :2006-12-19
537 * 全局变量 :
538 * 全局静态变量:
539 * 局部静态变量:
C51 COMPILER V7.50 KS0713 07/26/2007 13:34:29 PAGE 10
540 *----------------------------------------修改历史------------------------------------------
541 * 当前版本 : 修改人: 修改日期:
542 * 修改说明 :
543 ******************************************************************************************/
544 ReadOneChar(void)
545 {
546 1 uchar i=0;
547 1 uchar dat = 0;
548 1 for (i=8;i>0;i--)
549 1 {
550 2 DQ = 0; // 给脉冲信号
551 2 dat>>=1;
552 2 DQ = 1; // 给脉冲信号
553 2 if(DQ)
554 2 dat|=0x80;
555 2 delay(4);
556 2 }
557 1 return(dat);
558 1 }
559
560 /******************************************************************************************
561 * 函数名称 :WriteOneChar
562 * 功能描述 :写一个字节
563 * 参数 : 参数名称: 输入/输出? 类型 描述
564 *
565 * 返回值 :
566 * 作者 :
567 * 创建日期 :2006-12-19
568 * 全局变量 :
569 * 全局静态变量:
570 * 局部静态变量:
571 *----------------------------------------修改历史------------------------------------------
572 * 当前版本 : 修改人: 修改日期:
573 * 修改说明 :
574 ******************************************************************************************/
575 WriteOneChar(uchar dat)
576 {
577 1 uchar i=0;
578 1 for(i=8; i>0; i--)
579 1 {
580 2 DQ = 0;
581 2 DQ = dat&0x01;
582 2 delay(5);
583 2 DQ = 1;
584 2 dat>>=1;
585 2 }
586 1 }
587
588 /******************************************************************************************
589 * 函数名称 :ReadTemperature
590 * 功能描述 :读取温度
591 * 参数 : 参数名称: 输入/输出? 类型 描述
592 *
593 * 返回值 :
594 * 作者 :
595 * 创建日期 :2006-12-19
596 * 全局变量 :
597 * 全局静态变量:
598 * 局部静态变量:
599 *----------------------------------------修改历史------------------------------------------
600 * 当前版本 : 修改人: 修改日期:
601 * 修改说明 :
C51 COMPILER V7.50 KS0713 07/26/2007 13:34:29 PAGE 11
602 ******************************************************************************************/
603 ReadTemperature(void)
604 {
605 1 uchar a=0;
606 1 uchar b=0;
607 1 uint t=0;
608 1 float tt=0;
609 1 Init_DS18B20();
610 1 WriteOneChar(0xCC); // 跳过读序号列号的操作
611 1 WriteOneChar(0x44); // 启动温度转换
612 1 Init_DS18B20();
613 1 WriteOneChar(0xCC); //跳过读序号列号的操作
614 1 WriteOneChar(0xBE); //读取温度寄存器
615 1 a=ReadOneChar();
616 1 b=ReadOneChar();
617 1 t=b;
618 1 t<<=8;
619 1 t=t|a;
620 1 tt=t*0.0625;
621 1 t= tt*10+0.5; //放大10倍输出并四舍五入
622 1 return(t);
623 1 }
624 /******************************************************************************************
625 * 函数名称 :clock_out
626 * 功能描述 :
627 * 参数 : 参数名称: 输入/输出? 类型 描述
628 *
629 * 返回值 :
630 * 作者 :
631 * 创建日期 :2006-12-19
632 * 全局变量 :
633 * 全局静态变量:
634 * 局部静态变量:
635 *----------------------------------------修改历史------------------------------------------
636 * 当前版本 : 修改人: 修改日期:
637 * 修改说明 :
638 ******************************************************************************************/
639 void clock_out(uchar dd)
640 {
641 1 ACC=dd;
642 1 clock_dat=a0; clock_clk=1; clock_clk=0;
643 1 clock_dat=a1; clock_clk=1; clock_clk=0;
644 1 clock_dat=a2; clock_clk=1; clock_clk=0;
645 1 clock_dat=a3; clock_clk=1; clock_clk=0;
646 1 clock_dat=a4; clock_clk=1; clock_clk=0;
647 1 clock_dat=a5; clock_clk=1; clock_clk=0;
648 1 clock_dat=a6; clock_clk=1; clock_clk=0;
649 1 clock_dat=a7; clock_clk=1; clock_clk=0;
650 1 }
651 /******************************************************************************************
652 * 函数名称 :clock_in
653 * 功能描述 :
654 * 参数 : 参数名称: 输入/输出? 类型 描述
655 *
656 * 返回值 :
657 * 作者 :
658 * 创建日期 :2006-12-19
659 * 全局变量 :
660 * 全局静态变量:
661 * 局部静态变量:
662 *----------------------------------------修改历史------------------------------------------
663 * 当前版本 : 修改人: 修改日期:
C51 COMPILER V7.50 KS0713 07/26/2007 13:34:29 PAGE 12
664 * 修改说明 :
665 ******************************************************************************************/
666 uchar clock_in(void)
667 {
668 1 clock_dat=1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -