#include <>
#define uchar unsigned char
#define uint unsigned int
uint num,k1num,count;
uchar hour,min,sec;
sbit lcde = P1^1;
sbit lcdrs = P1^0;
//sbit lcdrw = P2^5;
sbit k1 = P1^2;
sbit k2 = P1^3;
sbit k3 = P1^4;
uchar code table[] = {" 2013-05-30 TUE"};
uchar code table1[] = {" 21:13:00"};
void delay (unsigned int i) /*ÑÓ³Ùº¯Êý*/
{
uchar j;
for (i;i>0;i--)
for (j=110;j>0;j--);
}
void () /*LCDдָÁî*/
{
lcdrs = 0;
// lcdrw = 0;
P0 = com;
delay(5);
lcde = 1;
delay(5);
lcde = 0;
}
void write_data(uchar d) /*LCDдÊý¾Ý*/
{
lcdrs = 1;
// lcdrw = 0;
P0 = d;
delay(5);
lcde = 1;
delay(5);
lcde = 0;
}
void write_hms(uchar da,uchar add)
{
uchar shi,ge;
shi = da/10;
ge = da%10;
(0x80+0x40+add);
write_data(0x30+shi);
write_data(0x30+ge);
}
void keyscan() //¼üÅÌɨÃè
{
if (k1 == 0) //¹¦Äܼü
{
delay(5);
if (k1 == 0)
{
k1num++;
while(!k1);
if (k1num == 1)
{
TR0 = 0;
(0x80+0x40+10);
(0x0f);
}
}
if (k1num == 2)
{
(0x80+0x40+7);
(0x0f);
}
if (k1num == 3)
{
(0x80+0x40+4);
(0x0f);
}
if (k1num == 4)
{
k1num = 0;
(0x0c);
TR0 = 1;
}
}
if (k1num != 0) //Ôö¼Ó¼ü
{
if (k2 == 0)
{
delay(5);
if (k2 == 0)
{
while(!k2);
if (k1num == 1)
{
sec++;
if (sec == 60)
sec = 0;
write_hms(sec,10);
(0x80+0x40+10);
}
if (k1num == 2)
{
min++;
基于51单片机与1602时钟程序 来自淘豆网www.taodocs.com转载请标明出处.