Projects › Projects › Digital clock › hi this clock i made last
December 2, 2013 at 12:33 am
#10685
Participant
hi this clock i made last sem, it shows only the time hh:mm:ss and you can also set the time.
Codes:
#include<reg51.h>
sbit p=P3^0; //hour ++++++++
sbit q=P3^1; //hour
sbit r=P3^2; //min +++++++
sbit t=P3^3; //min
sbit rs=P2^0;
sbit rw=P2^1;
sbit en=P2^2;
void delay(unsigned int msec)
{
unsigned int i,j;
for(i=0;i<msec;i++)
for(j=0;j<1275;j++);
}
void cmd(unsigned char item)
{
P1=item;
rs=0;
rw=0;
en=1;
delay(1);
en=0;
}
void lcddata(unsigned char item)
{
P1=item;
rs=1;
rw=0;
en=1;
delay(1);
en=0;
}
void main()
{
int h,m,s,h1,h2,m1,m2,s1,s2;
unsigned char array[]={‘0′,’1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′,’9’};
cmd(0x38);
cmd(0x0c);
cmd(0x06);
while(1)
{
for(h=0;h<=23;h++)
{
for(m=0;m<=59;m++)
{
for(s=0;s<=59;s++)
{
h1=h/10;
h2=h%10;
m1=m/10;
m2=m%10;
s1=s/10;
s2=s%10;
cmd(0x80);
lcddata(array[h1]);
lcddata(array[h2]);
cmd(0x84);
lcddata(‘:’);
cmd(0x86);
lcddata(array[m1]);
lcddata(array[m2]);
cmd(0x8A);
lcddata(‘:’);
cmd(0x8C);
lcddata(array[s1]);
lcddata(array[s2]);
delay(100);
if(p==0) //hour++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
{
h++;
s=-1;
if(h==24)
{
h=0;
s=-1;
}
}
else if (t==0) //min
{
if(m>0)
{
m–;
s=-1;
}
}
else if(q==0) //hour
{
if(h>0)
{
h–;
s=-1;
}
}
else if (r==0) //min ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
{
m++;
s=-1;
if(m>60)
{
m=0;
s=-1;
}
}
cmd(0x82);
cmd(0x06);
}
}
}
}
}