資源簡介
89c51電子數字鐘 源碼和電路圖
基于單片機89C51的lcd數字電子鐘

代碼片段和文件信息
#include
#define?uchar?unsigned?char
#define?uint?unsigned?int
sbit?rs=P3^5;
sbit?lcden=P3^4;
sbit?dula=P2^2;
sbit?wela=P2^3;
sbit?add=P3^0;
sbit?dedu=P3^1;
sbit?select=P3^2;
sbit?ok=P3^3;
uchar?option=0;
uchar?cnn=0;
uchar?remflag=0;
uchar?jkiah1h2m1m2s1s2hour=0minute=0second=0count;
uchar?table1[]=“CLK“;
uchar?table2[]=“0123456789“;
void?delay(uint?x)
{
uint?ab;
for(a=x;a>0;a--)
for(b=10;b>0;b--);?
}
void?delayOneSec()
{
uint?ij;
for(i=0;i<125;i++)
for(j=0;j<1000;j++)
;
}
void?delay1(uint?x)
{
uint?ab;
for(a=x;a>0;a--)
for(b=100;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()
{
dula=0;
wela=0;
write_com(0x38);
delay(20);
write_com(0x0f);
delay(20);
write_com(0x06);
delay(20);
write_com(0x01);
delay(20);
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;?
}
void?write_Logo()
{
uchar?a;
write_com(0x80);
delay(50);
for(a=0;a<3;a++)
{
write_date(table1[a]);
delay(40);
}
}
void?deal_hour()
{
h1=hour/10;
????h2=hour%10;
}
void?deal_minute()
{
m1=minute/10;
????m2=minute%10;
}
void?deal_second()
{
s1=second/10;
????s2=second%10;
}
void?deal()
{
deal_hour();
deal_minute();
deal_second();
if(count==20){
count=0;
second+=1;
}
if(second==60){
second=0;
minute+=1;
}
if(minute==60){
minute=0;
hour+=1;
}
if(hour==24){
hour=0;
}
}
void?displayHour()
{
write_date(table2[h1]);
write_date(table2[h2]);
}
void?displayMinute()
{
write_date(table2[m1]);
write_date(table2[m2]);
}
void?displaySecond()
{
write_date(table2[s1]);
write_date(table2[s2]);
}
void?display()
{
write_com(0x84);
deal();
displayHour();
if(s2%2==0)
write_date(‘:‘);
else
write_date(‘?‘);
displayMinute();
if(s2%2==0)
write_date(‘:‘);
else
write_date(‘?‘);
displaySecond();
}
void?remDisHour()
{
deal_hour();
if(count%2==0)
displayHour();
else{
write_date(‘?‘);
write_date(‘?‘);
}
if(s2%2==0)
write_date(‘:‘);
else
write_date(‘?‘);
displayMinute();
if(s2%2==0)
write_date(‘:‘);
else
write_date(‘?‘);
displaySecond();
}
void?remDisMinute()
{
deal_minute();
displayHour();
if(s2%2==0)
write_date(‘:‘);
else
write_date(‘?‘);
if(count%2==0)
displayMinute();
else{
write_date(‘?‘);
write_date(‘?‘);
}
if(s2%2==0)
write_date(‘:‘);
else
write_date(‘?‘);
displaySecond();
}
void?remDisSecond()
{
deal_second();
displayHour();
if(s2%2==0)
write_date(‘:‘);
else
write_date(‘?‘);
displayMinute();
if(s2%2==0)
write_date(‘:‘);
else
write_date(‘?‘);
? if(count%2==0)
displaySecond();
else{
write_date(‘?‘);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4486??2010-12-20?11:06??clock\lcd.c
?????文件??????75647??2010-12-20?11:28??clock\lcd.DSN
?????文件???????3135??2010-12-20?11:14??clock\lcd.hex
?????文件???????2096??2010-12-20?11:23??clock\lcd.Uv2
?????目錄??????????0??2010-12-20?11:29??clock
-----------?---------??----------?-----??----
????????????????85364????????????????????5
- 上一篇:用弗洛伊德算法實現求最短路徑的交通咨詢系統
- 下一篇:PID演示程序
評論
共有 條評論