#include<reg51.h> #define uint unsigned int #define uchar unsigned char uchar temp1,temp2,temp3,aa;
uchar code tablewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar code tabledu[]={ 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0xbf}; sbit p37=P3^7; sbit p36=P3^6; sbit p35=P3^5; sbit p34=P3^4; sbit p33=P3^3; sbit p32=P3^2; sbit p31=P3^1; sbit p30=P3^0;
void delay(uint); void main() { temp1=0; temp2=0; temp3=0; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; while(1) { if(aa==20) { aa=0; temp1++; if(temp1==60) { temp1=0; temp2++; if(temp2==60) { temp2=0; temp3++; if(temp3==24) {temp1=0;temp2=0;temp3=0;} } } } p37=0; P0=tabledu[temp1%10]; delay(1); p37=1; p36=0; P0=tabledu[temp1/10]; delay(1); p36=1; p35=0; P0=tabledu[10]; delay(1); p35=1; p34=0; P0=tabledu[temp2%10]; delay(1); p34=1;
p33=0; P0=tabledu[temp2/10]; delay(1); p33=1; p32=0; P0=tabledu[10]; delay(1); p32=1;
p31=0; P0=tabledu[temp3%10]; delay(1); p31=1; p30=0; P0=tabledu[temp3/10]; delay(1); p30=1; } }
void delay(uint z) { uint x,y; for(x=115;x>0;x--) for(y=z;y>0;y--); }
void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; }
现在还没有完全学会设置时间!先传上去,慢慢学着!
|