LCD1602时钟显示时间日期带闹铃可循环调节
//-------------------
void timer0() interrupt 1
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
if(aa==20)
{aa=0;
miao++;}
if(miao==60)
{miao=0;fen++;}
if(fen==60)
{fen=0;shi++;}
if(shi==24)
{shi=0;
ri++;
zhou++;
}
if(ri>7)
{zhou=1;}
if(ri>31)
{ri=0;yue++;}
if(yue>12)
{yue=1;nian++;}
if(nian>99)
nian=0;
}
//-------------
void intc()
{
num1=0;
shi=12;
fen=12;
miao=12;
nian=11;
yue=2;
ri=21;
zhou=1;
_fen=12;
_shi=12;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
lcdint();
}
//----------调节时单独显示程序----------
void dispfen()
{
lcdcom(0xc8);
//delayms(1);
lcddate(table[fen/10]);
lcddate(table[fen%10]);
}
void dispshi()
{
lcdcom(0xc5);
//delayms(1);
lcddate(table[shi/10]);
lcddate(table[shi%10]);
}
void dispzhou()
{
lcdcom(0x8e);
//delayms(1);
lcddate(table[zhou/10]);
//lcddate(table[zhou%10]);
}
void dispri()
{
lcdcom(0x8b);
//delayms(1);
lcddate(table[ri/10]);
lcddate(table[ri%10]);
}
void dispyue()
{
lcdcom(0x88);
//delayms(1);
lcddate(table[yue/10]);
lcddate(table[yue%10]);
}
void dispnian()
{
lcdcom(0x85);
//delayms(1);
lcddate(table[nian/10]);
lcddate(table[nian%10]);
}
void disp_fen()
{
lcdcom(0xc8);
//delayms(1);
lcddate(table[_fen/10]);
lcddate(table[_fen%10]);
}
void disp_shi()
{
lcdcom(0xc5);
//delayms(1);
lcddate(table[_shi/10]);
lcddate(table[_shi%10]);
}
//-------------------显示闹铃时间----
void displing()
{
//lcdint();
//delayms(10);
lcdcom(0xc0);
num1=0;
while(table5[num1]!=\0)
{
lcddate(table5[num1]);
num1++;
}
delayms(1);
lcddate(table[_shi/10]);
lcddate(table[_shi%10]);
delayms(1);
lcddate(table[10]);
lcddate(table[_fen/10]);
lcddate(table[_fen%10]);
delayms(1);
}
void timer1()
LCD1602时钟显示可循环调 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)