比较完整的可修改日期时间的程序,延迟程序用unsigned int us,则温度显示00,显示不正常,所以,延迟不能用int做变量!电路图在后面.
- #include"reg52.h"
- #include"intrins.h"
- #define uchar unsigned char
- sbit rs=P2^0;
- sbit rw=P2^1;
- sbit en=P2^2;
- sbit rst =P2^3;
- sbit sclk=P2^4;
- sbit DI =P2^5;
- sbit ds18b20=P2^6;
- sbit TOK=P2^7;
- sbit A7=ACC^7;
- sbit A0=ACC^0;
- sbit B0=B^0;
- uchar tt0[]="Time:";
- uchar tt1[]="Data:";
- uchar tt2[]="week:";
- uchar tt3[]="temp:";
- static char ch[7][3]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
- unsigned char TT,temp1,KK;
- unsigned char temp2;
- uchar ddd0,ddd1,adr,td,ddd,jz,xx;
- void delay(unsigned char us)
- {
- while(us--);
- }
- void delayms(unsigned char us)
- {
- char a,b;
- while(us--)
- {
- for(a=0;a<50;a++)
- for(b=0;b<60;b++);
- }
- }
- bit Reset(void)
- {
- bit k;
- ds18b20=0;
- delay(145);
- ds18b20=1;
- delay(10);
- k=ds18b20;
- delay(90);
- return k;
- }
- //---------------------------
- unsigned char ReadByte(void)
- {
- unsigned char j,buf=0;
- for(j=0;j<8;j++)
- {
- buf=buf>>1;
- ds18b20=0;
- _nop_();
- _nop_();
- ds18b20=1;
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- if(ds18b20==1)
- buf|=0x80;
- delay(8);
-
- }
- return buf;
- }
- //-------------------------------
- void WriteByte(unsigned char dat)
- {
- unsigned char j;
- for(j=0;j<8;j++)
- {
- if(dat&0x01)
- {
- ds18b20=0;
- _nop_();
- _nop_();
- ds18b20=1;
- delay(10);
- }
- else
- {
- ds18b20=0;
- delay(10);
- ds18b20=1;
- _nop_();
- _nop_();
- }
- dat=dat>>1;
- }
- }
- //------------------
- bit Convert(void)
- {
- if(Reset()==0)
- {
- WriteByte(0xcc);
- WriteByte(0x44);
- return 1;
- }
- else
- {
- return 0;
- }
- }
- //---------------------------------------
- void ReadFlash(void)
- {
- unsigned char Lsb,Msb;
- if(Reset()==0)
- {
- WriteByte(0xcc);
- WriteByte(0xbe);
- Lsb=ReadByte();
- Msb=ReadByte();
- temp1=Lsb;//L 8bit
- temp2=Msb;//H 8bit
- }
- else
- {
- temp1=0;
- temp2=0;
- }
- }
- void w1602(uchar dat,bit r)
- {
- uchar n0;
- rs=r;
- rw=0;
- P1=dat;
- en=0;
- n0=3;
- while(n0--);
- en=1;
- n0=6;
- while(n0--);
- en=0;
- }
- void init1602()
- {
- w1602(0x38,0);
- w1602(0x06,0);
- w1602(0x0c,0);
- w1602(0x01,0);
- }
- void w1302(uchar addr,dat)
- {
- uchar n;
- rst=0;
- sclk=0;
- rst=1;
- for(n=0;n<8;n++)
- {
- B=addr>>n;
- sclk=0;
- DI=B0;
- sclk=1;
- }
- for(n=0;n<8;n++)
- {
- B=dat>>n;
- sclk=0;
- DI=B0;
- sclk=1;
- }
- rst=0;
- }
- uchar r1302(uchar addr)
- {
- uchar n;
- rst=0;
- sclk=0;
- _nop_();
- rst=1;
- B=addr;
- for(n=0;n<8;n++)
- {
- sclk=0;
- DI=B0;
- sclk=1;
- B=B>>1;
- }
- for(n=0;n<8;n++)
- {
- A7=DI;
- sclk=1;
- ACC=ACC>>1;
- sclk=0;
- }
- rst=0;
- return(ACC);
- }
- void change()
- {
-
- ddd0=0x0f & r1302(adr);
- ddd1=0x0f & (r1302(adr)>>4);
- w1602(0x30+ddd1,1);
- w1602(0x30+ddd0,1);
-
- if(TOK==0)
- {
- delayms(15);
- if(TOK==0)
- {
- xx++;
- if(xx==jz)xx=1;
- ddd0=xx%10;
- ddd1=xx/10;
- }
- }
- }
- void main()
- {
- uchar i,n,ttT;
- unsigned int m;
- init1602();
- EA=1;
- EX0=1;
- EX1=1;
- PX0=1;
- IT0=1;
- IT1=1;
- while(1)
- {
- m=600;
- while(m--)
- {
- w1602(0x80,0);
- for(i=0;i<5;i++)
- w1602(tt0[i],1);
- w1602(0x30+(r1302(0x85)>>4 & 0x0f),1);
- w1602(0x30+(r1302(0x85) & 0x0f),1);
- w1602(0x2d,1);
- w1602(0x30+(r1302(0x83)>>4 & 0x0f),1);
- w1602(0x30+(r1302(0x83) & 0x0f),1);
- w1602(0x2d,1);
- w1602(0x30+(r1302(0x81)>>4 & 0x0f),1);
- w1602(0x30+(r1302(0x81) & 0x0f),1);
- w1602(0xc0,0);
- for(i=0;i<5;i++)
- w1602(tt1[i],1);
- w1602(0x30+(r1302(0x87)>>4 & 0x0f),1);
- w1602(0x30+(r1302(0x87) & 0x0f),1);
- w1602(0x2d,1);
- w1602(0x30+(r1302(0x89)>>4 & 0x0f),1);
- w1602(0x30+(r1302(0x89) & 0x0f),1);
- w1602(0x2d,1);
- w1602(0x30+(r1302(0x8d)>>4 & 0x0f),1);
- w1602(0x30+(r1302(0x8d) & 0x0f),1);
- }
- w1602(0x01,0);
-
- m=800;
- while(m--)
- {
- if(Convert()==1)
- {
- ReadFlash();
- TT=(temp2<<4)|(temp1>>4);
- ttT=(~TT & 0x3F)+1;
- }
- w1602(0x83,0); //week
- for(i=0;i<5;i++)
- w1602(tt2[i],1);
- for(n=0;n<3;n++)
- w1602(ch[(r1302(0x8B) & 0x07)-1][n],1);
-
- w1602(0xc3,0); //temp
- for(i=0;i<5;i++)
- w1602(tt3[i],1);
- w1602(0x20,1);
- if(temp2 & 0x80==0x80) //-
- {
- w1602(0x2d,1);
- w1602(0x30+ttT/10,1);
- w1602(0x30+ttT%10,1);
- }
- else //+
- {
-
- w1602(0x30+TT/10,1);
- w1602(0x30+TT%10,1);
- }
- w1602(0x22,1);
- w1602(0x43,1);
- }
- w1602(0x01,0);
- }
- }
- void zz() interrupt 0
- {
- KK++;
- }
- void tz() interrupt 2
- {
-
- w1602(0x01,0);
- do{
- //////////////////////
- if(KK==0)
- {
- w1602(0x80,0);
- w1602(0x72,1);
- w1602(0x65,1);
- w1602(0x61,1);
- w1602(0x64,1);
- w1602(0x79,1);
-
- w1602(0x2e,1);
- w1602(0x2e,1);
- w1602(0x2e,1);
- }
- //////////////////////
- if(KK==1) //sec
- {
- adr=0x81;
- jz=60;
- w1602(0x80,0);
- w1602(0x53,1);
- w1602(0x65,1);
- w1602(0x63,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xc0,0);
- change();
- ddd=(ddd1<<4)+ddd0;
- w1302(0x80,ddd);
- }
- /////////////////////////////
- if(KK==2)//min
- {
- adr=0x83;
- jz=60;
- w1602(0x80,0);
- w1602(0x6d,1);
- w1602(0x69,1);
- w1602(0x6e,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xC0,0);
- change();
- ddd=(ddd1<<4)+ddd0;
- w1302(0x82,ddd);
- }
- ////////////////////////
- if(KK==3)//hour
- {
- adr=0x85;
- jz=24;
- w1602(0x80,0);
- w1602(0x68,1);
- w1602(0x6f,1);
- w1602(0x75,1);
- w1602(0x72,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xc0,0);
- change();
- ddd=(ddd1<<4)+ddd0;
- w1302(0x84,ddd);
- }
- //////////////////////////
- if(KK==4)//day
- {
- adr=0x87;
- jz=32;
- w1602(0x80,0);
- w1602(0x44,1);
- w1602(0x61,1);
- w1602(0x79,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xc0,0);
- change();
- ddd=(ddd1<<4)+ddd0;
- w1302(0x86,ddd);
- }
- //////////////////////
- if(KK==5)//month
- {
- adr=0x89;
- jz=13;
- w1602(0x80,0);
- w1602(0x6d,1);
- w1602(0x6f,1);
- w1602(0x6e,1);
- w1602(0x74,1);
- w1602(0x68,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xc0,0);
- change();
- ddd=(ddd1<<4)|ddd0;
- w1302(0x88,ddd);
- }
- /////////////////////////
- if(KK==6)//year
- {
- adr=0x8d;
- jz=100;
- w1602(0x80,0);
- w1602(0x79,1);
- w1602(0x65,1);
- w1602(0x61,1);
- w1602(0x72,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xc0,0);
- change();
- ddd=(ddd1<<4)|ddd0;
- w1302(0x8c,ddd);
- }
- ///////////////////////
- //ddd0=0;
- if(KK==7)//week
- {
- adr=0x8B;
- jz=8;
- w1602(0x80,0);
- w1602(0x57,1);
- w1602(0x65,1);
- w1602(0x65,1);
- w1602(0x6b,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xc0,0);
- change();
- w1302(0x8A,ddd0);
- }
- }while(KK<8);
- w1602(0x01,0);
- KK=0;
- }
复制代码

- /////////////////////可修改日期//////////////////
- #include<reg52.h>
- #include<INTRINS.H>
- /************************************************************/
- #define uchar unsigned char
- #define uint unsigned int
- #define write_second 0x80 //??????,???(??)
- #define write_minute 0x82 //??????
- #define write_hour 0x84 //??????,12????,?0?????0x80(12????????)?
- #define read_second 0x81 //?,?????????
- #define read_minute 0x83 //?,?????????
- #define read_hour 0x85 //?,?????????
- #define write_day 0x86
- #define read_day 0x87
- #define write_month 0x88
- #define read_month 0x89
- #define write_week 0x8A
- #define read_week 0x8B
- #define write_year 0x8C
- #define read_year 0x8D
-
- #define write_protect 0x8E
- #define DD=0x2F;
- /************************************************************/
- sbit ACC_7=ACC^7;
- sbit SCLK =P2^2;
- sbit DIO =P2^1;
- sbit CE =P2^3;
- sbit rs =P2^5;
- sbit rw =P2^6;
- sbit e =P2^7;
- sbit B0 =B^0;
- /********************************/
- uchar dd[2][5]={"Time:","Date:"};
- void delay(char us)
- {
-
- while(us--);
-
- }
- /**********/
- void write1302(unsigned char addr,dat)
- {
- unsigned char i;
- CE=0;
- SCLK=0;
- CE=1;
- B=addr;
- for(i=0;i<8;i++) //????
- {
- SCLK=0;
- DIO=B0;
- B>>=1;
- SCLK=1;
- }
- B=dat;
- for(i=0;i<8;i++) //????
- {
- SCLK=0;
- DIO=B0;
- B=B>>1;
- SCLK=1;
- }
- }
- void w1602d(uchar dat)
- {
- rs=1;
- rw=0;
- e=0;
- P1=dat;
- delay(4);
- e=1;
- delay(8);
- e=0;
- }
- void w1602c(uchar dat)
- {
- rs=0;
- rw=0;
- e=0;
- P1=dat;
- delay(4);
- e=1;
- delay(8);
- e=0;
- }
- void init1602()
- {
- w1602c(0x38);
- w1602c(0x06);
- w1602c(0x0c);
- w1602c(0x01);
- }
- unsigned char r1302(unsigned char addr)
- {
- unsigned char i;
- CE=0;
- SCLK=0;
- CE=1;
- B=addr;
- for(i=8;i>0;i--)//?????????
- {
- SCLK =0;
- DIO=B0;
- B=B>>1;
- SCLK=1;
- }
-
- for(i=8;i>0;i--)//
- {
- ACC_7=DIO;
- SCLK=1;
- ACC>>=1;
- SCLK=0;
- }
- CE=0;
- return(ACC);
- }
- /////////////////////////////////////
- void Initial(void)
- {
- write1302(write_protect,0x00);
- write1302(write_second,0x56);
- write1302(write_minute,0x34);
- write1302(write_hour,0x12);
- write1302(write_protect,0x80);
- }
- /////////////////////
- void main(void)
- {
- unsigned char i;
- init1602();
- Initial();
- write1302(write_second,0x45); //
- write1302(write_minute,0x29); //??59??
- write1302(write_hour,0x21); //??0x80
- write1302(write_year,0x12); //15?
- write1302(write_day,0x23);
- write1302(write_week,0x3);//??
- write1302(write_month,0x05);//10?
- while(1)
- {
- w1602c(0x80);
- for(i=0;i<5;i++)
- w1602d(dd[0][i]);
- w1602d(((r1302(0x85)>>4) & 0x0f)+0x30);
- w1602d((r1302(0x85) & 0x0f)+0x30);
- w1602d(0x2d);
- w1602d(((r1302(0x83)>>4) & 0x0f)+0x30);
- w1602d((r1302(0x83) & 0x0f)+0x30);
- w1602d(0x2d);
- w1602d(((r1302(0x81)>>4) & 0x0f)+0x30);
- w1602d((r1302(0x81) & 0x0f)+0x30);
-
- w1602c(0xc0);
- for(i=0;i<5;i++)
- w1602d(dd[1][i]);
- w1602d(((r1302(0x87)>>4) & 0x0f)+0x30);
- w1602d((r1302(0x87) & 0x0f)+0x30);
- w1602d(0x2d);
- w1602d(((r1302(0x89)>>4) & 0x0f)+0x30);
- w1602d((r1302(0x89) & 0x0f)+0x30);
- w1602d(0x2d);
- w1602d(((r1302(0x8d)>>4) & 0x0f)+0x30);
- w1602d((r1302(0x8d) & 0x0f)+0x30);
- }
- }
- ////////////////////////////////可调整日期时间程序//////////
- #include"reg52.h"
- #include"intrins.h"
- #define uchar unsigned char
- sbit rs=P2^0;
- sbit rw=P2^1;
- sbit en=P2^2;
- sbit rst =P2^3;
- sbit sclk=P2^4;
- sbit DI =P2^5;
- sbit ds18b20=P2^6;
- sbit TOK=P2^7;
- sbit A7=ACC^7;
- sbit A0=ACC^0;
- sbit B0=B^0;
- uchar tt0[]="Time:";
- uchar tt1[]="Data:";
- uchar tt2[]="week:";
- uchar tt3[]="temp:";
- static char ch[7][3]={"Sun","Mon","Tue","Wed","Thu","Tri","Sat"};
- unsigned char TT,temp1,KK;
- unsigned char temp2;
- void delay(unsigned int us)
- {
- while(us--);
- }
- bit Reset(void)
- {
- bit k;
- ds18b20=0;
- delay(145);
- ds18b20=1;
- delay(10);
- k=ds18b20;
- delay(90);
- return k;
- }
- //---------------------------
- unsigned char ReadByte(void)
- {
- unsigned char j,buf=0;
- for(j=0;j<8;j++)
- {
- buf=buf>>1;
- ds18b20=0;
- _nop_();
- _nop_();
- ds18b20=1;
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- if(ds18b20==1)
- buf|=0x80;
- delay(8);
-
- }
- return buf;
- }
- //-------------------------------
- void WriteByte(unsigned char dat)
- {
- unsigned char j;
- for(j=0;j<8;j++)
- {
- if(dat&0x01)
- {
- ds18b20=0;
- _nop_();
- _nop_();
- ds18b20=1;
- delay(10);
- }
- else
- {
- ds18b20=0;
- delay(10);
- ds18b20=1;
- _nop_();
- _nop_();
- }
- dat=dat>>1;
- }
- }
- //------------------
- bit Convert(void)
- {
- if(Reset()==0)
- {
- WriteByte(0xcc);
- WriteByte(0x44);
- return 1;
- }
- else
- {
- return 0;
- }
- }
- //---------------------------------------
- void ReadFlash(void)
- {
- unsigned char Lsb,Msb;
- if(Reset()==0)
- {
- WriteByte(0xcc);
- WriteByte(0xbe);
- Lsb=ReadByte();
- Msb=ReadByte();
- temp1=Lsb;//L 8bit
- temp2=Msb;//H 8bit
- }
- else
- {
- temp1=0;
- temp2=0;
- }
- }
- void w1602(uchar dat,bit r)
- {
- rs=r;
- rw=0;
- P1=dat;
- en=0;
- delay(2);
- en=1;
- delay(4);
- en=0;
- }
- void init1602()
- {
- w1602(0x38,0);
- w1602(0x06,0);
- w1602(0x0c,0);
- w1602(0x01,0);
- }
- uchar r1302(uchar addr)
- {
- uchar n;
- rst=0;
- sclk=0;
- _nop_();
- rst=1;
- B=addr;
- for(n=0;n<8;n++)
- {
- sclk=0;
- DI=B0;
- sclk=1;
- B=B>>1;
- }
- for(n=0;n<8;n++)
- {
- A7=DI;
- sclk=1;
- ACC=ACC>>1;
- sclk=0;
- }
- rst=0;
- return(ACC);
- }
- void w1302(uchar addr,dat)
- {
- uchar n;
- rst=0;
- sclk=0;
- rst=1;
- for(n=0;n<8;n++)
- {
- B=addr>>n;
- sclk=0;
- DI=B0;
- sclk=1;
- }
- for(n=0;n<8;n++)
- {
- B=dat>>n;
- sclk=0;
- DI=B0;
- sclk=1;
- }
- rst=0;
- }
- void main()
- {
- uchar i,n,ttT;
- unsigned int m;
- init1602();
- EA=1;
- EX0=1;
- EX1=1;
- IT0=1;
- IT1=1;
- PX0=1;
- while(1)
- {
- m=1500;
- while(m--)
- {
- w1602(0x80,0);
- for(i=0;i<5;i++)
- w1602(tt0[i],1);
- w1602(0x30+(r1302(0x85)>>4 & 0x0f),1);
- w1602(0x30+(r1302(0x85) & 0x0f),1);
- w1602(0x2d,1);
- w1602(0x30+(r1302(0x83)>>4 & 0x0f),1);
- w1602(0x30+(r1302(0x83) & 0x0f),1);
- w1602(0x2d,1);
- w1602(0x30+(r1302(0x81)>>4 & 0x0f),1);
- w1602(0x30+(r1302(0x81) & 0x0f),1);
- w1602(0xc0,0);
- for(i=0;i<5;i++)
- w1602(tt1[i],1);
- w1602(0x30+(r1302(0x87)>>4 & 0x0f),1);
- w1602(0x30+(r1302(0x87) & 0x0f),1);
- w1602(0x2d,1);
- w1602(0x30+(r1302(0x89)>>4 & 0x0f),1);
- w1602(0x30+(r1302(0x89) & 0x0f),1);
- w1602(0x2d,1);
- w1602(0x30+(r1302(0x8d)>>4 & 0x0f),1);
- w1602(0x30+(r1302(0x8d) & 0x0f),1);
- }
- w1602(0x01,0);
- m=800;
- while(m--)
- {
- if(Convert()==1)
- {
- ReadFlash();
- TT=(temp2<<4)|(temp1>>4);
- ttT=(~TT & 0x3F)+1;
- }
- w1602(0x80,0); //week
- for(i=0;i<5;i++)
- w1602(tt2[i],1);
- for(n=0;n<3;n++)
- w1602(ch[(r1302(0x8B) & 0x07)-1][n],1);
- w1602(0xc0,0); //temp
- for(i=0;i<5;i++)
- w1602(tt3[i],1);
- if(temp2 & 0x80==0x80) //-
- {
- w1602(0x2d,1);
- w1602(0x30+ttT/10,1);
- w1602(0x30+ttT%10,1);
- }
- else //+
- {
- w1602(0x30+TT/10,1);
- w1602(0x30+TT%10,1);
- }
- }
- w1602(0x01,0);
- }
- }
- void zz() interrupt 0
- {
- KK++;
- }
- void tz() interrupt 2
- {
- uchar ddd,ddd0,ddd1,td;
- w1602(0x01,0);
- do{
- //////////////////////
- if(KK==0)
- {
- w1602(0x80,0);
- w1602(0x72,1);
- w1602(0x65,1);
- w1602(0x61,1);
- w1602(0x64,1);
- w1602(0x79,1);
-
- w1602(0x2e,1);
- w1602(0x2e,1);
- w1602(0x2e,1);
- }
- //////////////////////
- if(KK==1) //sec
- {
- ddd0=0x0f & r1302(0x81);
- ddd1=0x0f & (r1302(0x81)>>4);
- w1602(0x80,0);
- w1602(0x53,1);
- w1602(0x65,1);
- w1602(0x63,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xc0,0);
- w1602(0x30+ddd1,1);
- w1602(0x30+ddd0,1);
- if(TOK==0)
- {
- delay(30000);
- if(TOK==0)
- {
- ddd0++;
- if(ddd0==10)
- {
- ddd0=0;
- ddd1++;
- if(ddd1>5)
- {
- ddd1=0;
- ddd0=0;
- }
- }
- }
- }
- ddd=(ddd1<<4)+ddd0;
- w1302(0x80,ddd);
- }
- /////////////////////////////
- if(KK==2)//min
- {
- ddd0=0x0f & r1302(0x83);
- ddd1=0x0f & (r1302(0x83)>>4);
- w1602(0x80,0);
- w1602(0x6d,1);
- w1602(0x69,1);
- w1602(0x6e,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xC0,0);
- w1602(0x30+ddd1,1);
- w1602(0x30+ddd0,1);
- if(TOK==0)
- {
- delay(10000);
- if(TOK==0)
- {
- td++;
- if(td>59)td=0;
- ddd1=td/10;
-
- }
- }
- ddd=(ddd1<<4)+ddd0;
- w1302(0x82,ddd);
- }
- ////////////////////////
- if(KK==3)//hour
- {
- ddd0=0x0f & r1302(0x85);
- ddd1=0x0f & (r1302(0x85)>>4);
- w1602(0x80,0);
- w1602(0x68,1);
- w1602(0x6f,1);
- w1602(0x75,1);
- w1602(0x72,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xc0,0);
- w1602(0x30+ddd1,1);
- w1602(0x30+ddd0,1);
- if(TOK==0)
- {
- delay(10000);
- if(TOK==0)
- {
- td++;
- if(td>23)td=0;
- ddd1=td/10;
- ddd0=td%10;
- ddd=(ddd1<<4)+ddd0;
- }
- }
-
- w1302(0x84,ddd);
- }
- //////////////////////////
- if(KK==4)//day
- {
- ddd0=0x0f & r1302(0x87);
- ddd1=0x0f & (r1302(0x87)>>4);
- w1602(0x80,0);
- w1602(0x44,1);
- w1602(0x61,1);
- w1602(0x79,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xc0,0);
- w1602(0x30+ddd1,1);
- w1602(0x30+ddd0,1);
- if(TOK==0)
- {
-
- delay(10000);
- if(TOK==0)
- {
- td++;
- if(td>31)td=0;
-
- ddd1=td/10;
- ddd0=td%10;
- }
- }
- ddd=(ddd1<<4)+ddd0;
- w1302(0x86,ddd);
- }
- //////////////////////
- if(KK==5)//month
- {
- ddd0=0x0f & r1302(0x89);
- ddd1=0x0f & (r1302(0x89)>>4);
- w1602(0x80,0);
- w1602(0x6d,1);
- w1602(0x6f,1);
- w1602(0x6e,1);
- w1602(0x74,1);
- w1602(0x68,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xc0,0);
- w1602(0x30+ddd1,1);
- w1602(0x30+ddd0,1);
- if(TOK==0)
- {
- delay(10000);
- if(TOK==0)
- {
- td++;
- if(td==12)td=1;
- ddd1=td/10;
- ddd0=td%10;
- }
- }
- ddd=(ddd1<<4)|ddd0;
- w1302(0x88,ddd);
- }
- /////////////////////////
- if(KK==6)//year
- {
- ddd0=0x0f & r1302(0x8d);
- ddd1=0x0f & (r1302(0x8d)>>4);
- w1602(0x80,0);
- w1602(0x79,1);
- w1602(0x65,1);
- w1602(0x61,1);
- w1602(0x72,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xc0,0);
- w1602(0x30+ddd1,1);
- w1602(0x30+ddd0,1);
- if(TOK==0)
- {
-
- delay(10000);
- if(TOK==0)
- {
- td++;
- if(td>99) td=0;
- ddd1=td/10;
- ddd0=td%10;
- ddd=(ddd1<<4)|ddd0;
- }
- }
- w1302(0x8c,ddd);
- }
- ///////////////////////
- //ddd0=0;
- if(KK==7)//week
- {
- w1602(0x80,0);
- w1602(0x57,1);
- w1602(0x65,1);
- w1602(0x65,1);
- w1602(0x6b,1);
- w1602(0x20,1);
- w1602(0x20,1);
- w1602(0x20,1);
-
- w1602(0xc0,0);
- w1602(0x30+ddd0,1);
- w1602(0x20,1);
- if(TOK==0)
- {
-
- delay(20000);
- if(TOK==0)
- {
- ddd0++;
- if(ddd0>7)
- ddd0=1;
- }
- }
- w1302(0x8A,ddd0);
- }
- }while(KK<8);
- w1602(0x01,0);
- KK=0;
- }
复制代码
|