资源简介

8位数字钟设计,可以显示时,分,秒。还可以校时,校分,校秒。里面有完整的汇编程序各C语言程序。还有PROTEUS仿真电路图,有很大的实用和参考价值!!!!!!!

资源截图

代码片段和文件信息

#include  
unsigned char code dispcode[]={0x3f0x060x5b0x4f 
                               0x660x6d0x7d0x07 
                               0x7f0x6f0x770x7c 
                               0x390x5e0x790x710x00}; 
unsigned char dispbitcode[]={0xfe0xfd0xfb0xf7 
                             0xef0xdf0xbf0x7f}; 
unsigned char dispbuf[8]={0016001621}; 
unsigned char dispbitcnt; 
unsigned char second; 
unsigned char minite; 
unsigned char hour; 
unsigned int tcnt; 
unsigned char mstcnt;  
unsigned char ij; 
void main(void) 
{
  TMOD=0x02; 
  TH0=0x06; 
  TL0=0x06; 
  TR0=1; 
  ET0=1; 
  EA=1; 
  hour=12;
   while(1) 
    { 
      if(P0_0==0) 
        { 
          for(i=5;i>0;i--) 
          for(j=248;j>0;j--); 
          if(P0_0==0) 
            { 
              second++; 
              if(second==60) 
                { 
                  second=0; 
                } 
              dispbuf[0]=second%10; 
              dispbuf[1]=second/10; 
              while(P0_0==0); 
            } 
        } 
      if(P0_1==0) 
        { 
          for(i=5;i>0;i--) 
          for(j=248;j>0;j--); 
          if(P0_1==0) 
            { 
              minite++; 
              if(minite==60) 
                { 
                  minite=0; 
                } 
              dispbuf[3]=minite%10; 
              dispbuf[4]=minite/10; 
              while(P0_1==0); 
            } 
        } 
      if(P0_2==0) 
        { 
          for(i=5;i>0;i--) 
          for(j=248;j>0;j--); 
          if(P0_2==0) 
            { 
              hour++; 
              if(hour==24) 
                { 
                  hour=0; 
                } 
              dispbuf[6]=hour%10; 
              dispbuf[7]=hour/10; 
              while(P0_2==0); 
            } 
        } 
    } 

void t0(void) interrupt 1 using 0 

 
  mstcnt++; 
  if(mstcnt==8) 
    { 
      mstcnt=0; 
  
      P3=0xff;      //关闭所有显示
      P1=dispcode[dispbuf[dispbitcnt]]; 
      P3=dispbitcode[dispbitcnt]; 
      dispbitcnt++; 
      if(dispbitcnt==8) 
        { 
          dispbitcnt=0; 
        } 
    } 
  tcnt++; 
  if(tcnt==4000) 
    { 
      tcnt=0; 
      second++; 
      if(second==60) 
        { 
          second=0; 
          minite++; 
          if(minite==60) 
            { 
              minite=0; 
              hour++; 
              if(hour==24) 
                { 
                  hour=0; 
                } 
            } 
        } 
      dispbuf[0]=second%10; 
      dispbuf[1]=second/10; 
      dispbuf[3]=minite%10; 
      dispbuf[4]=minite/10; 
      dispbuf[6]=hour%10; 
      dispbuf[7]=hour/10; 
    } 




 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      57856  2007-10-12 17:47  20.数字钟\20.数字钟.doc

     文件        742  2007-08-14 17:20  20.数字钟\digital clock.PWI

     文件      97606  2007-10-16 21:34  20.数字钟\digital clock1.DSN

     文件        806  2006-01-31 13:34  20.数字钟\digital clock1.PWI

     文件       1767  2007-08-14 17:17  20.数字钟\Keil-C\digital clock

     文件       2771  2007-08-14 17:17  20.数字钟\Keil-C\digital clock.c

     文件       1549  2007-08-14 17:17  20.数字钟\Keil-C\digital clock.hex

     文件         43  2007-08-14 17:17  20.数字钟\Keil-C\digital clock.lnp

     文件       5468  2007-08-14 17:17  20.数字钟\Keil-C\digital clock.LST

     文件       7436  2007-08-14 17:17  20.数字钟\Keil-C\digital clock.M51

     文件       2594  2007-08-14 17:17  20.数字钟\Keil-C\digital clock.OBJ

     文件       1008  2007-08-14 17:22  20.数字钟\Keil-C\digital clock.Opt

     文件        216  2007-08-14 19:49  20.数字钟\Keil-C\digital clock.plg

     文件       1838  2007-08-14 14:48  20.数字钟\Keil-C\digital clock.Uv2

     文件       3209  2007-08-17 23:15  20.数字钟\Keil-H\digital clock.asm

     文件        865  2009-05-24 16:21  20.数字钟\Keil-H\digital clock.hex

     文件      10202  2009-05-24 16:20  20.数字钟\Keil-H\digital clock.LST

     文件       7457  2009-05-24 16:21  20.数字钟\Keil-H\digital clock.M51

     文件        207  2009-05-24 16:27  20.数字钟\Keil-H\digital clock.plg

     文件       1719  2009-05-24 16:20  20.数字钟\Keil-H\digital clock.OBJ

     文件       1628  2009-05-24 16:21  20.数字钟\Keil-H\digital clock

     文件       1981  2009-05-24 16:21  20.数字钟\Keil-H\digital clock.Uv2

     文件        883  2009-05-24 16:23  20.数字钟\Keil-H\digital clock.Opt

     文件      96936  2007-08-17 22:54  20.数字钟\Last Loaded digital clock1.DBK

     目录          0  2007-08-14 17:22  20.数字钟\Keil-C

     目录          0  2007-08-17 23:57  20.数字钟\Keil-H

     目录          0  2007-10-16 21:35  20.数字钟

----------- ---------  ---------- -----  ----

               306787                    27



............此处省略0个文件信息

评论

共有 条评论