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

📄 text1.lst

📁 实现秒表的功能
💻 LST
字号:
C51 COMPILER V7.20   TEXT1                                                                 03/11/2009 23:38:36 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: E:\单片机原理与应用\实验内容\Keil 绿色版\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg51.h>
   2           #include<absacc.h>
   3          #define char unsigned char
   4          char code
   5          dis7[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};
   6           // char data dis[10]={0x05,0xf5,0x13,0x51,0xe1,0x49,0x09,0xd5,0x01,0x41};
   7          char code scan[4]={0xfe,0xfd,0xfb,0xf7};
   8          char data dis[4]={0x00,0x00,0x00,0x00};
   9          char data timedata[2]={0x00,0x00};
  10          char save=0;show=0;
  11          char data a[2],b[2],c[2],d[2],e[2],f[2],g[2],h[2],m[2],l[2];
  12          char data ms50=0x00;
  13          sbit P1_0=P1^0;
  14          sbit P1_1=P1^1;
  15          sbit P1_2=P1^2;
  16          void fun1(void);
  17          void fun2(void);
  18          delay (int t)
  19          { int i,j;
  20   1      for (i=0;i<t;i++)
  21   1      for (j=0;j<120;j++)
  22   1       ;
  23   1      }
  24           sanf()
  25           { char k;
  26   1       dis[0]=timedata[0]%10;dis[1]=timedata[0]/10;
  27   1       dis[2]=timedata[1]%10;dis[3]=timedata[1]/10;
  28   1      
  29   1       for(k=0;k<4;k++)
  30   1       { P0=dis7[dis[k]];
  31   2         P2=scan[k];
  32   2         delay(1);
  33   2         P2=0xff;
  34   2       }
  35   1       }
  36           main()
  37           { char key=0;
  38   1        TH0=(65536-10000)/256;
  39   1        TL0=(65536-10000)%256;
  40   1         TMOD=0x01;
  41   1         ET0=1;
  42   1       
  43   1         EA=1;
  44   1         while(1)
  45   1         { if(P1_0==0)
  46   2         { delay(10);
  47   3          if(P1_0==0)
  48   3         {key++;}
  49   3         }
  50   2         while (!P1_0) {sanf();}
  51   2         
  52   2      
  53   2        switch (key)
  54   2         { case 0:{TR0=0;break;}
  55   3           case 1:{ fun1();break;}
C51 COMPILER V7.20   TEXT1                                                                 03/11/2009 23:38:36 PAGE 2   

  56   3               case 2:{fun2();break;}
  57   3               case 3:{key=0;timedata[0]=timedata[1]=0;save=show=0;break;}
  58   3         }
  59   2        
  60   2          sanf();
  61   2              }
  62   1       }
  63           void fun1()
  64           { char j;
  65   1         TR0=1;
  66   1        if (P1_1==0)
  67   1        { delay(10);
  68   2         if (P1_1==0)
  69   2         {  save++;
  70   3         sanf();
  71   3         }
  72   2        switch (save)
  73   2        { case 1:     {for (j=0;j<2;j++)
  74   4                          a[j]=timedata[j];break;}
  75   3              case 2:         {for (j=0;j<2;j++)
  76   4                          b[j]=timedata[j];break;}
  77   3              case 3:            {for (j=0;j<2;j++)
  78   4                          c[j]=timedata[j];break;}
  79   3              case 4:           {for (j=0;j<2;j++)
  80   4                           d[j]=timedata[j];break;}
  81   3              case 5:            {for (j=0;j<2;j++)
  82   4                           e[j]=timedata[j];break;}
  83   3              case 6:           {for (j=0;j<2;j++)
  84   4                          f[j]=timedata[j];break;}
  85   3              case 7:            {for (j=0;j<2;j++)
  86   4                       h[j]=timedata[j];break;}
  87   3              case 8:            {for (j=0;j<2;j++)
  88   4                           g[j]=timedata[j];break;}
  89   3              case 9:            {for (j=0;j<2;j++)
  90   4                       l[j]=timedata[j];break;}
  91   3              case 10:                 {for (j=0;j<2;j++)
  92   4                       m[j]=timedata[j];break;}
  93   3      
  94   3        } 
  95   2        }
  96   1         while (!P1_1) {sanf();} 
  97   1       }
  98           void fun2()
  99           { TR0=0;
 100   1         if (P1_2==0)
 101   1         { delay(10);
 102   2          if (P1_2==0)
 103   2              { show++;
 104   3               sanf();
 105   3              }
 106   2        switch(show)
 107   2        {      case 1:  {timedata[0]=a[0] ;
 108   4                       timedata[1]=a[1];break;}
 109   3           case 2:    {timedata[0]=b[0] ;
 110   4                       timedata[1]=b[1];break;}
 111   3               case 3:   {timedata[0]=c[0] ;
 112   4                       timedata[1]=c[1];break;}
 113   3               case 4:   {timedata[0]=d[0] ;
 114   4                       timedata[1]=d[1];break;}
 115   3               case 5:   {timedata[0]=e[0] ;
 116   4                       timedata[1]=e[1];break;}
 117   3               case 6:        {timedata[0]=f[0] ;
C51 COMPILER V7.20   TEXT1                                                                 03/11/2009 23:38:36 PAGE 3   

 118   4                       timedata[1]=f[1];break;}
 119   3               case 7:         {timedata[0]=h[0] ;
 120   4                       timedata[1]=h[1];break;}
 121   3               case 8:        {timedata[0]=g[0] ;
 122   4                       timedata[1]=g[1];break;}
 123   3               case 9:         {timedata[0]=l[0] ;
 124   4                       timedata[1]=l[1];break;}
 125   3               case 10:         {timedata[0]=m[0] ;
 126   4                       timedata[1]=m[1];break;}
 127   3        }      
 128   2      
 129   2         }
 130   1              while (!P1_2) {sanf();}
 131   1       }
 132           void time_intt0(void) interrupt 1
 133           { ET0=0;
 134   1         TR0=0;
 135   1         TH0=0x3c;
 136   1         TL0=0xb0;
 137   1         TR0=1;
 138   1         ms50++;
 139   1         if(ms50==1)
 140   1         { ms50=0x00; timedata[0]++;
 141   2           if (timedata[0]==99)
 142   2               {  timedata[0]=0;timedata[1]++;
 143   3                if (timedata[1]==60)
 144   3                { timedata[1]=0;
 145   4                
 146   4                }
 147   3               }
 148   2         
 149   2         }
 150   1               ET0=1;
 151   1       }
 152          
 153          
 154          
 155          
 156          
 157          
 158          
 159          
 160          
 161          
 162          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    763    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     30       2
   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 + -