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

📄 5.lst

📁 刚学时编的小程序
💻 LST
字号:
C51 COMPILER V8.02   5                                                                     01/04/2007 13:48:40 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE 5
OBJECT MODULE PLACED IN 5.OBJ
COMPILER INVOKED BY: d:\Keil 8\C51\BIN\C51.EXE 5.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <AT89X51.H>
   2          
   3          unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,
   4          0x66,0x6d,0x7d,0x07,
   5          0x7f,0x6f,0x77,0x7c,
   6          0x39,0x5e,0x79,0x71,0x40,0x00};
   7          unsigned char dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
   8          0xef,0xdf,0xbf,0x7f};
   9          unsigned char dispbuf[8]={0,0,16,0,0,16,0,0};
  10          unsigned char dispcun[10][8];
  11          
  12          unsigned char dispbitcnt;
  13          unsigned char second;
  14          unsigned char minite;
  15          unsigned char hour;
  16          unsigned int tcnt;
  17          unsigned char mstcnt;
  18          unsigned int key;
  19          unsigned char cun=0,b,a;
  20          
  21          delay(int t)
  22          {
  23   1              int i,j;
  24   1              for(i=0;i<t;i++)
  25   1                      for(j=0;j<100;j++);
  26   1      }
  27          
  28          char scan_key()
  29          {
  30   1              char i,j,find;
  31   1              int ini,inj;
  32   1              char in;
  33   1              find=0;
  34   1              for(i=0;i<4;i++)
  35   1              {
  36   2                      P0=dispbitcode[i]  ;
  37   2                      delay(30);
  38   2                      in=P0;
  39   2                      in=in>>4;
  40   2                      in=in|0xf0;
  41   2                      for(j=0;j<4;j++)
  42   2                              if(dispbitcode[j]==in)
  43   2                              {
  44   3                                      find=1;
  45   3                                      inj=j,ini=i;
  46   3                              }
  47   2              }
  48   1              if(find==0)  return 0;
  49   1          key=ini*4+inj;
  50   1              return find;
  51   1      }
  52          
  53          void main()
  54          {
  55   1              char m,n;
C51 COMPILER V8.02   5                                                                     01/04/2007 13:48:40 PAGE 2   

  56   1              for(m=0;m<10;m++)
  57   1              {
  58   2                      for(n=0;n<8;n++)
  59   2                      {       
  60   3                              if(n==2|n==5)   dispcun[m][n]=16;
  61   3                              else dispcun[m][n]=1;
  62   3                      }
  63   2              }
  64   1              TMOD=0x02;
  65   1              TH0=0x06;
  66   1              TL0=0x06;
  67   1              TR0=1;
  68   1              ET0=1;
  69   1              EA=1;
  70   1              P3_7=0;
  71   1              P2=dispbitcode[dispbitcnt]        ;
  72   1              while(1)
  73   1              {
  74   2                      if(scan_key()==1&key==12)
  75   2                      {       
  76   3                              tiaoshi();
*** WARNING C206 IN LINE 76 OF 5.C: 'tiaoshi': missing function-prototype
  77   3                      }
  78   2                      if(scan_key()==1&key==13)       
  79   2                      {
  80   3                              cunshi();
*** WARNING C206 IN LINE 80 OF 5.C: 'cunshi': missing function-prototype
  81   3                      } 
  82   2                      if(a==1)
  83   2                      {
  84   3                              for(m=0;m<=9;m++)
  85   3                              {
  86   4                                      for(n=7;n>2;n--)
  87   4                                      {
  88   5                                              if(n==5) continue ;
  89   5                                              if(dispcun[m][n]!=dispbuf[n])  break;
  90   5                                      }
  91   4                                      if(n==2) dadian();
*** WARNING C206 IN LINE 91 OF 5.C: 'dadian': missing function-prototype
  92   4                              }
  93   3                      }
  94   2              }
  95   1      }
  96          
  97          get_key()
  98          {
  99   1              while(1)        if(scan_key()!=0)  break;
 100   1      }
 101          
 102          fan_key()
 103          {
 104   1              while(1)        if(scan_key()==0)  break;       
 105   1      }
 106          
 107          void t0(void) interrupt 1 using 0
 108          {
 109   1              mstcnt++;
 110   1              if(mstcnt==8)
 111   1              {
 112   2                      mstcnt=0;
 113   2                      if(cun==0)
 114   2                      {
C51 COMPILER V8.02   5                                                                     01/04/2007 13:48:40 PAGE 3   

 115   3                      /*      if(i!=0&i==dispbitcnt)
 116   3                              {
 117   3                                      a++;
 118   3                                      if(a=100)
 119   3                                      {
 120   3                                              a=0;f=~f;
 121   3                                      }
 122   3                                      if(f==0) P1=dispcode[16];
 123   3                                      else P1=dispcode[dispbuf[dispbitcnt]]   ;
 124   3                              
 125   3                              }
 126   3                              else          
 127   3                      */
 128   3                              P1=dispcode[dispbuf[dispbitcnt]]        ;
 129   3                      }
 130   2                      else
 131   2                      {
 132   3                               P1=dispcode[dispcun[b][dispbitcnt]]  ;
 133   3                      }
 134   2                      P2=dispbitcode[dispbitcnt]        ;     
 135   2                      dispbitcnt++;
 136   2                      if(dispbitcnt==8)
 137   2                      {
 138   3                              dispbitcnt=0;
 139   3                      }
 140   2              }
 141   1              tcnt++;
 142   1              if(tcnt==3700)
 143   1              {       
 144   2                      tcnt=0;
 145   2                      second++;
 146   2                      if(second>=60)
 147   2                      {
 148   3                              second=0;
 149   3                              minite++;
 150   3                              if(minite>=60)
 151   3                              {
 152   4                                      minite=0;
 153   4                                      hour++;
 154   4                                      if(hour>=24)
 155   4                                      {
 156   5                                              hour=0;
 157   5                                      }       
 158   4                              }
 159   3                      }
 160   2                      dispbuf[0]=second%10;
 161   2                      dispbuf[1]=second/10;
 162   2                      dispbuf[3]=minite%10;
 163   2                      dispbuf[4]=minite/10;
 164   2                      dispbuf[6]=hour%10;
 165   2                      dispbuf[7]=hour/10;
 166   2              }
 167   1      }       
 168          
 169          tiaoshi()
 170          {
 171   1              char i;
 172   1              P3_0=0;
 173   1              fan_key();
 174   1              for(i=7;i>=0;i--)
 175   1              {       
 176   2                      switch(i)
C51 COMPILER V8.02   5                                                                     01/04/2007 13:48:40 PAGE 4   

 177   2                      {
 178   3                              case 7: get_key();      if(key>2)       {key=2;}        hour=key*10; break;
 179   3                              case 6: get_key();      if(key>9)       {key=9;}        hour=hour+key;
 180   3                                                                      if(hour>24)     {hour=23;}      break;
 181   3                              case 4: get_key();      if(key>5)       {key=5;}        minite=key*10; break;
 182   3                              case 3: get_key();      if(key>9)       {key=9;}        minite=minite+key; break;
 183   3                              case 1: get_key();      if(key>5)       {key=5;}        second=key*10; break;
 184   3                              case 0: get_key();      if(key>9)       {key=9;}        second=second+key; break;
 185   3                      }
 186   2                      fan_key();
 187   2              }
 188   1              P3_0=1;
 189   1      }
 190          
 191          cunshi()
 192          {
 193   1              char i;
 194   1              P3_1=0;
 195   1              fan_key()       ;
 196   1              cun=1;
 197   1              a=1;
 198   1              for(b=0;b<10;b++)
 199   1              {
 200   2                      for(i=7;i>=0;i--)
 201   2                      {
 202   3                              switch(i)
 203   3                              {
 204   4                                      case 7: get_key();      if(key==15)             {fan_key(); goto loop;}
 205   4                                                                              else /*if(key>2){key=2;}  */    dispcun[b][i]=key; break;
 206   4                                      case 6: get_key();/*    if(key>3&dispcun[b][i+1]>1) dispcun[b][i]=3;// break;
 207   4                                                                              else if(key>9&dispcun[b][i+1]<2) dispcun[b][i]=9;//     break;
 208   4                                                                              else  */ dispcun[b][i]=key; break;
 209   4                                      case 4: get_key();      /*if(key>5){key=5;}     */dispcun[b][i]=key; break;
 210   4                                      case 3: get_key();      /*if(key>9){key=9;}     */dispcun[b][i]=key; break;
 211   4                                      case 1: if(b==9) dispcun[b][i]=1;
 212   4                                                      else dispcun[b][i]=0; break;
 213   4                                      case 0: if(b==9) dispcun[b][i]=0;
 214   4                                                      else dispcun[b][i]=b+1; break;
 215   4                              }
 216   3                              fan_key();
 217   3                      }
 218   2                      loop:  1;
*** WARNING C275 IN LINE 218 OF 5.C: expression with possibly no effect
 219   2              }
 220   1              b=9 ;
 221   1              while(1)
 222   1                      if(scan_key()==1&key==14) 
 223   1                      {
 224   2                              cun=0;  P3_1=1;break;
 225   2                      }
 226   1      }
 227          
 228          dadian()
 229          {
 230   1                P3_7=1;
 231   1                P3_6=0;
 232   1                delay(8000);
 233   1                P3_7=0;
 234   1                P3_6=1;
 235   1      }
 236          

C51 COMPILER V8.02   5                                                                     01/04/2007 13:48:40 PAGE 5   


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1022    ----
   CONSTANT SIZE    =     18    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =    108       7
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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