基于PCF8563的单片机数字时钟(5)

2019-03-15 12:15

}

}

break;

case 7: if(newval==0xff) newval=59; DisplaySecond(newval); break;

default:break;

ucData1=newval/10;//十六进制转BCD码 ucData2=newval; newval=ucData1*16+ucData2; P8563_writeData(newaddr,newval); }

void delayKEY(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }

//键盘扫描程序 void key_scan(void) { uchar s1num=0; //s1num记录光标的位置的编号 if(menu==0) { delayKEY(5); if(menu==0) { while(!menu); //menum测试到由0到1的变化,也就是按下松开的变化,s1num加1 s1num++; while(1) { if(menu==0) { delayKEY(5); if(menu==0) { while(!menu); s1num++; //menum测试到由0到1的变化,也就是按下松开的变化,s1num再加1 } }

字。 1302

P8563_writeData(0x0,0x20);//停止计时,开始相关设置。 if(s1num==1) {

Display(1,2,0*16,21);//设 Display(1,2,1*16,22);//置 Display(1,2,2*16,0);//年 Display(1,2,3*16,27);//空格

year=P8563_ReadData(0x08); year=year&0xff;//读取年

Reverse_Display=1;

DisplayYear(((year/16)*10+(year)));//设置年的时候反相显示即黑底白Reverse_Display=0;

if(add==0) { delayKEY(3); if(add==0) { while(!add); turn_val(year,1,0x08,1); } } if(dec==0) { delayKEY(3); if(dec==0) { while(!dec); turn_val(year,0,0x08,1);//读取当前年值,根据减小年值,并写入 } } } if(s1num==2)

黑底白字

{

DisplayYear(((year/16)*10+(year))); //年变回白底黑字。 Display(1,2,0*16,21);//设 Display(1,2,1*16,22);//置 Display(1,2,2*16,1);//月 Display(1,2,3*16,27);//空格

month=P8563_ReadData(0x07); month=month&0x1f;//读取月 Reverse_Display=1;

DisplayMonth(((month/16)*10+(month))); //设置月的时候反相显示即Reverse_Display=0; if(add==0) { delayKEY(3); if(add==0) { while(!add); turn_val(month,1,0x07,2); } }

if(dec==0) { delayKEY(3); if(dec==0) { while(!dec); turn_val(month,0,0x07,2); } }

}

if(s1num==3) {

DisplayMonth(((month/16)*10+(month))); //月变回白底黑字。 Display(1,2,0*16,21);//设 Display(1,2,1*16,22);//置 Display(1,2,2*16,2);//日 Display(1,2,3*16,27);//空格

day=P8563_ReadData(0x05); day=day&0x3f;//读取日 Reverse_Display=1;

DisplayDay(((day/16)*10+(day))); //设置日的时候反相显示即黑底白字 Reverse_Display=0;

if(add==0) { delayKEY(3); if(add==0) { while(!add); turn_val(day,1,0x05,3); } }

if(dec==0) { delayKEY(3); if(dec==0) { while(!dec);

底白字

turn_val(day,0,0x05,3); //写入日寄存器

} } }

if(s1num==4) {

DisplayDay(((day/16)*10+(day)));//天变回白底黑字。 Display(1,2,0*16,21);//设 Display(1,2,1*16,22);//置 Display(1,2,2*16,3);//星 Display(1,2,3*16,4);//期

week=P8563_ReadData(0x06); week=week&0x07;//读取星期 Reverse_Display=1;

DisplayWeek(((week/16)*10+(week))); //设置星期的时候反相显示即黑Reverse_Display=0;

if(add==0)

白字

}

{ delayKEY(3); if(add==0) { while(!add); turn_val(week,1,0x06,4); } }

if(dec==0) { delayKEY(3); if(dec==0) { while(!dec); turn_val(week,0,0x06,4); } }

if(s1num==5) {

DisplayWeek(((week/16)*10+(week)));//星期变回白底黑字 Display(1,2,0*16,21);//设 Display(1,2,1*16,22);//置 Display(1,2,2*16,5);//时 Display(1,2,3*16,27);//空格

hour=P8563_ReadData(0x04); hour=hour&0x3f;//读取小时

Reverse_Display=1;

DisplayHour(((hour/16)*10+(hour))); //设置时的时候反相显示即黑底Reverse_Display=0;

if(add==0) { delayKEY(3); if(add==0) { while(!add); turn_val(hour,1,0x04,5); } }


基于PCF8563的单片机数字时钟(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国古代34位美女 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: