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

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

?? cam_sony3.c

?? 這是監視器行業常見攝像頭與球機通訊協議的C語言源代碼
?? C
字號:
/* 	
	Library for control sony camera 
	V 1.00 build 2003.05.08
	support camera list:
	16X:
		SONY450AP(TTL)
		SONY450LP(TTL)
	18X:
 		SONY480AP(TTL)
		SONY480LP(TTL)
		FCB-EX480BP(TTL)
*/

// for BP


#include <REG54.H>
#include <INTRINS.H>
#include "kernel.h"
#include "camera2.h"
//#include "cam_func.h"

//#define CAM_SONY_LP

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

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


//為9600波特率的攝像機使用
#ifdef FOCS_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++);
}

#else

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

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

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

#endif

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;
}

void cam_send_command(unsigned char *p)
{
	while (*p != 0xff)
	{
		cam_send_byte(*p);
		p++;
	}
	cam_send_byte(0xff);
}

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_power_on_[]	= {0x81,0x01,0x04,0x00,0x02,0xff};
unsigned char code cam_power_off_[]	= {0x81,0x01,0x04,0x00,0x03,0xff};
unsigned char code cam_zoom_stop_[]	= {0x81,0x01,0x04,0x07,0x00,0xff};
unsigned char code cam_zoom_tele_[]	= {0x81,0x01,0x04,0x07,0x27,0xff};
unsigned char code cam_zoom_wide_[]	= {0x81,0x01,0x04,0x07,0x37,0xff};
unsigned char code cam_d_zoom_on_[]	= {0x81,0x01,0x04,0x06,0x02,0xff};
unsigned char code cam_d_zoom_off_[] = {0x81,0x01,0x04,0x06,0x03,0xff};
//unsigned char code cam_icrshot_on_[] = {0x81,0x01,0x04,0x01,0x02,0xff};
//unsigned char code cam_icrshot_off_[] = {0x81,0x01,0x04,0x01,0x03,0xff};
unsigned char code cam_focus_stop_[]	= {0x81,0x01,0x04,0x08,0x00,0xff};
unsigned char code cam_focus_far_[]		= {0x81,0x01,0x04,0x08,0x02,0xff};
unsigned char code cam_focus_near_[]	= {0x81,0x01,0x04,0x08,0x03,0xff};
unsigned char code cam_focus_auto_[]	= {0x81,0x01,0x04,0x38,0x02,0xff};
unsigned char code cam_focus_manu_[]	= {0x81,0x01,0x04,0x38,0x03,0xff};
unsigned char code cam_iris_up_[]	    = {0x81,0x01,0x04,0x0b,0x02,0xff};
unsigned char code cam_iris_down_[]	= {0x81,0x01,0x04,0x0b,0x03,0xff};
unsigned char code cam_wb_auto_[]	    = {0x81,0x01,0x04,0x35,0x00,0xff};
unsigned char code cam_wb_manu_[]		= {0x81,0x01,0x04,0x35,0x05,0xff};
unsigned char code cam_ae_auto_[] 		= {0x81,0x01,0x04,0x39,0x00,0xff};
unsigned char code cam_ae_manu_[]		= {0x81,0x01,0x04,0x39,0x03,0xff};
unsigned char code cam_backlight_on_[] = {0x81,0x01,0x04,0x33,0x02,0xff};
unsigned char code cam_backlight_off_[]= {0x81,0x01,0x04,0x33,0x03,0xff};
unsigned char code cam_reverse_on_[]	= {0x81,0x01,0x04,0x61,0x02,0xff};
unsigned char code cam_reverse_off_[]	= {0x81,0x01,0x04,0x61,0x03,0xff};
unsigned char code cam_freeze_on_[]	= {0x81,0x01,0x04,0x62,0x02,0xff};
unsigned char code cam_freeze_off_[]	= {0x81,0x01,0x04,0x62,0x03,0xff};
unsigned char code cam_picture_off_[]	= {0x81,0x01,0x04,0x63,0x00,0xff};
unsigned char code cam_picture_bw_[]	= {0x81,0x01,0x04,0x63,0x04,0xff};
unsigned char code cam_display_on_[]	= {0x81,0x01,0x04,0x15,0x02,0xff};
unsigned char code cam_display_off_[]	= {0x81,0x01,0x04,0x15,0x03,0xff};
unsigned char code cam_inq_zoom_pos_[]	= {0x81,0x09,0x04,0x47,0xff};
unsigned char code cam_inq_focus_pos_[] = {0x81,0x09,0x04,0x48,0xff};
unsigned char code cam_inq_gain_pos_[] = {0x81,0x09,0x04,0x4C,0xff};

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(12);
								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(24);
								set_level_limit();
								delay_xms(24);
								cam_focus_auto();
							}

extern void cam_focus_near()		{
								cam_focus_manu();
								delay_xms(24);
								cam_send_command(cam_focus_near_);
							}
extern void cam_focus_stop()	{
								cam_send_command(cam_focus_stop_);								
							}

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()		
{
}
extern void cam_icrshot_off()		
{
}
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()  		{cam_send_command(cam_picture_off_);}
extern void cam_picture_bw()   		{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)
{
	unsigned char code _cam_icr_auto[] = {0x81,0x01,0x04,0x51,0x02,0xff};

	cam_send_command(_cam_icr_auto);	
}

extern void cam_icr_set(void)
{
}

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);
	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);		
}

// for camera title

extern void cam_clr_title(void)
{
	unsigned char code _cam_clr_title[] =
	{ 0x81,0x01,0x04,0x74,0x00,0xff};
	cam_send_command(_cam_clr_title);
}

extern void cam_disp_title(bit onf)
{
	unsigned char code _cam_on_title[] =
	{ 0x81,0x01,0x04,0x74,0x02,0xff};
	unsigned char code _cam_off_title[] =
	{ 0x81,0x01,0x04,0x74,0x03,0xff};

	if (onf)
		cam_send_command(_cam_on_title);
	else
		cam_send_command(_cam_off_title);
}

extern void cam_set_title(unsigned char apos,unsigned char str[])
{
	unsigned char idata mm,nn,pp,qq;

	switch (apos)
	{
	case 0:
		mm = 1;
		nn = 1;
		break;
	case 1:
		mm = 0x0a;
		nn = 17;
		break;
	}
	pp = 6;
	qq = 0;

	//set position
	cam_send_byte(0x81);
	cam_send_byte(0x01);
	cam_send_byte(0x04);
	cam_send_byte(0x73);
	cam_send_byte(0x00);
	cam_send_byte(mm);
	cam_send_byte(nn);
	cam_send_byte(pp);
	cam_send_byte(qq);
	cam_send_byte(0x00);
	cam_send_byte(0x00);
	cam_send_byte(0x00);
	cam_send_byte(0x00);
	cam_send_byte(0x00);
	cam_send_byte(0x00);
	cam_send_byte(0xff);
	delay_xms(20);

	//set s1 -- s10
	cam_send_byte(0x81);
	cam_send_byte(0x01);
	cam_send_byte(0x04);
	cam_send_byte(0x73);
	cam_send_byte(0x01);
	cam_send_byte(str[0]);
	cam_send_byte(str[1]);
	cam_send_byte(str[2]);
	cam_send_byte(str[3]);
	cam_send_byte(str[4]);
	cam_send_byte(str[5]);
	cam_send_byte(str[6]);
	cam_send_byte(str[7]);
	cam_send_byte(str[8]);
	cam_send_byte(str[9]);
	cam_send_byte(0xff);
	delay_xms(20);

	//set s11 -- s20
	cam_send_byte(0x81);
	cam_send_byte(0x01);
	cam_send_byte(0x04);
	cam_send_byte(0x73);
	cam_send_byte(0x02);
	cam_send_byte(str[10]);
	cam_send_byte(str[11]);
	cam_send_byte(str[12]);
	cam_send_byte(str[13]);
	cam_send_byte(str[14]);
	cam_send_byte(str[15]);
	cam_send_byte(str[16]);
	cam_send_byte(str[17]);
	cam_send_byte(str[18]);
	cam_send_byte(str[19]);
	cam_send_byte(0xff);
	delay_xms(20);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本韩国精品在线| 99久久久国产精品| 首页亚洲欧美制服丝腿| 一区二区三区精品视频在线| 国产精品全国免费观看高清| 国产色产综合色产在线视频| 国产午夜精品美女毛片视频| 国产视频视频一区| 亚洲欧洲av在线| 亚洲综合视频在线观看| 亚洲午夜电影在线观看| 婷婷久久综合九色综合伊人色| 日精品一区二区三区| 麻豆精品视频在线观看免费| 韩国av一区二区三区四区 | 91在线观看高清| 色综合久久66| 欧美高清一级片在线| 国产乱妇无码大片在线观看| av一区二区久久| 麻豆精品一区二区| 国产乱码一区二区三区| 国产精品白丝jk黑袜喷水| 91美女在线看| 3d动漫精品啪啪一区二区竹菊| 精品国产制服丝袜高跟| 国产精品视频观看| 日韩成人精品在线| 风间由美一区二区三区在线观看 | 91丨porny丨首页| 欧美日韩电影在线播放| 日韩欧美国产麻豆| 亚洲欧洲99久久| 蜜臀av性久久久久蜜臀aⅴ流畅| 成人久久久精品乱码一区二区三区 | 亚洲精品成人精品456| 视频精品一区二区| 丁香婷婷综合网| 欧美喷潮久久久xxxxx| 国产欧美日韩综合| 免费成人在线视频观看| 色综合久久99| 日本一区二区三区久久久久久久久不| 亚洲综合色区另类av| 国产成人免费在线视频| 欧美一区二区在线视频| 中文字幕一区二| 国产精品一区二区免费不卡| 在线成人小视频| 亚洲丝袜制服诱惑| 国产成人免费视频一区| 91麻豆精品久久久久蜜臀| 亚洲免费观看高清完整版在线观看| 久久国产视频网| 欧美老人xxxx18| 亚洲制服丝袜av| 99久久久精品免费观看国产蜜| 久久一夜天堂av一区二区三区 | 欧美一级片免费看| 一区二区三区国产精品| 97成人超碰视| 综合色中文字幕| 丁香另类激情小说| 国产欧美日韩不卡免费| 极品少妇一区二区三区精品视频 | 在线观看欧美黄色| 一区二区三区在线播| 99久久99久久精品免费观看| 国产日韩三级在线| 国产乱人伦偷精品视频不卡 | 成人18精品视频| 国产日本亚洲高清| 国产精品影视天天线| 久久久五月婷婷| 国产电影一区二区三区| 欧美精品一区二区三区视频| 久久99国产乱子伦精品免费| 日韩视频不卡中文| 久久精品99国产精品日本| 欧美一区二区久久| 久久电影网站中文字幕| 久久综合久久久久88| 国产成人午夜精品影院观看视频| 日本一区二区三区电影| av中文字幕不卡| 一二三区精品视频| 在线成人高清不卡| 久久国产精品99精品国产 | 一色桃子久久精品亚洲| 色哟哟精品一区| 亚洲成人免费av| 欧美成人女星排名| 成人免费视频播放| 一区二区三区加勒比av| 日韩一级视频免费观看在线| 国产一区二区精品久久99| 国产精品三级久久久久三级| 色狠狠色噜噜噜综合网| 日本大胆欧美人术艺术动态| 精品国产免费人成在线观看| 成人精品国产一区二区4080| 一区二区欧美国产| 精品国产乱码久久久久久影片| 成人一级黄色片| 午夜久久久影院| 久久久久国产一区二区三区四区 | 国产99久久久国产精品免费看| 日韩美女视频一区| 日韩午夜激情av| 不卡视频在线看| 三级欧美韩日大片在线看| 国产日韩欧美一区二区三区综合| 色久优优欧美色久优优| 狠狠色综合日日| 亚洲国产精品一区二区久久| 久久久美女毛片| 欧美男女性生活在线直播观看| 国产成人免费在线视频| 亚洲h在线观看| 国产精品久久久久久久久久免费看| 欧美高清激情brazzers| 成人黄色小视频在线观看| 美女尤物国产一区| 亚洲一区二区视频在线观看| 色老综合老女人久久久| 国产剧情一区二区三区| 日韩va亚洲va欧美va久久| 亚洲日本在线天堂| 国产免费观看久久| 久久综合av免费| 8x8x8国产精品| 欧美性猛片aaaaaaa做受| 国产精品影视在线观看| 麻豆精品一区二区av白丝在线| 亚洲一区二区三区自拍| 国产精品福利影院| 国产欧美综合在线观看第十页| 欧美一级高清大全免费观看| 欧美中文字幕一二三区视频| 不卡电影一区二区三区| 国产91精品一区二区| 国产精品白丝av| 国产一区二区美女| 国产精品一区二区三区99| 久久97超碰国产精品超碰| 蜜臀99久久精品久久久久久软件| 亚洲国产日产av| 亚洲午夜久久久久久久久电影院 | 国产91清纯白嫩初高中在线观看| 蜜桃视频在线一区| 日本va欧美va精品| 蜜臀av一区二区三区| 免费不卡在线视频| 精品一区二区三区在线播放视频| 蜜桃av一区二区三区| 六月婷婷色综合| 国产精品影音先锋| 国产传媒久久文化传媒| 国产激情视频一区二区三区欧美| 加勒比av一区二区| 粉嫩av一区二区三区粉嫩| 成人免费毛片嘿嘿连载视频| av在线一区二区三区| 一本色道久久综合狠狠躁的推荐| 日本韩国欧美三级| 91精品国产欧美一区二区成人| 欧美绝品在线观看成人午夜影视| 在线播放日韩导航| 日韩免费一区二区| 国产精品免费视频网站| 一区二区三区精品在线| 水野朝阳av一区二区三区| 喷白浆一区二区| 国产91在线观看| 欧美亚洲动漫另类| 亚洲精品一区二区三区福利| 国产清纯在线一区二区www| 亚洲欧美另类小说| 免费成人结看片| 99久久精品免费| 69久久99精品久久久久婷婷| 久久久久久久久一| 亚洲一区在线视频观看| 麻豆精品新av中文字幕| 97se亚洲国产综合自在线观| 91精品国产综合久久福利软件| 国产无一区二区| 日日夜夜免费精品| 99热在这里有精品免费| 日韩欧美在线123| 亚洲精选一二三| 精品一区二区三区在线观看| 日本道在线观看一区二区| 日韩欧美在线网站| 伊人色综合久久天天人手人婷| 国产一区二区三区在线观看精品| 91在线码无精品| 国产午夜精品在线观看| 日本系列欧美系列| 欧美性生活影院|