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

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

?? cam_dis660.c

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


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


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


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

#define ZOOM_POS	0x0022

bit icr_fg = 0;
bit icr_need_fg = 0;
bit icr_manu_fg = 0;
bit iris_manu_fg = 0;
unsigned char data cam_id;
unsigned char data cr[9];

/*
unsigned char get_dis560(unsigned int ss)
{
	if (ss < 0x0098)
		return 1;
	else if (ss < 0x00bd)
		return 7;
	else if (ss < 0x00e5)
		return 10;
	else if (ss < 0x0126)
		return 12;
	else
		return 16;

}
*/

void cam_send_command(unsigned char cam[])
{
	unsigned char cs;
	cam_send_byte(cam[0]);
	cs = cam[0];
	cam_send_byte(cam[1]);
	cs += cam[1];
	cam_send_byte(cam[2]);
	cs += cam[2];
	cam_send_byte(cam[3]);
	cs += cam[3];
	cam_send_byte(cam_id);
	cs += cam_id;
	cam_send_byte(cs);
}

extern void cam_zoom_focus_direct(void)
{
	unsigned int tt;

	cam_focus_manu();									
	delay_xms(30);

	cr[0] = 0xc5;
	cr[1] = 0x49;
	cr[2] = pre[5] & 0x1f;
	cr[3] = pre[6];
	cam_send_command(cr);
	delay_xms(50);

	cr[0] = 0xc5;
	cr[1] = 0x49;
	cr[2] = pre[5] & 0x1f;
	cr[3] = pre[6];
	cam_send_command(cr);
	delay_xms(50);
	
	cr[1] = 0x4a;
	cr[2] = pre[8] & 0x1f;
	cr[3] = pre[9];
	cam_send_command(cr);
	delay_xms(50);

	cr[1] = 0x4a;
	cr[2] = pre[8] & 0x1f;
	cr[3] = pre[9];
	cam_send_command(cr);
	delay_xms(50);

	cr[1] = 0x4b;
	cr[2] = 0;
	cr[3] = pre[7];
	cam_send_command(cr);
	delay_xms(50);

	cr[1] = 0x4b;
	cr[2] = 0;
	cr[3] = pre[7];
	cam_send_command(cr);
	delay_xms(50);

	cr[1] = 0x4d;
	cr[2] = 0;
	cr[3] = 0;
	cam_send_command(cr);
	delay_xms(50);

	cr[1] = 0x4d;
	cr[2] = 0;
	cr[3] = 0;
	cam_send_command(cr);
	delay_xms(50);


	if (pre[7]) 
		set_curlimit(16);
	else
	{
		tt = ((pre[5] << 8) | pre[6]);
		//set_curlimit(get_dis560(tt));		
	    set_curlimit((unsigned char)(tt>>5));
	}
}

unsigned char code cam_inq_zoom_pos_[] = {0xc5,0x36,0x00,0x00,0x00,0x00};
unsigned char code cam_inq_focu_pos_[] = {0xc5,0x37,0x00,0x00,0x00,0x00};

void cam_inq_zoom_pos(void)
{
	register unsigned char i,j = 30;
	
	cam_send_command(cam_inq_zoom_pos_);
	while ((j--) && (cam_receive_byte() != 0xc5));
	for (i=0;i<6;i++) cr[i] = cam_receive_byte();
}

void cam_inq_focu_pos(void)
{
	register unsigned char i,j = 30;
	
	cam_send_command(cam_inq_focu_pos_);
	while ((j--) && (cam_receive_byte() != 0xc5));
	for (i=0;i<5;i++) cr[i] = cam_receive_byte();
}

extern void cam_set_preset(void)
{
	cam_inq_focu_pos();
	pre[8] = cr[3];
	pre[9] = cr[4];
	delay_xms(50);
	cam_inq_zoom_pos();
	pre[5] = cr[3];
  	pre[6] = cr[4];
	pre[7] = cr[5];
}

unsigned char code cam_read_id_[]   = {0xc5,0xcc,0x00,0x00,0x00,0x00};
unsigned char code cam_power_on_[]	= {0xc5,0x3a,0x00,0x00,0x00,0x00};
unsigned char code cam_power_off_[]	= {0xc5,0x3e,0x00,0x00,0x00,0x00};
unsigned char code cam_zoom_stop_[]	= {0xc5,0x5f,0x0c,0x00,0x00,0x00};
unsigned char code cam_zoom_tele_[]	= {0xc5,0x5f,0x01,0x00,0x00,0x00};
unsigned char code cam_zoom_wide_[]	= {0xc5,0x5f,0x03,0x00,0x00,0x00};
unsigned char code cam_d_zoom_on_[]	= {0xc5,0xaa,0x6e,0x01,0x00,0x00};
unsigned char code cam_d_zoom_off_[] = {0xc5,0xaa,0x6e,0x00,0x00,0x00};
unsigned char code cam_focus_stop_[]	= {0xc5,0x5f,0x0c,0x00,0x00,0x00};
unsigned char code cam_focus_far_[]		= {0xc5,0x5f,0x38,0x00,0x00,0x00};
unsigned char code cam_focus_near_[]	= {0xc5,0x5f,0x39,0x00,0x00,0x00};
unsigned char code cam_focus_auto_[]	= {0xc5,0xaa,0x73,0x00,0x00,0x00};
unsigned char code cam_focus_manu_[]	= {0xc5,0xaa,0x73,0x01,0x00,0x00};
unsigned char code cam_iris_up_[]	    = {0xc5,0x5f,0x42,0x00,0x00,0x00};
unsigned char code cam_iris_down_[]		= {0xc5,0x5f,0x43,0x00,0x00,0x00};
unsigned char code cam_wb_auto_[]	    = {0xc5,0xaa,0x65,0x00,0x00,0x00};
unsigned char code cam_wb_manu_[]		= {0xc5,0xaa,0x65,0x04,0x00,0x00};
unsigned char code cam_ae_auto_[] 		= {0xc5,0xaa,0x60,0x00,0x00,0x00};
unsigned char code cam_ae_manu_[]		= {0xc5,0xaa,0x60,0x02,0x00,0x00};
unsigned char code cam_backlight_on_[] = {0xc5,0xaa,0x70,0x01,0x00,0x00};
unsigned char code cam_backlight_off_[]= {0xc5,0xaa,0x70,0x00,0x00,0x00};
unsigned char code cam_reverse_on_[]	= {0xc5,0xaa,0x7f,0x01,0x00,0x00};
unsigned char code cam_reverse_off_[]	= {0xc5,0xaa,0x7f,0x00,0x00,0x00};
unsigned char code cam_picture_off_[]	= {0xc5,0xaa,0x71,0x01,0x00,0x00};
unsigned char code cam_picture_bw_[]	= {0xc5,0xaa,0x71,0x00,0x00,0x00};
unsigned char code cam_display_on_[]	= {0xc5,0xaa,0x64,0x24,0x00,0x00};
unsigned char code cam_display_off_[]	= {0xc5,0xaa,0x64,0x00,0x00,0x00};
//maybe use
//unsigned char code cam_set_digi_[] = {0xc5,0x52,0x06,0x00,0x00,0x00};

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(24);
								cam_send_command(cam_focus_far_);
							}

extern void cam_zoom_wide()		
{
	zoom_change_fg = 0;
	cam_send_command(cam_zoom_wide_);
	delay_xms(50);
}

extern void cam_zoom_tele()		
{
	zoom_change_fg = 0;
	cam_send_command(cam_zoom_tele_);
	delay_xms(50);
}

extern void cam_zoom_stop()		
{
	unsigned int idata tt;
	unsigned char idata mm;
	unsigned char i,j = 30;

	cam_send_command(cam_zoom_stop_);
	delay_xms(50);
								//set_level_limit();
	zoom_change_fg = 1;
	zoom_wide_fg = 0;
	zoom_tele_fg = 0;
								//
	if (!f_auto_fg) cam_focus_auto();
	delay_xms(80);

	//set_level_limit();
	{
		

	cam_send_command(cam_inq_zoom_pos_);
	while (j--) 
	{
 		if (cam_receive_byte() != 0xc5) continue;
again:	mm = cam_receive_byte();
		if (mm != 0x36)
		{
			if (mm == 0xc5) goto again;
			continue;
		}
		for (i=1;i<6;i++) cr[i] = cam_receive_byte();
		break;
	}

	//if (cr[5])
	//	set_curlimit(16);
	//else
	{
		tt = ((cr[3] << 8) | cr[4]);
		mm = tt >> 5;
		//set_curlimit(get_dis560(tt));
	//	set_curlimit((unsigned char)(tt>>5));
	}

	if (mm >= 13)
		cur_limit = 3;
	else if (mm > 6)
		cur_limit = 16 - mm;
	else
		cur_limit = 10;	
	}
	delay_xms(30);
}

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_);delay_xms(12);cam_send_command(cam_zoom_stop_);}
extern void cam_iris_close()		{}//cam_send_command(cam_iris_down_);delay_xms(12);cam_send_command(cam_zoom_stop_);}
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()		{}
extern void 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_get_id(void)
{
	register unsigned char i,j = 30;
	
	cam_send_command(cam_read_id_);
	while ((j--) && (cam_receive_byte() != 0xc5));
	for (i=0;i<4;i++) cr[i] = cam_receive_byte();		
	cam_id = cr[3];
}


extern void cam_icr_set(void)
{
}

extern void set_level_limit(void)
{	
	unsigned int idata tt;
	unsigned char idata mm;

	cam_inq_zoom_pos();

	//if (cr[5])
	//	set_curlimit(16);
	//else
	{
		tt = ((cr[3] << 8) | cr[4]);
		mm = tt >> 5;
		//set_curlimit(get_dis560(tt));
	//	set_curlimit((unsigned char)(tt>>5));
	}

	if (mm >= 13)
		cur_limit = 3;
	else if (mm > 6)
		cur_limit = 16 - mm;
	else
		cur_limit = 10;	
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国模大尺度视频| 欧美高清激情brazzers| 中文欧美字幕免费| 国产99久久久国产精品免费看| 久久综合色8888| 国产成人在线视频网站| 国产精品毛片大码女人| 在线观看日韩毛片| 日韩电影免费在线| 国产亚洲精品久| 99天天综合性| 丝袜美腿成人在线| 久久日韩粉嫩一区二区三区| 成人av电影在线| 亚洲福利一区二区| 精品国产1区二区| 9人人澡人人爽人人精品| 亚洲午夜在线视频| 精品国产一区二区三区忘忧草| 成人美女视频在线观看| 夜夜嗨av一区二区三区| 欧美一级国产精品| 成人性生交大片免费看视频在线 | 亚洲超碰97人人做人人爱| 91精品国产综合久久小美女| 韩国成人在线视频| 亚洲黄色av一区| 精品福利在线导航| 91美女片黄在线观看| 男男gaygay亚洲| 欧美乱熟臀69xxxxxx| 国产凹凸在线观看一区二区| 午夜精品一区二区三区免费视频| 精品日韩一区二区| 欧美伊人久久大香线蕉综合69 | 青青青爽久久午夜综合久久午夜| 久久午夜羞羞影院免费观看| 在线中文字幕一区二区| 国产在线精品一区二区不卡了 | 国产成人午夜片在线观看高清观看| 亚洲品质自拍视频网站| 久久影院电视剧免费观看| 欧美亚洲动漫另类| 成人激情综合网站| 久久国产精品一区二区| 亚洲综合久久久久| 亚洲国产欧美另类丝袜| 中文字幕一区二区三区乱码在线 | 在线视频亚洲一区| 国产剧情av麻豆香蕉精品| 亚洲国产视频在线| 国产精品免费视频观看| wwwwxxxxx欧美| 欧美一区二区三区视频在线| 色婷婷综合久久久中文字幕| 国产成人午夜电影网| 美女尤物国产一区| 视频一区二区不卡| 亚洲国产日产av| 一区二区三区在线影院| 亚洲欧洲另类国产综合| 国产欧美日韩卡一| 久久日韩精品一区二区五区| 日韩视频免费直播| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲成人免费在线观看| 亚洲精品久久久蜜桃| 综合婷婷亚洲小说| 亚洲婷婷在线视频| 综合色天天鬼久久鬼色| 中文字幕亚洲区| 亚洲欧美影音先锋| 国产精品大尺度| 亚洲天堂中文字幕| 亚洲精品成a人| 亚洲精品五月天| 一区二区三区视频在线看| 麻豆freexxxx性91精品| 蜜乳av一区二区三区| 全部av―极品视觉盛宴亚洲| 视频一区二区中文字幕| 香蕉影视欧美成人| 日韩国产高清在线| 蜜臀av一区二区在线观看| 人人狠狠综合久久亚洲| 捆绑调教美女网站视频一区| 麻豆精品一二三| 国内精品视频一区二区三区八戒| 国产中文字幕一区| 国产一区91精品张津瑜| 丁香网亚洲国际| av亚洲精华国产精华精| 日本丶国产丶欧美色综合| 91久久国产最好的精华液| 欧美色爱综合网| 日韩一区二区三区视频在线| 精品国精品国产| 国产精品国产三级国产aⅴ中文 | 日本不卡在线视频| 久久99国产精品久久99| 国产精品伊人色| 99国产欧美另类久久久精品| 欧美视频自拍偷拍| 欧美一级理论性理论a| 久久久久久亚洲综合| 亚洲欧美在线视频观看| 午夜精品久久久久久| 国产麻豆视频一区| 日本道精品一区二区三区| 欧美一级欧美一级在线播放| 国产亚洲精品精华液| 夜夜精品浪潮av一区二区三区| 天堂在线亚洲视频| 风间由美一区二区三区在线观看 | 亚洲日本青草视频在线怡红院 | 首页亚洲欧美制服丝腿| 韩国成人在线视频| 色婷婷亚洲婷婷| 欧美成人a在线| 亚洲乱码国产乱码精品精小说| 丝袜亚洲另类欧美综合| 成人福利视频在线| 3d动漫精品啪啪| 国产精品福利一区二区| 天天色综合天天| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 欧美日韩中文字幕一区| 久久天天做天天爱综合色| 亚洲欧美日韩国产手机在线| 精品一区二区国语对白| 日本电影亚洲天堂一区| 国产日韩欧美综合一区| 日韩国产在线观看| 91丨porny丨国产入口| 精品成人私密视频| 午夜影院久久久| 91原创在线视频| 国产三级久久久| 精品无人码麻豆乱码1区2区| 欧美天堂亚洲电影院在线播放| 国产欧美日韩精品在线| 久久国产精品免费| 欧美一区日韩一区| 亚洲一区二区三区在线| 亚洲精品一区二区三区香蕉| 亚洲一区免费视频| 91玉足脚交白嫩脚丫在线播放| 久久久国产午夜精品 | 久久亚洲精品小早川怜子| 日本网站在线观看一区二区三区| 93久久精品日日躁夜夜躁欧美| 久久精品在线免费观看| 日本不卡视频在线| 3atv一区二区三区| 亚洲二区在线视频| 在线精品视频一区二区三四| 中文字幕中文在线不卡住| 国产精品1024久久| 欧美精品一区男女天堂| 日本大胆欧美人术艺术动态| 欧美日韩三级一区二区| 亚洲图片有声小说| 欧美视频在线观看一区| 亚洲国产毛片aaaaa无费看 | 欧美三级三级三级爽爽爽| 亚洲色图在线视频| 91色在线porny| 亚洲欧洲美洲综合色网| 91麻豆免费看| 一区二区三区欧美亚洲| 欧美在线啊v一区| 亚洲国产一区二区三区| 欧美精品久久99久久在免费线| 亚洲午夜在线视频| 欧美精品三级在线观看| 日本免费新一区视频| xf在线a精品一区二区视频网站| 蜜臀99久久精品久久久久久软件| 91精品国产品国语在线不卡 | 精品一区二区三区视频在线观看| 56国语精品自产拍在线观看| 奇米影视一区二区三区小说| 欧美不卡视频一区| 国产老妇另类xxxxx| 日本一二三不卡| 日本精品视频一区二区| 亚洲在线视频网站| 91精品国产91久久久久久一区二区 | 欧美揉bbbbb揉bbbbb| 婷婷成人综合网| 2023国产精品自拍| av网站一区二区三区| 亚洲成人三级小说| 日韩精品中文字幕一区 | 成人aa视频在线观看| 亚洲日本在线视频观看| 3751色影院一区二区三区| 国产一区不卡在线| 亚洲欧美日韩国产手机在线| 欧美乱熟臀69xxxxxx|