资源描述:
《基于单片机的数码管万年历》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.c文件#include#include#include<1302.h>#include<18B20.h>#includeucharcodedigit[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x8f,0x00};ucharmode,TH,TL,TN,seconds,minutes,hours,years,months,days,WEEK,n;ucharcount=0;ucharnz;sbitSET=P3^7;sbitADD=P3^6;//增加sbitR
2、ED=P3^5;//减小sbitCANL=P3^4;sbitle=P2^6;sbitoe=P2^7;sbiten=P1^4;sbitbeep=P2^4;voiddelay1ms(intx){unsignedchari,j;for(i=x;i>0;i--)for(j=124;j>0;j--);}voiddisplay_Year(unsignedcharyear)//显示年{unsignedchari,j;i=year/10;j=year%10;P0=digit[2];P1=0;delay1ms(2);P0=digit[0];P1=1;delay1ms(2);P0=digit[i];
3、P1=2;delay1ms(2);P0=digit[j];P1=3;delay1ms(1);}voiddisplay_Month(unsignedcharmonth)//显示月{unsignedchari,j;i=month/10;j=month%10;P0=digit[i];P1=4;delay1ms(3);P0=digit[j];P1=5;delay1ms(1);}voiddisplay_Day(unsignedcharday)//显示日{unsignedchari,j;i=day/10;j=day%10;P0=digit[i];P1=6;delay1ms(3);P0=dig
4、it[j];P1=7;delay1ms(1);}voiddisplay_Hour(unsignedcharhour)//显示时{unsignedchari,j;i=hour/10;j=hour%10;P0=digit[i];P1=8;delay1ms(2);P0=digit[j]+n*0x80;P1=9;delay1ms(1);}voiddisplay_Minute(unsignedcharminute)//显示分{unsignedchari,j;i=minute/10;j=minute%10;P0=digit[i];P1=10;delay1ms(3);P0=digit[j];P
5、1=11;delay1ms(1);}voiddisplay_Week(void){unsignedchari=0;WEEK=GetWeekFromDay(years,months,days);P1=12;switch(WEEK){case1:P0=digit[1];//P1=12;delay1ms(2);break;case2:P0=digit[2];//P1=12;delay1ms(2);break;case3:P0=digit[3];//P1=12;delay1ms(2);break;case4:P0=digit[4];//P1=12;delay1ms(2);break;ca
6、se5:P0=digit[5];//P1=12;delay1ms(2);break;case6:P0=digit[6];//P1=12;delay1ms(2);break;case7:P0=digit[8];//P1=12;delay1ms(2);break;}}voiddisplay_Time(void)//显示实时时间{unsignedcharvalue;value=ReadSet1302(0x83);minutes=(((value&0x70)>>4)*10+(value&0x0f));display_Minute(minutes);value=ReadSet1302(0x
7、85);hours=(((value&0x70)>>4)*10+(value&0x0f));display_Hour(hours);value=ReadSet1302(0x87);days=(((value&0x70)>>4)*10+(value&0x0f));display_Day(days);value=ReadSet1302(0x89);months=(((value&0x70)>>4)*10+(value&0x0f));display_Month(months);valu