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

📄 rf315_attand.lst

📁 c8051f020实现4个 产UART 口
💻 LST
字号:
C51 COMPILER V7.50   RF315_ATTAND                                                          06/10/2007 23:11:22 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE RF315_ATTAND
OBJECT MODULE PLACED IN .\out\RF315_ATTAND.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE RF315_ATTAND.C LARGE OPTIMIZE(SIZE) REGFILE(.\out\mbtest.ORC) BROWSE INCDIR
                    -(C:\Keil\C51\LIB\;D:\TEST_C020\MC_55_C\) DEBUG OBJECTEXTEND OBJECT(.\out\RF315_ATTAND.obj)

line level    source

   1          #include "all.h"
   2          
   3          bit   Is_DiZh_Rx_Buff_Ok() ;
   4          
   5          uchar Spk_At89341_cnt;
   6          
   7          /**********************************************************************
   8          **函数原型:   void YU_YIN (void)
   9          **入口参数:   Xin_485_b=1
  10          **出口参数:   无
  11          **返 回 值:   无
  12          **说    明:  语音任务。
  13          ************************************************************************/
  14          
  15                                                                    
  16          uint Mobile_Sigal_Cnt=0;     //手机信号定时查询计数器         
  17          uchar  RF315_addr=0xff;      // 不等于0xff:  正在放音
  18          void    RF315_YIN (void) _task_ RF315 {
  19   1              
  20   1              uchar Tem_lei ;
  21   1                      //os_wait2(K_SIG, 0);
  22   1                       
  23   1              while (1) {
  24   2                              os_wait2(K_TMO, 1); 
  25   2                             Dog_RF315_cnt=0; //看门狗计数器
  26   2      
  27   2                              if( XinRf315_B)   {
  28   3                                        //  RF_Address24_Xin.Address=(uint)((XinRf315_Value[1]>>8)&0xffff);  
  29   3                                         // RF_Address24_Xin.Lei=(uchar)((XinRf315_Value[1])&0xff);  
  30   3      
  31   3                                    XinJingLei_Byte=0; 
  32   3                                        if( Is_DiZh_Rx_Buff_Ok()==1&&DiZh_Rx_Buff[0]==8)   {  
  33   4                                                      RF_Address24_Xin.Lei=DiZh_Rx_Buff[2];
  34   4                                                 switch(RF_Address24_Xin.Lei)   {
  35   5                                                                   case YAO_CE:
  36   5                                                                           CeFang_Once();
  37   5                                                                           break;
  38   5                                                                          case YAO_BU:
  39   5                                                                         BuFang_Once();
  40   5                                                                           break;
  41   5                                                                          case YAO_ZAI:
  42   5                                                                          ZaiJia_BuFang_Once();
  43   5                                                                           break;
  44   5                                                                         //case YAO_tan_HU:
  45   5                                                                          case YAO_HU:
  46   5                                                                                 XinJingLei_Byte=5; 
  47   5                                                                           break;
  48   5                                                                                 case YAO_1:
  49   5                                                                                  XinJingLei_Byte=1; 
  50   5                                                                           break;
  51   5                                                                                 case YAO_2:
  52   5                                                                                  XinJingLei_Byte=2; 
  53   5                                                                           break;
  54   5                                                                                 case YAO_3:
C51 COMPILER V7.50   RF315_ATTAND                                                          06/10/2007 23:11:22 PAGE 2   

  55   5                                                                                 XinJingLei_Byte=3; 
  56   5                                                                           break;
  57   5                                                                                 case YAO_4:
  58   5                                                                                 XinJingLei_Byte=4; 
  59   5                                                                           break;
  60   5                                                                               case YAO_YouXian:      //   报警板的有线输入
  61   5                                                                                 XinJingLei_Byte=0x85; 
  62   5                                                                           break;
  63   5                                                                              
  64   5                                                                           default:
  65   5                                                                               XinJingLei_Byte=0; 
  66   5                                                                           break;
  67   5                                                       }
  68   4                                        }
  69   3                                      XinRf315_B=0;
  70   3                           } 
  71   2                              
  72   2                         if(  XinJingLei_Byte!=0)   {
  73   3                                               //struct_Variale_True.XinCeFang_B=0;
  74   3                                               Tem_lei=XinJingLei_Byte&0x7f;
  75   3                                               if(( Tem_lei==5)|| ( Tem_lei==6))   {    //当是呼救或地需时
  76   4                                                           struct_Variale_True.Attand_One_Jing_B=1;
  77   4                                                                        XinPhone_JingLei_Byte= XinJingLei_Byte;
  78   4                                                                 
  79   4      
  80   4                                               }
  81   3                                               else  {
  82   4                                                               switch(Para_all_True.Work_Mode)   {
  83   5                                                                       case 0:    //撤防时
  84   5                                                                       
  85   5      
  86   5                                                                              break;
  87   5                                                                              case 1:  //布防时
  88   5                                                                                  struct_Variale_True.Attand_One
             -_Jing_B=1;
  89   5                                                                                               XinPhone_JingLei_Byte= XinJingLei_Byte;
  90   5                                                                                            
  91   5                                                                              break;
  92   5                                                                               case 2:  //在家布防时
  93   5                                                                                        //在家布防时只有1,2防区有效
  94   5                                                                               if(Tem_lei==1||Tem_lei==2)
  95   5                                                                                               struct_Variale_Tr
             -ue.Attand_One_Jing_B=1;
  96   5                                                                                                                XinPhone_JingLei_Byte= XinJingLei_Byte;
  97   5      
  98   5                                                                              break;
  99   5                                                                              default:
 100   5                                                                                      
 101   5      
 102   5                                                                              break;
 103   5      
 104   5                                                               }
 105   4                                              }
 106   3                        }
 107   2                        XinJingLei_Byte=0;
 108   2                      
 109   2              }
 110   1       }
 111          
 112          
 113          
 114          //系统进行一次撤防
C51 COMPILER V7.50   RF315_ATTAND                                                          06/10/2007 23:11:22 PAGE 3   

 115          void      CeFang_Once()  {
 116   1        
 117   1      
 118   1                       Spk_cnt=0;   //如报警警号响则停止响
 119   1                         Close_Spkk_P; //如报警警号响则停止响
 120   1                         
 121   1                       Sound_DiDi_B=1;
 122   1                         Para_all_True.Work_Mode=0;
 123   1                        struct_Variale_True.XinCeFang_B=1;
 124   1                       
 125   1      
 126   1      
 127   1      }
 128          
 129          
 130          //系统进行一次布防
 131          uchar BuDelay_Time=0;
 132          void   BuFang_Once()  {
 133   1                     Sound_Di_B=1;
 134   1                       Para_all_True.Work_Mode=5;
 135   1                       BuDelay_Time=0;
 136   1      
 137   1      
 138   1      }
 139          
 140          
 141          //系统进行一次在家布防
 142          void   ZaiJia_BuFang_Once()  {
 143   1        
 144   1                     Sound_DiDiDi_B=1;
 145   1                        Para_all_True.Work_Mode=2;
 146   1                        
 147   1      
 148   1      
 149   1      }
 150          
 151          
 152          
 153          
 154          // 保存一条记录之子程序 
 155          
 156          
 157          //读时间的6个字节到BUFFF
 158          
 159          
 160            uchar ReadTime(uchar *Bufff)   {
 161   1                    uchar i;
 162   1                    //得到权限
 163   1                               while(KEY_TX_Right_B==0 )     os_wait2(K_TMO,2);
 164   1                               KEY_TX_Right_B=0;
 165   1                               
 166   1                               Xin_Time_in_B=0;  //读到新时间 标志
 167   1                               DaBao_JTX_0x24_And_Send(55, &i, 0);  //        55      查询屏的当前时间
 168   1                              // os_wait2(K_TMO,100);
 169   1                                                                                               
 170   1                        //放弃到权限   在后面  
 171   1                           i=0;
 172   1                              /*
 173   1                                Xin_KEY_RX_B=0;
 174   1                         while(++i<50) {                        //          //1.2秒时
 175   1                                      os_wait2(K_TMO,5);
 176   1                                      if( Xin_KEY_RX_B)  {
C51 COMPILER V7.50   RF315_ATTAND                                                          06/10/2007 23:11:22 PAGE 4   

 177   1                                                                 Xin_KEY_RX_B=0;
 178   1                                                      break;
 179   1      
 180   1                                         }
 181   1      
 182   1                         }  
 183   1                    
 184   1                         if(i==50) {
 185   1                                goto Lassrt;
 186   1      
 187   1                         }
 188   1                         */
 189   1                         
 190   1                      //以上是接收确认
 191   1                         
 192   1                         i=0;
 193   1        
 194   1                         Xin_KEY_RX_B=0;
 195   1                         while(++i<100) {                        //          //1.2秒时
 196   2                                      os_wait2(K_TMO,5);
 197   2                                      if( Xin_KEY_RX_B)  {
 198   3                                                       Xin_KEY_RX_B=0;
 199   3                                                      if(IS_CS_OK()==1&&KEY_RX_Buff[0]==55)  {                 
 200   4                                                                              *Bufff++=KEY_RX_Buff[2];   //年
 201   4                                                                              *Bufff++=KEY_RX_Buff[3];
 202   4                                                                              *Bufff++=KEY_RX_Buff[4];
 203   4                                                                              *Bufff++=KEY_RX_Buff[5];
 204   4                                                                              *Bufff++=KEY_RX_Buff[6];
 205   4                                                                              *Bufff++=KEY_RX_Buff[7];  //秒

⌨️ 快捷键说明

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