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

📄 jingqing_chuli.c

📁 c8051f020实现4个 产UART 口
💻 C
字号:
#include "all.h"




sbit a0=ACC^0;
sbit a1=ACC^1;
sbit a2=ACC^2;
sbit a3=ACC^3;
sbit a4=ACC^4;
sbit a5=ACC^5;
sbit a6=ACC^6;
sbit a7=ACC^7;

//不保存报警记录时用到这两变量
uchar Para_all_True_JingQing_JiLu_True_Sum=0,Para_all_True_JingQing_JiLu_True_Head=0;



void   Attand_One_Jing88() ;  //报警处理操作

   uchar Dial_one_phone(uchar ph_num)    ;



/**********************************************************************
**函数原型:   void   Attand_One_Jing88()  
**入口参数:    
**出口参数:   无
**返 回 值:   无
**说    明:  //报警处理任务
************************************************************************/
void JingQing_ChuLi (void) _task_  JINGQINGCHULI   {       //   警情处理任务
	  
       bit BaoJing_Valaue_b=0;

	    os_wait2(K_SIG, 0);
	    while(1)   { 
		  	   Dog_JINGQINGCHULI_cnt=0; //看门狗计数器
		  	   //报警处理接报警电话不能超过26分钟 
	                 os_wait2(K_TMO,2);

                     // Dial_one_phone(1);
  

			  if(   struct_Variale_True.Attand_One_Jing_B==1)   {

				
			  	       struct_Variale_True.XinCeFang_B=0;	 
                                    Attand_One_Jing88() ;
					 struct_Variale_True.XinCeFang_B=0;
					
                                    struct_Variale_True.Attand_One_Jing_B=0;
			  }

           }

}




/**********************************************************************
**函数原型:   void   Attand_One_Jing88()  
**入口参数:    
**出口参数:   无
**返 回 值:   无
**说    明:  //报警处理操作
************************************************************************/

uchar Spk_cnt;  //报警时警号鸣响计时用

bit   Out_Phone_B=0;    //打电话过程 中如按下*键置为1,则 退出,停止打所有电话
bit    XinDisplay_JingLei_B=0;  //  通知屏显示

void   Attand_One_Jing88()  {
          uchar i,j,ttett,kk;
	    uint tt;
           void         Dial_4_Phone_Once()  ;  //打四个电话一 次


	 
         Out_Phone_B=0;    //打电话过程 中如按下*键置为1,则 退出,停止打所有电话

	    //报警迮时的处理
	  tt=0;
	  while(1)  {    
                      //呼 救和地震动不进行延时
		        if(  ((XinPhone_JingLei_Byte&0x0f)==5)|| (  (XinPhone_JingLei_Byte&0x0f)==6)   )
                                          break;
                        os_wait2(K_TMO, 50);	    //
                        tt++;
                        if(   (tt/10)>=Para_all_True.BaoJing_Delay_Time   )   {                                      
                                          break;

			  }
			  if(struct_Variale_True.XinCeFang_B==1)
			                      return;
			  
	  }
	  //以上是报警延时的处理
	  

	  //以下是时间到则报警

⌨️ 快捷键说明

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