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

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

?? alarm-v3.c

?? 本程序為檢測16路輸入45~65HZ的信號
?? C
?? 第 1 頁 / 共 4 頁
字號:
/*********************************************************************
* Copyright (c) 2008
* All rights reserved.
*
* 文件名稱:LS166.C
* 文件標識:/
* 摘 要:
*			本程序為檢測16路輸入45~65HZ的信號,并按每路狀態輸出各自想應路信號,具體設計
* 內容請查看其它文件中的設計要求及功能	
* 2008年6月11日修改:
* 1.增加DC輸出信號檢測功能
* 2.修改初次上電,當輸入為高電平時不動作
* 3.修改當輸入信號由高電平變為低電平時,則輸入報警,由低變為高時取消報警,黃燈輸出
* 當前版本:v3
* 作 者:	邱顯輝
* 完成日期:2008年6月11日
* 第一次更改時間:2008年5月12日
* 最后完成日期:2008年6月11日
* 取代版本:v2
* 原作者 :	邱顯輝
* 完成日期:2008年6月11日
* 檢查和: 43f9ad1   TOPWIN編程器
***********************************************************************/

#include<pic.h>
__CONFIG(PROTECT & DEBUGDIS & WRTDIS & DPROT & LVPDIS & BOREN & PWRTEN & WDTEN & HS);
//PROTECT程序存儲器保護開,DEBUGDIS在線調試關,---- , LVPDIS在線編程關
//BOREN欠壓復位開(低于4V),PWRTEN上電延時開,WDTDIS看門狗開,HS高頻模式
//74HC166位定義
#define CLKINH RB7
#define CLKINH_DIR TRISB7
#define CLK RB6
#define CLK_DIR TRISB6
#define SH RB5
#define SH_DIR TRISB2
#define SEROUT_0 RB4
#define SEROUT0_DIR TRISB4
#define SEROUT_1 RB3
#define SEROUT1_DIR TRISB3
//74hc595腳位定義
#define	SCLK RC0
#define SCLK_DIR TRISC0
#define	SER RC1
#define	SER_DIR TRISC1
#define RCLK_RELAY RC2
#define RCLK_RELAY_DIR TRISC2
#define RCLK_LED RC3
#define RCLK_LED_DIR TRISC3
//電源燈,聲音輸出位定義
#define POWER_LED RC4
#define POWER_LED_DIR TRISC4
#define BUZZER RC5
#define BUZZER_DIR TRISC5
//按鍵功能定義
#define RESET_KEY RB0
#define RESET_KEY_DIR TRISB0
#define TEST_KEY RB1
#define TEST_KEY_DIR TRISB1
#define MUTE_KEY RB2
#define MUTE_KEY_DIR TRISB2
//其它定義
unsigned char FRE_CONT[16]=
{
	0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,
};
unsigned char LOW_TIME[16]=
{
	0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,
};
unsigned char HI_TIME[16]=
{
	0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,
};

union {				//共用體
	struct {			//結構體
	unsigned b0: 1;						//用于聲音開關標志位
	unsigned b1: 1;						//用于電源燈指示閃爍控制
	unsigned b2: 1;						//1S定時標志位,當為0表示未到,當為1時表示已到1S定時
	unsigned b3: 1;						//1S輸入檢測標志位開關,當為0時表示不進行檢測,當為1時表示開始檢測
	unsigned b4: 1;
	unsigned b5: 1;
	unsigned b6: 1; 
	unsigned b7: 1;
	} oneBit;
	unsigned char allBits;
} Flag;

/*********************************************************************************
/*定義輸入狀態16位的變化狀態
/*1.當第一次上電時16位狀態標示位全部清“0”
/*2.當某位第一次發生由低電平變為高電平時,此時這位也將變為高電平
/*3.之后將一直寶持為高電平,只有當重新上電或按下RESET按鍵時置“0”
/*********************************************************************************/
union {				//共用體
	struct {			//結構體
	unsigned b0: 1;
	unsigned b1: 1;
	unsigned b2: 1;
	unsigned b3: 1;
	unsigned b4: 1;
	unsigned b5: 1;
	unsigned b6: 1; 
	unsigned b7: 1;
	unsigned b8: 1;
	unsigned b9: 1;
	unsigned b10: 1;
	unsigned b11: 1;
	unsigned b12: 1;
	unsigned b13: 1;
	unsigned b14: 1;
	unsigned b15: 1;
	} oneBit;
	unsigned int allBits;
} RelayFlag;

/*********************************************************************************
/*定義輸入狀態16位的變化狀態,記錄當前輸入檢測電平
/*當輸入為低電平時,記錄為“0”,當輸入為高電平時,記錄為“1”
/*********************************************************************************/
union {				//共用體
	struct {			//結構體
	unsigned b0: 1;
	unsigned b1: 1;
	unsigned b2: 1;
	unsigned b3: 1;
	unsigned b4: 1;
	unsigned b5: 1;
	unsigned b6: 1; 
	unsigned b7: 1;
	unsigned b8: 1;
	unsigned b9: 1;
	unsigned b10: 1;
	unsigned b11: 1;
	unsigned b12: 1;
	unsigned b13: 1;
	unsigned b14: 1; 
	unsigned b15: 1;
	} oneBit;
	unsigned int allBits;
} InFlag;

/*********************************************************************************
/*定義16黃燈輸出狀態
/*當記錄為“1”,表示為此路已經報警一次,為“0”表示還未報警
/*********************************************************************************/
union {				//共用體
	struct {			//結構體
	unsigned b0: 1;
	unsigned b1: 1;
	unsigned b2: 1;
	unsigned b3: 1;
	unsigned b4: 1;
	unsigned b5: 1;
	unsigned b6: 1; 
	unsigned b7: 1;
	unsigned b8: 1;
	unsigned b9: 1;
	unsigned b10: 1;
	unsigned b11: 1;
	unsigned b12: 1;
	unsigned b13: 1;
	unsigned b14: 1; 
	unsigned b15: 1;
	} oneBit;
	unsigned int allBits;
} YellowLed;

/*********************************************************************************
/*定義輸入狀態暫存16位的變化狀態,記錄當前輸入檢測電平
/*當輸入為低電平時,記錄為“0”,當輸入為高電平時,記錄為“1”
/*********************************************************************************/
	union {				//共用體
		struct {			//結構體
		unsigned b0: 1;
		unsigned b1: 1;
		unsigned b2: 1;
		unsigned b3: 1;
		unsigned b4: 1;
		unsigned b5: 1;
		unsigned b6: 1; 		
		unsigned b7: 1;
		unsigned b8: 1;
		unsigned b9: 1;
		unsigned b10: 1;
		unsigned b11: 1;
		unsigned b12: 1;
		unsigned b13: 1;
		unsigned b14: 1; 
		unsigned b15: 1;
		} oneBit;
		unsigned int allBits;
	} InTemp0;
	

/*********************************************************************************
/*定義輸入狀態暫存16位的變化狀態,記錄當前輸入檢測電平
/*當輸入為低電平時,記錄為“0”,當輸入為高電平時,記錄為“1”
/*********************************************************************************/
union {				//共用體
	struct {			//結構體
	unsigned b0: 1;
	unsigned b1: 1;
	unsigned b2: 1;
	unsigned b3: 1;
	unsigned b4: 1;
	unsigned b5: 1;
	unsigned b6: 1; 
	unsigned b7: 1;
	unsigned b8: 1;
	unsigned b9: 1;
	unsigned b10: 1;
	unsigned b11: 1;
	unsigned b12: 1;
	unsigned b13: 1;
	unsigned b14: 1; 
	unsigned b15: 1;
	} oneBit;
	unsigned int allBits;
} InTemp1;
unsigned char SECOND_0,SECOND_1,DET_ON;		//定義毫秒位,秒位,輸入檢測開關(不為0則開始檢測)

/*------------------------------------------------------------*/
unsigned int LS166_Write(void);
void HC595_Write16bit(unsigned char Data0, unsigned char Data1);
	
//74LS166的1~16位輸入狀態標志寄存器

/*****************************************************************************
功能:毫秒延時程序
用法:調用加延時參數:cont
******************************************************************************/
void delay_1ms(unsigned char cont)
{
	unsigned char q0;
	for(;cont>0;cont--)
	{
		q0 = 247;
		while(q0--);
	}	
}

/*****************************************************************************
功能:中斷服務程序_定時器1,用于電源燈100ms閃爍兩次,關500ms
用法:
******************************************************************************/
void Timer1_int0(void)
{
	static unsigned char cont=0,loop1=0;
	if(!Flag.oneBit.b1)
	{
		if(loop1<4)
		{
			if(++cont>50)				//100ms
			{
				if(++loop1>=4)
				{
					Flag.oneBit.b1 = 1;
				}
				cont = 0;
				POWER_LED =! POWER_LED;
			}			
		}
	}
	else
	{
		POWER_LED = 1;
		if(++cont>250)				//500ms
		{
			Flag.oneBit.b1 = 0;	
			cont = 0;
			loop1 = 0;
		}
	}
	//InTemp1.allBits = LS166_Write();
	
}

/*****************************************************************************
功能:中斷服務程序_定時器1,用于檢測45~65Hz信號
用法:
******************************************************************************/
void Timer1_int1(void)
{
	unsigned char loop;
	unsigned char INPUT0,INPUT1;
	unsigned int temp;
	CLK=0;
	CLKINH=0;
	SH=1;
	SH=0;
	CLKINH=1;
	SH=1;							//載入數據
	CLKINH=0;
	INPUT0=0X00;
	INPUT1=0X00;
	temp = 0;
	for(loop=8;loop>0;loop--)
	{
		CLK=0;
		INPUT0<<=1;					//左移一位
		INPUT1<<=1;
		SEROUT0_DIR = 1;
		if(SEROUT_0)
		{
		INPUT0=INPUT0|0x01;			//輸入1
		}
		if(SEROUT_1)
		{
		INPUT1=INPUT1|0x01;			//輸入1
		}
		CLK=1;
	}
	temp = temp|INPUT0;
	temp <<= 8;						//左右8位
	temp = temp|INPUT1;				//將兩個8位合并成16位
	InTemp1.allBits = temp;
//-------------------------------------第1路----------------------------------//
	if(InTemp0.oneBit.b0)			//上次檢測到輸入為高電平
	{
		HI_TIME[0]++;				//高電平持續時間增加
		if(!InTemp1.oneBit.b0)		//當前輸入狀態為低電平
		{
			InTemp0.oneBit.b0 = 0;
			FRE_CONT[0]++;	
			HI_TIME[0] = 0;			//清0
		}
	}
	else
	{
		LOW_TIME[0]++;				//低電平持續時間增加
		if(InTemp1.oneBit.b0)		//當前輸入狀態為低電平
		{
			InTemp0.oneBit.b0 = 1;
			FRE_CONT[0]++;
			LOW_TIME[0] = 0;		//清0	
		}
	}
//-------------------------------------第2路----------------------------------//
    if(InTemp0.oneBit.b1)			//上次檢測到輸入為高電平
	{
		HI_TIME[1]++;				//高電平持續時間增加
		if(!InTemp1.oneBit.b1)		//當前輸入狀態為低電平
		{
			InTemp0.oneBit.b1 = 0;
			FRE_CONT[1]++;	
			HI_TIME[1] = 0;			//清0
		}
	}
	else
	{
		LOW_TIME[1]++;				//低電平持續時間增加
		if(InTemp1.oneBit.b1)		//當前輸入狀態為低電平
		{
			InTemp0.oneBit.b1= 1;
			FRE_CONT[1]++;
			LOW_TIME[1] = 0;		//清0	
		}
	}
//-------------------------------------第3路----------------------------------//
	if(InTemp0.oneBit.b2)			//上次檢測到輸入為高電平
	{
		HI_TIME[2]++;				//高電平持續時間增加
		if(!InTemp1.oneBit.b2)		//當前輸入狀態為低電平
		{
			InTemp0.oneBit.b2 = 0;
			FRE_CONT[2]++;
			HI_TIME[2] = 0;			//清0	
		}
	}
	else
	{
		LOW_TIME[2]++;				//低電平持續時間增加
		if(InTemp1.oneBit.b2)		//當前輸入狀態為低電平
		{
			InTemp0.oneBit.b2 = 1;
			FRE_CONT[2]++;	
			LOW_TIME[2] = 0;		//清0
		}
	}
//-------------------------------------第4路----------------------------------//
	if(InTemp0.oneBit.b3)			//上次檢測到輸入為高電平
	{
		HI_TIME[3]++;				//高電平持續時間增加
		if(!InTemp1.oneBit.b3)		//當前輸入狀態為低電平
		{
			InTemp0.oneBit.b3 = 0;
			FRE_CONT[3]++;
			HI_TIME[3] = 0;			//清0
		}
	}
	else
	{
		LOW_TIME[3]++;				//低電平持續時間增加
		if(InTemp1.oneBit.b3)		//當前輸入狀態為低電平
		{
			InTemp0.oneBit.b3 = 1;
			FRE_CONT[3]++;	
			LOW_TIME[3] = 0;		//清0
		}
	}
//-------------------------------------第5路----------------------------------//
	if(InTemp0.oneBit.b4)			//上次檢測到輸入為高電平
	{
		HI_TIME[4]++;				//高電平持續時間增加
		if(!InTemp1.oneBit.b4)		//當前輸入狀態為低電平
		{
			InTemp0.oneBit.b4 = 0;
			FRE_CONT[4]++;	
			HI_TIME[4] = 0;			//清0
		}
	}
	else
	{
		LOW_TIME[4]++;				//低電平持續時間增加
		if(InTemp1.oneBit.b4)		//當前輸入狀態為低電平
		{
			InTemp0.oneBit.b4 = 1;
			FRE_CONT[4]++;	
			LOW_TIME[4] = 0;		//清0
		}
	}
//-------------------------------------第6路----------------------------------//

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美亚洲国产另类| 亚洲曰韩产成在线| 亚洲欧美偷拍三级| 日韩电影在线一区二区三区| 懂色av一区二区夜夜嗨| 欧美日韩亚洲国产综合| 久久久91精品国产一区二区精品 | 91碰在线视频| 日韩三级中文字幕| 亚洲激情图片一区| 国产精品香蕉一区二区三区| 欧美日韩电影在线播放| 国产色产综合色产在线视频 | 蜜臀久久99精品久久久久宅男 | 国产亚洲精品7777| 日韩av在线播放中文字幕| 99久免费精品视频在线观看| 欧美大胆人体bbbb| 亚洲成精国产精品女| youjizz国产精品| 久久久亚洲精品石原莉奈| 日韩va欧美va亚洲va久久| 色综合久久综合网欧美综合网 | 蜜桃一区二区三区在线| 在线影视一区二区三区| 国产欧美日韩视频在线观看| 激情另类小说区图片区视频区| 欧美亚洲国产一区二区三区va| 国产精品网站在线观看| 国产一区二区三区在线观看免费 | 亚洲色欲色欲www| 国产麻豆成人传媒免费观看| 日韩欧美一级精品久久| 亚洲国产欧美另类丝袜| 日本福利一区二区| 亚洲精品一二三区| 99精品久久99久久久久| 一区二区中文字幕在线| av中文一区二区三区| 国产精品情趣视频| www..com久久爱| 中文字幕一区二区三区不卡 | 国产精品每日更新在线播放网址| 国产一区二区在线观看免费| 国产人久久人人人人爽| 成人免费看视频| 国产精品久久一卡二卡| www.亚洲人| 亚洲免费av观看| 欧美日韩一区二区电影| 美女精品一区二区| 国产清纯在线一区二区www| 国产69精品久久99不卡| 国产精品久久久久aaaa| 日本丶国产丶欧美色综合| 亚洲韩国精品一区| 日韩一区二区免费高清| 精品夜夜嗨av一区二区三区| 国产欧美日韩不卡| 91丨porny丨蝌蚪视频| 亚洲自拍偷拍欧美| 日韩三级在线免费观看| 国产丶欧美丶日本不卡视频| 亚洲视频 欧洲视频| 欧美一区三区四区| 国产成人日日夜夜| 亚洲综合成人网| wwww国产精品欧美| 91年精品国产| 免费在线观看一区二区三区| 亚洲国产经典视频| 欧美色视频一区| 国产福利一区二区三区视频 | 国产日韩欧美精品在线| 色呦呦网站一区| 美女一区二区视频| 亚洲欧美另类久久久精品| 91精品国产综合久久精品麻豆| 精品一区二区三区在线视频| 亚洲欧美视频在线观看视频| 日韩精品中文字幕一区二区三区| 波多野洁衣一区| 国内国产精品久久| 亚洲一区二区三区四区五区黄| 久久综合久久久久88| 欧美在线观看一区二区| 色欧美片视频在线观看 | 亚洲天堂福利av| 日韩视频免费直播| 91色porny蝌蚪| 狠狠色综合日日| 亚洲不卡在线观看| 国产精品成人免费在线| 日韩欧美亚洲国产精品字幕久久久| 99国产欧美另类久久久精品| 精东粉嫩av免费一区二区三区| 亚洲色图视频网站| 久久久www成人免费毛片麻豆| 欧美日韩国产在线观看| 91亚洲精品一区二区乱码| 精品无人区卡一卡二卡三乱码免费卡 | 91啪亚洲精品| 成人精品一区二区三区四区 | 亚洲福利电影网| 亚洲欧美另类久久久精品2019| 国产片一区二区| 精品999久久久| 欧美一区二区人人喊爽| 欧美日韩三级视频| 91精品办公室少妇高潮对白| eeuss鲁一区二区三区| 国产精品123| 国产成人综合在线播放| 国产麻豆成人传媒免费观看| 国内外精品视频| 日韩精品欧美精品| 丝袜美腿成人在线| 午夜伦理一区二区| 天天操天天干天天综合网| 午夜影视日本亚洲欧洲精品| 亚洲一卡二卡三卡四卡 | 亚洲国产精品久久人人爱| 一区在线观看免费| 亚洲视频综合在线| 一区二区视频免费在线观看| 樱桃视频在线观看一区| 亚洲精品免费视频| 亚洲精品国产高清久久伦理二区| 亚洲天堂2016| 亚洲综合久久久| 奇米影视7777精品一区二区| 奇米影视7777精品一区二区| 国内精品在线播放| 狠狠色综合日日| 成人app在线| 色噜噜狠狠一区二区三区果冻| 色综合久久精品| 欧美丰满一区二区免费视频| 欧美一二三区精品| 国产欧美精品一区二区色综合| 国产精品乱码一区二三区小蝌蚪| 国产精品久线在线观看| 一区二区三区鲁丝不卡| 香蕉久久一区二区不卡无毒影院 | 日韩在线a电影| 久久国产欧美日韩精品| 国产精品一卡二卡| 91首页免费视频| 欧美一区二区三区四区高清| 亚洲精品一区在线观看| 国产精品国产三级国产三级人妇 | 欧美日韩在线精品一区二区三区激情| 欧美美女一区二区三区| 久久综合久久鬼色| 一区二区三区在线不卡| 日本免费在线视频不卡一不卡二 | 成人午夜电影网站| 色婷婷av一区二区三区之一色屋| 欧美日韩精品一区二区| 久久九九久久九九| 亚洲最快最全在线视频| 蜜臀av一区二区三区| 99综合影院在线| 日韩欧美在线综合网| 亚洲欧洲99久久| 久久精品国产一区二区| 色又黄又爽网站www久久| 日韩欧美国产综合一区| 亚洲人快播电影网| 久久99精品久久久久久国产越南 | 精品国产凹凸成av人网站| 亚洲三级在线看| 精品一区二区三区日韩| 色综合天天视频在线观看 | 91精品国产一区二区三区| 国产精品免费网站在线观看| 日韩vs国产vs欧美| 在线免费精品视频| 国产精品传媒在线| 激情另类小说区图片区视频区| 欧美视频三区在线播放| 国产精品久久午夜| 国产麻豆成人传媒免费观看| 911精品国产一区二区在线| 亚洲你懂的在线视频| 国产宾馆实践打屁股91| 日韩精品一区二区三区swag| 五月婷婷综合网| 欧美性做爰猛烈叫床潮| 亚洲理论在线观看| aaa欧美色吧激情视频| 国产午夜亚洲精品羞羞网站| 久久精品国产精品亚洲综合| 欧美日韩亚洲不卡| 亚洲一区二区精品3399| 一本久久a久久精品亚洲| 国产精品不卡在线| 91视频精品在这里| 国产精品国产三级国产专播品爱网| 国产高清亚洲一区|