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

📄 1.1.lst

📁 基于单片机的电子表与温度计
💻 LST
字号:
C51 COMPILER V8.09   1_1                                                                   05/08/2008 17:47:56 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE 1_1
OBJECT MODULE PLACED IN 1.1.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE 1.1.c BROWSE DEBUG OBJECTEXTEND

line level    source

*** WARNING C500 IN LINE 1 OF 1.1.C: LICENSE ERROR (R208: RENEW LICENSE ID CODE (LIC))

   1          #include<reg51.h>
   2          #define uint unsigned int
   3          #define uchar unsigned char
   4          uint a,b,c,c1,d,x,y,xi,n,n0,
   5          ke,ke0,kex,ke1,ke2,ke3,ke4,
   6          ry,ry0,ry1,hf,hf0,hf1,hf2,
   7          bian,ge,shi,bai,qian,q1,q2,
   8          q3,q4,t,f,ke12,dian;
   9          uchar code table[]={
  10          0xa0,0xbb,0x62,0x2a,0x39,
  11          0x2c,0x24,0xba,0x20,0x28};
  12          void into()
  13          {
  14   1              TMOD=0x22;
  15   1              EA=1;
  16   1              ET0=1;
  17   1              TR0=1;
  18   1              TH0=56;
  19   1              TL0=56;
  20   1              a=0;
  21   1              b=0;
  22   1              c=0;
  23   1              d=0;
  24   1              q1=0xf7;
  25   1              q2=0xfd;
  26   1              q3=0xfb;
  27   1              q4=0xfe;
  28   1              f=0xff;
  29   1              ke1=1;
  30   1              ke2=0;
  31   1              ke3=1;
  32   1              ke4=1;
  33   1              ry=280;
  34   1              hf=1290;
  35   1              xi=0;
  36   1              n=2008;
  37   1      }
  38          void delay(uint b)
  39          {
  40   1              for(x=b;x>0;x--)
  41   1                      for(y=30;y>0;y--);
  42   1      }
  43          void display()
  44          {
  45   1              ge=xi%10;
  46   1              P0=q1;
  47   1              P2=table[ge];
  48   1               delay(10);
  49   1              shi=xi%100/10;
  50   1              P0=q2;
  51   1              P2=table[shi];
  52   1               delay(10);
  53   1              bai=xi/100%10;
  54   1              P0=q3;
C51 COMPILER V8.09   1_1                                                                   05/08/2008 17:47:56 PAGE 2   

  55   1              P2=table[bai];
  56   1               delay(10);
  57   1              qian=xi/1000;
  58   1              P0=q4;
  59   1              P2=table[qian];
  60   1               delay(10);
  61   1              if (dian)
  62   1              {
  63   2                      if (c%2)
  64   2                      {
  65   3                              P0=0xf5;
  66   3                              P2=0xdf;
  67   3                      }       
  68   2                      else
  69   2                              P2=0xff;
  70   2          }
  71   1                      dian=0;
  72   1      }
  73          void key()
  74          {
  75   1              ke=P0&0xf0;
  76   1              if (ke==0xe0||ke==0xd0||ke==0xb0||ke==0x70)
  77   1                      {
  78   2                              delay(10);
  79   2                              if (ke==0xe0||ke==0xd0||ke==0xb0||ke==0x70)
  80   2                              {
  81   3                                      kex=ke;
  82   3                                      delay(500);
  83   3                                      ke0=P0&0xf0;
  84   3                              }
  85   2                      }
  86   1              switch(kex)
  87   1              {
  88   2                      case 0xb0:      if (ke!=ke0)ke1++;break;
  89   2                      case 0x70: if (ke!=ke0)ke2++;break;
  90   2                      case 0xd0: if (ke!=ke0)ke3++;break;
  91   2                      case 0xe0: if (ke!=ke0)ke4++;break;
  92   2              }
  93   1              kex=0;
  94   1              if (ke1>4)
  95   1                 ke1=1;
  96   1      //      if (ke2>4)
  97   1                 ke2=0;
  98   1              switch(ke1)
  99   1              {
 100   2                      case 1:xi=c1;break;
 101   2                      case 2:xi=hf1,dian=1;break;
 102   2                      case 3:xi=ry1;break;
 103   2                      case 4:xi=n;break;
 104   2              }
 105   1              if (ke2>0)
 106   1              {
 107   2                      switch(ke2)
 108   2                      {
 109   3                              case 1: if (c%2)t=f,f=q1,q1=t;
 110   3                                              if (ke!=ke0&&ke==0xb0)ge++;
 111   3                                      if (ke!=ke0&&ke==0x70)ge--;break;
 112   3                              case 2: if (c%2)t=f,f=q2,q2=t;
 113   3                                              if (ke!=ke0&&ke==0xb0)shi++;
 114   3                                              if (ke!=ke0&&ke==0x70)shi--;break;
 115   3                              case 3: if (c%2)t=f,f=q3,q3=t;
 116   3                                              if (ke!=ke0&&ke==0xb0)bai++;
C51 COMPILER V8.09   1_1                                                                   05/08/2008 17:47:56 PAGE 3   

 117   3                                              if (ke!=ke0&&ke==0x70)bai--;break;
 118   3                              case 4: if (c%2)t=f,f=q4,q4=t;
 119   3                                              if (ke!=ke0&&ke==0xb0)qian++;
 120   3                                              if (ke!=ke0&&ke==0x70)qian--;break;
 121   3                      }
 122   2                      d=ge+shi*10+bai*100+qian*1000;
 123   2                      xi=d;
 124   2                      if (ke1!=0)
 125   2                      {
 126   3                              ke12=ke1+5;
 127   3                              switch(ke12)
 128   3                              {
 129   4                                      case 7:hf0=d;break;
 130   4                                      case 8:ry0=d;break;
 131   4                                      case 9:n0=d;break;
 132   4                              }
 133   3                              ke12=ke1-5;
 134   3                      }
 135   2      //      if (ke1!=0&&P1^3==0xf7)
 136   2                      {
 137   3                              ke12=ke1+5;
 138   3                              switch(ke12)
 139   3                              {
 140   4                                      case 6:c=d;break;
 141   4                                      case 7:hf=d;break;
 142   4                                      case 8:ry=d;break;
 143   4                                      case 9:n=d;break;
 144   4                              }
 145   3                              ke12=ke1-5;
 146   3                      }
 147   2                      ke1=0;
 148   2              }
 149   1      }
 150          void year()
 151          {
 152   1             //if(c==3600)
 153   1                      c=0;
 154   1              if (!(c%60))
 155   1                      hf++;
 156   1          switch(ry/30)
 157   1              {
 158   2                      case 1:   if (ry%60==32)ry=ry+28;break;
 159   2                      case 2:   if (ry%60==30)ry=ry+30;break;
 160   2                      case 3:   if (ry%60==32)ry=ry+28;break;
 161   2                      case 4:   if (ry%60==31)ry=ry+29;break;
 162   2                      case 5:   if (ry%60==32)ry=ry+28;break;
 163   2                      case 6:   if (ry%60==31)ry=ry+29;break;
 164   2                      case 7:   if (ry%60==32)ry=ry+28;break;
 165   2                      case 8:   if (ry%60==32)ry=ry+28;break;
 166   2                      case 9:   if (ry%60==31)ry=ry+29;break;
 167   2                      case 10:  if (ry%60==32)ry=ry+28;break;
 168   2                      case 11:  if (ry%60==31)ry=ry+29;break;
 169   2                      case 12:  if (ry%60==32)ry=ry+28;break;
 170   2                      default : ;
 171   2              }
 172   1              
 173   1              if(hf==24*60)
 174   1              {
 175   2                      ry++;
 176   2                      hf=0;
 177   2              }
 178   1              if (ry==365)
C51 COMPILER V8.09   1_1                                                                   05/08/2008 17:47:56 PAGE 4   

 179   1                      n++;
 180   1      } 
 181          void time()
 182          {
 183   1              if (n==n0&&ry1==ry0&&hf1==hf0)
 184   1              {
 185   2                      P1=0xfe;
 186   2              }
 187   1              if (hf1!=hf0)
 188   1                      P1=0xff;
 189   1      }
 190          void transfrom ()
 191          {
 192   1              hf1=hf%10+hf%60/10*10+hf/60%10*100+hf/60/10*1000;
 193   1              c1=c%10+c%60/10*10+c/60%10*100+c/60/10*1000;
 194   1              ry1=ry%10+ry%60/10*10+ry/60%10*100+ry/60/10*1000;
 195   1      }
 196          void main()
 197          {
 198   1              into();
 199   1              while(1)
 200   1              {
 201   2                      year();
 202   2                      key();
 203   2                  transfrom ();
 204   2                      display();
 205   2                      time();
 206   2              }
 207   1      } 
 208          void exter0() interrupt 1
 209          {
 210   1              a++;
 211   1              if(a==4608)
 212   1                              {
 213   2                              c++;
 214   2                              a=0;
 215   2                              }                       
 216   1      }


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


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

⌨️ 快捷键说明

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