新闻中心

EEPW首页>嵌入式系统>设计应用> 12864液晶电子时钟+温度显示

12864液晶电子时钟+温度显示

作者: 时间:2012-08-06 来源:网络 收藏

void clk()interrupt 1
{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;
utime++;
if(utime ==20) //一秒钟时间到,秒加一
{
utime=0;
clock[5]++;
}
else if(clock[5]==60) //秒钟加到60分钟加一
{
clock[5]=0;
clock[4]++;
}
else if(clock[4]==60)
{
clock[4]=0;
clock[3]++ ;
}
else if(clock[3]==24)
{
clock[3]=0;
clock[2]++;
}
else if(clock[2]==31)
{
clock[2]=0;
clock[1]++;
}
else if(clock[1]==13)
{
clock[1]=0;
clock[0]++;
}
else if(clock[0]==100)
{
clock[0]=0;
}

}

按键扫描函数

uchar clock[6]={11,3,22,12,22,34}; //用来存放年的后两位,月,日,时,分,秒
sbit key1=P3^2; //位定义三个按键(用来调时)
sbit key2=P3^3;
sbit key3=P3^4;
void tkey(void)
{


/*******移位键*********/
if (key1==0)
{
//delay(10);
f++;
TR0=0; //调整时间时关闭定时器
}
if (f==8)
f=1;
/**********加一键*********/
if(key2==0)
{
// delay(10);
clock[f-1]++;

}

if (f==1)
{ if (clock[f-1]==100){
clock[f-1]=0;}
}
else if(f==2)
{
if(clock[f-1]==13)
clock[f-1]=0;
}
else if(f==3)
{
if(clock[f-1]==31)
clock[f-1]=0;
}
else if(f==4)
{
if(clock[f-1]==24)
clock[f-1]=0;
}
else{ if (clock[f-1]==60)
clock[f-1]=0;
}

/******减一键***********/
if(key3==0)
{
// delay(10);
clock[f-1]--;
}
else if (f==1)
{ if (clock[f-1]==0xff){
clock[f-1]=99;}
}
else if (f==2)
{ if (clock[f-1]==0xff){
clock[f-1]=12;}
}
else if (f==3)
{ if (clock[f-1]==0xff){
clock[f-1]=30;}
}

else if (f==1)
{ if (clock[f-1]==0xff){
clock[f-1]=23;}
}
else
{ if (clock[f-1]==0xff)
clock[f-1]=59;
}

}



评论


相关推荐

技术专区

关闭