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

📄 yaan.c

📁 这个是安防用的控制键盘C源程序,采用KEIL C51开发.用于控制前端解码器!
💻 C
字号:
#include "reg52.h"
#include "main.h"
#include "intrins.h"

extern Uchar CamAddress;
extern Uchar AuxNumb;
extern Uchar U_DTemp;
extern Uchar L_RTemp;
extern Uchar KeyValue;
extern Uchar TimeValue;

extern void send_char_com (unsigned char ch);
extern void shortdelay(unsigned char count);
Uchar code My_Array2[4]={0x04,0x08,0x02,0x01};
Uchar code My_Array3[]={0x01,0x02,0x80,0x40,0x20,0x10};

                                                                                                                                                                                                                            
void YAAN (Uchar i)
{
Uint k=0;
Uchar tbuf[12];
Uchar Temp;
Uchar V_Rate;
Uchar H_Rate;
RT_CON=1;
Temp=i;
Code_Led=1;
if(U_DTemp>=0x80)
V_Rate=2*(U_DTemp-0x81);
else
V_Rate=2*(0x7F-U_DTemp);

if(L_RTemp>=0x80)
H_Rate=2*(L_RTemp-0x81);
else
H_Rate=2*(0x7F-L_RTemp);
/*---------------------------云台控制--------------------------------------*/
  if(Temp<4 || Temp==22)

  {
  tbuf[0]=0x02;
  tbuf[1]=CamAddress;
  tbuf[2]=0x01;
  if(Temp<4)
  tbuf[3]=My_Array2[Temp];
  else
  tbuf[3]=0x00;
  tbuf[4]=0x00;
  tbuf[5]=tbuf[0]+tbuf[1]+tbuf[2]+tbuf[3]+tbuf[4];
  tbuf[6]=0x02;
  tbuf[7]=CamAddress;
  tbuf[8]=0x0E;

  if(Temp<2)
  {
   tbuf[9]=0x00;
   tbuf[10]=V_Rate;
  }
  else
  {
  if(Temp!=22)
  tbuf[9]=H_Rate;
  else
  tbuf[9]=0x00;
  tbuf[10]=0x00;
  }
  
  
  
 tbuf[11]=tbuf[6]+tbuf[7]+tbuf[8]+tbuf[9]+tbuf[10];

 
 do
  {
   send_char_com(tbuf[k]);
   shortdelay(1);
    k++;
  } while( k<12 );
 }
/*-------------------------镜头控制--------------------------------------*/
 if(Temp>=4 && Temp<10)                                            
 {
  tbuf[0]=0x02;
  tbuf[1]=CamAddress;
  tbuf[2]=0x01;
  if(Temp==4 || Temp==5)
  {
   tbuf[3]=0x00;
   tbuf[4]=My_Array3[Temp-4];
  }
  else
  {
   tbuf[3]=My_Array3[Temp-4];
   tbuf[4]=0x00;
  }
  tbuf[5]=tbuf[0]+tbuf[1]+tbuf[2]+tbuf[3]+tbuf[4];

   do
  {
   send_char_com(tbuf[k]);
   shortdelay(1);
    k++;
  } while( k<6 );

 }
/*--------------------------------------------------------------------------------------*/
 if(Temp>22 && Temp<29)
 {
  tbuf[0]=0x02;
  tbuf[1]=CamAddress;
  switch(Temp)
  {
   case 23:tbuf[2]=0x05;                              //保存预置点
           tbuf[3]=KeyValue;
           break;
   case 24:tbuf[2]=0x02;                              //调用预置点
           tbuf[3]=KeyValue;
           break;
   case 25:tbuf[2]=0x08;                              //清除巡航点
           tbuf[3]=0x00;
           break;
   case 26:tbuf[2]=0x03;                              //自动巡航
           tbuf[3]=0x00;
           break;
   case 27:tbuf[2]=0x06;                              //添加巡航点
           tbuf[3]=KeyValue;
           break;
   case 28:tbuf[2]=0x0B;                              //设置巡航停留时间
           tbuf[3]=TimeValue;
           break;
   default:break;
  }
  tbuf[4]=tbuf[0]+tbuf[1]+tbuf[2]+tbuf[3];

     do
  {
   send_char_com(tbuf[k]);
   shortdelay(1);
    k++;
  } while( k<5 );
  
 }
/*--------------------------------------------------------------------------------------*/ 
 if(Temp>28 ||Temp==16 || Temp==17)
 {
  tbuf[0]=0x02;
  tbuf[1]=CamAddress;
  tbuf[2]=0x0f;
  switch(Temp)
  {
    case 16:tbuf[3]=0x03;                         //云台自动
            tbuf[4]=0x00;
            break;
    case 17:break;
    case 29:tbuf[3]=0x01;                        //水平自动速度
            tbuf[4]=TimeValue;
            break;
    case 30:tbuf[3]=0x02;                        //设定左边界
            tbuf[4]=0x01;
            break;
    case 31:tbuf[3]=0x02;                        //设定右边界
            tbuf[4]=0x02;
            break;
    default:break;
  }
  tbuf[5]=tbuf[0]+tbuf[1]+tbuf[2]+tbuf[3]+tbuf[4];

    do
  {
   send_char_com(tbuf[k]);
   shortdelay(1);
    k++;
  } while( k<6);
 }
/*--------------------------------------------------------------------------------------*/

 RT_CON=0;
 Code_Led=0;
} 

⌨️ 快捷键说明

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