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

📄 youxian_task.c

📁 c8051f020实现4个 产UART 口
💻 C
字号:

#include "all.h"

/*
: 有线防区1, 有线防区2, 有线防区3, 有线防区4, (4bytes)
    返回:300ms内报警器返回收到命令的应答
        之后3秒内返回  设置失败 或 设置成功
有线防区1-4, 具备两种输入状态,常闭 或 常开
有线防区(1-4)对应的字节内容为1:对应的防区为常开防区
                             0:对应的防区为常闭防区


//当常开时,检测到0为有效
//现在是有线防区4 用作有线呼救,暂无有线防区4


*/

uchar You_i;
uchar You_j;
uchar You_k;
uchar P55;
uchar p55_sta=0;

//当常开时,检测到0为有效
//现在是有线防区4 用作有线呼救,暂无有线防区4
 uchar Yx1_Cnt=0;
 uchar Yx2_Cnt=0;
  uchar Yx3_Cnt=0;
   uchar Yx4_Cnt=0;
    uchar Yx5_Cnt=0;
 void YouXian_CK_task_ATAND (void) _task_ YouXian_CK_task  {

	
        while(1) {
				 
		
						
	                 os_wait2(K_TMO,4);
		             Dog_YouXian_CK_task_cnt=0;   //看门狗计数器

				     P55=(P5&0x1f);
             
				     if(  (  (P55) &0x01)  !=Para_all_True.FangQu_is_1or0[0])	  {
					 	        if(++ Yx1_Cnt>2)   {
	                                                           XinJingLei_Byte=1;  //有线防区1
									   XinJingLei_Byte|=0X80;    
					 	        }
				     }
				     else  {

                                                    Yx1_Cnt=0;
					}
					 
					 if(  (  (P55>>1) &0x01)  !=Para_all_True.FangQu_is_1or0[1])	  {
					 	     if(++ Yx2_Cnt>2)   {
                                                        XinJingLei_Byte=2;   //有线防区2
							    XinJingLei_Byte|=0X80;  
					 	     	}
				     }
					 else  {

                                                    Yx2_Cnt=0;
					}
				       if(  (  (P55>>2) &0x01)  !=Para_all_True.FangQu_is_1or0[2])	  {
						  if(++ Yx3_Cnt>2)   {
                                                        XinJingLei_Byte=3;     //有线防区3
							    XinJingLei_Byte|=0X80;  
						  	}
				     }
				     else  {

                                                    Yx3_Cnt=0;
					}
					  if(  (  (P55>>3) &0x01)  !=Para_all_True.FangQu_is_1or0[3] )	  {
					  		 if(++ Yx4_Cnt>2)   {
                                                       XinJingLei_Byte=4;          //有线防区4
							   XinJingLei_Byte|=0X80;  
					  	}
				        }
				       else  {

                                                    Yx4_Cnt=0;
					}
					 if(  (  (P55>>4) &0x01) == 1 )	  {
					  	    if(++ Yx5_Cnt>2)   {
                                                        XinJingLei_Byte=6;              //地震仪
							   // XinJingLei_Byte|=0X80;  
					  	    	}
				        }
					 else  {

                                                    Yx5_Cnt=0;
					}
								
        	      }
				  
 }



⌨️ 快捷键说明

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