|
电路仿真图已附上!!!
#include<reg52.h>
typedef unsigned char uchar;
typedef unsigned int uint;
sbit rs=P3^2;
sbit wr=P3^3;
sbit lcden=P3^4;
uchar timecount=0;
void delay(uint i)
{
uint a,b;
for(a=i;a>0;a--) for(b=10;b>0;b--);
}
void write_com(uchar com) {
P0=com;
rs=0;
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;
}
void write_date(uchar date) {
P0=date;
rs=1;
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;
}
void init()
{
wr=0;
write_com(0x38);
delay(20);
write_com(0x0f);
delay(20);
write_com(0x06);
delay(20);
write_com(0x01);
delay(20);
}
void main()
{
uchar a,second=0,minute=0,hour=0;
uchar table[8];
TMOD|=0x01;
while(1) {
if(timecount>19) {
timecount=0;
second++;
}
if(second==60)
{
second=0;
minute++;
}
if(minute==60) {
minute=0;
hour++;
}
if(hour==24)
{
hour=0;
}
table[0]=hour/10+48;
table[1]=hour%10+48;
table[2]=58;
table[3]=minute/10+48;
table[4]=minute%10+48;
table[5]=0;
table[6]=second/10+48;
table[7]=second%10+48;
write_com(0x80);
delay(20);
for(a=0;a<8;a++) {
write_date(table[a]); delay(20);
}
}
}
void Time0 (void) interrupt 1{
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
timecount++;
}
|
|