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

📄 iman.c

📁 keil c open
💻 C
📖 第 1 页 / 共 2 页
字号:

#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 + -