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

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

?? dvs-v1.0.c

?? 電話報警主機AT89S52單片機并帶有網絡模塊通信協議
?? C
?? 第 1 頁 / 共 3 頁
字號:
//DVS-V1.0.C
//=============================================================================================
// 模塊名稱:視頻服務器DVS-V1.0
// 芯片型號:
// 晶振頻率:22.1184MHz
// CPU型號: AT89S52
//
// 版權所有:深圳市至安科技開發有限公司
//
// 創建日期/時間:2008-11-20     修改日期/時間:
// 創建人員:                    修改人員:
//==============================================================================================
#include "DVS-V1.0.H"
#include "remctrl.H"
//======================================== 全局變量 ============================================
//位
bit guc_Bit_BuChe;													//布撤防:1為布,0為撤
bit guc_bitbhOF;													//拔號開關
//指示燈
bit	guc_bit_AlLedOF;												//報警指示燈閃爍開關
bit	POW_GlimmLEDOF;													//電源指示燈閃爍開關
bit guc_bit_Alar_led;												//防區指示燈閃爍開關
//
bit guc_bitLedDispPul;												//設置時各指示燈只點亮一次標致
//bit guc_bitAlarPul2;												//報警標致,1為已經報警
bit guc_bit_ERC = 0 ;												//放音開關
bit guc_bit_RemCom;													//有解碼信號
bit guc_bit_SenAlar = 0;											//傳感器報警
//bit	guc_bit_AlarPul;												//拔號報警標致
bit	guc_bitAlaSounPul;												//斷線報警只報一次標致
bit guc_bitLineOFAlar;												//斷線報警開關
bit guc_bitARPul ;													//只判斷一次
bit guc_bitPhSet;													//遠程設置標致
bit guc_bitRsCom;													//中斷接收完畢
bit guc_bitENCD;													//現場聽
//變量
unsigned int  data 	guc_Timer0;										//拔號按鍵定時計數器
unsigned int  data  guc_KATime;										//警響聲定時計數器
unsigned int  data  guc_AlarTi;										//報警時間計數器
unsigned char data  guc_Timer2;										//中斷接收結束等待清0定時
unsigned int  data  guc_SetAddrTi;									//長時間按對碼鍵,則刪除對碼
unsigned int  data  guc_ERCTI;										//放音觸出定時
unsigned char data  guc_AlarCnt;									//拔號時計算器
unsigned char data  guc_TI;											//防區燈閃爍定時計數器
unsigned char idata guc_REM_TI;										//315解碼時間計數器
unsigned char idata guc_REM_Temp;									//解碼接收臨時變量
unsigned int idata 	guc_ENCD_TI;									//報警后開始放音,放到一定時間后開始打開現場聽
unsigned char data  guc_RsPoint;									//接收長度
//位定義
unsigned char bdata	guc_LED;	
sbit	guc_bit_led1 = guc_LED^0 ;									//第1路防區指示燈點亮
sbit	guc_bit_led2 = guc_LED^1;									//第2路防區指示燈點亮
sbit	guc_bit_led3 = guc_LED^2;									//第3路防區指示燈點亮
sbit	guc_bit_led4 = guc_LED^3;									//第4路防區指示燈點亮
sbit	guc_bit_led5 = guc_LED^4;									//第5路防區指示燈點亮
sbit	guc_bit_led6 = guc_LED^5;									//第6路防區指示燈點亮
sbit	guc_bit_led7 = guc_LED^6;									//第7路防區指示燈點亮
sbit	guc_bit_led8 = guc_LED^7;									//第8路防區指示燈點亮
unsigned char bdata	guc_74HC164LED;									//指示燈
sbit led1 = guc_74HC164LED^0;										//第1防區指示燈
sbit led2 = guc_74HC164LED^1;										//第2防區指示燈
sbit led3 = guc_74HC164LED^2;										//第3防區指示燈
sbit led4 = guc_74HC164LED^3;										//第4防區指示燈
sbit led5 = guc_74HC164LED^4;										//第5防區指示燈
sbit led6 = guc_74HC164LED^5;										//第6防區指示燈
sbit led7 = guc_74HC164LED^6;										//第7防區指示燈
sbit led8 = guc_74HC164LED^7;										//第8防區指示燈
//數組
unsigned char data guc_PassBuf[4];									//本機密碼
unsigned char data guc_R315Buf[3];									//315解碼后的數據
unsigned char idata RsBuf[32];										//接收緩沖區
//============================================================================================

//============================================================================================
unsigned char JudgeDupAddr(unsigned char *p_PDst);					//判斷是否有重復的地址
void SendToData(unsigned char *p,unsigned char Long);				//發送命令
void SendDTMEDat(unsigned char auc_data);							//DTMF拔號
void FlickerOut(unsigned char auc_data);							//防區指示燈
void SendASC(unsigned char ASC)	;									//發送-個ASCII
void SuccBuzzer();													//設置成功時發出的聲音
void FailBuzzer();													//設置失敗時發出的聲音
void DispAlarLED();													//防區指示燈
void SaveInit();													//保存初始化的值
void ClearRem();													//清除2272解碼后的數據 
void HC164Shif();													//74hc164輸出
void ScanRemDis();													//掃描遙控并處理	
void RemIn();														//315解碼
void StarSetFun();													//開始設置各種功能
void OverSetFun();													//結束設置各種功能
void ONAlarSoun();													//打開警號聲
void OFFAlarSoun();													//關閉警號聲
void SetWordDisp();													//焊髦稚柚檬備鱈ED指示
//============================================================================================



//=========================================== 外部定義 ======================================
extern void Delay1Ms(unsigned int auc_time);						//延時1MS
extern void WrEEPROM(unsigned char address,unsigned char indata);	//寫EEPROM
extern unsigned char RdEEPROM(unsigned char address);				//讀EEPROM
extern unsigned char DTMF();										//DTMF解碼 
extern void AlarOut();												//傳感器報警輸出
extern void ScanRing();												//掃描振鈴	
extern void BHStopAlar();											//在拔號時用戶想停止報警
extern void ScanComProtoc();										//掃描串口協議
extern void GreekVoice();											//遠程控制時成功提示音
extern void UntoDisLister() ;										//現場監聽時間到達
//============================================================================================



//============================================================================================
//語法格式:		void SendASC(unsigned char ASC)
//實現功能:		單獨發送一個數據
//參數:			需要發送的數據
//返回:			無
//創建時間:2008-11-30          修改時間:
//創建人員:                    修改人員:
//============================================================================================
void SendASC(unsigned char ASC)							//發送-個ASCII
{
	bit bit_es;
	bit_es = ES;
	ET2=0; 
	ES=0;          										//關閉中斷
	TI=0;
	SBUF=ASC;
	while(!TI);
	TI=0;
	ES = bit_es;
	ET2=1; 							
}
//===============================================================================================
//語法格式:		void SendToData(unsigned char *p,unsigned char Long)
//實現功能:		把數組發送出去
//參數:			數組與數組的長度
//返回:			無
//創建時間:2008-11-30          修改時間:
//創建人員:                    修改人員:
//===============================================================================================
void SendToData(unsigned char *p,unsigned char Long)	//發送命令
{
	while(Long--)
	{
    	SendASC(*p++);
  	}		
}


//===============================================================================================
//語法格式:		SendDTMFByte
//實現功能:		拔打電話
//參數:			需要拔出去的號碼
//返回:			無
//創建時間:2008-11-30          修改時間:
//創建人員:                    修改人員:
//===============================================================================================
void SendDTMFByte(unsigned char auc_data)
{
	unsigned char data luc_i;
	for(luc_i = 0 ;luc_i < 5 ; luc_i ++)
	{
		HT9200_DATA = auc_data&0x01 ;
		HT9200_CLK = 0 ;
		auc_data=auc_data>>1;
		HT9200_CLK = 1 ;
	}	
}
//===============================================================================================
//語法格式:		SendDTMEDat(unsigned char auc_data)
//實現功能:		拔打電話
//參數:			需要拔出去的號碼
//返回:			無
//創建時間:2008-11-30          修改時間:
//創建人員:                    修改人員:
//===============================================================================================
void SendDTMEDat(unsigned char auc_data)
{
	unsigned char data luc_temp;
	Delay1Ms(100);							//延時 100 ms
	SUN_LED = SUN_LED_ON;
	if(auc_data == 0)	luc_temp = 10;		//DTMF編碼中的'0'是'10'
	else	luc_temp = auc_data;
	HT9200_CE1 = 0 ;
	HT9200_CLK = 1 ;
	Delay1Ms(10);	 						//延時 10 ms
	EA = 0 ;
	SendDTMFByte(luc_temp) ;
	EA = 1 ;
	Delay1Ms(100); 							//延時 100 ms
	HT9200_CE1 = 1;
	SUN_LED = SUN_LED_OFF;
}


//===============================================================================================
//語法格式:SaveInit()
//實現功能:保存初始化的數據
//參數:	無
//返回值:	無
//創建時間:2008-11-30          修改時間:
//創建人員:                    修改人員:
//===============================================================================================
unsigned char code Init_Tab[6]={0x31,0x32,0x01,0x02,0x03,0x04};
void SaveInit()
{
	unsigned char data luc_i;
	for(luc_i = 0 ; luc_i < 6 ; luc_i++)
	{
		WrEEPROM(luc_i,Init_Tab[luc_i]);								//保存初始化的值
	}
	PassSafeDefau;														//默認密碼保護
	WrEEPROM(Alar_TI_Addr,ALARSOURTIME);								//默認警笛時間為15秒鐘
	WrEEPROM(Ring_Cnt_Addr,RING_TACTI_CNT);								//振鈴次數
}




//===============================================================================================
//語法格式:Init()
//實現功能:開機初始化
//參數:	無
//返回值:	無
//創建時間:2008-11-30          修改時間:
//創建人員:                    修改人員:
//===============================================================================================
void Init()
{
	unsigned char data luc_i,luc_j;
	bit bit_ok;
	guc_bitbhOF = 1;										//打開拔號開關					
	POW_GlimmLEDOF = 1;										//電源指示燈閃爍打開
//	guc_bit_AlarPul = 1;									//拔號報警標致
	guc_bitAlaSounPul = 0;									//斷線報警只報一次標致
	guc_bit_AlLedOF = 0;									//報警指示燈關閉閃爍
	guc_bit_Alar_led = 1;									//防區指示燈閃爍開關
	guc_bitARPul = 1;										//斷線報警只判斷一次
	guc_Bit_BuChe = 1;										//默認為布防
	guc_bit_RemCom = 0;										//2272解碼清0
//	guc_bit_SenAlar = 0;									//傳感器報警
	guc_bitLineOFAlar = 1;									//斷線報警開關
	BZZER = 0;												//蜂響聲
	Listen_CTRL = 0;										//關閉現場監聽
	SET = 0;												//繼電器
	HANDUP = 0;												//摘機
	guc_REM_TI = 0;											//315解碼定時器
	guc_AlarCnt = 0;										//拔號計算器清0
	guc_KATime = 0;											//警響聲計數器清0
//	guc_bit_ERC = 0;										//放音開閉
	guc_TI = TWINLEDTIME;									//防區燈閃爍定時計數器
	guc_bitPhSet = 0;										//電話設置蜂鳴聲開關
	guc_bitENCD =  0;										//現場聽標致
	guc_74HC164LED = 0;
	DispAlarLED();
	for(luc_j = 0 ; luc_j < 3 ; luc_j ++)					//讀3次開機標致位,只要有一次成功退出
	{
		for(luc_i = 0 ; luc_i < 2 ; luc_i++)				//讀取開機標致
		{
			if(RdEEPROM(luc_i) == Init_Tab[luc_i]) bit_ok = 1;
			else
	 		{
				bit_ok = 0;
				break;
			}
		}
		if(bit_ok == 1) break;
	}
	if(bit_ok == 0)	SaveInit();								//沒有開機初始化,則初始化													
	for(luc_i = 0 ; luc_i < 4 ; luc_i++)
	{
		guc_PassBuf[luc_i] = RdEEPROM(2+luc_i);				//讀取密碼
	}
}




//===============================================================================================
//語法格式:SetBuChe()
//實現功能:設置布撤防
//參數:	無
//返回值:	無
//創建時間:2008-11-30          修改時間:
//創建人員:                    修改人員:
//===============================================================================================	
void RemIn()
{  

	unsigned char data A[3];                     			//存放解碼的數據
	unsigned char data luc_i,luc_j;
	unsigned int data  luc_temp; 
	unsigned char data luc_Cnt;
	if(!REM_DATA)
	{ 
		//ClearWatchDog();
		for(luc_Cnt = 0; luc_Cnt < 2 ; luc_Cnt++)			//連續解碼兩次,防止誤碼解碼
		{
			TH0=0; TL0=0;		 							//清定時器的計數器	
			while (!REM_DATA);                            	//等待高電平 
			TR0=1;                                    	 	//啟動定時器0
			while(REM_DATA);                            	//等待低電平    
			if (TF0==1)  goto RemExit;                		//超時就退出
			TR0 = 0;  
			luc_temp=TH0;    
			luc_temp=(luc_temp<<8)+TL0;  
			if (SynchHard)									//判斷同步碼的寬度,同步碼5ms--6ms
			{       
				luc_temp=0; 
				goto RemExit;  
			}												//同步碼第一次檢測成功 
			for (luc_i=0; luc_i<3; luc_i++)					//解 3*8=24 位碼  
			{  
				for (luc_j=0; luc_j<8; luc_j++)    
				{       
					while (!REM_DATA);						//等待高電平  
					TH0=0;  TL0=0;							//清定時器的計數器		 
					TR0=1;
					while (REM_DATA);						//等待低電平        
					if (TF0==1) goto RemExit;				//超時就退出 
					TR0=0;     
					luc_temp=TH0;    
					luc_temp=(luc_temp<<8)+TL0;   
					if (WideSing)							//寬取0.4ms--0.5ms
					{   
						A[luc_i]=A[luc_i]<<1;				//保存0  
					}        
					else if (NarrowSing)					//窄取0.1ms--0.2ms
					{  
			 			A[luc_i]=A[luc_i]<<1; 
						A[luc_i]=A[luc_i]+1;				//保存 1 
					}          
					else goto RemExit;  
				}   
				luc_temp=0;
			} 
		}
		for (luc_i=0; luc_i<3; luc_i++)						//接收的數據放在guc_R315Buf里
        {
			guc_R315Buf[luc_i] = A[luc_i];
		}
		guc_bit_RemCom = 1;  								//表示已經正確解碼到數據
		RemExit:											//退出
		{  
			TR0=0;  
			REM_DATA = 1;   
			TF0=0; 
			return;    
		}
	}
} 




//===============================================================================================
//語法格式:	ClearRem()	
//實現功能:	處理清除2272解碼后的數據 
//參數:		無

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产露脸91国语对白| 精品国产乱码久久久久久久 | 成人午夜激情片| 99久久精品费精品国产一区二区| 欧美一区二区三区在线| 中文字幕国产精品一区二区| 日韩一区精品字幕| 色综合天天在线| 国产欧美精品国产国产专区| 日韩国产一二三区| 欧美三级中文字幕| 亚洲男帅同性gay1069| 国产成人亚洲综合色影视| 91麻豆精品国产91久久久久久久久 | 91久久一区二区| 日韩午夜中文字幕| 日韩国产高清影视| 欧美日韩日本视频| 亚洲午夜久久久久久久久电影网 | 蜜臀av国产精品久久久久| 一本到不卡精品视频在线观看| 久久夜色精品国产噜噜av| 美女一区二区三区在线观看| 欧美精品欧美精品系列| 亚洲黄网站在线观看| 色综合色狠狠综合色| 亚洲乱码中文字幕| 99热这里都是精品| 亚洲欧美日本韩国| 成人av电影在线| 国产精品久久午夜| 成人av网在线| 中文字幕一区二区不卡| 成av人片一区二区| 亚洲婷婷在线视频| 欧美在线你懂的| 亚洲自拍偷拍综合| 欧美日本国产一区| 麻豆久久久久久久| 国产视频在线观看一区二区三区| 国产黑丝在线一区二区三区| 国产免费成人在线视频| 91在线精品秘密一区二区| 日韩美女视频19| 欧美系列日韩一区| 天天色天天爱天天射综合| 欧美一区二区三区日韩| 国产精品综合一区二区三区| 亚洲国产成人在线| 日本精品一区二区三区四区的功能| 亚洲日本在线观看| 欧美日韩你懂的| 国产在线精品一区二区不卡了| 国产偷国产偷精品高清尤物 | 日韩欧美国产综合一区| 国产精品白丝jk黑袜喷水| 国产精品乱人伦一区二区| 91免费版pro下载短视频| 亚洲卡通动漫在线| 777奇米四色成人影色区| 国产九色精品成人porny | 在线亚洲高清视频| 麻豆成人av在线| 国产精品美女一区二区三区 | 亚洲精品午夜久久久| 日韩一区日韩二区| 又紧又大又爽精品一区二区| 丝袜a∨在线一区二区三区不卡| 国产拍揄自揄精品视频麻豆| 久久久噜噜噜久久人人看| 欧美男同性恋视频网站| 免费不卡在线观看| 国产精品久久久久久久浪潮网站 | 91在线看国产| 中文字幕一区三区| 一区二区三区欧美日韩| 日韩中文字幕不卡| 成人黄色777网| 91精品国产aⅴ一区二区| 久久午夜电影网| 一级日本不卡的影视| 成人午夜电影久久影院| 中文字幕亚洲综合久久菠萝蜜| 午夜不卡av在线| 日韩一级二级三级精品视频| 久久午夜免费电影| 亚洲黄色免费网站| 成人精品视频一区二区三区| 欧美群妇大交群中文字幕| 一区在线观看免费| 欧美日韩一级二级三级| 亚洲天堂免费在线观看视频| 久久成人免费电影| 日韩电影在线观看电影| 亚洲天堂中文字幕| 日韩一级高清毛片| 蜜臀av性久久久久蜜臀aⅴ流畅| 精品国产一区二区国模嫣然| 91黄色免费版| 欧美日韩一区不卡| 日韩不卡一区二区三区| 青青草91视频| 国产精品资源网| 99视频超级精品| 欧美日韩精品欧美日韩精品 | 国产蜜臀97一区二区三区| 99久久精品情趣| 国产一区二区视频在线| 三级欧美在线一区| 免费观看在线综合| 欧美午夜电影一区| 婷婷久久综合九色综合绿巨人| 91精品福利视频| 亚洲成人午夜影院| 日韩精品一区二区三区中文不卡| 国产精品原创巨作av| 蜜桃av一区二区在线观看| 亚洲日本在线视频观看| 成人黄色777网| 国产精一品亚洲二区在线视频| 日本久久一区二区三区| 精品一区二区三区不卡| 欧美日韩国产色站一区二区三区| 国产精品网站一区| 久久精品国产精品青草| 欧美肥妇bbw| 午夜精品福利在线| 精品视频1区2区| 一区二区三区美女视频| 国内国产精品久久| 精品va天堂亚洲国产| 黑人巨大精品欧美黑白配亚洲| 日韩精品一区国产麻豆| 麻豆国产精品官网| 欧美www视频| 国产.欧美.日韩| 久久精品亚洲精品国产欧美| 成人一区二区三区中文字幕| 国产精品乱码一区二区三区软件| 国产+成+人+亚洲欧洲自线| 亚洲va欧美va天堂v国产综合| 日韩亚洲欧美综合| 一区二区欧美国产| 一本色道久久综合亚洲精品按摩| 4hu四虎永久在线影院成人| 亚洲人成人一区二区在线观看| 久久97超碰国产精品超碰| 日韩欧美成人一区二区| 天堂久久久久va久久久久| 欧美成人乱码一区二区三区| 国产成人综合在线| 日本不卡一区二区三区| 91精品啪在线观看国产60岁| 亚洲另类在线视频| 国产综合成人久久大片91| av在线播放不卡| 亚洲国产精品99久久久久久久久| 欧美性受极品xxxx喷水| 日韩高清不卡一区二区| 在线欧美日韩精品| 蜜桃av噜噜一区| 亚洲免费观看高清完整版在线| 欧美乱妇15p| 9色porny自拍视频一区二区| 免费成人你懂的| 中文字幕一区免费在线观看| 日韩午夜在线观看视频| 91福利精品视频| 懂色av一区二区三区免费观看| 日本91福利区| 亚洲成人免费在线| 亚洲欧美怡红院| 国产精品色婷婷| 国产女同性恋一区二区| 久久精品视频网| 久久久午夜精品| 久久精品日产第一区二区三区高清版 | 久久精品视频一区二区三区| 精品日韩欧美一区二区| 久久亚洲精品小早川怜子| 久久久久九九视频| 国产婷婷一区二区| 亚洲欧美自拍偷拍色图| 久久久久久久久久美女| 欧美一区二区在线观看| 日韩欧美一级二级| 国产视频在线观看一区二区三区| 中文字幕第一页久久| 一区二区高清视频在线观看| 婷婷综合在线观看| 免费在线看一区| 国产不卡视频在线播放| 91视频观看视频| 日韩欧美高清一区| 亚洲伦理在线精品| 久久电影网站中文字幕| 99国产精品一区| 日韩久久免费av| 亚洲欧美视频一区| 国模少妇一区二区三区|