⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds1302.plm

📁 中央空调恒温恒湿控制器c51单片机源程序的时钟部分
💻 PLM
字号:
ds_head:procedure(addt);
DECLARE (ii,addt) BYTE;
 DO ii=0 TO 7;
     IF  (addt AND 1)=1 THEN SI=1;
                        ELSE SI=0;
     SCK=1;
     addt=SHR(addt,1);
     SCK=0;
  END;
END ds_HEAD;

ds_read:PROCEDURE(addt) BYTE;
 DECLARE (addt,ii) byte;
 SCK=0;CS=0;CS=1;
 addt=addt+81h;
 CALL ds_head(addt);
 addt=0;
 DO ii=0 TO 7;
     addt=shr(addt,1);
     IF SI THEN addt=addt OR 80h;
     SCK=1;SCK=0;
  END;
  RETURN(addt);
  CS=0;
END ds_read;

ds_wrt:PROCEDURE(addt,dataz) ;
 DECLARE (addt,dataz) byte;
 SCK=0;CS=0;CS=1;
 CALL ds_head(10001110b);
 CALL ds_head(0);
 CS=0;CS=1;
 addt=addt+10000000b;
 CALL ds_head(addt);
 CALL ds_head(dataz);
 CS=0;CS=1;
 CALL ds_head(10001110b);
 CALL ds_head(80h);
 CS=0;
 END ds_wrt;

ds_con:PROCEDURE;
IF ds_key_b
  THEN DO;
      CALL ds_wrt(4,ds_hr);
      CALL ds_wrt(2,ds_min);
      ds_key_b=0;
  END;
  ELSE DO;ds_hr=ds_read(4);ds_min=ds_read(2);END;
END ds_con;

ds_wy_con:procedure;
 declare (i,j) byte;
 declare s bit;
 call ds_wrt(70h,0aah);
 j=ds_read(40H);
 IF J<59 THEN  call ds_wrt(40h,J+1);
          ELSE DO;
               call ds_wrt(40h,0);
               j=ds_read(42H);
               IF J<59 THEN  call ds_wrt(42h,J+1);
                       ELSE DO;
                            s=1; call ds_wrt(42h,0);
                            I=44h;
                            DO while (s and i<4eh);
                               j=ds_read(I);
                               IF J>=9 THEN DO;s=1; call ds_wrt(i,0);I=I+2;END;
                                       ELSE DO;s=0; call ds_wrt(i,j+1);END;
                             END;
                        END;
           END;
 call ds_wrt(70h,055h);
 call ds_wrt(72h,0aah);
 i=40h;
 DO WHILE i<4eh;
  j=ds_read(i);call ds_wrt(i+10h,J);
  i=i+2;
 END;
 call ds_wrt(72h,055h);
END ds_wy_con;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -