标题: 用if语句实现数字钟—数码管动态扫描 [打印本页]

作者: 247891933hao    时间: 2010-3-25 20:34
标题: 用if语句实现数字钟—数码管动态扫描

#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++;
}

 

 

 

现在还没有完全学会设置时间!先传上去,慢慢学着!




作者: 数星星    时间: 2015-6-3 14:18

作者: 1qaz2wsx77    时间: 2015-10-12 20:33
这不是网上买的51板吗




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1