if(dec==0) { delayKEY(3); if(dec==0) { while(!dec); turn_val(hour,0,0x04,5);
黑底白字
} } }
if(s1num==6)//调时间分 {
DisplayHour(((hour/16)*10+(hour))); //小时变回白底黑字 Display(1,2,0*16,21);//设 Display(1,2,1*16,22);//置 Display(1,2,2*16,6);//分 Display(1,2,3*16,27);//空格 minute=P8563_ReadData(0x03); minute=minute&0x7f;//读取分
Reverse_Display=1;
DisplayMinute(((minute/16)*10+(minute))); //设置分的时候反相显示即Reverse_Display=0; if(add==0) { delayKEY(5); if(add==0) { while(!add); turn_val(minute,1,0x03,6);//写入分寄存器 } } if(dec==0) { delayKEY(3); if(dec==0) { while(!dec); turn_val(minute,0,0x03,6);//写入分寄存器 }
黑底白字
} }
if(s1num==7)//调时间秒 {
DisplayMinute(((minute/16)*10+(minute)));//分变回白底黑字 Display(1,2,0*16,21);//设 Display(1,2,1*16,22);//置 Display(1,2,2*16,7);//秒 Display(1,2,3*16,27);//空格 second=P8563_ReadData(0x02);
second=second&0x7f;//读取秒
Reverse_Display=1;
DisplaySecond(((second/16)*10+(second))); //设置秒的时候反相显示即Reverse_Display=0; if(add==0) { delayKEY(3); if(add==0) { while(!add); if(second==0x60) second=0x00; turn_val(second,1,0x02,7); } } if(dec==0) { delayKEY(3); if(dec==0) { while(!dec); turn_val(second,0,0x02,7); } } }
if(s1num==8) {
DisplaySecond(((second/16)*10+(second)));//秒变回白底黑字 Display(1,2,0*16,23);//运
Display(1,2,1*16,24);//行 Display(1,2,2*16,25);//中 Display(1,2,3*16,27);//空格
P8563_writeData(0x0,0x00);//设置结束,开始计时 s1num=0;//s1num清零// break; } } } } }
void Init_DIS() { Displayen(2,0,0*8,2);//2 Displayen(2,0,1*8,0);//0 Displayen(2,0,2*8,0);//0 Displayen(2,0,3*8,0);//0
Display(2,0,2*16,0);//年 Displayen(2,0,6*8,1);//1 Displayen(2,0,7*8,2);//2 Display(1,0,0*16,1);//月 Displayen(1,0,2*8,3);//3 Displayen(1,0,3*8,1);//1 Display(1,0,2*16,2);//日 Display(2,2,0*16,3);//星 Display(2,2,1*16,4);//期 Display(2,2,2*16,8);//天 Displayen(2,4,0*8,2);//2 Displayen(2,4,1*8,3);//3 Display(2,4,1*16,5);//时 Displayen(2,4,4*8,5);//5 Displayen(2,4,5*8,9);//9 Display(2,4,3*16,6);//时 Displayen(1,4,0*8,5);//4 Displayen(1,4,1*8,9);//7 Display(1,4,1*16,7);//时 Display(2,6,0*16,17);//温 Display(2,6,1*16,18);//度
}
Display(2,6,2*16,19);//是 Display(2,6,3*16,20);//: Display(1,2,0*16,23);//运 Display(1,2,1*16,24);//行 Display(1,2,2*16,25);//中
/*主函数*/ void main() { P8563_init();//p8563初始化 InitLCD(); /*初始12864*/ Init_DIS(); while(1) { P8563_gettime(); BCD_16( ); displayPCF8563(); temp=read_temp();//读取温度 DisplayBuf_DS18B20(temp); displayDS18B20( ); key_scan(); } }