• 大小: 62KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签:

资源简介

Proteus数字时钟电路设计包含仿真程序和keil文件:四个数码管模拟数字时钟

资源截图

代码片段和文件信息

#include 
#define uchar unsigned char
#define uint unsigned int

sbit dula=P2^0;
sbit wela=P2^1;
sbit s1=P1^0;
sbit s2=P1^1;
sbit s3=P1^2;
sbit s4=P1^3;
sbit g_56=P2^5;
sbit g_34=P2^6;
sbit g_12=P2^7;

uchar nianyuerishifenmiaoleapflagnum;
uint t;
uchar code table[]={
0x3f0x060x5b0x4f
0x660x6d0x7d0x07
0x7f0x6f0x00
};
uchar code table1[2][13]=
{
{0312831303130313130313031}
{0312931303130313130313031}
};
void delay(uint z);
void time0_init(void);
void display_sfm(uchar shi_uchar fen_uchar miao_);
void init_time();
void display_nyr();
void keyscan();



void main()
{
   dula=0;
   wela=0;
   init_time();
   time0_init();
   while(1)
   {
       if(nian%4==0)
         leap=1;
       else
          leap=0;

   if(num==1)
     { g_56=~g_56;
   g_34=0;
   g_12=0;
   delay(10);
      }
       if(num==2)
    {
       g_56=0;
   g_34=~g_34;
   g_12=0;
   delay(10);
    }
if(num==3)
    {
       g_56=0;
   g_34=0;
   g_12=~g_12;
   delay(10);
    }
if(num==0)
    {
       g_56=0;
   g_34=0;
   g_12=0;
    }    


       if(t>=3120)
{
  t=0;
  miao++;
  if(miao==60)
  {
     miao=0;
 fen++;
 if(fen==60)
 {
    fen=0;
shi++;
if(shi==24)
{
   shi=0;
   ri++;
   if(ri==(table1[leap][yue]+1))
   {
       ri=1;
   yue++;
   if(yue==13)
   {
     yue=1;
 nian++;
 if(nian==100)
 {
   nian=0;
 }
   
   }
   
   
   }
}
 }
  
  }
  
}
if(flag==0)      
       display_sfm(shifenmiao);
else 
   //display_nyr();
   display_sfm(nianyueri);
    keyscan();



   }

}
void delay(uint z)
{
      uint xy;
      for(x=z;x>0;x--)
         for(y=110;y>0;y--);
}

void time0_init(void)
{
TMOD=0x02;
TH0=0;
TL0=0;
    //TH0=(65536-50000)/256;
    //TL0=(65536-50000)%256;
    ET0=1;
EA=1;
    TR0=1;
    
}
void init_time()
{
    t=0;
flag=0;
num=0;
g_56=0;
g_34=0;
g_12=0;

shi=0;
fen=0;
miao=0;

nian=11;
yue=6;
ri=3;



}
void time0() interrupt 1
{
//TH0=(65535-50000)/256;
    //TL0=(65535-50000)%256;
t++;
}
void display_sfm(uchar shi_uchar fen_uchar miao_)
{
   wela=1;
   P0=0xfe;
   wela=0;

   dula=1;
   P0=table[shi_/10];
   dula=0;
   delay(1);

   wela=1;
   P0=0xfd;
   wela=0;

   dula=1;
   P0=table[shi_%10];
   dula=0;
   delay(1);

   wela=1;
   P0=0xfb;
   wela=0;

   dula=1;
   P0=table[fen_/10];
   dula=0;
   delay(1);

   wela=1;
   P0=0xf7;
   wela=0;

   dula=1;
   P0=table[fen_%10];
   dula=0;
   delay(1);

   wela=1;
   P0=0xef;
   wela=0;

   dula=1;
   P0=table[miao_/10];
   dula=0;
   delay(1);

   wela=1;
   P0=0xdf;
   wela=0;

   dula=1;
   P0=table[miao_%10];
   dula=0;
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-06-12 10:49  数字时钟\
     文件      113905  2011-05-23 17:22  数字时钟\Last Loaded 数字时钟.DBK
     文件      113811  2011-05-23 21:29  数字时钟\数字数字时钟.DSN
     文件         742  2018-06-12 10:49  数字时钟\数字数字时钟.PWI
     文件       11927  2011-05-26 00:11  数字时钟\数字时钟
     文件        2102  2011-05-23 17:52  数字时钟\数字时钟.Bak
     文件        5569  2011-05-26 00:11  数字时钟\数字时钟.c
     文件        2908  2011-05-26 00:11  数字时钟\数字时钟.hex
     文件          25  2011-05-26 00:11  数字时钟\数字时钟.lnp
     文件       16920  2011-05-26 00:11  数字时钟\数字时钟.LST
     文件       18029  2011-05-26 00:11  数字时钟\数字时钟.M51
     文件       14143  2011-05-26 00:11  数字时钟\数字时钟.OBJ
     文件         972  2011-05-26 00:12  数字时钟\数字时钟.Opt
     文件        3663  2011-05-26 00:12  数字时钟\数字时钟.plg
     文件         742  2011-05-26 00:12  数字时钟\数字时钟.PWI
     文件        2106  2011-05-23 21:30  数字时钟\数字时钟.Uv2
     文件         972  2011-05-23 21:30  数字时钟\数字时钟_Opt.Bak

评论

共有 条评论