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

📄 云台.c

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

#include "reg52.h"
#include "intrins.h"
#include "main.h"


bit UP_Flag;
bit Down_Flag;
bit Left_Flag;
bit Right_Flag;
Uchar TempBuffer;
Uchar U_DTemp;
Uchar L_RTemp;

extern Uchar SoundCounter;
extern Uchar TimerCounter;
extern bit BUFlag;
extern bit TimerFlag;
extern void ePutstr(Uchar x,Uchar y, Uchar *ptr);
extern Uchar x0832_Read(Uchar j);
extern void Ptz(Uchar i);
extern void DispOneChar(Uchar x,Uchar y,Uchar Wdata);

void PTZ (void)
{
  Uchar Temp;
  L_RTemp=x0832_Read(0xE0);               //PTZ left right
  U_DTemp=x0832_Read(0xC0);
/*-----------------------------------------------------------------------------------*/
  if(L_RTemp<0x6A)
  {
    ePutstr(14,2,"[Left]");
    if(Left_Flag==0)
	 {
	 TimerFlag=0;
     Left_Flag=1;
     }
  }

  else if(L_RTemp>0x91)
  {
   ePutstr(14,2,"[Righ]");
   if(Right_Flag==0)
   {
   TimerFlag=0;
   Right_Flag=1;
   }
  }

  else
  {
  
   if(Right_Flag||Left_Flag)
   {
    ePutstr(14,2,"[0000]");
     TR0=0;
	 TimerFlag=0;
     Right_Flag=0;
	 Left_Flag=0;
     Ptz(22);
   }
  }
/*-----------------------------------------------------------------------------------*/
  if(U_DTemp>0x8F)
  {
    
	ePutstr(14,2,"[  UP]");
    if(UP_Flag==0)
	{
    UP_Flag=1;
    TimerFlag=0;
	}
  } 
        
  else if(U_DTemp<0x6A)
  {
   ePutstr(14,2,"[Down]");
   if(Down_Flag==0)
   {
   Down_Flag=1;
   TimerFlag=0;
   }
  }
  else
  {
  
   if(UP_Flag||Down_Flag)
   {
    ePutstr(14,2,"[0000]");
    TR0=0;
	TimerFlag=0;
    Ptz(22);
    UP_Flag=0;
	Down_Flag=0;
    }	   
  }
/*-----------------------------------------------------------------------------------*/
 Temp=(Uchar)UP_Flag*1+(Uchar)Down_Flag*2+(Uchar)Right_Flag*4+(Uchar)Left_Flag*8;
 if(TempBuffer!=Temp && BUFlag)
 {
  
  if(Temp!=0)
  {
  SoundCounter=2;
  BU=1;
  }
  else
  BU=0;
  TempBuffer=Temp;
 } 
 switch(Temp)
 {
  case 1:Ptz(0);
         break;
  case 2:Ptz(1);
         break;
  case 4:Ptz(2);
         break;
  case 5:Ptz(20);
         break;
  case 6:Ptz(21);
         break;
  case 8:Ptz(3);
         break;
  case 9:Ptz(18);
         break;
  case 10:Ptz(19);
          break;
  default:break;
 }
}

⌨️ 快捷键说明

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