資源簡介
具有按鍵可調實時時鐘顯示,斷電時間保存,開機時間校準,通過51單片機控制在LCD1602上顯示

代碼片段和文件信息
#include?//包含單片機寄存器的頭文件
sbit?led1=P1^0;
sbit?led2=P1^2;
sbit?led5=P1^5;
sbit?du=P2^6;//段選
sbit?we=P2^7;//位選
sbit?s1=P3^4;
sbit?s2=P3^5;
sbit?s3=P3^6;
sbit?s4=P3^7;
sbit?beep=P2^3;
sbit?dot=P0^7;
unsigned?char?shifenmiaounitkeyvkeyavashiafenamiao;
void?delay()???//1ms
??{
??????unsigned?char?ab;
?????
????????for(b=102;b>0;b--)
??????????for(a=3;a>0;a--);
??}??
void?delay5(void)???//誤差?5ms
{
????unsigned?char?ab;
????for(b=15;b>0;b--)
????????for(a=152;a>0;a--);
}
void?delayhalf?(void)???//誤差?0.5s
{
????unsigned?char?abc;
????for(c=23;c>0;c--)
????????for(b=152;b>0;b--)
????????????for(a=70;a>0;a--);
}
void?display(?unsigned?char?hfs)
?{
unsigned?char?code?duma[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x770x38};
unsigned?char?code?mawei[]={0xfe0xfd0xfb0xf70xef0xdf0xbf0x7f};
unsigned?char?shiwanwanqianbaishige;
shiwan=h/10;
wan=h%10;
qian=f/10;
bai=f%10;
shi=s/10;
?ge=s%10;
?P0=duma[shiwan];
??du=1;
??du=0;
??P0=mawei[0];
??we=1;
??we=0;
?delay();
??
??P0=duma[wan];
??dot=1;
??du=1;
??du=0;
??dot=0;
P0=mawei[1];
??we=1;
??we=0;
?delay();??
??
??P0=duma[qian];
??du=1;
??du=0;
??P0=mawei[2];
??we=1;
??we=0;
?delay();
P0=duma[bai];
??dot=1;
??du=1;
??du=0;
??dot=0;
P0=mawei[3];
??we=1;
??we=0;
?delay();
if(key!=1&&key!=2)
?{
P0=duma[shi];
??du=1;
??du=0;
??P0=mawei[4];
??we=1;
??we=0;
?delay();
?P0=duma[ge];
??du=1;
??du=0;
??P0=mawei[5];
??we=1;
??we=0;
??delay();
?}
if(key==1||key==2)//
?{
P0=duma[10];
??du=1;
??du=0;
??P0=mawei[4];
??we=1;
??we=0;
?delay();
?P0=duma[11];
??du=1;
??du=0;
??P0=mawei[5];
??we=1;
??we=0;
?delay();?
?}
?
??P0=0xff;
??we=1;
??we=0;
}
////////////////////////
passtime()
{
if(unit==100)
{
miao++;
unit=0;
led1=!led1;
led2=!led2;
}
if(miao==60)
{
fen++;
miao=0;
}
if(fen==60)
{
shi++;
fen=0;
}
if(shi==24)
{
shi=0;
}
}
//////////////////////////////////////
void?InitTimer0(void)//10ms
{
????TMOD?=?0x01;
????TH0?=?0x0DC;
????TL0?=?0x00;
????EA?=?1;
????ET0?=?1;
????TR0?=?1;
????unit=0;
}
void?Timer0Interrupt(void)?interrupt?1
{
????TH0?=?0x0DC;
????TL0?=?0x00;
???unit++?;//add?your?code?here!
passtime();
}
void?adjustment(void)
{?
if(s1==0)
??{
??delay5();
??if(s1==0)
????{
???while(!s1);
????
????amiao=0;
????key++;
????led5=0;
????if(key==5)
??????{
???????key=0;
???????TR0=1;
???????led5=1;
??????}
????}?
???}//////s1?count?
?if(s2==0)
?????{
??????delay5();
??????if(s2==0)
????????{
?????????while(!s2);
?????????if(key==1)//alram
??????????{
???????????ashi++;
???????????if(ashi==24)
?????????????{
??????????????ashi=0;?
?????????????}
???????????}
???????????if(key==2)
??????????{
???????????afen++;
???????????if(afen==60)
?????????????{
??????????????afen=0;?
?????????????}
???????????}//alram
?????????if(key==4)/////
??????????{
???????????miao=
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-05-15?16:50??DS1302時鐘帶可調鬧鐘顯示\
?????目錄???????????0??2014-05-15?16:50??DS1302時鐘帶可調鬧鐘顯示\clock--HL-1\
?????文件???????12057??2013-07-29?23:16??DS1302時鐘帶可調鬧鐘顯示\clock--HL-1\study
?????文件???????11844??2013-07-29?23:16??DS1302時鐘帶可調鬧鐘顯示\clock--HL-1\study.LST
?????文件???????21841??2013-07-29?23:16??DS1302時鐘帶可調鬧鐘顯示\clock--HL-1\study.M51
?????文件???????14103??2013-07-29?23:16??DS1302時鐘帶可調鬧鐘顯示\clock--HL-1\study.OBJ
?????文件????????1354??2014-04-16?10:40??DS1302時鐘帶可調鬧鐘顯示\clock--HL-1\study.Opt
?????文件????????2084??2014-04-16?10:40??DS1302時鐘帶可調鬧鐘顯示\clock--HL-1\study.Uv2
?????文件????????5267??2013-07-29?23:16??DS1302時鐘帶可調鬧鐘顯示\clock--HL-1\study.c
?????文件????????2757??2013-07-29?23:16??DS1302時鐘帶可調鬧鐘顯示\clock--HL-1\study.hex
?????文件??????????42??2013-07-29?23:16??DS1302時鐘帶可調鬧鐘顯示\clock--HL-1\study.lnp
?????文件?????????227??2014-04-16?10:40??DS1302時鐘帶可調鬧鐘顯示\clock--HL-1\study.plg
?????文件????????1260??2013-07-29?23:16??DS1302時鐘帶可調鬧鐘顯示\clock--HL-1\study_Opt.Bak
?????文件????????1679??2013-07-29?23:16??DS1302時鐘帶可調鬧鐘顯示\clock--HL-1\study_Uv2.Bak
?????文件?????????156??2013-07-29?23:16??DS1302時鐘帶可調鬧鐘顯示\程序按鍵功能說明.txt
- 上一篇:qbfmel.rar
- 下一篇:打折機票比價搜索引擎
評論
共有 條評論