基于51单片机的温湿度及万年历设计 课程设计 disp[3]=(char)(time_data2[5]/16+0x30); disp[4]=(char)(time_data2[4]+0x30); //4表示时 disp[5]=(char)(time_data2[4]/16+0x30); disp[6]=(char)(time_data2[3]+0x30); //3表示日 disp[7]=(char)(time_data2[3]/16+0x30); disp[8]=(char)(time_data2[2]+0x30); //2表示月 disp[9]=(char)(time_data2[2]/16+0x30);
d isp[10]=(char)(time_data2[1]+0x30); //1表示周 disp[11]=(char)(time_data2[0]+0x30); //0表示年 disp[12]=(char)(time_data2[0]/16+0x30); }
void tiaoshi () //时间调整 { if (key1==0) { Delay(10); if(key1==0; {
flag1++;
if (flag1==1|flag1==2|flag1==3|flag1==4|flag1==5|flag1==6) {
write_1302(0x8e,0x00);//允许写 write_1302(0x80,0x80); //时钟停止 } if(flag1==7) {
flag1=0;
write_1302(0x80,0x00); //启动时钟
write_1302(0x8e,0x80);// 进制写(添加写保护) } }
while(!key1); //Delay(10); //while(!key1); }
if (key2==0) { Delay(10); if (key2==0) {
switch(flag1) {
case 1: {
34
基于51单片机的温湿度及万年历设计 课程设计 time_data[0]=time_data[0]+1; if(time_data[0]==100) time_data[0]=0; } break; case 2: {
time_data[2]=time_data[2]+1; if(time_data[2]==13) time_data[2]=1; } break;
case 3: {
time_data[3]=time_data[3]+1; if(time_data[3]==32) time_data[3]=1; } break;
case 4: {
time_data[1]=time_data[1]+1; if(time_data[1]==8) time_data[1]=1; } break; case 5: {
time_data[4]=time_data[4]+1; if(time_data[4]==24) time_data[4]=00; } break; case 6:
time_data[5]=time_data[5]+1; if(time_data[5]==60) time_data[5]=00; } break; }
}
while(!key2); set_rct(); }
if (key3==0) {
Delay(10); if (key3==0) {
35
{
基于51单片机的温湿度及万年历设计 课程设计 switch(flag1) {
case 1: {
time_data[0]=time_data[0]-1; if(time_data[0]==-1) time_data[0]=99; } break; case 2: {
time_data[2]=time_data[2]-1; if(time_data[2]==0) time_data[2]=12; } break; case 3: {
time_data[3]=time_data[3]-1; if(time_data[3]==0) time_data[3]=31; } break; case 4: {
time_data[1]=time_data[1]-1; if(time_data[1]==0) time_data[1]=7; } break; case 5: {
time_data[4]=time_data[4]-1;
if(time_data[4]==-1)
time_data[4]=23; } break; case 6: {
time_data[5]=time_data[5]-1; if(time_data[5]==-1) time_data[5]=59; } break;
}
while(!key3); set_rct(); } } }
36