可以通过小程序进行控制:
注意:可以通过小程序和按键来做相应的控制。
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x03,0x9F,0x25,0x0D,0x99,//0-4
0x49,0x41,0x1F,0x01,0x09,0xfd};
uchar buf[8]={7,6,5,4,3,2,1,0};
uchar hour=23,moment=55,second=51,num;
void display();
void delay(uint z)
{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);
}
void init()
{TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}
void main()
{init();while(1){buf[0]=hour/10;buf[1]=hour%10;buf[2]=10;buf[3]=moment/10;buf[4]=moment%10;buf[5]=10;buf[6]=second/10;buf[7]=second%10;display(); }
}
void display()
{ uchar i;for(i=0;i<8;i++){P2=0x00;P1=table[buf[i]];P2=0x01<TH0=(65536-50000)/256;TL0=(65536-50000)%256;num++;if(num>=20){num=0;second++;}if(second>=60){second=0;moment++;if(moment>=60){moment=0;hour++;if(hour>=24){hour=0;}}}
}
调试结果:
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x03,0x9F,0x25,0x0D,0x99,//0-4
0x49,0x41,0x1F,0x01,0x09,0xfd,0xff}; //ROM
uchar buf[8]={11,11,11,11,11,11,11,11}; //RAM
uchar shi=23,fen=59,miao=45,num;
uchar ledt=20;
uchar zt=0;
bit flag=0;
sbit led_r=P3^0;
sbit led_y=P3^1;
sbit led_g=P3^2;void display();
void delay(uint z)
{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);
}
void init()
{TMOD=0X01;// 0000 0001TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;
}
void main()
{init();led_r=1;led_g=1;led_y=1;led_g=1;led_r=0;led_y=0;while(1){if(flag==0){if(zt==0){ledt=20;led_g=0;led_r=1;led_y=1;}else if(zt==1){ledt=5;led_g=1;led_r=1;led_y=0;}else if(zt==2){ledt=20;led_g=1;led_r=0;led_y=1; } }buf[0]=ledt/10; buf[1]=ledt%10;display(); }
}
void display()
{ uchar i;for(i=0;i<8;i++){P2=0x00;P1=table[buf[i]];P2=0x01<TH0=(65536-50000)/256;TL0=(65536-50000)%256;num++;if(num>=20){num=0;ledt--;flag=1;if(ledt==0){zt++;flag=0;if(zt>=3)zt=0;}}
}
调试结果:
11.0592:晶振