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

📄 function tester.lst

📁 此程序为本人在公司开发的继电器功能测试仪
💻 LST
📖 第 1 页 / 共 3 页
字号:
 161   5                                              }
 162   4                                      }
 163   3                                      if(MK_Slow_Test_OK)
 164   3                                      {
 165   4                                              MK_Slow_Test();
 166   4                                              MK_Slow_Test_OK=0;
 167   4                                      }
 168   3                                      if(Test_Screen_OK)
 169   3                                      {
 170   4                                              Test_Screen();
 171   4                                              Test_Screen_OK=0;
 172   4                                      }
 173   3                                      if(Connect_ok_ask)
 174   3                                      {
 175   4                                              Send_Pro(ASK_Value,2);
 176   4                                              Connect_ok_ask=0;
 177   4                                      }
 178   3                              }
 179   2                      }
C51 COMPILER V7.06   FUNCTION_TESTER                                                       08/06/2007 17:38:09 PAGE 4   

 180   1              
 181   1              }
 182                  void IntToByte(unsigned int Val)
 183                  {
 184   1                      unsigned char Temp[2]={0};
 185   1                      Temp[0]=Val/256;
 186   1                      Temp[1]=Val%256;
 187   1                      Send_Pro(Temp,2);
 188   1              }
 189          
 190                  void Send_Pro(unsigned char *e,unsigned char NUM)
 191                  {
 192   1                      unsigned char k_1;
 193   1                      ES=0;
 194   1                      for(k_1=0;k_1<NUM;k_1++)
 195   1                      {
 196   2                              SBUF=e[k_1];
 197   2                              while(!TI);
 198   2                              TI=0;
 199   2                      }
 200   1                      ES=1;
 201   1              }
 202                  void Num_Convert_1(unsigned int Val,unsigned char Num)
 203              {
 204   1                      unsigned char Temp_Val[4]={0};
 205   1                      unsigned char i_1;
 206   1                      unsigned int y_1=1;     
 207   1                      for(i_1=0;i_1<Num-1;i_1++)
 208   1                      {
 209   2                              y_1*=10;
 210   2                      }
 211   1                      for(i_1=0;i_1<Num;i_1++)
 212   1                      {
 213   2                              Temp_Val[i_1]=Val/y_1;
 214   2                              Val%=y_1;
 215   2                              y_1/=10;
 216   2                      }
 217   1                      //Send_Pro(Temp_Val,Num);
 218   1                      for(i_1=0;i_1<8;i_1++) Delay_1(250);
 219   1                      //Delay_1(250);
 220   1                      //Delay_1(250);
 221   1                      WRITEDATAARRAY(Num,0xA0,Unit_Addr_H,Unit_Addr_L,Temp_Val);
 222   1                      Unit_Addr_H=0;
 223   1                      Unit_Addr_L+=Num;
 224   1                      /*for(i_1=0;i_1<Num;i_1++)
 225   1                      {
 226   1                              WRITEBYTE(0xA0,Unit_Addr_H,Unit_Addr_L,Temp_Val[i_1]);
 227   1                              Unit_Addr_L++;
 228   1                      }*/
 229   1              }
 230          
 231                  void Handle_Pro(void)
 232                  {
 233   1                      unsigned int xdata Re_Set_Data[22]={0};
 234   1                      unsigned char a=0,b=0;//Conv_Data[86];
 235   1                      for(b=0;b<22;b++)
 236   1                      {
 237   2                              a=b*2+1;
 238   2                              Re_Set_Data[b]=Receive_Data[a]*256+Receive_Data[a+1];
 239   2                      }
 240   1                      //a=Unit_Addr_H;
 241   1                      //b=Unit_Addr_L;
C51 COMPILER V7.06   FUNCTION_TESTER                                                       08/06/2007 17:38:09 PAGE 5   

 242   1                      //for(b=0;b<22;b++) IntToByte(Re_Set_Data[b]);
 243   1                      
 244   1                      Unit_Addr_H=0;
 245   1                      Unit_Addr_L=0;
 246   1                      for(b=0;b<14;b++)
 247   1                      {
 248   2                              Num_Convert_1(Re_Set_Data[b],4);
 249   2                      }
 250   1                      for(b=14;b<22;b++)
 251   1                      {
 252   2                              Num_Convert_1(Re_Set_Data[b],3);
 253   2                      }
 254   1                      Num_Convert_1(Receive_Data[45],2);
 255   1                      Num_Convert_1(Receive_Data[46],3);
 256   1                      Num_Convert_1(Receive_Data[47],1);
 257   1                      //Unit_Addr_H=a;
 258   1                      //Unit_Addr_L=b;
 259   1                      IO_C&=0xFB;
 260   1                      for(b=0;b<250;b++) Delay_1(250);
 261   1                      Screen_Read(Page_Val);
 262   1                      for(b=0;b<250;b++) Delay_1(250);
 263   1                      for(b=0;b<250;b++) Delay_1(250);
 264   1                      for(b=0;b<250;b++) Delay_1(250);
 265   1                      //for(b=0;b<250;b++) Delay_1(250);
 266   1                      IO_C|=0x04;
 267   1              }
 268                  void MK_Slow_Test(void)
 269                  {
 270   1                      IO_B=0xFF;
 271   1                      DA_Convert(0);
 272   1                      SetK_Flag=0;
 273   1                      LCD_Clear();
 274   1                      Page_Val=0;             
 275   1                      Screen_Setting(Page_Val);
 276   1                      Screen_Read(Page_Val);
 277   1              }
 278                  void Test_Screen(void)
 279                  {
 280   1                      SetK_Flag=1;
 281   1                      IO_B=0xFF;
 282   1                      DA_Convert(0);
 283   1                      Num_Now=1;
 284   1                      //Page_Val=6;   
 285   1                      LCD_Clear();
 286   1                      Screen_Setting(Page_Val);
 287   1                      Screen_Read(Page_Val);
 288   1      
 289   1              }
 290                  
 291          
 292                  void Series_Pro(void) interrupt 4 using 1
 293                  {
 294   1                      
 295   1                      
 296   1                      if(RI)
 297   1                      {
 298   2                              RI=0;
 299   2                              Receive_Data[Receive_Len]=SBUF;
 300   2                              //if(Receive_Len==0)
 301   2                              switch(Receive_Data[0])
 302   2                              {
 303   3                                      case 0xEE://receive data
C51 COMPILER V7.06   FUNCTION_TESTER                                                       08/06/2007 17:38:09 PAGE 6   

 304   3                                      {
 305   4                                              //IntToByte(Receive_Data[Receive_Len]);
 306   4                                              Receive_Len++;
 307   4                                              if(Receive_Len==48)
 308   4                                              {
 309   5                                                      //Handle_Pro(Receive_Data);
 310   5                                                      Receive_OK=1;
 311   5                                                      Receive_Len=0;
 312   5                                              }
 313   4                                      } break;
 314   3                                      case 0xFF://receive command
 315   3                                      {
 316   4                                              Receive_Len++;
 317   4                                              //Connect_ok=1;
 318   4                                              switch(Receive_Data[1])
 319   4                                              {
 320   5                                                      case 0x01://test
 321   5                                                      {
 322   6                                                              //Key_Test();
 323   6                                                              Test_Flag=1;
 324   6                                                              Receive_Len=0;
 325   6                                                              Receive_Data[0]=0;
 326   6                                                              Receive_Data[1]=0;
 327   6                                                      } break;

⌨️ 快捷键说明

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