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

📄 ysd.c

📁 报警控制程序
💻 C
字号:
#include " reg52.h"
#include "main.h"
#include "intrins.h"
//#include "string.h"

//unsigned char data dvr_set;                           //cumputer set or cancel alarm
extern bit flag_ea;
extern unsigned char data Cummun;
extern unsigned char data R_count;
extern unsigned char data data2;
extern unsigned char data data1;
extern unsigned char data P0_sbuf;
extern unsigned char data wdt_count;




//unsigned char code My_Array1[6]={0x4a,0x44,0x41,0x43,0x46,0x4b};
extern void delay1ms(unsigned char  count);
extern void send_char_com(unsigned char ch);
extern void slave(void);
extern void master2_in(void);
//extern void com_isr(void);
/*------------------------------------------------------------------
                send the data sbuf
  ------------------------------------------------------------------*/
//void send_char_com (unsigned char ch)
//{ 
  //	SBUF=ch;
//	while(TI==0);
//	TI=0;
//} 
/*-------------------------------------------------------------------------
         shortdelay
  -------------------------------------------------------------------------*/
void shortdelay(unsigned char count)
{
   
   unsigned int i;
   unsigned int j;
  for(i=0;i<count;i++)
    for(j=0;j<=140;j++)
	 {   
	    if(wdt_count<15)
      {
      WDTRST=0x1E;                               
      WDTRST=0xE1;
      }
        _nop_();
	 }
}
/* -----------------------------------------------------------------
             deal with the dvr inquire command
   -----------------------------------------------------------------*/
 void alarm2_in (void)
{
 unsigned int i=0;
 unsigned char tbuf[8];
 RT_CON=1;


 shortdelay(1);
 
 tbuf[0]=0x2a;
 tbuf[1]=0x06;
 tbuf[2]=0x01;
 tbuf[3]=0x00;
 tbuf[4]=0xb0;// & dvr_set); 
 tbuf[5]=~P0;
 tbuf[6]=0x00;
 tbuf[7]=tbuf[0]+tbuf[1]+tbuf[2]+tbuf[3]+tbuf[4]+tbuf[5]+tbuf[6];
 
   
	do
	{
      
  	  
		send_char_com(tbuf[i]);
        shortdelay(1);
		i++;
	} while( i<8 );
 RT_CON=0;
 } 
 


  


extern void ysd(unsigned char rbuf1[8])
{
       unsigned char data s;
	   s=rbuf1[1];
	   switch(s)
		  {
		   case 0x04:if(Cummun==0x00)
                     alarm2_in();

                     if(Cummun==0x01)
				     master2_in();

				

                  
			         break;
		   case 0x06:if(Cummun==0x00)
		             P2=~rbuf1[5];
					 if(Cummun==0x01)
					 {
					 if(rbuf1[4]==0xb0)
                     data2=rbuf1[6];
					 else
					 P2=~rbuf1[5];
					 }
                     if(Cummun==0x02)
					 {
					 if(rbuf1[4]==0xb0)
                     data1=rbuf1[5];
					 else
					 P2=~rbuf1[6];
					 }
					 
					 break;
					 
		  }
                 
	  flag_ea=1;
	 
}
    

⌨️ 快捷键说明

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