📄 iman.c
字号:
#include "defines.h"
#include "extern.h"
void read_caidan_flag()
{
uchar data x,y;
wren_cmd();
x=byte_read(21);
y=x;
if((x&0x80)==0x80)
{
time_display_flag=1;
}
else
time_display_flag=0;
x=y;
if((x&0x40)==0x40)
{
date_display_flag=1 ;
}
else
{
date_display_flag=0 ;
}
x=y;
if((x&0x20)==0x20)
{
cam_title_flag=1 ;
}
else
{
cam_title_flag=0 ;
}
x=y;
if((x&0x10)==0x10)
{
focus_flag=1;
}
else
{
focus_flag=0;
}
x=y;
if((x&0x08)==0x08)
{
cam_focus_flag=1;
}
else
{
cam_focus_flag=0;
}
x=y;
if((x&0x04)==0x04)
{
cam_zoom_flag=1;
}
else
{
cam_zoom_flag=0;
}
x=y;
if((x&0x02)==0x02)
{
back_light_comp_flag=1;
}
else
{
back_light_comp_flag=0;
}
x=y;
if((x&0x01)==0x01)
{
white_bacance_flag=1;
}
else
{
white_bacance_flag=0;
}
x=y;
wren_cmd();
x=byte_read(22);
y=x;
if((x&0x80)==0x80)
{
runing_pre_dot_flag=1;;
}
else
{
runing_pre_dot_flag=0;
}
x=y;
if((x&0x40)==0x40)
{
runing_salvo_flag=1;
}
else
{
runing_salvo_flag=0;
}
x=y;
if((x&0x20)==0x20)
{
runing_patten_flag=1;
}
else
{
runing_patten_flag=0;
}
x=y;
}
/*
*********************************************************************************************************
*名称:秒延时
*功能:
* 输入参数:无
*输出参数:无
*处理的数据w:
*调用的函数:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
void f_delay_counter(void)
{
uchar i,j,k=0;
TR0=1;
for(k=0;k<10;k++)
{
for(i=0;i<188;i++)
for(j=0;j<200;j++)
{
feed_dog=~feed_dog;
_nop_();
if(direction==0)
return;
}
if(call_team_flag==0)
return;
if(direction==0)
return;
}
}
/*
*********************************************************************************************************
*名称:
*功能:
* 输入参数:无
*输出参数:无
*处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
*调用的函数:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
void f_delay_counter1(void)
{
uchar i,j,k=0;
TR0=1;
for(k=0;k<10;k++)
{
for(i=0;i<188;i++)
for(j=0;j<200;j++)
{
feed_dog=~feed_dog;
_nop_();
}
if(call_team_flag==0)
return;
if(direction==0)
return;
}
_nop_();
}
/*
*********************************************************************************************************
*名称:
*功能:
* 输入参数:无
*输出参数:无
*处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
*调用的函数:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
void os_return_force(void)
{
if(direction==0)
{ _nop_();_nop_();_nop_();
call_team_flag=0;
return;
}
_nop_();_nop_();_nop_();
}
/*
*********************************************************************************************************
*名称:
*功能:
* 输入参数:无
*输出参数:无
*处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
*调用的函数:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
void os_tell_fair(uchar y)
{
if(y>30)
{
call_team_flag=0;
feed_dog=~feed_dog;
return;
}
_nop_();_nop_();_nop_();
}
/*
*********************************************************************************************************
*名称:
*功能:
* 输入参数:无
*输出参数:无
*处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
*调用的函数:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
uchar os_read_lenth(uint y)
{
uchar data x;
EA=0;
wren_cmd();
x=byte_read(y); //巡航队列号
EA=1;
return x;
}
/*
*********************************************************************************************************
*名称:
*功能:
* 输入参数:无
*输出参数:无
*处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
*调用的函数:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
char os_second_call_team()
{
if(load_call_team_flag==1)
{
return 1;
}
else
return 0;
}
void f_show_my_shot(void);
extern void f_time_brush(void);
void f_addition_brush_time()
{
EA=0;
time_sec=0;
time_brush=1;
f_time_brush();
EA=1;
}
void f_run_cruise(void)
{
uchar x,yy,y=number,effction_time,mydata,ii;
yy=y;
_nop_();_nop_();
os_tell_fair(y);
_nop_();_nop_();_nop_();_nop_();
x=os_read_lenth((uint)y);
_nop_();_nop_();_nop_();_nop_();
num=x;
load_call_team_flag=0;
if(y>20)
{
call_team_flag=0;
return;
}
if(num>33)//不合法
{
call_team_flag=0;
return;
}
if(num<2)
{
call_team_flag=0;//不构成巡航队列
return;
}
shot_bug_problem=0xff;
f_clear_moto_display();
TR2=0;
while(call_team_flag)
{
if(call_team_flag==0)
return;
os_return_force();
y=number;
x=os_read_lenth((uint)y);
num=x;
yy=number;
f_addition_brush_time();
my_address=HEAD_ADDR+(yy-1)*TEAM_LENGTH;
while((num)&&call_team_flag)
{ TR2=0;
mydata=os_read_lenth(my_address);
sendtwo=0x97;
sendthree=mydata;
iic_recieve_time=0;
f_addition_brush_time();
f_sendbytes1234();
feed_dog=~feed_dog;
preset_dot=mydata+1;
shot_bug_problem=0xff;
my_address=my_address+1;
mydata=os_read_lenth(my_address);
if(mydata==0)
{
mydata=2;
}
effction_time=mydata+2;//增加运动时间
ii=0;
if(runing_salvo_flag==1)
{
if(call_team_flag)
while((ii<effction_time))
{
if(os_second_call_team()==1)
{
TR2=1;
return;
}
os_return_force();
f_delay_counter1();
ii++;
f_addition_brush_time();
sendtwo=0;
sendthree=0;
f_sendbytes1234();
}
}
else
{
while((ii<effction_time)&&call_team_flag)
{
if(os_second_call_team()==1)
{
TR2=1;
return;
}
os_return_force();
time_brush=1;
time_sec++;
f_delay_counter();
time_sec=31;
ii++;
f_addition_brush_time();
sendtwo=0;
sendthree=0;
f_sendbytes1234();
}
}
my_address=my_address+1;
num=num-1;
}
feed_dog=~feed_dog;
}
time_sec++;
}
/*
********************************************************
*读取地址
*前面10个为硬件地址
*另外两个拨码开关为波特率的选择
*
**********************************************************
*/
uchar f_trans_tube(uchar ch)
{
bit iflag0,iflag1,iflag2,iflag3;
ACC=ch;
iflag0=ACC0;
iflag1=ACC1;
iflag2=ACC2;
iflag3=ACC3;
ACC0=ACC7;
ACC1=ACC6;
ACC2=ACC5;
ACC3=ACC4;
ACC4=iflag3;
ACC5=iflag2;
ACC6=iflag1;
ACC7=iflag0;
ch=ACC;
return ch;}
/*
*********************************************************************************************************
*名称:
*功能:
* 输入参数:无
*输出参数:无
*处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
*调用的函数:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -