ÔÚ”µ(sh¨´)´a¹Ü„Ó(d¨°ng)‘B(t¨¤i)ï@ʾÖУ¬ÑÓ•r(sh¨ª)•r(sh¨ª)égéL(zh¨£ng)ÁË”µ(sh¨´)´a¹Ü²»ÄÜÕý´_ï@ʾ£¬Õ¦»ØÊÂÄØ£¿
³ÌÐòÈçÏ£º
/*******************-*******************
”µ(sh¨´)´a¹Üï@ʾ1
2012Äê5ÔÂ12ÈÕ
**************************************/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code d1[] = {0xf9,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0}; //×Ö´a0-7 ”µ(sh¨´)´a¹Ü¹²ê–(y¨¢ng)
uchar code d2[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
/********************************************************/
void delay(void) //ÑÓ•r(sh¨ª)
{
uchar i,j;
for(i = 0 ; i < 1; i++)
for(j = 0 ; j < 600 ; j++); //•r(sh¨ª)égÕ{(di¨¤o)¶Ì£¬¿ÉÒÔï@ʾ³ö0-7£¬Èç¹ûéL(zh¨£ng)Á˾ÍÄÜï@ʾһ‚€(g¨¨)ÁË£¨¬F(xi¨¤n)ÔÚ¾ÍÖ»ÓÐÒ»‚€(g¨¨)”µ(sh¨´)´a¹Üï@ʾ£©
}
/*****************************************************/
void main()
{
uchar i;
P0 = 0xff;
P2 = 0xff;
while(1)
{
for(i = 0 ; i < 8 ; i++) //Ñh(hu¨¢n)üc(di¨£n)ÁÁ
{
P0 = d1;
P2 = d2;
delay();
P0=0xff;
}
}
}
®”(d¨¡ng)ÑÓ•r(sh¨ª)•r(sh¨ª)égéL(zh¨£ng)Á˾Ͳ»ÄÜÕý´_ï@ʾ£º0-7ÁË£¬Ö»ÓÐÒ»‚€(g¨¨)”µ(sh¨´)´a¹ÜÁÁ£¬²»ÖªµÀÊÇÕ¦»ØÊ¡£ÇóºÃÐÄÈ˽oŽÍæ¿´¿´£¬ÖxÖx¡£
//////////////////////////////////////////////////////////////////////////
//³ÌÐò¹¦ÄÜ£ºÈf(w¨¤n)Äêšvï@ʾ
//¾§Õñ´óС£º6MHZ
//////////////////////////////////////////////////////////////////////////
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit start_test = P3^0;
sbit start_add = P3^1;
sbit w0 = P1^0;
sbit w1 = P1^1;
sbit w2 = P1^2;
sbit w3 = P1^3;
sbit w4 = P1^4;
sbit c0 = P2^0;
sbit c1 = P2^1;
uint year,month,day,hour,min,sec,time,ge,shi,bai,qian,s_year,s_day,s_time,c_time,m_once,m_time;
uchar code tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
///////////////////////P1ÑÓ•r(sh¨ª)º¯”µ(sh¨´)/////////////////////////////////////////
void delay()
{
uint x = 0;
for(x=0;x<500;x++);
}
/////////////////////////”µ(sh¨´)“þ(j¨´)ÌŽÀí/////////////////////////////////////////
void chuli()
{
if(sec%12 < 4)
{
qian=hour/10;
bai=hour%10;
shi=min/10;
ge=min%10;
}
else if(sec%12 < 8)
{
qian=year/1000;
bai=year/100%10;
shi=year%100/10;
ge=year%10;
}
else
{
qian=month/10;
bai=month%10;
shi=day/10;
ge=day%10;
}
}
/////////////////////////ÏûÓ°ÌŽÀí/////////////////////////////////////////////
void xiaoyin()
{
delay();
}
/////////////////////////ï@ʾº¯”µ(sh¨´)/////////////////////////////////////////////
void display()
{
/////////ge///////////////
w0 = 1; w1 = 1; w2 = 1;w3 = 1;
P0=tab[ge];
w0 = 0; w1 = 1; w2 = 1;w3 = 1;
xiaoyin();
/////////shi//////////////
w0 = 1; w1 = 1; w2 = 1;w3 = 1;
P0=tab[shi];
w0 = 1; w1 = 0; w2 = 1;w3 = 1;
//bit_select = bit_select << 1 + 1;
xiaoyin();
/////////bai//////////////
w0 = 1; w1 = 1; w2 = 1;w3 = 1;
P0=tab[bai];
w0 = 1; w1 = 1; w2 = 0;w3 = 1;
xiaoyin();
/////////qian/////////////
w0 = 1; w1 = 1; w2 = 1;w3 = 1;
P0=tab[qian];
w0 = 1; w1 = 1; w2 = 1;w3 = 0;
xiaoyin();
w0 = 1; w1 = 1; w2 = 1;w3 = 1;
}
//////////////////////////ÖДඨ•r(sh¨ª)////////////////////////////////////////////
void timer0() interrupt 1
{
TH0=(65536-50000)>>8;
TL0=65536-50000;
time ++;
s_time++;
c_time++;
m_time++;
}
//////////////////////////ÅДàécÄê////////////////////////////////////////////
int leap (int year)
{
if(year%4==0&&year%100!=0||year%400==0)
return 1;
else
return 0;
}
///////////////////////////ÅДàÔÂ//////////////////////////////////////////////
void days_month ()
{
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
s_day = 31;
if(month==4||month==6||month==9||month==11)
s_day = 30;
if(month==2&&leap(year)==1)
s_day = 29;
else
s_day = 28;
}
///////////////////////////Ó‹(j¨¬)ËãÈÕÔÂÄê///////////////////////////////////////////
void s_date()
{
days_month();
if (month == 12&&day == s_day)
{
month = 0;
year++;
if (day == s_day&&hour == 24)
{
day = 0;
month++;
}
}
}
//////////////////////////gai///////////////////////////////////////////////////
void date_display()
{
if(c1==0 && c_time <1)
{
c_time = 0;
if(c0 == 0)
{
day++;
}
}
if(c1==0 && c_time <4)
{
c_time = 0;
if(c0 == 0)
{
month++;
}
}
if(c1==0 && c_time >4)
{
c_time = 0;
if(c0 == 0)
{
year++;
}
}
}
//////////////////////////Ö÷º¯”µ(sh¨´)////////////////////////////////////////////////
void main()
{
m_time = 0;
m_once = 0;
ge = 0;
shi = 0;
sec = 0;
min = 0;
hour = 0;
time = 0;
s_time = 0;
c_time = 0;
day = 18;
month = 05;
year = 2012;
//////////////ÖДඨ•r(sh¨ª)³õʼ»¯////////////////
TMOD=0x01;
TH0=(65536-50000)>>8;
TL0=65536-50000;
EA=1;
ET0=1;
TR0=1;
///////////////////////////////////////////
while(1)
{
if(start_test == 0)
{
while (m_once < 5)
{
if(time==10)
{
time = 0;
m_once++;
}
if(start_add == 0)
{
m_time = 0;
if(m_time <10)
{
hour++;
}
}
}
}
if(c1 == 0)
{
date_display();
}
else
{
display();
}
if(s_time ==5)
{
s_time = 0;
w4 = ~w4;
}
if(time==10)
{
time = 0;
sec++;
if (sec == 60)
{
sec = 0;
min++;
if (min == 60)
{
min = 0;
hour++;
if (hour == 24)
{
hour = 0;
day++;
}
}
}
chuli();
s_date();
}
}
}
ß@‚€(g¨¨)¿´Ï°¡£¬¿ÉÒÔï@ʾÄ꣬Ô£¬ÈÕ£¬Ð¡•r(sh¨ª)£¬·ÖçŠ
Äã×öµÄÊÇìo‘B(t¨¤i)ï@ʾ°É „Ó(d¨°ng)‘B(t¨¤i)ï@ʾ²»ÐèÒª¶¨ÁxƒÉ‚€(g¨¨)…¢”µ(sh¨´)±í d1ºÍd2½oÄãï@ʾìo‘B(t¨¤i)ºÍ„Ó(d¨°ng)‘B(t¨¤i)0¡ª¡ª99µÄÀý×ÓÄã¿ÉÒÔ¿´ÏÂ
#include<reg52.h>
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x6d,0x7d,0x07,0x7f,0x6f};
sbit sw2=P1^0;
voide delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{ uchar i=j=0;
while(1){
p0=table;
p0=table[j];
if(sw2==0)
{
delay(10);
while(!sw2);
j++;
if(j>9)
{
j=0;
i++;
if(i>9)
{
i=0;
j=0;
}
}
}
}
}
| šgÓ¹âÅR (http://m.raoushi.com/bbs/) | Powered by Discuz! X3.1 |