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

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

?? rf_main.c

?? 實現(xiàn)6種報警語音合成和RF雙向解碼.可用于RF防盜報警設備開發(fā)的參考
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
**********************************************************************
*                      RF RECEIVE&SEND SOUND                         *
*                       THE SOFT FUNCTIONS                          *
*                           FOR RF GUARD                             *
*                                                                    *
* File    : main.c                                                   *
* By      : CAESAR                                                   *
* Version : V1.0                                                     *
* Date    : 07.01.20                                                 *
* Applied : SUNPLUSE SMP65 2204                                      *
* Clock	  : Crystal 16MHZ                                            *
* Wdt     : Enable                                                   *
**********************************************************************
*/

#include <intr6502.h>
#include "bodydef.h"
#include "typedef.h"
#include "RF.h"

#pragma language=extended
unsigned char a,b,c;

unsigned char temp_pa;
int main(void){
	b='B';
	a=SERIAL_NO1;
	a=SERIAL_NO2;
	a=SERIAL_NO3;
	a=SERIAL_NO4;
	c=a;
	disable_interrupt();
	P_SYS_Ctrl=255;
	P_SYS_Ctrl=255;
	systeam_initialize();
	warn_commande_read();
	while(1){
		P_WDT_Clr=85;
		if(commande_receive()){
			commande_verify();
		}
		nop_instruction();
		sensitive_adjust();
//		sound_processor();
		a=23;
		b=15;
		c=a*0.135;
		if(c==1){
			a=34;
		}
	}
}



//**************************************************************
//***********************systeam initialize*********************
//**************************************************************
void systeam_initialize(void){
	disable_interrupt();
	P_INT_Flag0=255;
	P_INT_Flag1=255;
	P_INT_Flag2=255;
	P_INT_Ctrl0=0;
	P_INT_Ctrl1=0;
	P_INT_Ctrl2=0;//clear RAM disable interrupt

	time_2ms=16;
	time_1500ms=750;
	time_384us=3;
	sensitive_grade=1;
	warning_send_status_YN=1;

	P_TMR1_PreloadHi=0;
	P_TMR1_Preload=0;
	P_TMR0_1_Ctrl0=1;//#%0000 0001
	P_TMR0_1_Ctrl0&=252;//%11111100 pause tmr0 count
	P_TMR0_1_Ctrl1=68;// fsys/32
	P_BUZ_Ctrl=64;//128uS
	P_IOA_Dir=254;
	P_IOA_Attrib=0;
	temp_pa=1;
	P_IOA_Data=temp_pa;
	P_INT_Ctrl1=C_INT_T1OIE;//enable tmr0 interrupt
	P_INT_Ctrl1|=C_INT_T0OIE;//enable tmr1 interrupt
	P_INT_Ctrl2=C_INT_ITVALIE;//enable timebase interrupt
	increment_down_up=1;
	enable_interrupt();
}

//**************************************************************
//*********************warning commande read********************
//**************************************************************
void warn_commande_read(void){
	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;
	warn_code6=~warn_code2;
	warn_code7=~warn_code3;
	warn_code8=~warn_code4;
}

/*****************************************************************************/
/* V_IRQ() : IRQ interrupt service routine									 */
/*****************************************************************************/
#pragma function=interrupt
interrupt void V_IRQ(void){	
	if(testbit(P_INT_Flag1,0)){//tmr0 intterrupt
		if(frequency_parameter_change_YN){
			P_TMR0_1_Ctrl0&=252;//%11111100 pause tmr0 count
			P_TMR0_Preload=frequency_parameter;
			P_TMR0_1_Ctrl0|=1;//%00000001 8bit timer
			frequency_parameter_change_YN=0;
		}			
		P_INT_Flag1|=C_INT_T0OIF;//clear interrupt flag
		if(silence_flag){
			clrbit(temp_pa,2);
			P_IOA_Data=temp_pa;
		}else{
			inversebit(temp_pa,2);
			P_IOA_Data=temp_pa;
		}
		return;
	}
//=============================================================================
	if(testbit(P_INT_Flag1,1)){//tmr1 interrupt
		P_INT_Flag1|=C_INT_T1OIF;//clear interrupt flag
		logic_time_overflow_error=1;
		nop_instruction();
		nop_instruction();
		//inversebit(temp_pa,4);
		//P_IOA_Data=temp_pa;
		return;
	}
		
//=============================================================================
	if(testbit(P_INT_Flag2,5)){//timebase intterupt 128us
		P_INT_Flag2|=C_INT_ITVALIE;//clear interrupt flag
		nop_instruction();
		--time_384us;
		if(time_384us==0){
			time_384us=3;
		if(warning_send_status_YN){
			if(GUARD_DONE_YN==0){
				if(GUARD!=15){//16
					clrbit(temp_pa,1);
					P_IOA_Data=temp_pa;
					++GUARD;
				}else{
					GUARD_DONE_YN=1;
				}
			}else{
				if(PREAMBLE_DONE_YN==0){
					if(PREAMBLE!=19){//20
						inversebit(temp_pa,1);
						P_IOA_Data=temp_pa;
						++PREAMBLE;
					}else{
						PREAMBLE_DONE_YN=1;
					}
				}else{
					if(HEADER_DONE_YN==0){
						if(HEADER!=7){//8
							clrbit(temp_pa,1);
							P_IOA_Data=temp_pa;
							++HEADER;
						}else{
							HEADER_DONE_YN=1;
						}
					}else{
						if(ONE_PULSE_DONE_YN){
							warn_commande_parameter();
							ONE_PULSE_DONE_YN=0;
						}
						if(wave_HI_delay!=0){
							setbit(temp_pa,1);
							P_IOA_Data=temp_pa;
							--wave_HI_delay;
						}else{
							clrbit(temp_pa,1);
							P_IOA_Data=temp_pa;
							--wave_LOW_delay;
							if(wave_LOW_delay==0){
								ONE_PULSE_DONE_YN=1;
								nop_instruction();
							}
						}
					}
				}
			}
		}
	}
				
//=============================================================================
		--time_2ms;
		if(time_2ms==0){
			time_2ms=16;
			--time_200ms;
			if(time_200ms==0){
				time_200ms=100;
				if(commande_key4_YN){
					++commande_key4_time;
					commande_key4_YN=0;
					if(commande_key4_time>10){
						nop_instruction();
						sensitive_grade_select_EN=1;
						nop_instruction();
					}
				}else{
					commande_key4_time=0;
				}
			}
			if(sensitive_grade_select_EN){
				if(delay_1500ms_EN){
					if(time_1500ms!=0){
						--time_1500ms;
					}else{
						sensitive_grade_change_EN=1;
						time_1500ms=750;
					}
				}else{
					time_1500ms=750;
				}
			}else{
				time_1500ms=750;
			}

			if(buzzer_again!=0){
				delay_1500ms_EN=0;
				if(buzzer_time==0){
					if(sound_out_YN){
						buzzer_time=buzzer_low;
						sound_out_YN=0;
						music_number=0;
						silence_flag=1;
						clrbit(temp_pa,2);
						P_IOA_Data=temp_pa;
						speaker_out_start_flag=1;
					}else{
						buzzer_time=buzzer_high;
						sound_out_YN=1;
						if(speaker_out_start_flag){
							--buzzer_again;
						}
						if(buzzer_again!=0){
							next_music_number=1;
							music_initialize();
						}
					}
				}else{
					--buzzer_time;
				}
			}else{
				silence_flag=1;
				clrbit(temp_pa,2);
				P_IOA_Data=temp_pa;
				sound_out_YN=0;
				music_number=0;
				speaker_out_start_flag=0;
				buzzer_time=0;
				key_code_number=0;
				delay_1500ms_EN=1;
			}
		}
//=============================================================================





		if(music_number==1)goto CAESE_1;
		if(music_number==2)goto CAESE_2;
		if(music_number==3)goto CAESE_3;
		if(music_number==4)goto CAESE_4;
		if(music_number==5)goto CAESE_5;
		if(music_number==6)goto CAESE_6;
		goto COME_BACK;
//=============================================================================
CAESE_1://警車 1.8KHZ~3.5KHZ(0.1S)~1.8KHZ(0.1S)
            silence_flag=0;
			if(frequency_increment_step!=23){//24*128=3.072ms
				++frequency_increment_step;
			}else{
				frequency_parameter_change_YN=1;
				frequency_increment_step=0;
				if(increment_down_up){
					if(frequency_parameter>220){
						increment_down_up=0;
					}else{
						frequency_parameter+=1;
					}
				}else{
					if(frequency_parameter<187){
						increment_down_up=1;
						++loop_times;
						if(loop_times==25){
							next_music_number=2;
							music_initialize();
							loop_times=0;
						}
					}else{
						frequency_parameter-=1;
					}
				}
			}
			goto COME_BACK;
//=============================================================================
CAESE_2://國賓開道1 1500HZ~488HZ/  263ms
			silence_flag=0;
			if(frequency_increment_step!=11){
				++frequency_increment_step;//128uS*12=1.536ms*173=263ms
			}else{
				frequency_increment_step=0;
				frequency_parameter_change_YN=1;
				if(frequency_parameter>0){
					frequency_parameter-=1;//488HZ
				}else{
					frequency_parameter=173;//1.5KHZ
					++loop_times;
					if(loop_times==10){
						next_music_number=3;
						music_initialize();
						loop_times=0;
					}
				}
			}
			goto COME_BACK;
//=============================================================================
CAESE_3://救護音 0.97KHZ/1.5KHZ 1S切換
			if(frequency_division_16bit!=7030){//7031*128uS=0.9S
				++frequency_division_16bit;
			}else{
				frequency_division_16bit=0;
				frequency_parameter_change_YN=1;
				if(increment_down_up){
					frequency_parameter=173;//1.5KHZ
					increment_down_up=0;
				}else{
					frequency_parameter=127;//0.97KHZ
					increment_down_up=1;
					++loop_times;
					if(loop_times==4){
						next_music_number=4;
						music_initialize();
						loop_times=0;
					}
				}
			}
			goto COME_BACK;
//=============================================================================
CAESE_4://警車警戒 340HZ~840HZ/ 16.384ms*111=1.8S
			if(frequency_division!=127){//128*128uS=16.384ms
				++frequency_division;
			}else{
				frequency_division=0;
				if(silence_flag==0){
					frequency_parameter_change_YN=1;
					if(frequency_parameter>145){
						frequency_parameter=0;
						silence_flag=1;
					}else{
						frequency_parameter+=1;
					}
				}else{
					if(frequency_increment_step!=20){//21*16.384=340ms
						++frequency_increment_step;
					}else{
						frequency_increment_step=0;
						silence_flag=0;
						++loop_times;
						if(loop_times==3){
							next_music_number=5;
							music_initialize();
							loop_times=0;
						}
					}
				}
			}
			goto COME_BACK;
//=============================================================================
CAESE_5://警車開道 1.887KHZ/280ms
			if(frequency_division_16bit!=2407){//2408*128uS=262.144ms
				++frequency_division_16bit;
			}else{
				frequency_division_16bit=0;
				if(increment_down_up){
					silence_flag=0;
					frequency_parameter=190;//1.887KHZ
					increment_down_up=0;
				}else{
					increment_down_up=1;
					silence_flag=1;
				}
				++loop_times;
				if(loop_times==10){
					next_music_number=6;
					music_initialize();
					loop_times=0;
				}
				frequency_parameter_change_YN=1;
			}
			goto COME_BACK;
//=============================================================================
CAESE_6://國賓開道2 1500HZ~488HZ/  620ms
			silence_flag=0;
			if(frequency_increment_step!=27){
				++frequency_increment_step;//128uS*28=3.584ms*173=620ms
			}else{
				frequency_increment_step=0;
				frequency_parameter_change_YN=1;
				if(frequency_parameter>0){
					frequency_parameter-=1;//488HZ
				}else{
					frequency_parameter=173;//1.5KHZ
					++loop_times;
					if(loop_times==4){
						next_music_number=1;
						music_initialize();
						loop_times=0;
					}
				}
			}
		}

COME_BACK:
		return;

	
} /* V_IRQ() */

#pragma function=default
/*****************************************************************************/
/* V_NMI() : NMI interrupt service routine									 */
/*****************************************************************************/
#pragma function=interrupt
interrupt void V_NMI(void)
{	
} /* V_NMI() */
#pragma function=default






//**************************************************************
//************************music initialize**********************
//**************************************************************
void music_initialize(void){
	music_number=next_music_number;
	nop_instruction();
		if(music_number==1)goto MODE_CASE1;
		if(music_number==2)goto MODE_CASE2;
		if(music_number==3)goto MODE_CASE3;
		if(music_number==4)goto MODE_CASE4;
		if(music_number==5)goto MODE_CASE5;
		if(music_number==6)goto MODE_CASE6;
		goto MODE_BACK;
MODE_CASE1:
		frequency_parameter=187;//256-69=187
		P_TMR0_1_Ctrl0&=252;//%11111100 pause tmr0 count
		P_TMR0_Preload=frequency_parameter;
		P_TMR0_1_Ctrl0|=1;//%00000001 8bit timer
		nop_instruction();
		goto MODE_BACK;
MODE_CASE2:
		frequency_parameter=173;//256-83=173
		P_TMR0_1_Ctrl0&=252;//%11111100 pause tmr0 count
		P_TMR0_Preload=frequency_parameter;
		P_TMR0_1_Ctrl0|=1;//%00000001 8bit timer
		nop_instruction();
		goto MODE_BACK;
MODE_CASE3:
		frequency_parameter=127;//256-129=6
		P_TMR0_1_Ctrl0&=252;//%11111100 pause tmr0 count
		P_TMR0_Preload=frequency_parameter;
		P_TMR0_1_Ctrl0|=1;//%00000001 8bit timer
		nop_instruction();
		goto MODE_BACK;
MODE_CASE4:
		frequency_parameter=0;//256-256=0
		P_TMR0_1_Ctrl0&=252;//%11111100 pause tmr0 count
		P_TMR0_Preload=frequency_parameter;
		P_TMR0_1_Ctrl0|=1;//%00000001 8bit timer
		nop_instruction();
		goto MODE_BACK;
MODE_CASE5:
		frequency_parameter=190;//256-66=190
		P_TMR0_1_Ctrl0&=252;//%11111100 pause tmr0 count
		P_TMR0_Preload=frequency_parameter;
		P_TMR0_1_Ctrl0|=1;//%00000001 8bit timer
		silence_flag=1;
		nop_instruction();
		goto MODE_BACK;
MODE_CASE6:
		frequency_parameter=173;//256-83=173
		P_TMR0_1_Ctrl0&=252;//%11111100 pause tmr0 count
		P_TMR0_Preload=frequency_parameter;
		P_TMR0_1_Ctrl0|=1;//%00000001 8bit timer
		nop_instruction();

MODE_BACK:
		nop_instruction();
}

//**************************************************************
//************************commande receive**********************
//**************************************************************

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产亚洲高清剧情介绍 | 精品美女一区二区| 成人久久视频在线观看| 亚洲不卡在线观看| 中文字幕一区二区在线播放| 91精品国产色综合久久不卡蜜臀| 粉嫩一区二区三区在线看| 日产国产欧美视频一区精品| 成人免费视频在线观看| 久久综合久久鬼色中文字| 欧美日韩成人在线| 色乱码一区二区三区88| 丁香婷婷综合激情五月色| 蜜臀av性久久久久av蜜臀妖精| 亚洲精品五月天| 中文字幕制服丝袜成人av| 久久美女高清视频| 日韩欧美成人激情| 欧美剧在线免费观看网站| 一本一本大道香蕉久在线精品| 国产一区二三区好的| 亚洲风情在线资源站| 亚洲黄色av一区| 国产精品第五页| 国产精品麻豆欧美日韩ww| 久久久久久久一区| 欧美va亚洲va在线观看蝴蝶网| 3d成人h动漫网站入口| 欧美日韩一区三区| 欧美性猛片xxxx免费看久爱| av不卡免费电影| 波多野结衣中文字幕一区二区三区| 国产在线精品免费| 国产一区 二区| 国产剧情一区二区三区| 国产一区二区电影| 国产在线国偷精品免费看| 国产在线日韩欧美| 国产乱子伦视频一区二区三区| 老司机精品视频一区二区三区| 免费高清成人在线| 久久 天天综合| 国产一区二区视频在线| 国产在线精品一区在线观看麻豆| 久久国产欧美日韩精品| 韩国成人在线视频| 成人午夜激情片| av在线播放成人| 日本高清不卡aⅴ免费网站| 在线观看成人小视频| 欧美日韩在线播放一区| 日韩午夜av电影| www一区二区| 国产精品久线在线观看| 亚洲人成网站精品片在线观看| 一区二区三区在线观看视频| 午夜伊人狠狠久久| 美女网站在线免费欧美精品| 精品综合免费视频观看| 国产成人在线视频网址| 91色porny在线视频| 欧美性欧美巨大黑白大战| 日韩一区二区电影在线| 久久精品综合网| 亚洲欧美偷拍三级| 蜜桃视频在线观看一区| 国产成人在线视频免费播放| 色综合久久久久综合体| 51精品国自产在线| 亚洲国产精品精华液ab| 亚洲成人777| 国产一区二区三区香蕉| 色拍拍在线精品视频8848| 日韩午夜av一区| 亚洲欧美区自拍先锋| 日本在线观看不卡视频| 成人小视频免费在线观看| 欧美色综合网站| 国产亚洲婷婷免费| 午夜激情久久久| 成人一区在线看| 91精品国产福利| 国产精品久久久久久久久晋中| 亚洲va韩国va欧美va精品 | 免费日韩伦理电影| 94-欧美-setu| 日韩精品一区二区三区视频播放| 国产精品美女久久久久久| 日韩1区2区3区| 色婷婷精品大在线视频| 欧美电影免费观看高清完整版| 国产精品传媒视频| 精品一区二区综合| 欧美视频一区二区三区在线观看| 久久久久久免费网| 三级一区在线视频先锋 | 《视频一区视频二区| 美女一区二区视频| 在线免费观看成人短视频| 久久综合九色综合欧美就去吻| 亚洲国产精品天堂| 97久久人人超碰| 国产色综合一区| 麻豆精品在线播放| 精品视频一区三区九区| 国产精品第一页第二页第三页| 亚洲男同1069视频| 5月丁香婷婷综合| 粉嫩嫩av羞羞动漫久久久| 欧美中文字幕一二三区视频| 欧美调教femdomvk| 国产精品成人一区二区三区夜夜夜| 久久精品国产色蜜蜜麻豆| 欧美日韩一区高清| 亚洲精选一二三| 白白色 亚洲乱淫| 国产日本一区二区| 国产激情一区二区三区| 日韩写真欧美这视频| 午夜精品视频一区| 欧美亚洲一区二区三区四区| 国产精品国产三级国产普通话三级| 激情五月激情综合网| 日韩一区二区三区视频| 人人超碰91尤物精品国产| 91国内精品野花午夜精品| 亚洲免费大片在线观看| 99re热这里只有精品视频| 国产精品美女久久久久久久久久久| 国产一区二区三区久久久| 久久尤物电影视频在线观看| 激情深爱一区二区| 精品久久一二三区| 国产一区二区三区日韩| 久久理论电影网| 国产激情一区二区三区四区| 国产午夜亚洲精品午夜鲁丝片 | 中文字幕不卡一区| 成人av网站在线观看免费| 欧美韩国日本一区| 成人av网址在线观看| 亚洲人妖av一区二区| 一本一本大道香蕉久在线精品 | 一本久久综合亚洲鲁鲁五月天| 亚洲欧美另类图片小说| 欧美色老头old∨ideo| 日韩中文字幕91| 欧美一级黄色片| 国产精品一区二区你懂的| 久久精品夜色噜噜亚洲aⅴ| 成人的网站免费观看| 一区二区三区在线观看视频| 欧美精品777| 韩国av一区二区三区在线观看| 国产欧美一区二区三区在线看蜜臀| 国产成人av福利| 亚洲欧洲综合另类在线| 6080亚洲精品一区二区| 狠狠色综合日日| 国产精品午夜久久| 欧美午夜宅男影院| 激情综合色播激情啊| 国产精品三级av| 欧美日韩一本到| 国产一区二区三区免费播放| 国产精品国产精品国产专区不蜜| 色www精品视频在线观看| 日韩激情在线观看| 久久亚区不卡日本| 奇米影视在线99精品| 亚洲精品一线二线三线无人区| 国产精品久久久久久久久免费相片| 日韩国产精品久久久| 成人h精品动漫一区二区三区| 在线播放中文一区| 亚洲男人的天堂一区二区| 成人动漫一区二区在线| 国产目拍亚洲精品99久久精品| 黄色日韩网站视频| 欧美精品一区视频| 国产在线播放一区三区四| 日韩免费一区二区| 奇米精品一区二区三区在线观看一| 欧美在线影院一区二区| 亚洲日本免费电影| 99久久综合狠狠综合久久| 国产精品天美传媒| a美女胸又www黄视频久久| 亚洲欧洲中文日韩久久av乱码| 91网站最新地址| 亚洲伦在线观看| 欧美日韩综合色| 日韩主播视频在线| 日韩三区在线观看| 久久爱另类一区二区小说| 久久网这里都是精品| 国产白丝网站精品污在线入口| 中文字幕欧美国产| 91在线porny国产在线看| 亚洲精品视频一区|