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

📄 main.lst

📁 无线红外传感报警系统
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   MAIN                                                                  06/10/2005 23:25:34 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN Main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Main.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include "Head.h"
   2           uchar Alarm,PhoneNO[13];//,tempoverflow;//声音、警报、电话号码、
   3           uchar Sound[11]={15,29,27,0xff,0,0,0,0,0,0xff};
   4           uchar InputBuff[13],InputLen=6,Funtion,InputBuff2[13],Inputcounter;
   5           bit data SoundEn=0,InputDone=0,InputErr=0,InputEn=0;
   6           bit data GetPSW=0,SecondInPut=0,AlarmHappen,Button;//zc1;//HANG=0,
   7           extern int temp_1820,Button_02;
   8          
   9          void delay10ms(uchar tim);
  10           void main()
  11          { 
  12   1        
  13   1        uchar temp[2];
  14   1        IniSerial();
  15   1        initial_8880();
  16   1        MainInitial();
  17   1        
  18   1       //zc1=0;//补上的可以删
  19   1        while(1)
  20   1       {  uint m; uchar n;
  21   2       if(Alarm)         //报警
  22   2              {       RW24XX(InputBuff2,12,0x10,0xa1);  //read phone number
  23   3                      if(HANDUP==0)  
  24   3                        {m=0;
  25   4                         HANDUP=1;   //挂机
  26   4                         while(m<60000)m++;
  27   4                        }   
  28   3               LED0=0;
  29   3                  m=0;
  30   3                      HANDUP=0;  //摘机
  31   3                      while(m<60000)m++;
  32   3                      m=0;
  33   3                      while(SendDTMF(InputBuff2)!=1);
  34   3                      timer0=1;   //delay begin
  35   3              GetPSW=1;   //pass
  36   3                      InputEn=1;  //enable input
  37   3                      InputLen=1;
  38   3      
  39   3                      if(Alarm<5){Sound[0]=16;Sound[1]=16;Sound[2]=20;Sound[3]=Alarm;
  40   4                      Sound[4]=31;Sound[5]=0xff;}
  41   3                  if(Alarm==5) {Sound[0]=16;Sound[1]=16;Sound[2]=42; Sound[3]=0xff;}
  42   3                      Alarm=0; 
  43   3                      AlarmHappen=1;
  44   3          }
  45   2       if(temp_1820>250)    //250检测报警温度的时间间隔
  46   2                {
  47   3                temp_1820=1;
  48   3                m=get_temp();   //get temperature
  49   3            RW24XX(temp,2,0x20,0xa1); //read temperature
  50   3                if(m>(temp[0]*100+temp[1]*10)) 
  51   3                      {LED0=0; 
  52   4                      Alarm=5;
  53   4               temp_1820=0; 
  54   4                       }                         // tempoverflow++;
  55   3                        else LED0=1;                             //  else tempoverflow=0;
C51 COMPILER V7.06   MAIN                                                                  06/10/2005 23:25:34 PAGE 2   

  56   3                                                       // if(tempoverflow>2)Alarm=1;
  57   3                }
  58   2        /*if(Button_02>600)
  59   2          {    if(Button2==0)       //有按键2?
  60   2              {  Button=LINE;                                            
  61   2                    LINE =!Button; //if(LINE==0)LINE=1;
  62   2                      }                    //   else LINE=0;          
  63   2                                                              
  64   2              }  */
  65   2        if(SoundEn==1)    //sound
  66   2                 { musicstate=0;
  67   3                   SoundEn=0;
  68   3                       InputEn=1;
  69   3                   while(music(Sound)!=1);
  70   3               
  71   3                 }
  72   2       if(InputErr==1)   // pass word input error
  73   2          {InputErr=0;
  74   3               Inputcounter++;
  75   3               if(Inputcounter>3) {timer0=10000;Inputcounter=0;} // over 3 times then handup
  76   3               Sound[0]=44;Sound[1]=0xff;
  77   3               SoundEn=1;InputEn=1;InputLen=6;
  78   3              }
  79   2       if(Funtion)
  80   2         {uchar j=0;
  81   3         switch(Funtion)
  82   3           {
  83   4               case 8:SoundEn=1;  //1 chanle control
  84   4                              Sound[j++]=35;
  85   4                              Sound[j++]=45;
  86   4                              Sound[j++]=34;
  87   4                              Sound[j]=0xff;
  88   4                              InputLen=2;
  89   4                              InputEn=1;
  90   4                              j=0;
  91   4                              if(zc1) Sound[j++]=1;
  92   4                          if(CH2==0) Sound[j++]=2;
  93   4                              if(CH3==0) Sound[j++]=3;
  94   4                              if(CH4==0) Sound[j++]=4;
  95   4                              if(j==0) break;
  96   4                              Sound[j++]=19;
  97   4                              Sound[j++]=17;
  98   4                              Sound[j++]=45;
  99   4                              Sound[j]=0xff;
 100   4                              break;
 101   4               case 2: //4  change phone number//
 102   4                         Sound[0]=29;Sound[1]=0xff;  //请输入
 103   4                         SoundEn=1;
 104   4                         InputLen=11;
 105   4                         InputEn=1;
 106   4                         break;
 107   4           case 24:  //get phone number
 108   4                        if(SecondInPut==1)
 109   4                              {  for(j=0;j<13;j++) 
 110   5                                   {if(InputBuff2[j]==3)break;
 111   6                                            if(InputBuff[j]!=InputBuff2[j]) 
 112   6                                                      {Sound[0]=44;Sound[1]=0xff;
 113   7                                                       SoundEn=1;
 114   7                                                       InputEn=1;
 115   7                                                       SecondInPut=0;  //input error.
 116   7                                                       j=0xff;
 117   7                                                       break;
C51 COMPILER V7.06   MAIN                                                                  06/10/2005 23:25:34 PAGE 3   

 118   7                                                      }
 119   6                                        }
 120   5                                              if(j==0xff || InputBuff[j]!=InputBuff2[j]) 
 121   5                                               {Sound[0]=44;Sound[1]=0xff;
 122   6                                                SoundEn=1;
 123   6                                                InputEn=1;
 124   6                                                SecondInPut=0;
 125   6                                                break;   //input error.
 126   6                                               }
 127   5                                        InputBuff[j++]=0xff;  //input ok!!    
 128   5                                        RW24XX(InputBuff,j,0x10,0xa0);          
 129   5                                        Sound[0]=30;Sound[1]=0xff;
 130   5                                        SoundEn=1;
 131   5                                        InputEn=1;
 132   5                                        InputLen=1;
 133   5                                        SecondInPut=0;
 134   5                                        break;        
 135   5                          }
 136   4                         else   //first time input 
 137   4                         for(j=0;j<13;j++){ InputBuff2[j]=InputBuff[j];if(InputBuff[j]==3)break;}
 138   4                    Sound[0]=29;Sound[1]=0xff;
 139   4                                SoundEn=1;
 140   4                                InputLen=11;
 141   4                                InputEn=1;
 142   4                                SecondInPut=1;
 143   4                                break;
 144   4               case 12:  //3
 145   4                         Sound[0]=29;Sound[1]=0xff;  //请输入  tempreture
 146   4                         SoundEn=1;
 147   4                         InputLen=3;
 148   4                         InputEn=1;
 149   4                         break;
 150   4               case 26://temprture
 151   4                        if(SecondInPut==1)
 152   4                              {  /*for(j=0;j<4;j++) 
 153   5                                   {if(InputBuff2[j]==3)break;
 154   5                                            if(InputBuff[j]!=InputBuff2[j]) 
 155   5                                                      {Sound[0]=44;Sound[1]=0xff;
 156   5                                                       SoundEn=1;
 157   5                                                       InputLen=3;
 158   5                                                       InputEn=1;
 159   5                                                       SecondInPut=0;
 160   5                                                       j=0xff;
 161   5                                                       break;    //error
 162   5                                                      }
 163   5                                        }
 164   5                                      if(j==0xff || InputBuff[j]!=InputBuff2[j]) break;   //ok?*/
 165   5                              //        InputBuff[j++]=0xff;
 166   5                              //        InputBuff[0]=loopdata(InputBuff[0]);
 167   5                                        InputBuff[1]=loopdata(InputBuff[1]); 
 168   5      //      InputBuff[0]=0x00;
 169   5      //      InputBuff[1]=0x01;              
 170   5      
 171   5        RW24XX(InputBuff,2,0x20,0xa0);          //写入温度
 172   5                                        Sound[0]=30;Sound[1]=34;Sound[2]=0xff;
 173   5                                        SoundEn=1;
 174   5                                        InputEn=1;
 175   5                                        InputLen=1;
 176   5                                        SecondInPut=0;
 177   5                                        temp_1820=1;  //timer begin
 178   5                                        break;        
 179   5                          }
C51 COMPILER V7.06   MAIN                                                                  06/10/2005 23:25:34 PAGE 4   

 180   4                         else
 181   4                         for(j=0;j<4;j++){ InputBuff2[j]=InputBuff[j];if(InputBuff[j]==3)break;}

⌨️ 快捷键说明

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