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

📄 code.lst

📁 毕设时做的程序
💻 LST
字号:
C51 COMPILER V8.02   CODE                                                                  07/29/2007 22:59:01 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE CODE
OBJECT MODULE PLACED IN code.OBJ
COMPILER INVOKED BY: D:\Program Files\C51\BIN\C51.EXE code.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          
   3          #include <AT89X52.H> 
   4          #include <intrins.h>
   5          #include <head.H> 
   6          #include <subprogram.H> 
*** WARNING C275 IN LINE 272 OF SUBPROGRAM.H: expression with possibly no effect
   7          void main(void) 
   8          {  
   9   1      BEEP=0;
  10   1      SDA = 1;
  11   1      SCL = 1;
  12   1      //fill_byte(0x08);
  13   1      MCU_Init();
  14   1      while(1) 
  15   1      { 
  16   2      if(Keyenableflag==1)
  17   2      {
  18   3      P1=0xff; 
  19   3      P1_4=0; 
  20   3      temp=P1; 
  21   3      temp=temp & 0x0f; 
  22   3      
  23   3      if (temp!=0x0f) 
  24   3      { 
  25   4      KeyDelay();                //延时去抖 
  26   4      if (temp!=0x0f) 
  27   4      { 
  28   5      temp=P1; 
  29   5      temp=temp & 0x0f; 
  30   5      switch(temp) 
  31   5      { 
  32   6      case 0x0e:   key=1;  break; 
  33   6      case 0x0d:   key=2;  break; 
  34   6      case 0x0b:   key=3;  break; 
  35   6      case 0x07:   key=10; break; 
  36   6      } 
  37   5      efficiencyKey();                                                        // 按键有效提示
  38   5      if((key>=0) && (key<10))   DealNum();       //数字键的处理 
  39   5      
  40   5      else if(key==11)      Rest();                           //复位键的处理                          
  41   5      else if(key==12)      DealDel();            //删除键的处理
  42   5      else if(key==14)      Dealpschange();       //修改密码键输入的处理
  43   5      else if(key==15)    DealENl();                          //确定键的处理                      
  44   5      else if(key==13)      Doorbell();          //门铃按键的处理
  45   5      ReleaseKey();                               //等待键释放 
  46   5      } 
  47   4      } 
  48   3      
  49   3      P1=0xff;                                                        //扫描下一行
  50   3      P1_5=0; 
  51   3      temp=P1; 
  52   3      temp=temp & 0x0f; 
  53   3      
  54   3      if (temp!=0x0f) 
C51 COMPILER V8.02   CODE                                                                  07/29/2007 22:59:01 PAGE 2   

  55   3      { 
  56   4      
  57   4      KeyDelay();                //延时去抖 
  58   4      
  59   4      if (temp!=0x0f) 
  60   4      { 
  61   5      
  62   5      temp=P1; 
  63   5      temp=temp & 0x0f; 
  64   5      
  65   5      switch(temp) 
  66   5      
  67   5      { 
  68   6      case 0x0e: key=4;  break; 
  69   6      case 0x0d: key=5;  break;
  70   6      case 0x0b: key=6;  break; 
  71   6      case 0x07: key=11; break; 
  72   6      } 
  73   5      
  74   5      efficiencyKey();                                                        // 按键有效提示
  75   5      if((key>=0) && (key<10))   DealNum();       //数字键的处理 
  76   5      
  77   5      else if(key==11)      Rest();                           //复位键的处理                          
  78   5      else if(key==12)      DealDel();            //删除键的处理
  79   5      else if(key==14)      Dealpschange();       //修改密码键输入的处理
  80   5      else if(key==15)    DealENl();                          //确定键的处理                      
  81   5      else if(key==13)      Doorbell();          //门铃按键的处理
  82   5      ReleaseKey();                               //等待键释放 
  83   5      
  84   5      } 
  85   4      } 
  86   3      
  87   3      P1=0xff; 
  88   3      P1_6=0; 
  89   3      temp=P1; 
  90   3      temp=temp & 0x0f; 
  91   3      
  92   3      if (temp!=0x0f) 
  93   3      { 
  94   4      
  95   4      KeyDelay();                //延时去抖 
  96   4      if (temp!=0x0f) 
  97   4      { 
  98   5      
  99   5      temp=P1; 
 100   5      temp=temp & 0x0f; 
 101   5      
 102   5      switch(temp) 
 103   5      { 
 104   6      case 0x0e:  key=7; break; 
 105   6      case 0x0d:  key=8; break; 
 106   6      case 0x0b:  key=9; break; 
 107   6      case 0x07:  key=12;break; 
 108   6      } 
 109   5      
 110   5      efficiencyKey();                                                        // 按键有效提示
 111   5      if((key>=0) && (key<10))   DealNum();       //数字键的处理 
 112   5      
 113   5      else if(key==11)      Rest();                           //复位键的处理                          
 114   5      else if(key==12)      DealDel();            //删除键的处理
 115   5      else if(key==14)      Dealpschange();       //修改密码键输入的处理
 116   5      else if(key==15)    DealENl();                          //确定键的处理                      
C51 COMPILER V8.02   CODE                                                                  07/29/2007 22:59:01 PAGE 3   

 117   5      else if(key==13)      Doorbell();          //门铃按键的处理
 118   5      ReleaseKey();                               //等待键释放 
 119   5      
 120   5      
 121   5      } 
 122   4      } 
 123   3      
 124   3      P1=0xff; 
 125   3      P1_7=0; 
 126   3      temp=P1; 
 127   3      temp=temp & 0x0f; 
 128   3      
 129   3      if (temp!=0x0f) 
 130   3      { 
 131   4      KeyDelay();                //延时去抖 
 132   4      if (temp!=0x0f) 
 133   4      { 
 134   5      temp=P1; 
 135   5      temp=temp & 0x0f; 
 136   5      
 137   5      switch(temp) 
 138   5      { 
 139   6      case 0x0e:  key=13;  break; 
 140   6      case 0x0d:  key=0;   break; 
 141   6      case 0x0b:  key=14;  break; 
 142   6      case 0x07:  key=15;  break; 
 143   6      } 
 144   5      
 145   5      efficiencyKey();                                                        // 按键有效提示
 146   5      if((key>=0) && (key<10))   DealNum();       //数字键的处理 
 147   5      
 148   5      else if(key==11)      Rest();                           //复位键的处理                          
 149   5      else if(key==12)      DealDel();            //删除键的处理
 150   5      else if(key==14)      Dealpschange();       //修改密码键输入的处理
 151   5      else if(key==15)    DealENl();                          //确定键的处理                      
 152   5      else if(key==13)      Doorbell();          //门铃按键的处理
 153   5      ReleaseKey();                               //等待键释放 
 154   5      
 155   5      
 156   5      } 
 157   4      }                                       // end if (temp!=0x0f)  有按键按下
 158   3      }                                       //end   if(Keyenableflag==1)
 159   2      }                                       // end while(1) 
 160   1      }                  //end  main(void)
 161          
 162          void t0(void) interrupt 1 using 0 
 163          { 
 164   1      TH0=(65536-500)/256; 
 165   1      TL0=(65536-500)%256; 
 166   1      flashcount++; 
 167   1      if(flashcount==8) 
 168   1        { 
 169   2              flashcount=0; 
 170   2              
 171   2              clr_wdt();              // 8191个机器周期内必须至少调用此程序一次
 172   2                                                      // 否则看门狗会溢出
 173   2              //P0=dispcode[getps[dispcount]]; 
 174   2              P0=dispcode[dispbuf[dispcount]]; 
 175   2              P2=dispbit[dispcount]; 
 176   2              dispcount++; 
 177   2              if(dispcount==8)  dispcount=0; 
 178   2        } 
C51 COMPILER V8.02   CODE                                                                  07/29/2007 22:59:01 PAGE 4   

 179   1      if((errorflag==1) && (rightflag==0)) 
 180   1      { 
 181   2               Keyenableflag=0;                               //按键输入无效
 182   2               bb++; 
 183   2               if(bb==800) 
 184   2                         {  bb=0;  alarmflag=~alarmflag; } 
 185   2           if(alarmflag==1)    BEEP=~BEEP;                       //sound alarm signal 
 186   2           aa++; 
 187   2               if(aa==800)//light alarm signal 
 188   2                      { aa=0;  P3_4=~P3_4;  } 
 189   2               second3++; 
 190   2               if(second3==3200) 
 191   2               { 
 192   3                      second3=0; 
 193   3                      errorflag=0; 
 194   3                      rightflag=0; 
 195   3                      alarmflag=0;
 196   3                      Keyenableflag=1;                           //报警结束按键输入有效
 197   3                      bb=0; 
 198   3                      aa=0; 
 199   3              } 
 200   2      } 
 201   1      else if((errorflag==0) && (rightflag==1)) 
 202   1      { 
 203   2              Keyenableflag=0;                               //按键输入无效
 204   2              cc++; 
 205   2              if(cc==800) 
 206   2              {  cc=0;   alarmflag=~alarmflag; } 
 207   2              if(alarmflag==1)     BEEP=~BEEP;        //sound alarm signal 
 208   2              dd++; 
 209   2              if(dd==800)//light alarm signal 
 210   2                       {  dd=0;  P3_3=~P3_3; } 
 211   2              second3++; 
 212   2              if(second3==12800) 
 213   2              { 
 214   3                      second3=0; 
 215   3                      errorflag=0; 
 216   3                      rightflag=0; 
 217   3                      alarmflag=0; 
 218   3                      Keyenableflag=1;                           //报警结束按键输入有效
 219   3                      cc=0; 
 220   3                      dd=0; 
 221   3              } 
 222   2              Rest();
 223   2      } 
 224   1      
 225   1      }
 226          
 227          void time1(void)  interrupt 3 using 1  //产生10MS精确定时
 228          {  TH1=(65536-10000)/256;
 229   1         TL1=(65536-10000)%256;
 230   1         n--;
 231   1      }
 232          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1969    ----
   CONSTANT SIZE    =    219    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     56       5
C51 COMPILER V8.02   CODE                                                                  07/29/2007 22:59:01 PAGE 5   

   IDATA SIZE       =   ----    ----
   BIT SIZE         =     10       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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