当前位置:首页 > 课程设计 - 图文
{delay(5); if(dec==0) {while(!dec);
turn_val(day,0,0x87,3); }}} if(slnum==4)
/*调整星期数*/
{week=ReadSet1302(0x8b); write_com(0x80+0x40+1); write_com(0x0f); if(add==0) {delay(3); if(add==0) {while(!add);
turn_val(week,1,0x8b,4); } } if(dec==0) {delay(5); if(dec==0) {while(!dec);
turn_val(week,0,0x8b,4); }}} if(slnum==5)
/* {hour=ReadSet1302(0x85); write_com(0x80+0x40+6); write_com(0x0f); if(add==0) {delay(3); if(add==0) {while(!add);
turn_val(hour,1,0x85,5); }} if(dec==0) {delay(5);
调整小时数*/
21 / 29
if(dec==0) {while(!dec);
turn_val(hour,0,0x85,5); }}}
if(slnum==6)
{minute=ReadSet1302(0x83); write_com(0x80+0x40+9); write_com(0x0f); if(add==0) {delay(3); if(add==0) {while(!add);
turn_val(minute,1,0x83,6); } } if(dec==0) {delay(5); if(dec==0) {while(!dec);
turn_val(minute,0,0x83,6); }}} if(slnum==7)
/* {second=ReadSet1302(0x81); write_com(0x80+0x40+0x0c); write_com(0x0f); if(add==0) {delay(3); if(add==0) {while(!add);
turn_val(second,1,0x81,7); }} if(dec==0) {delay(3); if(dec==0)
/*调整分钟数*/
调整秒数*/
22 / 29
{while(!dec);
turn_val(second,0,0x81,7); }}} if(slnum==8)
//menu键按下次数累计至8,
{miao=ReadSet1302(0x81); WriteSet1302(0x8e,0x00); WriteSet1302(0x80,miao&0x7f);
//开时钟
WriteSet1302(0x8e,0x80); slnum=0;
//menu键被按下次数清0 write_com(0x0c); //取消液晶光标闪烁 break;} }}}}
//退出循环
实现加减功能函数
void turn_val(char newval,uchar flag,uchar addr,uchar slnum) {if(flag) {newval++; switch(slnum)
{case 1: if(newval>99) newval=0;//若年数大于99,则置为0 displaydata(3,newval); break; case 2:if(newval>12) newval=1; displaydata(6,newval); break; case 3:if(newval>31) newval=1; displaydata(9,newval); break; case 4:if(newval>7) newval=1;
displayweek(1,newval); break; case 5:if(newval>23) newval=0;
displaytime(5,newval); break; case 6:if(newval>59) newval=0; displaytime(8,newval); break;
23 / 29
case 7:if(newval>59) newval=0;
displaytime(0x0b,newval); break; default:break; }
newval=(newval/10)<<4|newval;
WriteSet1302(0x8e,0x00);
WriteSet1302(addr-1,newval); WriteSet1302(0x8e,0x80); }
else
{newval--; switch(slnum)
{case 1:if(newval<0) newval=99; displaydata(3,newval); break;
case 2:if(newval==0) newval=12; displaydata(6,newval); break;
case 3:if(newval==0) newval=31; displaydata(9,newval); break;
case 4:if(newval==0)newval=7; displayweek(1,newval);
break;
case 5:if(newval<0) newval=23; displaytime(5,newval); break;
case 6:if(newval<0) newval=59; displaytime(8,newval); break;
case 7:if(newval<0) newval=59;
24 / 29
共分享92篇相关文档