亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cnb-vp200.c

?? 這是監視器行業常見攝像頭與球機通訊協議的C語言源代碼
?? C
字號:
/* 	
	Library for control c&b camera 
	V 1.00 build 2003.05.08
	support camera list:
	16X:
	18X:
		CNB-AP200
*/

#include <REG54.H>
#include <INTRINS.H>
#include <STRING.H>
#include "kernel.h"
#include "camera.h"
//#include "cam_func.h"
#include "config.h"

unsigned char code asc[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

unsigned char asc2hex(unsigned char asc)
{
	return ((asc < 0x3a) ? (asc - 0x30) : (asc - 0x37));
}

unsigned char asc2hex2(unsigned char hi,lo)
{
	return ((asc2hex(hi) << 4) | asc2hex(lo));
}

unsigned char hex2aschi(unsigned char hex)
{
	return asc[(hex & 0xf0) >> 4];
}

unsigned char hex2asclo(unsigned char hex)
{
	return asc[hex & 0x0f];
}


unsigned char data cam_id =0x00;
unsigned char data cr[9];
bit iris_manu_fg;


//發送或接收數據時關中斷

#ifndef _CONFIG
	//sfr WDTC = 0x8f;
	sbit ARXD = P1^2;
	sbit ATXD = P1^3;
#endif

//for 40M 晶振

void cam_bit_delays(void)
{
	register unsigned char j;
	
	for (j=0;j<110;j++);
	_nop_();_nop_();
}

void cam_bit_delayr(void)
{
	register unsigned char j;
	
	for (j=0;j<108;j++);
}

void half_bit_delay(void)	
{
	register unsigned char j;
	
	for (j=0;j<60;j++);
}


extern void cam_send_byte(unsigned char cam_data)
{
	register unsigned char i;

	EA = 0;
	ATXD = 0;							
	_nop_();
	
	for (i=0;i<8;i++)
	{
		cam_bit_delays();		
		cam_data >>= 1;
		ATXD = CY;	
	}
	cam_bit_delays();
	EA = 1;
	ATXD = 1;						
	cam_bit_delays();
	ATXD = 1;						
	cam_bit_delays();
	cam_bit_delays();
}

extern unsigned char cam_receive_byte()
{
	unsigned int i = 0;
	unsigned char cam_data;

	EA = 0;
	RESET;	
	do
	{	
		ARXD = 1;
		if (!ARXD)
		{
			half_bit_delay();
			ARXD = 1;
			if (!ARXD)
			{
				cam_data = 0;
				_nop_();_nop_();_nop_();
				_nop_();_nop_();_nop_();_nop_();
				for(i=0;i<8;i++)					
				{
					cam_bit_delayr();
					cam_data >>= 1;
					ARXD = 1;
					if (ARXD) cam_data |= 0x80;		
				}
				goto sr_exit;
			}
		}
	}while ((++i) <10000);
sr_exit:
	EA = 1;
	return cam_data;
}

bit bw_fg = 0;
bit icr_manu_fg = 0;
/*
void cam_send_command(unsigned char *p)
{
	unsigned char cs;
	cam_send_byte(*p);
	cs = *p;
	p++;
	cam_send_byte(*p);
	cs += *p;
	p++;
	cam_send_byte(*p);
	cs += *p;
	p++;
	cam_send_byte(*p);
	cs += *p;
	p++;
	cam_send_byte(*p);
	cs += *p;
	p++;
	cam_send_byte(*p);
	cs += *p;
	p++;
	cam_send_byte(*p);
	cs += *p;
	p++;
	cam_send_byte(*p);
	cs += *p;
	p++;
	cam_send_byte(*p);
	cs += *p;	
	cam_send_byte(hex2aschi(cs));
	cam_send_byte(hex2asclo(cs));
	
}
*/

void cam_send_command(unsigned char *p)
{
	unsigned char *pp;
	unsigned char cs = 0;	
	for(pp=p;pp<p+9;pp++)
	{
	cam_send_byte(*pp);
	cs += *pp;
	}	
	cam_send_byte(hex2aschi(cs));
	cam_send_byte(hex2asclo(cs));
}

void cam_inquiry_state(void)
{
	register unsigned char i;
	
	for (i=40;i<47;i++) 
		seq[i] = cam_receive_byte();
}


extern void cam_zoom_focus_direct(void)
{
	cam_focus_manu();									
	delay_xms(30);

	cam_send_byte(0x81);						// CAM_ZoomFocus Direct
	cam_send_byte(0x01);
	cam_send_byte(0x04);
	cam_send_byte(0x47);
	cam_send_byte((pre[5] >> 4) & 0x0f);
	cam_send_byte(pre[5] & 0x0f);
	cam_send_byte((pre[6] >> 4) & 0x0f);
	cam_send_byte(pre[6] & 0x0f);
	cam_send_byte((pre[7] >> 4) & 0x0f);
	cam_send_byte(pre[7] & 0x0f);
	cam_send_byte((pre[8] >> 4) & 0x0f);
	cam_send_byte(pre[8] & 0x0f);
	cam_send_byte(0xff);

	delay_xms(24);
	set_curlimit(((pre[5] << 8) | pre[6])/ 0x02e8);
}




//unsigned char code cam_inq_gain_pos_[] = {0x2a,0x30,0x30,0x37,0x33,0x30,0x30,0x30,0x30};
unsigned char code cam_power_on_[]	= {0x2a,0x30,0x30,0x37,0x36,0x30,0x31,0x30,0x30};
unsigned char code cam_power_off_[]	= {0x2a,0x30,0x30,0x37,0x36,0x30,0x30,0x30,0x30};
unsigned char code cam_zoom_stop_[]	= {0x2a,0x30,0x30,0x37,0x35,0x30,0x39,0x30,0x30};
unsigned char code cam_zoom_tele_[]	= {0x2a,0x30,0x30,0x37,0x35,0x30,0x32,0x30,0x30};
unsigned char code cam_zoom_wide_[]	= {0x2a,0x30,0x30,0x37,0x35,0x30,0x34,0x30,0x30};
unsigned char code cam_d_zoom_on_[]	= {0x2a,0x30,0x30,0x37,0x35,0x30,0x39,0x30,0x30};
unsigned char code cam_d_zoom_off_[] 	= {0x2a,0x30,0x30,0x37,0x35,0x30,0x39,0x30,0x30};
unsigned char code cam_focus_stop_[]	= {0x2a,0x30,0x30,0x37,0x35,0x30,0x39,0x30,0x30};
unsigned char code cam_focus_far_[]	= {0x2a,0x30,0x30,0x37,0x35,0x30,0x35,0x30,0x30};
unsigned char code cam_focus_near_[]	= {0x2a,0x30,0x30,0x37,0x35,0x30,0x36,0x30,0x30};
unsigned char code cam_focus_auto_[]	= {0x2a,0x30,0x30,0x34,0x45,0x30,0x30,0x30,0x30};
unsigned char code cam_focus_manu_[]	= {0x2a,0x30,0x30,0x34,0x46,0x30,0x30,0x30,0x30};
unsigned char code cam_ae_auto_[] 	= {0x2a,0x30,0x30,0x38,0x31,0x30,0x30,0x30,0x30};
unsigned char code cam_ae_manu_[]	= {0x2a,0x30,0x30,0x38,0x31,0x30,0x32,0x30,0x30};//{0x2a,0x30,0x30,0x37,0x35,0x32,0x44,0x30,0x30};
unsigned char code cam_set_iris_level_[]= {0x2a,0x30,0x30,0x38,0x41,0x31,0x30,0x30,0x30};
unsigned char code cam_iris_up_[]	= {0x2a,0x30,0x30,0x37,0x35,0x32,0x45,0x30,0x30};
unsigned char code cam_iris_down_[]	= {0x2a,0x30,0x30,0x37,0x35,0x32,0x46,0x30,0x30};
unsigned char code cam_wb_auto_[]	= {0x2a,0x30,0x30,0x42,0x32,0x30,0x30,0x30,0x30};
unsigned char code cam_wb_manu_[]	= {0x2a,0x30,0x30,0x42,0x32,0x30,0x34,0x30,0x30};
unsigned char code cam_backlight_on_[] 	= {0x2a,0x30,0x30,0x38,0x32,0x30,0x31,0x30,0x30};
unsigned char code cam_backlight_off_[]	= {0x2a,0x30,0x30,0x38,0x32,0x30,0x30,0x30,0x30};
unsigned char code cam_freeze_on_[]	= {0x2a,0x30,0x30,0x41,0x45,0x30,0x31,0x30,0x30};
unsigned char code cam_freeze_off_[]	= {0x2a,0x30,0x30,0x41,0x45,0x30,0x30,0x30,0x30};
unsigned char code cam_picture_off_[]	= {0x2a,0x30,0x30,0x42,0x30,0x30,0x31,0x30,0x30};
unsigned char code cam_picture_bw_[]	= {0x2a,0x30,0x30,0x42,0x30,0x30,0x30,0x30,0x30};
unsigned char code cam_reverse_on_[]	= {0x2a,0x30,0x30,0x37,0x42,0x30,0x31,0x30,0x30};
unsigned char code cam_reverse_off_[]	= {0x2a,0x30,0x30,0x37,0x42,0x30,0x30,0x30,0x30};
unsigned char code cam_display_on_[]	= {0x2a,0x30,0x30,0x37,0x41,0x30,0x30,0x30,0x30};
unsigned char code cam_display_off_[]	= {0x2a,0x30,0x30,0x37,0x41,0x30,0x31,0x30,0x30};

unsigned char code cam_inq_zoom_pos_[]	= {0x2a,0x30,0x30,0x43,0x30,0x30,0x30,0x30,0x30};
unsigned char code cam_inq_focus_pos_[] = {0x2a,0x30,0x30,0x43,0x31,0x30,0x30,0x30,0x30};

unsigned char cam_read_id_[] 	 	= {0x2a,0x30,0x30,0x37,0x33,0x30,0x30,0x30,0x30};

extern void cam_focus_auto()		{f_auto_fg = 1;cam_send_command(cam_focus_auto_);}
extern void cam_focus_manu()		{f_auto_fg = 0;cam_send_command(cam_focus_manu_);}
extern void cam_focus_far()		{
								cam_focus_manu();
								delay_xms(25);
								cam_send_command(cam_focus_far_);
							}

extern void cam_zoom_wide()		{cam_send_command(cam_zoom_wide_);}
extern void cam_zoom_tele()		{cam_send_command(cam_zoom_tele_);}
extern void cam_zoom_stop()		{
								cam_send_command(cam_zoom_stop_);
								delay_xms(25);
								//set_level_limit();								
								cam_focus_auto();
							}

extern void cam_focus_near()		{
								cam_focus_manu();
								delay_xms(25);
								cam_send_command(cam_focus_near_);
							}
extern void cam_focus_stop()	{
								cam_send_command(cam_focus_stop_);								
							}
#ifdef CONTROL_IRIS
extern void cam_iris_open()		
{
	cam_ae_manu();
	delay_xms(30);
	cam_send_command(cam_iris_up_);
}

extern void cam_iris_close()		
{
	cam_ae_manu();
	delay_xms(30);
	cam_send_command(cam_iris_down_);
}

#else
extern void cam_iris_open()		{cam_send_command(cam_iris_up_);}
extern void cam_iris_close()		{cam_send_command(cam_iris_down_);}
#endif

//extern void cam_iris_open()		{cam_send_command(cam_iris_up_);}
//extern void cam_iris_close()		{cam_send_command(cam_iris_down_);}
extern void cam_power_on()			{cam_send_command(cam_power_on_);}
extern void cam_power_off()		{cam_send_command(cam_power_off_);}
extern void cam_ae_auto() 			{iris_manu_fg = 0;
cam_send_command(cam_ae_auto_);}
extern void cam_ae_manu()			{iris_manu_fg = 1;
cam_send_command(cam_ae_manu_);}
extern void cam_freeze_on()		{cam_send_command(cam_freeze_on_);}
extern void cam_freeze_off()		{cam_send_command(cam_freeze_off_);}	
extern void cam_backlight_on()		{cam_send_command(cam_backlight_on_);}
extern void cam_backlight_off()	{cam_send_command(cam_backlight_off_);}
extern void cam_reverse_on()		{cam_send_command(cam_reverse_on_);}
extern void cam_reverse_off()		{cam_send_command(cam_reverse_off_);}
extern void cam_display_on()		{cam_send_command(cam_display_on_);}
extern void cam_display_off()		{cam_send_command(cam_display_off_);}
extern void cam_d_zoom_on()	   {cam_send_command(cam_d_zoom_on_);}
extern void cam_d_zoom_off()		{cam_send_command(cam_d_zoom_off_);}



extern void cam_icrshot_on()		{
/*cam_send_command(cam_icrshot_on_);

#ifdef CAM_SONY_LP
  if (!bw_fg) 
  {
  	delay_xms(20);
  	cam_send_command(cam_picture_bw_);
  }
#endif
*/
}
extern void cam_icrshot_off()		{
/*cam_send_command(cam_icrshot_off_);

#ifdef CAM_SONY_LP
  if (!bw_fg) 
  {
  	delay_xms(20);
  	cam_send_command(cam_picture_off_);
  } 
#endif
*/
}

extern void cam_wb_auto()			{cam_send_command(cam_wb_auto_);}
extern void cam_wb_manu()			{cam_send_command(cam_wb_manu_);}
extern void cam_picture_off()  	{bw_fg = 0;cam_send_command(cam_picture_off_);}
extern void cam_picture_bw()   	{bw_fg = 1;cam_send_command(cam_picture_bw_);}
extern void cam_inq_zoom_pos()		{cam_send_command(cam_inq_zoom_pos_);}

extern void cam_inq_focus_pos()	{cam_send_command(cam_inq_focus_pos_);}

extern void cam_get_id(void)
{
	register unsigned char i,j = 30;	
	cam_send_command(cam_read_id_);
	while ((j--) && (cam_receive_byte() != 0x2a));
	for (i=0;i<3;i++) cr[i] = cam_receive_byte();		
	cam_id = asc2hex2(cr[1],cr[2]);	
}

extern void cam_icr_set(void)
{}
//{
/*
    cc_icr ++;
	if (cc_icr != 0xffff) return; 
	if (manual_fg) return;
	if (cont_fg) return;
	if (icr_manu_fg) return;

	cam_send_command(cam_inq_gain_pos_);
	cam_inquiry_state();
	delay_xms(20);
	if (seq[42] || seq[43] || seq[44]) goto icr_off; 
	if (seq[45] >= 0x06)
	{	
		if (_testbit_(icr_need_fg))
		{
			cam_icrshot_on();
			icr_fg = 1;
			delay_xms(20);
			cam_icrshot_on();
		}
		else if (!icr_fg)
			icr_need_fg = 1;
	}
	else
	{
icr_off:
		icr_need_fg = 0;
		if (_testbit_(icr_fg)) 
		{
			cam_icrshot_off();
			delay_xms(20);
			cam_icrshot_off();
		}
	}
*/
//}

extern void set_level_limit(void)
{
/*
	unsigned char zh,zl;

	cam_inq_zoom_pos();
	cam_inquiry_state();
	zh = ((seq[42] << 4) & 0xf0) | (seq[43] & 0x0f);
	zl = ((seq[44] << 4) & 0xf0) | (seq[45] & 0x0f);

	set_curlimit(((zh << 8) | zl) / 0x02e8);
*/
}

extern void cam_set_preset(void)
{
	cam_inq_zoom_pos();									// read zoom position
	cam_inquiry_state();
	pre[5] = ((seq[42] << 4) & 0xf0) | (seq[43] & 0x0f);
	pre[6] = ((seq[44] << 4) & 0xf0) | (seq[45] & 0x0f);
	//seq[5] = ((seq[42] << 4) & 0xf0) | (seq[43] & 0x0f);
	//seq[6] = ((seq[44] << 4) & 0xf0) | (seq[45] & 0x0f);
	delay_xms(20);

	cam_inq_focus_pos();								// read focus position
	cam_inquiry_state();
	pre[7] = ((seq[42] << 4) & 0xf0) | (seq[43] & 0x0f);
	pre[8] = ((seq[44] << 4) & 0xf0) | (seq[45] & 0x0f);
	//seq[7] = ((seq[42] << 4) & 0xf0) | (seq[43] & 0x0f);
	//seq[8] = ((seq[44] << 4) & 0xf0) | (seq[45] & 0x0f);			
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美大片国产精品| 亚洲视频免费在线观看| 中文字幕永久在线不卡| 亚洲成av人片一区二区三区| 国产宾馆实践打屁股91| 宅男噜噜噜66一区二区66| 国产精品久久午夜| 久久机这里只有精品| 色婷婷国产精品| 亚洲精品一区二区在线观看| 天天综合网 天天综合色| 成人高清免费在线播放| 精品欧美一区二区久久| 五月激情综合色| 91亚洲精品乱码久久久久久蜜桃| 精品精品国产高清一毛片一天堂| 亚洲第一电影网| 在线精品视频一区二区三四| 国产三级精品三级在线专区| 韩国精品久久久| 欧美一级二级三级蜜桃| 午夜精品久久久久久久99樱桃| 色婷婷香蕉在线一区二区| 国产欧美精品一区二区三区四区| 久久精品噜噜噜成人av农村| 欧美一区二区免费| 水野朝阳av一区二区三区| 欧美日韩激情一区二区三区| 亚洲高清视频的网址| 欧美午夜精品久久久| 亚洲免费av高清| 日本韩国一区二区三区| 一区二区欧美国产| 在线视频亚洲一区| 亚洲1区2区3区视频| 欧美日韩成人在线| 三级在线观看一区二区| 欧美一级日韩免费不卡| 日韩成人一级片| 日韩精品一区二区三区视频在线观看| 日韩不卡一二三区| 日韩美一区二区三区| 久久电影网电视剧免费观看| 久久这里只有精品视频网| 国产黄人亚洲片| 欧美国产日本韩| av一区二区久久| 亚洲欧美国产高清| 欧美日韩精品一区二区三区 | 91麻豆高清视频| 国产精品免费视频一区| 欧美放荡的少妇| 久久国内精品自在自线400部| 久久久国产精品麻豆| 91美女视频网站| 亚洲图片欧美视频| 精品久久久三级丝袜| 国产高清亚洲一区| 亚洲免费在线视频| 欧美疯狂做受xxxx富婆| 国产伦精品一区二区三区免费迷| 国产精品网站一区| 欧美日韩国产系列| 国产一二精品视频| 一区二区三区四区激情| 欧美mv和日韩mv国产网站| 成年人国产精品| 亚洲成在线观看| 久久免费美女视频| 精品视频色一区| 国产精品中文欧美| 亚洲成年人网站在线观看| 欧美精品一区二区三区很污很色的 | 亚洲成av人影院在线观看网| 精品国产精品网麻豆系列| 91亚洲国产成人精品一区二三| 亚洲一区二区三区爽爽爽爽爽| 精品国产一区二区三区久久影院| 色妹子一区二区| 精品无人码麻豆乱码1区2区 | 亚洲制服欧美中文字幕中文字幕| 精品少妇一区二区| 在线观看亚洲精品| 国产伦精品一区二区三区免费 | 日韩av中文字幕一区二区三区| 国产精品久久久久永久免费观看| 在线91免费看| 色一情一伦一子一伦一区| 国产原创一区二区三区| 亚洲午夜一区二区三区| 国产精品三级视频| 精品少妇一区二区三区| 7777精品伊人久久久大香线蕉的| www.亚洲在线| 国产传媒日韩欧美成人| 蜜桃av一区二区三区电影| 一区二区三区精品在线| 中文字幕精品一区二区三区精品| 日韩三级伦理片妻子的秘密按摩| 欧美亚洲一区三区| 99精品黄色片免费大全| 成人免费的视频| 国产suv一区二区三区88区| 伦理电影国产精品| 日本不卡不码高清免费观看| 一级精品视频在线观看宜春院| 中文字幕视频一区| 国产三级精品三级在线专区| 久久精品一区二区三区av| 日韩欧美国产一区二区三区| 91精品国产综合久久福利软件 | 日韩欧美的一区| 日韩一二三区不卡| 欧美一区二区三区人| 欧美卡1卡2卡| 欧美一区二区三区日韩视频| 欧美一区二区三区人| 制服丝袜亚洲色图| 日韩一区二区免费电影| 日韩精品专区在线影院重磅| 精品日韩一区二区三区免费视频| 日韩欧美三级在线| 久久人人爽人人爽| 欧美韩国日本不卡| 亚洲视频图片小说| 亚洲国产精品视频| 免费观看在线综合色| 国产精品综合视频| 成人丝袜高跟foot| 91麻豆国产香蕉久久精品| 欧美三片在线视频观看| 欧美一区二区三区日韩| 精品国产免费一区二区三区四区| 国产亚洲精品超碰| 1000精品久久久久久久久| 亚洲一区二区三区国产| 日本女优在线视频一区二区| 久久狠狠亚洲综合| 不卡的av在线| 欧美猛男男办公室激情| 26uuu欧美| 一区二区三区在线观看国产| 午夜精品久久久| 国内精品国产成人国产三级粉色 | 国产精品嫩草99a| 亚洲综合激情网| 国产一区二区在线视频| 白白色 亚洲乱淫| 欧美色综合久久| 久久香蕉国产线看观看99| 亚洲免费在线播放| 免费观看一级特黄欧美大片| 成人h动漫精品一区二区| 欧美日韩中文精品| 国产欧美视频一区二区| 午夜av区久久| 国产99久久久久| 欧美一级高清大全免费观看| 国产精品的网站| 久久 天天综合| 欧美性极品少妇| 中文字幕不卡的av| 日本不卡视频在线| 色88888久久久久久影院野外| 日韩免费一区二区三区在线播放| 中文字幕日韩精品一区| 韩国欧美国产1区| 欧美另类一区二区三区| 国产精品电影一区二区| 精品一区二区精品| 欧美精品久久久久久久多人混战| 中文乱码免费一区二区| 精品一区二区在线看| 欧美美女直播网站| 亚洲免费色视频| 成人一区二区三区在线观看| 日韩免费性生活视频播放| 香蕉成人伊视频在线观看| 91影院在线观看| 中文字幕高清一区| 国产激情视频一区二区三区欧美| 5566中文字幕一区二区电影| 一区二区三区在线免费视频| av亚洲精华国产精华精华| 欧美激情自拍偷拍| 国产乱码一区二区三区| 欧美成人a视频| 全部av―极品视觉盛宴亚洲| 欧美日韩久久久一区| 亚洲午夜久久久久| 在线一区二区视频| 夜色激情一区二区| 色综合久久中文综合久久97| 国产精品久久久久婷婷| 成人免费毛片嘿嘿连载视频| 国产三级一区二区| 国产99一区视频免费| 中文字幕制服丝袜一区二区三区 | 日韩精品三区四区| 欧美疯狂做受xxxx富婆|