void updata (void);
void Set_time(unsigned char sel) {
signed char address,item; signed char max,mini; lcm_w_test(0,0x9a); lcm_w_word(\调整\
if(sel==2) {lcm_w_word(\秒钟\ if(sel==1) {lcm_w_word(\分钟\ if(sel==0) {lcm_w_word(\小时\ item=((read_clock(address+1))/16)*10 + (read_clock(address+1)); if(KEY_2 == 0) {
item++; }
if(KEY_4 == 0) { item--; }
if(item>max) item=mini;
if(item write_clock(address,(item/10)*16+item); write_clock(0x8e,0x80); updata (); } void Init_1302(void){ unsigned char f; if(read_clock(0xc1) != 0xaa){ write_clock(0x8e,0x00); write_clock(0x8c,0x07); write_clock(0x8a,0x01); write_clock(0x88,0x01); write_clock(0x86,0x01); write_clock(0x84,0x00); 28 write_clock(0x82,0x00); write_clock(0x80,0x00); write_clock(0x90,0xa5); write_clock(0xc0,0xaa); for(f=0;f<60;f=f+2){ write_clock(0xc2+f,0x00); } write_clock(0x8e,0x80); } } void write_clock(unsigned char ord, unsigned char dd){ clock_clk=0; clock_Rst=0; clock_Rst=1; clock_out(ord); clock_out(dd); clock_Rst=0; clock_clk=1; } void clock_out(unsigned char dd){ ACC=dd; clock_dat=a0; clock_clk=1; clock_clk=0; clock_dat=a1; clock_clk=1; clock_clk=0; clock_dat=a2; clock_clk=1; clock_clk=0; clock_dat=a3; clock_clk=1; clock_clk=0; clock_dat=a4; clock_clk=1; clock_clk=0; clock_dat=a5; clock_clk=1; clock_clk=0; clock_dat=a6; clock_clk=1; clock_clk=0; clock_dat=a7; clock_clk=1; clock_clk=0; } unsigned char clock_in(void){ clock_dat=1; a0=clock_dat; clock_clk=1; clock_clk=0; a1=clock_dat; clock_clk=1; clock_clk=0; a2=clock_dat; clock_clk=1; clock_clk=0; a3=clock_dat; 29 clock_clk=1; clock_clk=0; a4=clock_dat; clock_clk=1; clock_clk=0; a5=clock_dat; clock_clk=1; clock_clk=0; a6=clock_dat; clock_clk=1; clock_clk=0; a7=clock_dat; return(ACC); } unsigned char read_clock(unsigned char ord){ unsigned char dd=0; clock_clk=0; clock_Rst=0; clock_Rst=1; clock_out(ord); dd=clock_in(); clock_Rst=0; clock_clk=1; return(dd); } void Beep(void) { unsigned char a; for(a=60;a>0;a--) { beep = ~beep; Delay(100); } for(a=100;a>0;a--) { beep = ~beep; Delay(80);// } for(a=100;a>0;a--) { beep = ~beep; Delay(30);// } beep = 1; 30 } void Beep_set(void){ unsigned char a; for(a=50;a>0;a--){ beep = ~beep; Delay(100); } for(a=100;a>0;a--){ beep = ~beep; Delay(50); } for(a=50;a>0;a--){ beep = ~beep; Delay(100); } beep = 1; } void Beep_key(void){ unsigned char a; for(a=100;a>0;a--){ beep = ~beep; Delay(50); } beep = 1; } void lcm_w_hh(void){ if(read_clock(0x85) != hh){ hh = read_clock(0x85); if (hh > 0x07 && hh < 0x22 && w == 0){ Beep(); } } lcm_w_test(0,0x92); lcm_w_test(1,(hh/16)+0x30); lcm_w_test(1,hh+0x30); } 31 void lcm_w_mm(void){ if(read_clock(0x83) != mm) { mm = read_clock(0x83); } lcm_w_test(0,0x93); lcm_w_test(1,0x3a); //\ lcm_w_test(1,(mm/16)+0x30); lcm_w_test(1,mm+0x30); lcm_w_test(1,0x3a); //\ } void write1() { uchar w1,w2,w3,w4; w1=tvalue/1000+0x30; w2=tvalue00/100+0x30; w3=tvalue0/10+0x30; w4=tvalue+0x30; if(tflag==0) flagdat=0x20; else flagdat=0x2d; if(w1==0x30) {w1=0x20; if(w2==0x30) {w2=0x20; } } lcm_w_test(0,0x8c); lcm_w_test(1,0x20); lcm_w_test(1,flagdat); //lcm_w_test(1,w1); lcm_w_test(1,w2); lcm_w_test(1,w3); lcm_w_test(1,0x2e); lcm_w_test(1,w4); 32