基于89C51设计的电子万年历(5)

2019-09-02 18:50

主程序:

#include #include\#include\

#define uchar unsigned char #define unit unsigned int sbit speaker=P2^4;

bit key_flag1=0,key_flag2=0; SYSTEMTIME adjusted; uchar

sec_add=0,min_add=0,day_add=1,mon_add=1,yea_add=0; uchar data_alarm[7]={0}; int key_scan() { int i=0; unit temp; P1=0xf0; temp=P1; if(temp!=0xf0)

i=1; else i=0; return i; }

uchar key_value() {unit m=0,n=0,temp; uchar

v[4][3]={'2','1','0','5','4','3','8','7','6','b','a','9'};

P1=0xfe;temp=P1;if(temp!=0xfe)m=0; P1=0xfd;temp=P1;if(temp!=0xfd)m=1; P1=0xfd;temp=P1;if(temp!=0xfb)m=2; P1=0xfe;temp=P1;if(temp!=0xf7)m=3; P1=0xef;temp=P1;if(temp!=0xef)m=0; P1=0xef;temp=P1;if(temp!=0xef)m=1; P1=0xef;temp=P1;if(temp!=0xef)m=2; value=v[m][n]; return value; }

void reset(void) {sec_add=0;

min_add=0; hou_add=0; day_add=1; mon_add=1; yea_add=0; }

void adjust(void)

{if(key_scan()&&key_flag1) switch(key_value()) {caue'0':sec_add++;break; cade'1':min_add++;break; cade'2':hou_add++;break; cade'3':day_add++;break; cade'4':mon_add++;break; cade'5':yea_add++;break; cade'6':sec_add++;break; cade'7':min_add++;break; cade'8':hou_add++;break; cade'9':day_add++;break; cade'a':mon_add++;break; cade'b':yea_add++;break; cade'c':reset();break;

default:break; }

adjusted.Second+=sec_add; adjusted.Minuate+=min_add; adjusted.Hour+=hou_add; adjusted.Day+=day_add; adjusted.Month+=mou_add; adjusted.Year+=yea_add; if(adjusted.Second>59)

{adjusted.Second=adjusted.Second`;adjusted.Minute++;}

if(adjusted.Miute>59)

{adjudted.Minute=adjusted.Minute`;adjusted.Hour++}

if(adjusted.Hour>23)

{adjusted.Hour=adjusted.Hour$;adjusted.Day++} if(adjusted.Month>12)

adjusted.Month=adjusted.Month; if(adjusted.Year>100)

adjusted.Year=adjusted.Year0; if(adjusted.Year%4==0)

{if(adjusted.Month==4||adjusted.Month==6||adjusted.

Month==9||adjusted.Month==11) {if(adjusted.day>30)

{adjusted.Day=adjusted.Day0;} }

else if(adjusted.Month==2) {if(adjusted.Day>29)

{adjusted.Day=adjusted.Day0;} } else

{if(adjusted.Day>32)} } else

{if(adjusted.Month==1||adjusted.Month==3||adjusted.Month==5||adjusted>Month==7||adjused.Month==8||adjusted.Month==10||adjusted.Month==12) {if(adjusted>Day>32)

{adjusted.Day=adjusted.Day2;} }

else if(adjusted.Month==2) {if(adjusted.Day>32)} } }


基于89C51设计的电子万年历(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:VC鎶曡祫鍗忚?(椋庨櫓鎶曡祫鍗忚?)璧勬繁寰嬪笀瀹″畾

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

马上注册会员

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