📄 p_star_test.c
字号:
/*
history;
V 1.00 build 2003.05.24 by zh
*/
#include <REG54.H>
#include <INTRINS.H>
#include "protocol.h"
#include "kernel.h"
#include "config.h"
#ifdef TAIWAN
bit slow_speed = 0;
#endif
//bit fast_focu = 0;
/*
extern bit slow_speed;
extern bit fast_focu;
if (slow_speed)
{
if (x_level = alevel) return;
if (alevel == 0)
TR1 = 0;
else
{
x_level = alevel;
t0_hi = 0x3f;
t0_lo = 0x1a;
TR1 = 1;
}
return;
}
extern void cam_focus_auto()
{
unsigned char code _cam_set_af_mode[] = {0x81,0x01,0x04,0x27,0x00,0x01,0x00,0x01,0xff};
unsigned char code _cam_af_mode[] = {0x81,0x01,0x04,0x57,0x01,0xff};
unsigned char code _cam_af_mode2[] = {0x81,0x01,0x04,0x57,0x00,0xff};
f_auto_fg = 1;
if (fast_focu)
{
cam_send_command(_cam_set_af_mode);
delay_xms(20);
cam_send_command(_cam_af_mode);
delay_xms(20);
}
else
{
cam_send_command(_cam_af_mode2);
delay_xms(20);
}
cam_send_command(cam_focus_auto_);
}
*/
unsigned char data rr = 0;
unsigned char data recv_code;
unsigned char data word4,word6,word7,word8,word9,wordx;
unsigned char bdata word5;
sbit ext_fg = word5^0;
unsigned char data pp = 0; // for seq point
bit start_set_fg = 0;
extern bit do_set_addon(unsigned char no)
{
#ifdef TAIWAN
unsigned char tmp;
if (no == 99)
{
tmp = 0;
slow_speed = 0;
write(2046,&tmp,1);
return 1;
}
else
#endif
{
no = no;
return 0;
}
}
extern bit do_call_addon(unsigned char no)
{
#ifdef TAIWAN
unsigned char tmp;
if (no == 99)
{
_nop_();
tmp = 80;
slow_speed = 1;
write(2046,&tmp,1);
return 1;
}
else
#endif
{
no = no;
return 0;
}
}
extern void init_serial(void)
{
PCON = 0x00;SCON = 0x50;
TH2 = 0xff; RCAP2H = 0xff;
#ifdef FOCS_40M
TL2 = 0x7e; RCAP2L = 0x7e;
#else // for 22.1184
TL2 = 0xb8; RCAP2L = 0xb8;
#endif
T2CON = 0x34;
}
void serial_int(void) interrupt 4 using 1
{
ES = 0;
if (_testbit_(RI))
{
recv_code = SBUF;
rr++;
switch (rr)
{
case 1:
if (recv_code != 0xa0) rr = 0;
break;
case 2:
if (recv_code != id) rr = 0;
wordx = id;
break;
case 3:
wordx += recv_code;
break;
case 4:
word4 = recv_code;
wordx += word4;
break;
case 5:
word5 = recv_code;
wordx += word5;
break;
case 6:
word6 = recv_code;
wordx += word6;
break;
case 7:
word7 = recv_code;
wordx += word7;
break;
case 8:
word8 = recv_code;
wordx += word8;
break;
case 9:
word9 = recv_code;
wordx += word9;
break;
case 10:
if (recv_code != 0xaf) rr = 0;
wordx = ~wordx;
break;
case 11:
if (recv_code == wordx)
{
if (ext_fg)
{
if (word4)
{
addon_fg = 1;
seq[10] = word6;
seq[11] = word7;
}
else
{
run_swing_fg = 0;
run_seq_fg = 0;
switch (word5)
{
case 03:
set_pre_fg = 1;
seq[15] = word6+1; //preset_no
break;
case 07:
call_pre_fg = 1;
seq[15] = word6+1;
break;
case 0x11:
run_swing_fg = 1;
seq[17] = word7+1; //first_no
seq[18] = word8+1; // second no
break;
case 0x1f:
run_swing_fg = 0;
break;
case 0x21:
run_seq_fg = 1;
seq[48] = word6+1; //seq_no
break;
case 0x23:
if (word7 == 0x80)
{
seq[48] = word6+1;
start_set_fg = 1;
pp = 0;
}
else if (word7 == 0x40)
{
set_seq_fg = 1;
if (pp != 48) seq[pp] = 0;
pp = 0;
}
else
{
if (_testbit_(start_set_fg)) pp = 0;
seq[pp] = word7+1;
pp++;
seq[pp] = word8;
pp++;
seq[pp] = word9;
pp++;
}
break;
case 0x43:
if (word6)
disp_on_fg = 1;
else
disp_off_fg = 1;
break;
case 0x6f:
if (word6)
power_on_fg = 1;
else
power_off_fg = 1;
break;
}
}
}
else
{
if (word4)
{
switch (word4)
{
case 1:
focu_far_fg = 1;
focus_need_stop = 1;
break;
case 2:
focu_near_fg = 1;
focus_need_stop = 1;
break;
case 8:
iris_close_fg = 1;
break;
case 16:
iris_open_fg = 1;
break;
}
}
else
{
switch (word5)
{
case 2:
case 4:
case 8:
case 16:
case 10:
case 18:
case 12:
case 20:
cont_fg = 1;
run_swing_fg = 0;
run_seq_fg = 0;
seq[12] = word5; //dir
seq[13] = word6; //x_speed
seq[14] = word7; //y_speed
break;
case 0x20:
zoom_tele_fg = 1;
zoom_need_stop = 1;
break;
case 0x40:
zoom_wide_fg = 1;
zoom_need_stop = 1;
break;
default:
if (_testbit_(zoom_need_stop)) zoom_stop_fg = 1;
if (_testbit_(focus_need_stop)) focu_stop_fg = 1;
seq[12] = 0;
cont_fg = 1;
break;
}
}
}
}
default:
rr = 0;
break;
} // end switch
}
ES = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -