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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cam_hita.c

?? 這是監(jiān)視器行業(yè)常見攝像頭與球機通訊協(xié)議的C語言源代碼
?? C
字號:
/* 	
	Library for control hitachi camera 
	V 1.00 build 2003.06.20
	support camera list:

	16X:
		VK_S914(TTL)
	22X:
		VK_S234(TTL)
	23X:
		VK_S454(TTL)
		
*/

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


//發(fā)送或接收數(shù)據(jù)時關(guān)中斷

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


//為4800波特率的攝像機使用
#ifdef FOCS_40M

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

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

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

#else

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

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

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

#endif

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

	RESET;
	ACC = cam_data;
	check_bit = P;
	//EA = 0;
	ATXD = 0;							// 發(fā)送起始碼
	_nop_();
	
	for (i=0;i<8;i++)
	{
		cam_bit_delays();		
		cam_data >>= 1;
		ATXD = CY;	
	}
	cam_bit_delays();
	ATXD = check_bit;				
	cam_bit_delays();
	//EA = 1;
	ATXD = 1;						// 發(fā)送結(jié)束碼
	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++)					// 開始移位接收數(shù)據(jù)
				{
					cam_bit_delayr();
					cam_data >>= 1;
					ARXD = 1;
					if (ARXD) cam_data |= 0x80;		// '低位在前讀數(shù)據(jù)'經(jīng)典
				}
				cam_bit_delayr();
				cam_bit_delayr();
				cam_bit_delayr();
				goto sr_exit;
			}
		}
	RESET;
	}while ((++i) <10000);
sr_exit:
	EA = 1;
	return cam_data;
}

//bit icr_fg = 0;
//bit icr_need_fg = 0;
bit icr_manu_fg = 0;
//bit iris_manu_fg = 0;
//bit bw_fg = 0;
//unsigned char idata cam_id;
//unsigned int idata cc_icr = 0;
unsigned char idata s_data[11];

// camera
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)
{
	if (asc < 0x30) return 0xff;
	asc -= 0x30;
	if (asc < 0x0a) return asc;
	asc -= 0x07;
	if ((asc < 0x0a) || (asc > 0x0f)) return 0xff;
	return asc;
}

unsigned char asc2hex2(unsigned char hi,lo)
{
	unsigned char tmphi,tmplo;
	tmphi = asc2hex(hi);
	if ( tmphi == 0xff) return 0xff;
	tmplo = asc2hex(lo);
	if ( tmplo == 0xff) return 0xff;
	return (tmphi<<4 | tmplo);
}

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

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


//模擬發(fā)送并接收一組數(shù)據(jù),接收的數(shù)據(jù)存在發(fā)送的數(shù)組中
void cam_sandr_comm(unsigned char * s,unsigned char cc)
{
	while (cc--)
	{
		RESET;
		cam_send_byte(*s);
		*s = cam_receive_byte();
		s++;
	}
}

void cam_send_command(unsigned char *s,unsigned char cc)
{
	while (cc--)
	{
		cam_send_byte(*s);
		s++;
	}
	delay_xms(30);
}

extern void cam_focus_auto()		
{
	f_auto_fg = 1;
	cam_send_command(":WFF0E00",8);
	//delay_xms(30);
}

extern void cam_focus_manu()	
{
	f_auto_fg = 0;
	cam_send_command(":WFF0E08",8);
	//delay_xms(30);
}

extern void cam_focus_far()		
{
	cam_focus_manu();
	//delay_xms(30);
	cam_send_command(":WFCBBA9",8);
	//delay_xms(30);
}
extern void cam_focus_near()		
{
	cam_focus_manu();
	//delay_xms(30);
	cam_send_command(":WFCBBAA",8);
	//delay_xms(30);
}
extern void cam_focus_stop()	
{
	cam_send_command(":WFCBBFE",8);
	//delay_xms(30);							
}
extern void cam_zoom_wide()		
{
	cam_send_command(":WFCBB9B",8);
	//delay_xms(30);
}
extern void cam_zoom_tele()		
{
	cam_send_command(":WFCBB99",8);
	//delay_xms(30);
}
extern void cam_zoom_stop()		
{
	cam_focus_stop();
	//delay_xms(30);
	cam_focus_auto();
	//delay_xms(30);
}
extern void cam_iris_open()		{}
extern void cam_iris_close()		{}
extern void cam_power_on()			{}
extern void cam_power_off()		{}
extern void cam_ae_auto() 			{}
extern void cam_ae_manu()			{}
extern void cam_freeze_on()		{}
extern void cam_freeze_off()		{}	
extern void cam_backlight_on()		{cam_send_command(":WFECE02",8);}
extern void cam_backlight_off()	{cam_send_command(":WFECE00",8);}
extern void cam_reverse_on()		{}
extern void cam_reverse_off()		{}
extern void cam_display_on()		{}
extern void cam_display_off()		{}
extern void cam_d_zoom_on()		{cam_send_command(":WFCCB01",8);}
extern void cam_d_zoom_off()		{cam_send_command(":WFCCB00",8);}
extern void cam_icrshot_on()		{}
extern void cam_icrshot_off()		{}

extern void cam_wb_auto()			{}
extern void cam_wb_manu()			{}
extern void cam_picture_off()  	{}
extern void cam_picture_bw()   	{}
//extern void cam_inq_zoom_pos()		{}
//extern void cam_inq_focus_pos()	{}

extern void cam_get_id(void)
{
	cam_send_command(":WFDFC04",8);	
}

extern void cam_icr_set(void)
{
}

extern void set_level_limit(void)
{
	set_curlimit(1);
}

extern void cam_zoom_focus_direct(void)
{
	unsigned char i = 0;
	unsigned char th,tl;
	
	ES = 0;

	cam_focus_manu();								
	//delay_xms(30);

	cam_send_command(":WF75303",8);
	//delay_xms(30);
/*
	th = pre[11]; // tcb
	tl = pre[12];
	s_data[0] = ':';
	s_data[1] = 'w';
	s_data[2] = 'F';
	s_data[3] = '7';
	s_data[4] = 'B';
	s_data[5] = 'E';
	s_data[6] = hex2aschi(th);
	s_data[7] = hex2asclo(th);
	s_data[8] = hex2aschi(tl);
	s_data[9] = hex2asclo(tl);
	cam_send_command(s_data,10);
	delay_xms(30);

	th = pre[13]; // tcda
	tl = pre[14];
	s_data[0] = ':';
	s_data[1] = 'w';
	s_data[2] = 'F';
	s_data[3] = '7';
	s_data[4] = 'C';
	s_data[5] = '2';
	s_data[6] = hex2aschi(th);
	s_data[7] = hex2asclo(th);
	s_data[8] = hex2aschi(tl);
	s_data[9] = hex2asclo(tl);
	cam_send_command(s_data,10);
	delay_xms(30);

	th = pre[15]; // tcdb
	tl = pre[16];
	s_data[0] = ':';
	s_data[1] = 'w';
	s_data[2] = 'F';
	s_data[3] = '7';
	s_data[4] = 'C';
	s_data[5] = '4';
	s_data[6] = hex2aschi(th);
	s_data[7] = hex2asclo(th);
	s_data[8] = hex2aschi(tl);
	s_data[9] = hex2asclo(tl);
	cam_send_command(s_data,10);
	delay_xms(30);

	th = pre[17]; // select
	s_data[0] = ':';
	s_data[1] = 'W';
	s_data[2] = 'F';
	s_data[3] = '8';
	s_data[4] = '9';
	s_data[5] = '5';
	s_data[6] = hex2aschi(th);
	s_data[7] = hex2asclo(tl);
	cam_send_command(s_data,8);
	delay_xms(30);
*/
	RESET;
	// digit
	if (pre[5] || pre[6])
	{
		cam_d_zoom_on();
		//WDTC |= 0x40;
		//delay_xms(30);
	}
	s_data[0] = ':';
	s_data[1] = 'w';
	s_data[2] = 'F';
	s_data[3] = 'C';
	s_data[4] = '6';
	s_data[5] = 'E';
	s_data[6] = hex2aschi(pre[5]);
	s_data[7] = hex2asclo(pre[5]);
	s_data[8] = hex2aschi(pre[6]);
	s_data[9] = hex2asclo(pre[6]);
	cam_send_command(s_data,10);
	//delay_xms(30);

	// focu
	s_data[0] = ':';
	s_data[1] = 'w';
	s_data[2] = 'F';
	s_data[3] = '7';
	s_data[4] = '1';
	s_data[5] = '2';
	s_data[6] = hex2aschi(pre[7]);
	s_data[7] = hex2asclo(pre[7]);
	s_data[8] = hex2aschi(pre[8]);
	s_data[9] = hex2asclo(pre[8]);
	cam_send_command(s_data,10);
	//delay_xms(30);
	
	// zoom
	s_data[0] = ':';
	s_data[1] = 'w';
	s_data[2] = 'F';
	s_data[3] = '7';
	s_data[4] = '1';
	s_data[5] = '6';
	s_data[6] = hex2aschi(pre[9]);
	s_data[7] = hex2asclo(pre[9]);
	s_data[8] = hex2aschi(pre[10]);
	s_data[9] = hex2asclo(pre[10]);
	cam_send_command(s_data,10);

	do{		
		strcpy(s_data,":rF7140000");
		cam_sandr_comm(s_data,10);
		delay_xms(30);
		th = asc2hex2(s_data[6],s_data[7]);
		tl = asc2hex2(s_data[8],s_data[9]);
		RESET;
		if (i++ > 200) break;
	} while (((th != pre[9]) || (tl != pre[10])));

	cam_send_command(":WF75302",8);	
	//delay_xms(30);
	ES = 1;
}

extern void cam_set_preset(void)
{
	
	ES = 0;
	RESET;
	cam_focus_manu();
/*
	strcpy(s_data,":rF7BE0000");
	cam_sandr_comm(s_data,10); // read tcb 2 bits
	seq[11] =asc2hex2(s_data[6],s_data[7]);  
	seq[12] =asc2hex2(s_data[8],s_data[9]); 

	strcpy(s_data,":rF7C20000");
	cam_sandr_comm(s_data,10); // read tcda 2 bits
	seq[13] =asc2hex2(s_data[6],s_data[7]);  
	seq[14] =asc2hex2(s_data[8],s_data[9]);
 	
	strcpy(s_data,":rF7C40000");
	cam_sandr_comm(s_data,10); // read tcdb 2 bits
	seq[15] =asc2hex2(s_data[6],s_data[7]);  
	seq[16] =asc2hex2(s_data[8],s_data[9]); 

	strcpy(s_data,":RF89500");
	cam_sandr_comm(s_data,8); // read select tc 1 bits
	seq[17] =asc2hex2(s_data[6],s_data[7]);
*/	
	strcpy(s_data,":rFC6E0000");
	cam_sandr_comm(s_data,10); // read digit zoom 2 bits
	seq[5] = asc2hex2(s_data[6],s_data[7]);  
	seq[6] = asc2hex2(s_data[8],s_data[9]); 
	RESET;
	delay_xms(30);
 
	strcpy(s_data,":rF7100000");		
	cam_sandr_comm(s_data,10); // read focus position 2 bits
	seq[7] = asc2hex2(s_data[6],s_data[7]);  // focu hi
	seq[8] = asc2hex2(s_data[8],s_data[9]);  // focu lo
	RESET;
	delay_xms(30);

	strcpy(s_data,":rF7140000");
	cam_sandr_comm(s_data,10); // read zoom position 2 bits
	seq[9] = asc2hex2(s_data[6],s_data[7]);  // zoom hi
	seq[10] = asc2hex2(s_data[8],s_data[9]);  // zoom lo
	RESET;
	delay_xms(30);

	ES = 1;		
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜精品一区二区| 在线精品亚洲一区二区不卡| 久久综合九色综合欧美就去吻| 久久国产夜色精品鲁鲁99| 日韩精品一区二区三区视频播放| 久久99久久精品欧美| 久久久亚洲精品一区二区三区| 国产精品影音先锋| 国产精品大尺度| 欧美亚洲高清一区| 奇米色一区二区| 国产午夜精品久久久久久久| 一本久久a久久精品亚洲| 亚洲在线观看免费| 欧美va在线播放| 成人黄色免费短视频| 亚洲国产日韩精品| 精品久久久久久最新网址| 成人综合在线网站| 亚洲综合色自拍一区| 欧美成人性战久久| 成人精品国产一区二区4080| 亚洲大片精品永久免费| 欧美成人一区二区三区片免费 | 懂色av噜噜一区二区三区av| 亚洲欧洲性图库| 欧美精品在欧美一区二区少妇| 欧美va在线播放| 国产99久久久精品| 亚洲一区二区三区在线播放| 日韩精品一区二区三区四区| 91女神在线视频| 免费在线一区观看| 综合欧美一区二区三区| 欧美一区二区三区不卡| eeuss影院一区二区三区| 偷拍一区二区三区四区| 欧美激情中文字幕一区二区| 欧美日韩久久一区| 国产精品18久久久久久久久久久久| 一区二区三区美女视频| 久久一区二区三区国产精品| 欧美中文字幕不卡| 国产精品一级片在线观看| 亚洲午夜电影在线| 国产精品你懂的在线欣赏| 欧美肥大bbwbbw高潮| 成人av影院在线| 免费成人在线观看| 亚洲欧美色综合| 久久久精品蜜桃| 欧美喷潮久久久xxxxx| 成人黄色在线视频| 蜜桃av一区二区三区| 中文字幕一区在线观看| 精品国内片67194| 欧美午夜片在线看| jlzzjlzz亚洲日本少妇| 欧美大片在线观看| 欧美色区777第一页| 成人免费av在线| 久久爱www久久做| 亚洲在线免费播放| 亚洲欧美在线视频观看| 欧美精品一区二区三区蜜臀| 欧美日韩黄色一区二区| 99久久精品费精品国产一区二区| 久久福利视频一区二区| 亚洲成av人综合在线观看| 亚洲视频在线观看三级| 国产午夜精品一区二区三区嫩草| 日韩亚洲欧美高清| 欧美日韩中文字幕一区| 色哟哟精品一区| 成人午夜av在线| 国产精品1区2区3区在线观看| 日韩国产欧美在线观看| 亚洲综合图片区| 亚洲天堂2016| 国产精品福利av| 国产欧美一区二区三区沐欲| 精品日韩一区二区三区| 欧美一区二区三区公司| 在线成人免费观看| 欧美日韩国产色站一区二区三区| 91麻豆自制传媒国产之光| av在线综合网| 国产69精品一区二区亚洲孕妇| 紧缚奴在线一区二区三区| 美女一区二区在线观看| 日韩福利电影在线观看| 亚洲高清视频中文字幕| 欧美性色综合网| caoporen国产精品视频| 成人性生交大片免费看中文网站| 国产一区 二区 三区一级| 久久福利资源站| 精品中文字幕一区二区小辣椒| 日韩成人免费在线| 免费成人在线视频观看| 日本不卡视频一二三区| 日韩 欧美一区二区三区| 婷婷成人激情在线网| 亚洲成人7777| 三级亚洲高清视频| 日本va欧美va精品发布| 裸体一区二区三区| 激情国产一区二区| 国产精一区二区三区| 国产a区久久久| 成人成人成人在线视频| 不卡一卡二卡三乱码免费网站| 成人黄色电影在线| 91免费看视频| 欧美三级视频在线观看| 欧美日韩一区中文字幕| 777亚洲妇女| 精品日本一线二线三线不卡| 国产亚洲人成网站| 国产精品美女久久久久久久久久久| 国产精品国产三级国产有无不卡| 亚洲视频网在线直播| 亚洲国产精品一区二区久久 | 国产乱码精品一区二区三区忘忧草| 久热成人在线视频| 国产一区二区美女诱惑| 成人黄色电影在线| 91国产免费看| 欧美一区二区三区成人| 久久久久久一级片| 亚洲欧洲精品成人久久奇米网| 亚洲欧美精品午睡沙发| 午夜伊人狠狠久久| 看电影不卡的网站| 粉嫩一区二区三区在线看| 99精品国产视频| 欧美三级在线视频| 欧美xxxx在线观看| 中文字幕在线播放不卡一区| 亚洲一区二区美女| 久久成人综合网| 成人97人人超碰人人99| 精品视频1区2区| 精品久久一区二区三区| 亚洲欧洲美洲综合色网| 五月天精品一区二区三区| 国产做a爰片久久毛片| 99久久精品国产观看| 欧美精选一区二区| 久久久91精品国产一区二区精品 | 精品伦理精品一区| 中文字幕免费在线观看视频一区| 一区二区三区在线视频播放| 蜜桃视频一区二区三区在线观看| 国产91精品久久久久久久网曝门| 亚洲激情在线激情| 麻豆免费看一区二区三区| 成人深夜福利app| 欧美日韩精品三区| 国产偷国产偷亚洲高清人白洁| 亚洲在线视频网站| 国产一区二区主播在线| 在线亚洲精品福利网址导航| 精品毛片乱码1区2区3区 | 一区二区日韩av| 久草在线在线精品观看| 色综合久久99| 欧美videossexotv100| 亚洲精品免费看| 国内精品久久久久影院一蜜桃| 色综合久久天天| 精品91自产拍在线观看一区| 一区二区三区精品视频| 国产美女精品在线| 欧美日韩色综合| 国产精品久久久久久户外露出 | 成人性视频网站| 欧美一卡二卡三卡| 亚洲日本在线观看| 国内精品嫩模私拍在线| 欧美三级中文字| 国产精品每日更新| 久久国产精品露脸对白| 欧美在线啊v一区| 欧美激情在线看| 美腿丝袜亚洲色图| 在线观看不卡一区| 中文字幕不卡一区| 精一区二区三区| 欧美日韩国产一二三| 亚洲同性gay激情无套| 26uuu亚洲综合色| 视频一区在线视频| 色婷婷国产精品| 欧美高清在线一区二区| 久久超级碰视频| 欧美日韩精品一区二区三区四区 | 国产精品久久午夜夜伦鲁鲁| 日韩电影在线观看电影| 日本精品一级二级|