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

📄 key.lst

📁 课程设计做得一个基于51单片机的声光报警电路
💻 LST
字号:
C51 COMPILER V8.02   KEY                                                                   06/03/2008 22:12:57 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE key.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include"reg52.h"
   2          #include"def.h"
   3          #include"lcd.h"
   4          #include"key.h"
   5          #include"ls_164.h"
   6          #include"adc_test.h"
   7          
   8          sbit button_1 = P3^0;     // 多芯电缆测试选择
   9          sbit button_2 = P3^1;     // 绝缘电阻测试
  10          sbit button_3 = P3^2;     // 重新测试和确定设置完成
  11          sbit button_4 = P3^3;     // 重新进行功能选择
  12          
  13          uchar count = 2;
  14          uchar date1 = 0;
  15          uchar hang = 2;
  16          uchar lie  = 0;
  17          uchar i;
  18          uchar value;
  19          uchar error[8];  
  20          
  21          void fun_sel(void)     // 功能选择函数
  22          {
  23   1              while(1)
  24   1              {       
  25   2                      if(button_1 == 0)
  26   2                      {
  27   3                              delay(40);
  28   3                              if(button_1 == 0)
  29   3                              {               
  30   4                                      lcd_init();
  31   4                                      cleartext();
  32   4                                      putstr(1,2,"芯数:");
  33   4                                      dis_num(1,5,2);
  34   4                                      delay(100);
  35   4                                      date1 = line_set(2);
  36   4                                      line_test();
  37   4                                      delay(100);
  38   4                                      cleartext();
  39   4                                      putstr(1,0,"一、多芯电缆测试");
  40   4                                      putstr(2,0,"二、绝缘电阻测试");
  41   4      
  42   4                              }
  43   3                      }
  44   2      
  45   2                      if(button_2 == 0)
  46   2                      {
  47   3                              delay(40);
  48   3                              if(button_2 == 0)
  49   3                              {
  50   4                                      res_test();
  51   4                                      while(1)
  52   4                                      {
  53   5                                              if(button_3 == 0)
  54   5                                              {
  55   6                                                      delay(40);
C51 COMPILER V8.02   KEY                                                                   06/03/2008 22:12:57 PAGE 2   

  56   6                                                      if(button_3 == 0)
  57   6                                                      {
  58   7                                                              res_test();
  59   7                                                      }                  
  60   6                                              }
  61   5                                              if(button_4 == 0)
  62   5                                              {
  63   6                                                      delay(200);
  64   6                                                      if(button_4 == 0)
  65   6                                                      {
  66   7                                                              cleartext();
  67   7                                                              putstr(1,0,"一、多芯电缆测试");
  68   7                                                              putstr(2,0,"二、绝缘电阻测试");
  69   7                                                              break;
  70   7                                                      }
  71   6                                              }
  72   5                                      }
  73   4      
  74   4                              }
  75   3                      }                       
  76   2              }
  77   1      }
  78          
  79          
  80          uchar line_set(uchar num1)
  81          {       
  82   1              uchar number;
  83   1              number = num1;  
  84   1              while(1)
  85   1              {
  86   2                      if(button_1 == 0)
  87   2                      {
  88   3                              delay(40);
  89   3                              if(button_1 == 0)
  90   3                              {
  91   4                                      num1++;
  92   4                                      if(num1>8)
  93   4                                      num1 = 8;
  94   4                                      number = num1;
  95   4                                      dis_num(1,5,num1);
  96   4                              }
  97   3                      }
  98   2                      if(button_2 == 0)
  99   2                      {
 100   3                              delay(40);
 101   3                              if(button_2 == 0)
 102   3                              {
 103   4                                      num1--;
 104   4                                      if(num1<2)
 105   4                                      num1 = 2;
 106   4                                      number = num1;
 107   4                                      dis_num(1,5,num1);
 108   4                              }
 109   3                      }
 110   2                      if(button_3 == 0)
 111   2                      {
 112   3                              delay(40);
 113   3                              if(button_3 == 0)
 114   3                              return number;
 115   3                      //      break;
 116   3                      }       
 117   2              }
C51 COMPILER V8.02   KEY                                                                   06/03/2008 22:12:57 PAGE 3   

 118   1      }
 119          
 120          void test_rep(void)
 121          {
 122   1              while(1)
 123   1              {
 124   2                      if(button_3 == 0)
 125   2                      {
 126   3                              delay(40);
 127   3                              if(button_3 == 0)
 128   3                              {          
 129   4                                              cleartext();
 130   4                                              putstr(1,2,"测试中....");
 131   4                                              delay(100);                                     //延时一段时间,从新开始测试
 132   4                                              for(i=0;i<8;i++)
 133   4                                              {
 134   5                                                      error[i] = 0;
 135   5                                              }
 136   4                                              test_164(error,date1); 
 137   4                                              cleartext();
 138   4                                              putstr(1,0,"断开的电缆为:");
 139   4                                              delay(10);
 140   4                                              for(i=1;i<9;i++)                        //显示错误的线,没有的话显示成功
 141   4                                              {
 142   5                                                      if(error[i-1] == 1)
 143   5                                                      {
 144   6                                                              dis_num(2,lie,i);
 145   6                                                              lie++;
 146   6                                                      }
 147   5                                              }
 148   4                                              if(lie == 0)
 149   4                                              putstr(1,0,"经测试全部正常!");
 150   4                                              lie = 0;
 151   4                              }
 152   3                      }
 153   2                      if(button_4 == 0)
 154   2                      {
 155   3                              delay(200);
 156   3                              if(button_4 == 0)
 157   3                              break;
 158   3                              
 159   3                      }       
 160   2              }
 161   1      
 162   1      }
 163          
 164          
 165          void re_set(void)
 166          {
 167   1              while(1)
 168   1              {
 169   2                      if(button_4 == 0)
 170   2                      {
 171   3                              delay(40);
 172   3                              if(button_4 == 0)
 173   3                              break;
 174   3                      }
 175   2              }       
 176   1      }
 177          
 178          
 179          void dis_num(uchar row,uchar col,uchar num)
C51 COMPILER V8.02   KEY                                                                   06/03/2008 22:12:57 PAGE 4   

 180          {
 181   1              uchar dat;
 182   1              switch(num)
 183   1              {
 184   2                      case 0:
 185   2                              dat = '0';
 186   2                              hanzi(row,col,&dat);
 187   2                              break;
 188   2                      case 1:
 189   2                              dat = '1';              
 190   2                              hanzi(row,col,&dat);
 191   2                              break;
 192   2                      case 2:
 193   2                              dat = '2';
 194   2                              hanzi(row,col,&dat);
 195   2                              break;
 196   2                      case 3:
 197   2                              dat = '3';
 198   2                              hanzi(row,col,&dat);
 199   2                              break;
 200   2                      case 4:
 201   2                              dat = '4';
 202   2                              hanzi(row,col,&dat);
 203   2                              break;
 204   2                      case 5:
 205   2                              dat = '5';
 206   2                              hanzi(row,col,&dat);
 207   2                              break;
 208   2                      case 6:
 209   2                              dat = '6';
 210   2                              hanzi(row,col,&dat);
 211   2                              break;
 212   2                      case 7:
 213   2                              dat = '7';
 214   2                              hanzi(row,col,&dat);
 215   2                              break;
 216   2                      case 8:
 217   2                              dat = '8';
 218   2                              hanzi(row,col,&dat);
 219   2                              break;
 220   2                      case 9:
 221   2                              dat = '9';
 222   2                              hanzi(row,col,&dat);
 223   2                              break;
 224   2                      default:
 225   2                              break;
 226   2              }
 227   1      }
 228          
 229          void line_test()
 230          {
 231   1      
 232   1              cleartext();
 233   1              putstr(1,2,"测试中....");       
 234   1              init_164();             
 235   1              for(i=0;i<8;i++)                
 236   1              {
 237   2                      error[i] = 0;
 238   2              }
 239   1              test_164(error,date1);          
 240   1              cleartext();            
 241   1              putstr(1,0,"断开的电缆为:");
C51 COMPILER V8.02   KEY                                                                   06/03/2008 22:12:57 PAGE 5   

 242   1              delay(10);              
 243   1              for(i=1;i<9;i++)                        //显示错误的线,没有的话显示成功                
 244   1              {               
 245   2                      if(error[i-1] == 1)             
 246   2                      {
 247   3                              dis_num(2,lie,i);
 248   3                              lie++;
 249   3                      }
 250   2              }
 251   1              if(lie == 0)
 252   1              putstr(1,0,"经测试全部正常!");
 253   1              lie = 0;
 254   1              test_rep();             
 255   1              
 256   1      }
 257          
 258          void res_test()
 259          {
 260   1              cleartext();
 261   1              putstr(1,2,"测试中....");
 262   1              delay(400);
 263   1              value = ad_cover();
 264   1              cleartext();
 265   1              clearbmp();
 266   1              put_5_7(1,4,value);     
 267   1              putstr(1,1,"阻值:"); 
 268   1              delay(100);             
 269   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    727    ----
   CONSTANT SIZE    =     91    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14       5
   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 + -