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

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

?? rf_main.c

?? 實現6種報警語音合成和RF雙向解碼.可用于RF防盜報警設備開發的參考
?? 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一区二区三区免费野_久草精品视频
亚洲人成网站影音先锋播放| 一区二区在线观看免费视频播放| 国产午夜精品一区二区三区四区| 亚洲男同1069视频| 久久精品国产久精国产爱| 成人自拍视频在线| 日韩天堂在线观看| 亚洲人成伊人成综合网小说| 国产精品一区在线观看你懂的| 欧美精选一区二区| 在线综合+亚洲+欧美中文字幕| 亚洲男人的天堂在线观看| 欧美日韩电影在线播放| 精品一区二区精品| 日韩国产精品久久久| 欧美少妇bbb| 亚洲乱码中文字幕| 波多野洁衣一区| 日本一区二区成人| 国产一区二区在线观看免费| 欧美一区二区三区白人| 午夜精品久久久久影视| 在线观看91视频| 亚洲欧洲精品一区二区三区| 国产伦精品一区二区三区免费迷 | 99久久精品国产一区二区三区| 日韩女优毛片在线| 欧美bbbbb| 国产91清纯白嫩初高中在线观看| 一色屋精品亚洲香蕉网站| 88在线观看91蜜桃国自产| 午夜一区二区三区视频| 国产一区二区三区在线观看精品| 亚洲精品在线一区二区| 久久电影网电视剧免费观看| 日韩精品自拍偷拍| 国产美女一区二区三区| 久久久亚洲精品石原莉奈| 韩国av一区二区| 久久久夜色精品亚洲| 国产999精品久久久久久| 国产精品亲子伦对白| 91在线国产福利| 亚洲va中文字幕| 欧美福利视频导航| 国内精品国产三级国产a久久| 精品国产三级a在线观看| 国产高清无密码一区二区三区| 欧美国产激情二区三区| 亚洲一区影音先锋| 亚洲精品一区二区三区99| 欧美三级在线视频| 成人aaaa免费全部观看| 欧美一区二区三区在线观看 | 黑人巨大精品欧美一区| 国产精品日产欧美久久久久| 日本韩国视频一区二区| 蜜桃视频在线观看一区| 久久久欧美精品sm网站| 91小视频在线免费看| 亚洲123区在线观看| 久久久久高清精品| 在线观看视频一区二区欧美日韩| 美腿丝袜一区二区三区| 日韩理论片在线| 日韩一区二区高清| 91蜜桃网址入口| 日韩av一级电影| 欧美激情在线免费观看| 国产成人精品免费一区二区| 国产高清不卡一区二区| 国产真实乱偷精品视频免| 日本高清不卡aⅴ免费网站| 亚洲精品欧美在线| 久久婷婷国产综合国色天香| 欧美在线不卡视频| 成人激情图片网| 日本免费在线视频不卡一不卡二| 亚洲午夜私人影院| wwwwww.欧美系列| 欧美在线小视频| 风间由美一区二区av101| 日韩二区三区在线观看| 亚洲乱码国产乱码精品精小说| 久久久综合激的五月天| 欧美性色黄大片手机版| 成人app下载| 激情丁香综合五月| 日韩福利电影在线| 亚洲国产精品久久久久婷婷884 | 国产麻豆日韩欧美久久| 国产aⅴ综合色| 91色在线porny| 日本高清不卡在线观看| 欧美精品在欧美一区二区少妇| 欧美一区二区三区白人| 久久免费偷拍视频| 亚洲视频在线观看一区| 亚洲成a人片综合在线| 麻豆精品久久久| 成人性生交大片免费 | 欧美性色综合网| 日韩一级片在线播放| 久久综合久久综合亚洲| 中文字幕综合网| 三级精品在线观看| 国产一区二区0| 在线看国产一区二区| 日韩欧美一二三区| 中文字幕一区二区三区四区 | 国产三级精品视频| 尤物在线观看一区| 青青草精品视频| 成人av在线一区二区| 欧美日韩一二三区| 欧美韩日一区二区三区| 夜夜揉揉日日人人青青一国产精品 | 亚洲女同ⅹxx女同tv| 免费观看在线综合色| 成人av免费在线播放| 欧美日本在线看| 国产拍欧美日韩视频二区| 亚洲一卡二卡三卡四卡无卡久久| 久99久精品视频免费观看| 91丨九色丨蝌蚪富婆spa| 欧美一区二区三区电影| 亚洲精品欧美激情| 国产精品主播直播| 欧美日本视频在线| 国产精品久久久久久户外露出| 日韩成人一级大片| 91天堂素人约啪| 国产亚洲自拍一区| 蜜臀久久99精品久久久久宅男 | 1024成人网| 夜夜嗨av一区二区三区四季av| 亚洲综合激情小说| 首页国产欧美久久| 国产一区二区三区香蕉| www.成人网.com| 7777精品伊人久久久大香线蕉| 精品精品欲导航| 中文字幕亚洲在| 夜夜精品浪潮av一区二区三区| 日韩国产在线观看一区| 国产一区二区三区四区在线观看| caoporm超碰国产精品| 欧美精品少妇一区二区三区| 欧美不卡一二三| 亚洲视频电影在线| 奇米色777欧美一区二区| 丁香激情综合国产| 欧美麻豆精品久久久久久| 久久久久久免费| 亚洲国产精品久久人人爱蜜臀 | 精品福利一区二区三区| 国产精品久久久久久久岛一牛影视| 亚洲福利电影网| 成人福利视频网站| 91精品国产色综合久久ai换脸| 国产精品国产三级国产有无不卡 | 日韩色在线观看| 亚洲欧洲在线观看av| 理论电影国产精品| 欧美亚日韩国产aⅴ精品中极品| 久久影院视频免费| 亚洲国产精品久久人人爱蜜臀 | 亚洲色图制服诱惑| 国产中文字幕精品| 4438x成人网最大色成网站| 国产精品美女视频| 经典三级视频一区| 欧美日韩精品一区二区三区蜜桃| 国产午夜精品在线观看| 久久se精品一区精品二区| 欧美主播一区二区三区| 亚洲欧洲精品成人久久奇米网| 久久er精品视频| 91精品国产91久久久久久一区二区| 亚洲欧美区自拍先锋| 成人深夜在线观看| 91丨porny丨首页| 久久亚洲一区二区三区明星换脸| 国产麻豆精品在线观看| 国产精品国产三级国产普通话99| 不卡av电影在线播放| 亚洲激情中文1区| 3751色影院一区二区三区| 国产一区二区在线观看视频| 国产精品久久久久久久久晋中| 色香蕉久久蜜桃| 石原莉奈在线亚洲二区| 久久亚洲一级片| 一本色道久久综合精品竹菊| 视频一区二区欧美| 欧美高清在线一区二区| 欧美影院午夜播放| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲色图一区二区三区| 欧美一区二区成人|