📄 云台.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 + -