📄 iman.c
字号:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
void f_brush_addr()
{
uchar data i=0;
uchar data j=0;
j=P1;
j=f_trans_tube(j);
j=~j;
j=j&0xfc;
i=P0;
i=f_trans_tube(i);
i=~i;
i=i&0x03;
hard_address=i+j;
i=P0;
i=~i;
j=i&0x03;
hard_address=hard_address+j*256;
i=i>>2;
selection=0;
selection=i&0x0f;
}
void f_brush_addr_again()
{
if(hard_address_brush_flag>240)
{
EA=0;
f_brush_addr();
EA=1;
hard_address_brush_flag=0;
}
}
/*
*********************************************************************************************************
*名称:
*功能:
* 输入参数:无
*输出参数:无
*处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
*调用的函数:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
void clear_homeflag()
{
return;
}
uchar exchang(uchar dat)
{
bit temp;
ACC=dat&0x0f;
temp=ACC0;
ACC0=ACC3;
ACC3=temp;
temp=ACC1;
ACC1=ACC2;
ACC2=temp;
dat=ACC&0x0f;
return dat;
}
uchar read_sc2_protocl()
{
uchar i=0;
i=P1;
i=~i;
i&=0x0f;
i=exchang(i);
return i;
}
uchar read_sc1_address()
{
uchar i;
bit flag0;
i=P0;
ACC=i;
flag0=ACC0;
ACC0=ACC1;
ACC1=flag0;
i=ACC;
i=~i;
return i;
}
void f_read_addr(void)
{
selection=read_sc2_protocl();
hard_address=read_sc1_address();
}
uchar read_sc2_boud()
{
uchar i=0;
i=P1;
i=~i;
i=i>>4;
i=i&0x03;
return i;
}
void f_baud_set()
{
borad_flag=read_sc2_boud();
switch(borad_flag)
{
case 0: TH1=TL1=0Xfa;PCON=0;break;//9600bps
case 1: TH1=TL1=0XF4;PCON=0;break;//4800bps
case 2: TH1=TL1=0Xe8;PCON=0;break;//2400bps
case 3: TH1=TL1=0XFD;PCON=0;break;//19200bps
default: TH1=TL1=0XFa;PCON=0;break;//9600bps
}
}
void f_read_borad(void)
{
f_baud_set();
switch(selection)
{
case 0:
case 14: S0CON=0xf0; //红苹果电子公司的协议
break;
default: S0CON=0X50;
break;
}
}
void f_read_addr_board(void)
{
f_read_addr();
f_read_borad();
}
void f_delay_time(void)
{
uchar data k, i,j;
for(k=0;k<5;k++)
for(i=0;i<200;i++)
for(j=0;j<200;j++)
{
feed_dog=~feed_dog;
}
}
/*
*********************************************************************************************************
*名称:
*功能:
* 输入参数:无
*输出参数:无
*处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
*调用的函数:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
void f_rst_6453(void)
{
upc_6453_rst=0;
f_delay_time();
f_delay_time();
upc_6453_rst=1;
}
/*
*********************************************************************************************************
*名称:
*功能:
* 输入参数:无
*输出参数:无
*处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
*调用的函数:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
extern uchar xdata trade_idle_msec,trade_idle_run_flag,trade_idle_run_brush_flag;
void f_os_track_run()
{
return;
if(trade_idle_run_flag==1)
{
if(call_team_flag==0)
if(direction==1)
if(trade_idle_run_brush_flag==1)
{
trade_idle_run_flag=0;
trade_idle_run_brush_flag=0;
sendone=0xaa;
sendtwo=0xa3;
sendthree=0x3;
f_sendbytes1234();
}
}
}
extern uchar xdata return_call_team_flag;
extern uchar xdata idle_run_shot_flag,idle_run_track_flag,idle_run_shot_time,
idle_run_track_time;
void f_ini_mcu_715(void)
{
uchar data i;
SCONF=0x03;
CHPENR = 0X87;
CHPENR = 0X59;
CHPCON =CHPCON|0X10 ;
h_position=4;
wren_cmd();
wrsr_cmd();
wrdi_cmd();
return_call_team_flag=0;
idle_run_shot_flag=0;
idle_run_track_flag=0;
idle_run_shot_time=0;
idle_run_track_time=0;
for(i=0;i<26;i++)
{
t[i]=0;
}
for(i=0;i<7;i++)
{
pe[i]=0;
}
feed_dog=~feed_dog;
TMOD=0X21;//
TR1=1;
p=t;
TR0=1;
direction=1;
number_input_move=0;
number_input_flag=0;
call_team_flag=0;
h_position_input=0;
call_team_flag=0;
}
/*
*********************************************************************************************************
*名称:
*功能:
* 输入参数:无
*输出参数:无
*处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
*调用的函数:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
void os_write_56165(void)
{
uint data xx=0;
for(xx=1;xx<2000;xx++)
{
wren_cmd();
byte_write(0,xx);
feed_dog=~feed_dog;
}
}
/*
*********************************************************************************************************
*名称:
*功能:
* 输入参数:无
*输出参数:无
*处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
*调用的函数:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
void os_f_test_56165(void)
{
uchar data i;
wren_cmd();
i=byte_read(0);
if(i==0x1)
{
return;
}
else
{
wren_cmd();
byte_write(0x1,0);
os_write_56165();
}
}
/*
*********************************************************************************************************
*名称:
*功能:
* 输入参数:无
*输出参数:无
*处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
*调用的函数:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
void os_init_mcu(void)
{
uchar data i;
EA=0;
f_rst_6453();
P0=P1=P2=0XFF;
for(i=0;i<7;i++)
{
timerbuffer[i]=0;
}
idle_run_shot_flag=0;
idle_run_track_flag=0;
idle_run_shot_time=0;
idle_run_track_time=0;
return_call_team_flag=0;
add_fama_flag=1;
f_ini_mcu_715();
f_read_addr_board();
for(i=0;i<3;i++)
f_delay_time();
EA=0;
f_ini_6453();
EA=0;
f_init_ds1302();//初始化302
f_display_position(2,16);//设置原点
EA=0;
f_display_clear();
read_caidan_flag();
stop_code_flag=1;
f_show_my_id();
f_show_start_menu();
feed_dog=~feed_dog;
first_into_menu_5_flag=0;
clear_homeflag();
os_clear_gain_flag();
home_set_on_flag=0;
shot_bug_problem=0xff;
for(i=0;i<20;i++)
{
if(call_team_flag==1)
{
goto ll5;
}
f_delay_time();
}
ll5: EA=0;
feed_dog=~feed_dog;
f_display_clear();
EA=1;
ES0=1;
}
/*
*********************************************************************************************************
*名称:
*功能:
* 输入参数:无
*输出参数:无
*处理的数据:*INPUT_QUEEN[]处理前的数据,*OUT_QUEEN[]处理后的数据
*调用的函数:
*创建人: DaiWei
*创建时间:2003-8-16 10:51
*修改时间:
*********************************************************************************************************
*/
void main(void)
{
P3=0XFF;
P1=0XFF;
P0=0XFF;
P2=0XFF;
AUXR&=0xfd;
limited_max_code=1;
os_init_mcu();
test_521_flag=0;
ET0=1;
TR0=1;
ES0=1;
IP=0X10;
init_timer2();
add_fama_flag=1;
// TF2=0;
while(1)
{
TR0=1;
TR2=0;
if(add_fama_flag==1)
{
feed_dog=~feed_dog;
os_add_data_trans();
}
/*
f_extern_caidan();
if(call_team_flag==1)
{
feed_dog=~feed_dog;
f_run_cruise();
}
*/
ES0=1;
feed_dog=~feed_dog;
EA=1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -