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

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

?? rf_main.c

?? 實現6種報警語音合成和RF雙向解碼.可用于RF防盜報警設備開發的參考
?? C
?? 第 1 頁 / 共 2 頁
字號:
unsigned char  commande_receive(void){
	if(header_code_flag){
		for(data_bit_number=0;data_bit_number!=64;){
			while(P_IOA_bit0);//wait low signal
			P_TMR1_PreloadHi=0;
			P_TMR1_Preload=0;
			P_TMR0_1_Ctrl0|=64;//#%01000000  TMR1 fsys/32 start count
			while(P_IOA_bit0==0){//wait high signal
				if(logic_time_overflow_error){
					nop_instruction();
					nop_instruction();
					P_TMR0_1_Ctrl0&=3;// #%000000011 TMR1 pause count !
					nop_instruction();
					nop_instruction();
					logic_time_overflow_error=0;
					HEADER_CODE_SIGNAL_ERROR();
					return 0;
				}
			}
			counter_time=(unsigned int)P_TMR1_Preload;
			counter_time|=((unsigned int)P_TMR1_PreloadHi)<<8;
			P_TMR0_1_Ctrl0&=3;// #%000000011 TMR1 pause count !
//=============================================================================

			if((400<counter_time)&&(counter_time<1200)){
				HEADER_CODE_SIGNAL_RIGHT();
				return 0;
			}
//=============================================================================

			if((counter_time<MIN_logic_estimate_time)||(counter_time>MAX_logic_estimate_time)){
				//data signal logic error
				HEADER_CODE_SIGNAL_ERROR();
				return 0;
			}
//=============================================================================
	    if(data_number==1)goto data1_estimate;
	    if(data_number==2)goto data2_estimate;
    	if(data_number==3)goto data3_estimate;
    	if(data_number==4)goto data4_estimate;
	    if(data_number==5)goto data5_estimate;
	    if(data_number==6)goto data6_estimate;
	    if(data_number==7)goto data7_estimate;
	    if(data_number==8)goto data8_estimate;
	    break;
//=============================================================================
data1_estimate:
			if(counter_time>logic_estimate_time){
				setbit(data1,7);
			}else{
				clrbit(data1,7);
			}
			++data_bit_number;
			++displacement_number;
			if(displacement_number==8){
				displacement_number=0;
				++data_number;
			}else{
				data1>>=1;
			}
			goto estimate_end;
//=============================================================================
data2_estimate:
			if(counter_time>logic_estimate_time){
				setbit(data2,7);
			}else{
				clrbit(data2,7);
			}
			++data_bit_number;
			++displacement_number;
			if(displacement_number==8){
				displacement_number=0;
				++data_number;
			}else{
				data2>>=1;
			}
			goto estimate_end;
//=============================================================================
data3_estimate:
			if(counter_time>logic_estimate_time){
				setbit(data3,7);
			}else{
				clrbit(data3,7);
			}
			++data_bit_number;
			++displacement_number;
			if(displacement_number==8){
				displacement_number=0;
				++data_number;
			}else{
				data3>>=1;
			}
			goto estimate_end;
//=============================================================================
data4_estimate:
			if(counter_time>logic_estimate_time){
				setbit(data4,7);
			}else{
				clrbit(data4,7);
			}
			++data_bit_number;
			++displacement_number;
			if(displacement_number==8){
				displacement_number=0;
				++data_number;
			}else{
				data4>>=1;
			}
			goto estimate_end;
//=============================================================================
data5_estimate:
			if(counter_time>logic_estimate_time){
				setbit(data5,7);
			}else{
				clrbit(data5,7);
			}
			++data_bit_number;
			++displacement_number;
			if(displacement_number==8){
				displacement_number=0;
				++data_number;
			}else{
				data5>>=1;
			}
			goto estimate_end;
//=============================================================================
data6_estimate:
			if(counter_time>logic_estimate_time){
				setbit(data6,7);
			}else{
				clrbit(data6,7);
			}
			++data_bit_number;
			++displacement_number;
			if(displacement_number==8){
				displacement_number=0;
				++data_number;
			}else{
				data6>>=1;
			}
			goto estimate_end;
//=============================================================================
data7_estimate:
			if(counter_time>logic_estimate_time){
				setbit(data7,7);
			}else{
				clrbit(data7,7);
			}
			++data_bit_number;
			++displacement_number;
			if(displacement_number==8){
				displacement_number=0;
				++data_number;
			}else{
				data7>>=1;
			}
			goto estimate_end;
//=============================================================================
data8_estimate:
			if(counter_time>logic_estimate_time){
				setbit(data8,7);
			}else{
				clrbit(data8,7);
			}
			++data_bit_number;
			++displacement_number;
			if(displacement_number==8){
				displacement_number=0;
				data_number=1;
				receive_done_YN=1;
			}else{
				data8>>=1;
			}
estimate_end:
	    nop_instruction();
	    nop_instruction();
		}

//=============================================================================

		if(receive_done_YN){
			header_code_flag=0;
			data_number=1;
			receive_done_YN=0;
			displacement_number=0;
			return 1;
		}
		
	}else{
		P_TMR0_1_Ctrl0&=3;// #%000000011 pause count
		P_TMR1_PreloadHi=0;
		P_TMR1_Preload=0;
		while(P_IOA_bit0);//wait low signal(header code)
		P_TMR0_1_Ctrl0|=64;//#%01000000  TMR1 fsys/32 start count
		while(P_IOA_bit0==0){//wait high signal
			nop_instruction();
			nop_instruction();
			if(logic_time_overflow_error){
				nop_instruction();
				nop_instruction();
				P_TMR0_1_Ctrl0&=3;// #%000000011 TMR1 pause count !
				nop_instruction();
				nop_instruction();
				nop_instruction();
				logic_time_overflow_error=0;
				HEADER_CODE_SIGNAL_ERROR();
				return 0;
			}
		}
		counter_time=(unsigned int)P_TMR1_Preload;
		counter_time|=((unsigned int)P_TMR1_PreloadHi)<<8;
		P_TMR0_1_Ctrl0&=3;// #%000000011 TMR1 pause count !
		if((400<counter_time)&&(counter_time<1200)){
			HEADER_CODE_SIGNAL_RIGHT();
			return 0;
		}else{
			HEADER_CODE_SIGNAL_ERROR();
			return 0;
		}
	}
}


//**************************************************************
//********************HEADER_CODE_SIGNAL_RIGHT******************
//**************************************************************
void HEADER_CODE_SIGNAL_RIGHT(void){
	header_code_flag=1;
	displacement_number=0;
	data_number=1;
	counter_time>>=2;
	MAX_logic_estimate_time=counter_time;
	counter_time>>=1;
	MIN_logic_estimate_time=counter_time;
	logic_estimate_time=counter_time;
	counter_time>>=1;
	logic_estimate_time+=counter_time;
	MAX_logic_estimate_time+=counter_time;
	MIN_logic_estimate_time-=counter_time;
	counter_time=0;
}


//**************************************************************
//********************HEADER_CODE_SIGNAL_ERROR******************
//**************************************************************
void HEADER_CODE_SIGNAL_ERROR(void){
	header_code_flag=0;
	P_TMR1_PreloadHi=0;
	P_TMR1_Preload=0;
	data_number=1;
	displacement_number=0;
}

//**************************************************************
//************************commande verify***********************
//**************************************************************

void commande_verify(void){
	unsigned char commande_parameter;
	
	if((data1|data5)==255){
		if((data2|data6)==255){
			if((data3|data7)==255){
				if((data4|data8)==255){
					commande_parameter=data4;
					commande_parameter&=240;
					data4&=15;
					if(data1!=SERIAL_NO1)return;
					if(data2!=SERIAL_NO2)return;
					if(data3!=SERIAL_NO3)return;
					if(data4!=SERIAL_NO4)return;
					if(commande_parameter==16){
						if(key_code_number!=1){
							temp_pa&=5;//0000 0101
							P_IOA_Data=temp_pa;
							setbit(temp_pa,7);
							P_IOA_Data=temp_pa;
							key_code_number=1;

						  buzzer_high=95;//190ms
						  buzzer_low=115;//230ms
						  buzzer_again=1;
						  sound_out_YN=0;
						  buzzer_time=0;
						  sensitive_grade_change_EN=0;
						  loop_times=0;
						  sensitive_grade_select_EN=0;
						  sensitive_grade=sensitive_loop;
						  commande_key4_run_flag=0;
						}
						
						return;
					}
					if(commande_parameter==32){
						if(key_code_number!=2){
							temp_pa&=5;
							P_IOA_Data=temp_pa;
							setbit(temp_pa,6);
							P_IOA_Data=temp_pa;
							key_code_number=2;

							buzzer_high=95;//190ms
							buzzer_low=95;//190ms
							buzzer_again=2;
							sound_out_YN=0;
							buzzer_time=0;
							loop_times=0;
						}

						return;
					}
					if(commande_parameter==64){
						if(key_code_number!=3){
							temp_pa&=5;
							P_IOA_Data=temp_pa;
							setbit(temp_pa,5);
							P_IOA_Data=temp_pa;
							key_code_number=3;

							buzzer_high=15000;//30s
							buzzer_low=10;//20ms
							buzzer_again=1;
							sound_out_YN=0;
							buzzer_time=0;
							loop_times=0;
						}

						return;
					}
					if(commande_parameter==128){
						temp_pa&=5;
						P_IOA_Data=temp_pa;
						setbit(temp_pa,4);
						P_IOA_Data=temp_pa;
						commande_key4_YN=1;
						if(commande_key4_run_flag==0){
							if(sensitive_grade_select_EN){
								commande_key4_run_flag=1;

						    buzzer_high=95;//190ms
						    buzzer_low=95;//190ms
						    buzzer_again=sensitive_grade;
						    sound_out_YN=0;
						    sensitive_loop=sensitive_grade;
						    buzzer_time=0;
						    loop_times=0;
						  }
						}
					}
				}
			}
		}
	}else{
		commande_parameter=0;
	}
}


//**************************************************************
//************************sensitive adjust**********************
//**************************************************************
void sensitive_adjust(void){
	if((sensitive_grade_select_EN)&&(commande_key4_run_flag)){
		if(sensitive_grade_change_EN){
			if(sensitive_loop!=4){
				++sensitive_loop;
			}else{
				sensitive_loop=1;
			}
			sensitive_grade_change_EN=0;
			if(sensitive_loop!=sensitive_grade){
				buzzer_high=95;//190ms
				buzzer_low=95;//190ms
				sound_out_YN=0;
				buzzer_time=0;
				loop_times=0;
				buzzer_again=sensitive_loop;
			}else{
				sensitive_grade_select_EN=0;
				nop_instruction();
				sensitive_grade_change_EN=0;
				nop_instruction();
				commande_key4_run_flag=0;
			}
		}
	}
}
//**************************************************************
//*******************warning commande parameter*****************
//**************************************************************
void warn_commande_parameter(void){
	unsigned char x,y;
	if(send_done_YN){
		send_bit_number=0;
		send_code_number=1;
		send_done_YN=0;
		warn_code1=SERIAL_NO1;
		warn_code2=SERIAL_NO2;
		warn_code3=SERIAL_NO3;
		warn_code4=SERIAL_NO4;
		warn_code4|=240;//1111 0000
		warn_code5=~warn_code1;
		GUARD_DONE_YN=0;
		warn_code6=~warn_code2;
		PREAMBLE_DONE_YN=0;
		warn_code7=~warn_code3;
		HEADER_DONE_YN=0;
		warn_code8=~warn_code4;
		wave_LOW_delay=1;
		GUARD=0;
		PREAMBLE=0;
		HEADER=0;
		return;
	}
	if(send_code_number==1)goto code1_case;
	if(send_code_number==2)goto code2_case;
	if(send_code_number==3)goto code3_case;
	if(send_code_number==4)goto code4_case;
	if(send_code_number==5)goto code5_case;
	if(send_code_number==6)goto code6_case;
	if(send_code_number==7)goto code7_case;
	if(send_code_number==8)goto code8_case;

code1_case:
	x=warn_code1;
	y=1;
	goto DELAY_X;
CODE1_BK:
	warn_code1=x;
	goto DELAY_PARAMETER_BK;
code2_case:
	x=warn_code2;
	y=2;
	goto DELAY_X;
CODE2_BK:
	warn_code2=x;
	goto DELAY_PARAMETER_BK;
code3_case:
	x=warn_code3;
	y=3;
	goto DELAY_X;
CODE3_BK:
	warn_code3=x;
	goto DELAY_PARAMETER_BK;
code4_case:
	x=warn_code4;
	y=4;
	goto DELAY_X;
CODE4_BK:
	warn_code4=x;
	goto DELAY_PARAMETER_BK;
code5_case:
	x=warn_code5;
	y=5;
	goto DELAY_X;
CODE5_BK:
	warn_code5=x;
	goto DELAY_PARAMETER_BK;
code6_case:
	x=warn_code6;
	y=6;
	goto DELAY_X;
CODE6_BK:
	warn_code6=x;
	goto DELAY_PARAMETER_BK;
code7_case:
	x=warn_code7;
	y=7;
	goto DELAY_X;
CODE7_BK:
	warn_code7=x;
	goto DELAY_PARAMETER_BK;
code8_case:
	x=warn_code8;
	y=8;
	goto DELAY_X;
CODE8_BK:
	warn_code8=x;
	goto DELAY_PARAMETER_BK;

DELAY_X:
	if(testbit(x,7)){
		wave_LOW_delay=2;
		wave_HI_delay=1;
	}else{
		wave_HI_delay=2;
		wave_LOW_delay=1;
	}
	++send_bit_number;
	if(send_bit_number==8){
		send_bit_number=0;
		++send_code_number;
		if(send_code_number==9){
			send_done_YN=1;
		}
	}else{
		x<<=1;
	}
	if(y==1)goto CODE1_BK;
	if(y==2)goto CODE2_BK;
	if(y==3)goto CODE3_BK;
	if(y==4)goto CODE4_BK;
	if(y==5)goto CODE5_BK;
	if(y==6)goto CODE6_BK;
	if(y==7)goto CODE7_BK;
	if(y==8)goto CODE8_BK;
	nop_instruction();

DELAY_PARAMETER_BK:
	nop_instruction();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看日韩毛片| 日韩欧美的一区二区| 国产麻豆午夜三级精品| 一区二区三区在线观看视频| 1000部国产精品成人观看| 91麻豆精品国产91久久久更新时间 | 久久99精品国产麻豆婷婷| 亚洲啪啪综合av一区二区三区| 欧美一区二区三区四区高清| 懂色av一区二区在线播放| 日精品一区二区| 亚洲美女免费在线| 国产精品久久免费看| 久久久久一区二区三区四区| 欧美一区二区三区视频在线| 在线一区二区观看| 99国产欧美另类久久久精品| 国产成人精品午夜视频免费| 麻豆极品一区二区三区| 伊人婷婷欧美激情| 国产欧美日韩亚州综合| 2020国产成人综合网| 精品国产免费一区二区三区四区| 欧美精品vⅰdeose4hd| 欧美日韩国产a| 欧美精选一区二区| 欧美精品99久久久**| 日韩欧美一级二级| 91精品在线麻豆| 欧美一区二区久久| 欧美成人三级电影在线| 久久久美女毛片| 国产色综合一区| 国产精品久久影院| 亚洲色图第一区| 天天综合色天天综合色h| 丝袜诱惑制服诱惑色一区在线观看| 日韩成人免费电影| 国内成人精品2018免费看| 国产sm精品调教视频网站| 丰满放荡岳乱妇91ww| 蜜臀av性久久久久av蜜臀妖精| 午夜精品免费在线| 久久精品久久99精品久久| 欧美一区二区三区视频免费播放| 91精品婷婷国产综合久久性色| 欧美一级午夜免费电影| 欧美丰满美乳xxx高潮www| 欧美大片在线观看| 成人欧美一区二区三区小说| 精品污污网站免费看| 欧美刺激脚交jootjob| 国产日韩欧美综合一区| 国产精品三级av在线播放| 亚洲福利电影网| 国产精品88av| 欧美欧美午夜aⅴ在线观看| 精品久久人人做人人爱| 亚洲精品乱码久久久久| 久久99久久久欧美国产| 色综合天天做天天爱| 日韩免费高清av| 亚洲精品久久久久久国产精华液| 久久精品久久久精品美女| 色天天综合色天天久久| 久久精品一二三| 免费高清不卡av| 日本精品一区二区三区高清| 26uuu欧美| 欧美久久一二区| 一区二区三区高清不卡| 国产成人精品免费在线| 欧美精品一区二| 亚洲h在线观看| 91视视频在线观看入口直接观看www| 精品蜜桃在线看| 美洲天堂一区二卡三卡四卡视频 | 欧美mv和日韩mv的网站| 亚洲第一会所有码转帖| 91国偷自产一区二区三区成为亚洲经典 | 日本乱人伦一区| 亚洲视频在线一区二区| 国产a级毛片一区| 久久久久久97三级| 国产精品一区二区在线观看不卡 | 久久亚洲欧美国产精品乐播| 免费xxxx性欧美18vr| 日韩视频中午一区| 日韩黄色免费电影| 欧美一区二区三区电影| 亚洲精品菠萝久久久久久久| 91蝌蚪porny| 一区二区三区四区激情| 欧美日韩国产乱码电影| 午夜精品一区二区三区免费视频| 欧美影院一区二区三区| 亚洲伦理在线精品| 成人免费不卡视频| 亚洲欧美成人一区二区三区| 色噜噜狠狠成人网p站| 亚洲国产综合色| 欧美精品777| 国产一区二区三区久久悠悠色av| 久久免费视频色| 中文在线资源观看网站视频免费不卡| 成人涩涩免费视频| 亚洲免费在线播放| 日韩午夜小视频| 成人丝袜高跟foot| 亚洲大片一区二区三区| 日韩精品一区国产麻豆| 国产jizzjizz一区二区| 一区二区三区视频在线看| 日韩西西人体444www| 高清视频一区二区| 亚洲影院免费观看| 久久亚洲欧美国产精品乐播| 色狠狠色狠狠综合| 狠狠色狠狠色合久久伊人| 中文字幕一区av| 日韩精品一区国产麻豆| 91精彩视频在线| 丰满岳乱妇一区二区三区| 丝袜美腿亚洲色图| 国产精品毛片久久久久久| 91精品国产综合久久久久久久| 成人av网站在线观看免费| 亚洲成av人片在线观看无码| 中文字幕精品—区二区四季| 欧美日韩国产在线观看| 成人动漫一区二区| 久久精品国产精品亚洲综合| 亚洲五码中文字幕| 国产精品麻豆视频| 亚洲精品一区在线观看| 欧美日韩一区二区三区在线看| 成人午夜免费av| 国产麻豆视频一区| 人人狠狠综合久久亚洲| 亚洲一级在线观看| 国产精品三级av在线播放| 国产午夜亚洲精品羞羞网站| 欧美日本在线观看| 色综合天天综合在线视频| 激情图片小说一区| 久久99国内精品| 日本一不卡视频| 亚洲国产日韩av| 一区二区三区欧美| 中文字幕不卡在线播放| 久久久久久夜精品精品免费| 欧美一三区三区四区免费在线看| 欧美午夜精品理论片a级按摩| 91激情在线视频| 亚洲欧美乱综合| 一区二区视频在线| 亚洲欧洲日韩女同| 成人免费一区二区三区视频| 国产精品免费av| 国产一区二区三区久久悠悠色av| 日一区二区三区| 久久精品国产久精国产| 免费人成精品欧美精品| 视频一区二区三区中文字幕| 国产精品久久久久久久久图文区| 久久精品亚洲精品国产欧美kt∨ | 欧美精品在线观看播放| 91麻豆精东视频| 玉足女爽爽91| 中文字幕视频一区二区三区久| 中文字幕一区二区三区在线播放| 亚洲香肠在线观看| 国产99久久久国产精品潘金网站| 99久久久精品| 欧美日韩午夜在线| 精品1区2区在线观看| 一区二区三区在线观看欧美| 麻豆国产欧美一区二区三区| 国产在线看一区| 国产成人精品亚洲日本在线桃色| 高清shemale亚洲人妖| 在线免费视频一区二区| 精品久久久久久无| 亚洲综合清纯丝袜自拍| 久草精品在线观看| 在线观看免费成人| 国产婷婷色一区二区三区在线| 亚洲第一综合色| 色婷婷激情综合| 欧美高清在线一区二区| 亚洲理论在线观看| 97久久精品人人爽人人爽蜜臀 | 韩国三级电影一区二区| 色av综合在线| 中文字幕在线免费不卡| 久久精品国产澳门| 欧美一级二级在线观看| 亚洲一卡二卡三卡四卡| 成人av免费在线| 国产目拍亚洲精品99久久精品|