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

📄 main.lst

📁 无线红外传感报警系统
💻 LST
📖 第 1 页 / 共 2 页
字号:
 182   4                    Sound[0]=29;Sound[1]=0xff;               //copy the first input data
 183   4                                SoundEn=1;
 184   4                                InputLen=3;
 185   4                                InputEn=1;
 186   4                                SecondInPut=1;
 187   4                                break;         
 188   4              case 4:   //2
 189   4                     //m=get_temp();
 190   4                         m=get_temp();
 191   4                         j=0;
 192   4                     Sound[j++]=36;   //current temperature
 193   4                         Sound[j++]=m/100;
 194   4                         Sound[j++]=11;
 195   4                         Sound[j++]=(m-Sound[1]*100)/10;    
 196   4                         n=(m-Sound[1]*100-Sound[j-1]*10)/1;
 197   4                         if(Sound[j-1]==0) j-=1;
 198   4                         if(n>9 || n==0) n=10;
 199   4                         Sound[j++]=22;
 200   4                         Sound[j++]=n;
 201   4                         //if(Sound[j-1]==0) Sound[j-1]=10;
 202   4                         Sound[j++]=21;
 203   4                         Sound[j++]=34;
 204   4                         Sound[j]=0xff;  //temperature
 205   4                         SoundEn=1;
 206   4                         InputLen=1;
 207   4                         InputEn=1;
 208   4                              break;
 209   4      
 210   4               case 10:  //5 chPSW
 211   4                         Sound[0]=29;Sound[1]=0xff;  //请输入
 212   4                         SoundEn=1;
 213   4                         InputLen=6;
 214   4                         InputEn=1;
 215   4                         break;
 216   4               case 20:   // chanle control
 217   4                         ChanleCTL(InputBuff[0],InputBuff[1]);
 218   4                         InputLen=2;
 219   4                         InputEn=1;
 220   4                         break;
 221   4               case 3: //#
 222   4               case  21: //ask for  input
 223   4                       Sound[0]=38;Sound[1]=1;Sound[2]=41;Sound[3]=2;
 224   4               Sound[4]=39;Sound[5]=3;Sound[6]=40;Sound[7]=4;Sound[8]=37;
 225   4                       Sound[9]=5;Sound[10]=0xff;SecondInPut=0;
 226   4                       SoundEn=1;InputEn=1;GetPSW=1;InputLen=1;break;
 227   4               case  22://psw compare
 228   4                              if(SecondInPut==1)
 229   4                                {
 230   5                                        for(j=0;j<6;j++) 
 231   5                                           if(InputBuff[j]!=InputBuff2[j]) 
 232   5                                                      {Sound[0]=44;Sound[1]=0xff;
 233   6                                                       SoundEn=1;
 234   6                                                       InputLen=6;
 235   6                                                       InputEn=1;
 236   6                                                       SecondInPut=0;
 237   6                                                       break;
 238   6                                                  }
 239   5                                        if(j!=6) break;
 240   5                                        InputBuff[j++]=0xff;
 241   5                                        RW24XX(InputBuff,j,0x00,0xa0);
C51 COMPILER V7.06   MAIN                                                                  06/10/2005 23:25:34 PAGE 5   

 242   5                                        InputLen=1;
 243   5                                        Sound[0]=43;Sound[1]=34;Sound[2]=0xff;
 244   5                                        SoundEn=1;
 245   5                                        InputEn=1;
 246   5                                        SecondInPut=0;
 247   5                                        break;        
 248   5                                }
 249   4                              else {for(j=0;j<6;j++) InputBuff2[j]=InputBuff[j];
 250   5                            Sound[0]=29;Sound[1]=0xff;
 251   5                                        SoundEn=1;
 252   5                                        InputLen=6;
 253   5                                        InputEn=1;
 254   5                                        SecondInPut=1;
 255   5                                        break;}
 256   4                default:
 257   4                        case 23:  //input error
 258   4                                      Sound[0]=44;Sound[1]=0xff;
 259   4                              SoundEn=1;InputEn=1;
 260   4                                      break;           
 261   4               }
 262   3              j=0;
 263   3              Funtion=0;
 264   3        }
 265   2       if(InputDone==1)
 266   2          {
 267   3                if(Compare()==1)  //比较
 268   3                      {Sound[0]=14;Sound[1]=38;Sound[2]=1;Sound[3]=41;Sound[4]=2;
 269   4               Sound[5]=39;Sound[6]=3;Sound[7]=40;Sound[8]=4;Sound[9]=37;
 270   4                       Sound[10]=5;Sound[11]=0xff;
 271   4                       SoundEn=1;InputEn=1;GetPSW=1;InputLen=1;
 272   4                       }
 273   3                  else
 274   3                        {
 275   4                        Sound[0]=44;Sound[1]=0xff;
 276   4                        SoundEn=1;InputEn=1; 
 277   4                        }
 278   3                InputDone=0;
 279   3              }
 280   2       }
 281   1      }
 282          //-----------------psw compare-----------------------
 283          bit Compare(void)
 284          {uchar i=0;
 285   1       RW24XX(InputBuff2,7,0x00,0xa1);
 286   1        for(i=0;i<6;i++)
 287   1         {
 288   2         if(InputBuff2[i]!=InputBuff[i]) return 0;
 289   2         }
 290   1         if(InputBuff[i]==0xff)return 1;
 291   1         return 0;
 292   1      }
 293          //-------------------------------------------------------通道选择
 294          
 295          
 296          
 297          void ChanleCTL(uchar Value,uchar Status) 
 298          {
 299   1      
 300   1      bit data flag;
 301   1      
 302   1      switch(Value)
 303   1       {case 8://zc1=0;
C51 COMPILER V7.06   MAIN                                                                  06/10/2005 23:25:34 PAGE 6   

 304   2          if(Status==13) {if(zc1!=1){CH1=0;delay10ms(200);CH1=1;Sound[3]=17;zc1=1; }else {Sound[3]=17;}}//if(zc1
             -==1){if(Status==13){CH1=0;delay10ms(500);CH1=1;Sound[3]=17; zc1=0;}}//if(Status==13) {if(zc1==0){CH1=0;delay10ms(500);CH
             -1=1;Sound[3]=17; }else { zc1=1; Sound[3]=17;}}//{if(zc1=1)  { CH1=0;delay10ms(10);CH1=1;Sound[3]=17;}else{ zc1=0; Sound[
             -3]=17;}}
 305   2          if(Status==3 ) {if(zc1!=0){CH1=0;delay10ms(200);CH1=1;Sound[3]=18;zc1=0;}else {Sound[3]=18;}}//if(zc1=
             -=0){if(Status==3 ) {CH1=0;delay10ms(500);CH1=1;Sound[3]=18;zc1=1;}}//if(Status==3 ) {if(zc1==1){CH1=0;delay10ms(500);CH1
             -=1;Sound[3]=18;}else {zc1=0;Sound[3]=18;}}//{if(zc1=0)   {CH1=0;delay10ms(10);CH1=1;Sound[3]=18;}else {zc1=1;Sound[3]=18
             -;}}
 306   2              Sound[1]=1;
 307   2              flag=1;
 308   2              break;
 309   2        case 4:
 310   2         if(Status==13) {CH2=0;Sound[3]=17;}
 311   2         if(Status==3)  {CH2=1;Sound[3]=18;}
 312   2         Sound[1]=2;
 313   2         flag=1;
 314   2         break;
 315   2        case 12:
 316   2         if(Status==13){CH3=0;Sound[3]=17;}
 317   2         if(Status==3) {CH3=1; Sound[3]=18;}
 318   2         Sound[1]=3;
 319   2         flag=1;
 320   2         break;
 321   2        case 2:    
 322   2         if(Status==13){CH4=0;Sound[3]=17;}
 323   2         if(Status==3){CH4=1;Sound[3]=18;}
 324   2         Sound[1]=4;
 325   2         flag=1;
 326   2         break;
 327   2       }
 328   1       if(flag!=0){flag=0;Sound[0]=20;Sound[2]=19; Sound[4]=0xff;SoundEn=1;return;}
 329   1          else 
 330   1         Sound[0]=45;
 331   1         Sound[1]=0xff;
 332   1         SoundEn=1;
 333   1         return;
 334   1      }
 335          uchar loopdata(uchar dd)
 336          {uchar i,mask=8,result=0,temp[4]={0x01,0x02,0x04,0x08};
 337   1       for(i=0;i<4;i++)
 338   1        {if(dd & mask)result+=temp[i];
 339   2         mask>>=1;
 340   2        }
 341   1       return result;
 342   1      }
 343          void delay10ms(uchar tim)
 344          {
 345   1       unsigned int i,j,k;
 346   1      for(i=0;i<tim;i++);
 347   1      for(j=0;j<20000;j++);
 348   1      for(k=0;k<20000;k++);
 349   1      }
 350          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1679    ----
   CONSTANT SIZE    =      4    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     54      14
   IDATA SIZE       =   ----    ----
C51 COMPILER V7.06   MAIN                                                                  06/10/2005 23:25:34 PAGE 7   

   BIT SIZE         =      9       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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