⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 time.lst

📁 简易时钟
💻 LST
字号:
C51 COMPILER V8.09   TIME                                                                  05/11/2009 19:17:54 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE TIME
OBJECT MODULE PLACED IN time.OBJ
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE time.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2          
   3          unsigned char code Led[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
   4          unsigned int count;
   5          unsigned char second,minute,hour;
   6          sbit P1_0=P1^0;
   7          sbit P1_1=P1^1;
   8          sbit P3_0=P3^0;             
   9          sbit P3_1=P3^1;            
  10          sbit P3_2=P3^2;           
  11          sbit P3_3=P3^3;             
  12          sbit P3_4=P3^4;           
  13          sbit P3_5=P3^5;            
  14          sbit P3_6=P3^6;           
  15          sbit P3_7=P3^7;
  16           
  17          void init()
  18          {
  19   1              TMOD=0x01;
  20   1              TH0=(65536-2000)/256;
  21   1              TL0=(65536-2000)%256;
  22   1              second=minute=hour=count=0;
  23   1              EA=1;ET0=1;TR0=1;
  24   1      }
  25          
  26          void delay()
  27          {
  28   1              unsigned char i;
  29   1              for(i=200;i>0;i--);
  30   1      }
  31          
  32          void key()
  33          {
  34   1              if(P1_0==0)
  35   1              {
  36   2                      delay();
  37   2                      if(P1_0==0)
  38   2                      {
  39   3                              while(!P1_0);
  40   3                              minute++;
  41   3                              if(minute>59)
  42   3                                      minute=0;
  43   3                      }
  44   2              }
  45   1              if(P1_1==0)
  46   1              {
  47   2                      delay();
  48   2                      if(P1_1==0)
  49   2                      {
  50   3                              while(!P1_1);
  51   3                              hour++;
  52   3                              if(hour>23)
  53   3                                      hour=0;
  54   3                      }
  55   2              }
C51 COMPILER V8.09   TIME                                                                  05/11/2009 19:17:54 PAGE 2   

  56   1      }
  57          
  58          void main()
  59          {
  60   1              init();
  61   1              while(1);
  62   1      }
  63          
  64          void time0() interrupt 1
  65          {
  66   1              static char i=0;
  67   1              TH0=(65536-2000)/256;
  68   1              TL0=(65536-2000)%256;
  69   1              count++;
  70   1              P3&=0x00;               //关全部数码管 
  71   1              if(i>8)
  72   1                      i=0;
  73   1              key();
  74   1              switch (i)
  75   1              {
  76   2              case 0:
  77   2                      P3_7=1;
  78   2                      P2=Led[second%10];
  79   2                      break;
  80   2              case 1:
  81   2                      P3_6=1;
  82   2                      P2=Led[second/10];
  83   2                      break;
  84   2              case 2:
  85   2                      P3_5=1;
  86   2                      P2=0xbf;
  87   2                      break;
  88   2              case 3:
  89   2                      P3_4=1;
  90   2                      P2=Led[minute%10];
  91   2                      break;
  92   2              case 4:
  93   2                      P3_3=1;
  94   2                      P2=Led[minute/10];
  95   2                      break;
  96   2              case 5:
  97   2                      P3_2=1;
  98   2                      P2=0xbf;
  99   2                      break;
 100   2              case 6:
 101   2                      P3_1=1;
 102   2                      P2=Led[hour%10];
 103   2                      break;
 104   2              case 7:
 105   2                      P3_0=1;
 106   2                      P2=Led[hour/10];
 107   2                      break;
 108   2              }
 109   1              i++;
 110   1              if(count==500)
 111   1              {
 112   2                      count=0;
 113   2                      second++;
 114   2                      if(second==60)
 115   2                      {
 116   3                              second=0;
 117   3                              minute++;
C51 COMPILER V8.09   TIME                                                                  05/11/2009 19:17:54 PAGE 3   

 118   3                              if(minute==60)
 119   3                              {
 120   4                                      minute=0;
 121   4                                      hour++;
 122   4                                      if(hour==24)
 123   4                                              hour=0;
 124   4                              }
 125   3                      }
 126   2              }
 127   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    297    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -