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

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

?? flux_pca.c

?? 一個流量控制儀器的源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
                //為了顯示脈沖,使用延時
                ucFluxPulseComing = FluxPulseComingDelay;
        }

}



/*******************************************************************
		流量計脈沖計數器復位函數
函數原型: void fnReset_FluxPulseCounter(bit bIFFluxPositiveTemp);
功能: 	流量計脈沖計數器復位函數

參數:bit bIFFluxPositive
	0	負流量
	1	正流量

********************************************************************/

void fnReset_FluxPulseCounter(bit bIFFluxPositiveTemp)
{
        //1.	計數器暫停
        FluxPulseCounterDisable;

        //2.	計數器清零
        
        //流量計復位掉電確認,只使用一次!!!復位后自動允許
        if(bFluxResetEnable == 1)
        {
        	ulFluxPulse = 0;
        	
        	ulFluxPulseLast = 0;
        }
        else
        {
        	bFluxResetEnable = 1;
        	
        	//默認掉電復位的第一次流速統計是不正確的!
        	ulFluxPulseLast = ulFluxPulse;
        }

        //3.	所有流量計相關變量初始化。
        bFluxLimitOver = 0;     //默認值 流量未到達

        bIFFluxPositive = bIFFluxPositiveTemp;    

        ucFluxPulseComing = 0;
        
        lFluxRemainInt = 0;
        ucFluxRemainDec = 0;
        
        //流速初始化
        ulFluxVelocity = 0;
        ulFluxVelocityInt = 0;
        ucFluxVelocityDec = 0;

        //流量計相關存儲數據讀入
        fnRead_FluxPulseCounterData();

        
        
}


/*******************************************************************
		檢查是否當天過去,并保存當天最大流速
函數原型: void fnCheck_TodayFluxV()
********************************************************************/
void fnCheck_TodayFluxV()
{
	//uchar i;
	
		//檢查是否當天已經過去(月、日)
		/*if ((uc7_RECFluxVelocityMaxDateTime_Today[6]!= uc8_SystemDateTime[6])|
				(uc7_RECFluxVelocityMaxDateTime_Today[5]!= uc8_SystemDateTime[5]))
		{
			//記錄已經過去的當天最大流量和時間->L4
			fnWrite_SystemRecord4(ulRECFluxVelocityMax_Today, uc7_RECFluxVelocityMaxDateTime_Today);
			
			//當天最大流速清零
			ulRECFluxVelocityMax_Today = 0;
			
			//記錄新的當天時間
			for(i=1;i++;i<7)
				uc7_RECFluxVelocityMaxDateTime_Today[i] = uc8_SystemDateTime[i];
			
		}*/
		;
}

/*******************************************************************
		流量計運行函數(正負流量)
函數原型: void	fnRun_Flux();

功能:
1.	脈沖到來的顯示
2.	剩余水量計算(正負流量)
3.	流速計算
4.	流量統計(最大、最小的歷史記錄)
5.	流速統計(最大、最小的歷史記錄)

********************************************************************/

void	fnRun_Flux()
{
        uchar ucFluxComputeTemp;
        
        ulong ulFluxTemp;
        
        //使用臨時變量代替ulFluxPulse
       	//防止出現中斷沖突!
       	
       	//計數器暫停
			  EC=0;
			  
       	ulFluxTemp = ulFluxPulse;

       	//計數器運行
			  EC=1;

        //1.	脈沖到來的顯示
        if (ucFluxPulseComing != 0)
        {
                ucFluxPulseComing --;
                
                //流量計脈沖到來的顯示
                fnSet_DisplayLED(6,1,1);        //設置第六位LED顯示不閃爍
        }
        else
                fnSet_DisplayLED(6,0,1);        //設置第六位LED不顯示


        //2.	剩余水量計算
        if ( bFluxLimitOver == 0 )

				if(bIFFluxPositive)
				{
						//正流量
						//lFluxRemainInt = ( (ulong)uiFluxLimit * uiFluxPulsePerTonWater - ulFluxPulse ) % uiFluxPulsePerTonWater * 10;
        	lFluxRemainInt = ( ulFluxTemp % uiFluxPulsePerTonWater ) * 10;
        	ucFluxRemainDec = ( lFluxRemainInt  / uiFluxPulsePerTonWater ) * 10 ;
        	ucFluxRemainDec += ( lFluxRemainInt  % uiFluxPulsePerTonWater ) * 10 / uiFluxPulsePerTonWater;

                lFluxRemainInt = uiFluxLimit - ulFluxTemp / uiFluxPulsePerTonWater;

		
									if(lFluxRemainInt > 0)
                	if (ucFluxRemainDec != 0)
                	{
                		ucFluxRemainDec = 100 - ucFluxRemainDec;
                		lFluxRemainInt --;
                	}

                //判斷流量到達
                
                if (ulFluxTemp >= (ulong)uiFluxLimit * uiFluxPulsePerTonWater)
                {
                        bFluxLimitOver = 1;
                        lFluxRemainInt = 0;
                        ucFluxRemainDec = 0;
                }

        }
        else
        {
        	//負流量
					//lFluxRemainInt = ( (ulong)uiFluxLimit * uiFluxPulsePerTonWater - ulFluxPulse ) % uiFluxPulsePerTonWater * 10;
        	lFluxRemainInt = ( ulFluxTemp % uiFluxPulsePerTonWater ) * 10;
        	ucFluxRemainDec = ( lFluxRemainInt  / uiFluxPulsePerTonWater ) * 10 ;
        	ucFluxRemainDec += ( lFluxRemainInt  % uiFluxPulsePerTonWater ) * 10 / uiFluxPulsePerTonWater;


                lFluxRemainInt =  ulFluxTemp / uiFluxPulsePerTonWater - (long)uiFluxLimit * ucFluxLimit_Negative / 10;

                ucFluxComputeTemp = (ulong)uiFluxLimit * ucFluxLimit_Negative % 10 * 10;
		
								//if(lFluxRemainInt < 0)
                //還是有問題:X.00附近!!

                if ( ucFluxComputeTemp < ucFluxRemainDec )
                {
                       ucFluxRemainDec = ucFluxComputeTemp - ucFluxRemainDec;
                        lFluxRemainInt ++;
                }
                else
                { 
                        ucFluxRemainDec = ucFluxComputeTemp - ucFluxRemainDec;
                }
                /*
                if (ucFluxComputeTemp == 0 )
                	if (ucFluxRemainDec != 0)
                	{
                		ucFluxRemainDec = (long)uiFluxLimit * ucFluxLimit_Negative % 10 * 100 - ucFluxRemainDec;
                		lFluxRemainInt ++;
                	}
                */
                //判斷流量到達
                if (ulFluxTemp >= (ulong)uiFluxLimit * uiFluxPulsePerTonWater * ucFluxLimit_Negative / 10 )
                {
                        bFluxLimitOver = 1;
                        lFluxRemainInt = 0;
                        ucFluxRemainDec = 0;
                }
      
        }


        //3.	流速計算
        //每過uiFluxVelocityTime統計一次流量
        
        if ( fnBitTest( ucTurnSecT , 4 ) )
        {
        	ucTurnSecT = fnBitClr( ucTurnSecT , 4 );
        	
        	uiFluxVelocityTimeS++;
        	
        	if(uiFluxVelocityTimeS >= uiFluxVelocityTime)
        	{
        		uiFluxVelocityTimeS = 0;
        		
        		//統計流速
        		
        		//防止流速計算越界!
        		if(ulFluxTemp >= ulFluxPulseLast)
        		{
        			ulFluxVelocity = ulFluxTemp - ulFluxPulseLast;
        		}
        		else
        		{
        			ulFluxVelocity = 0xFFFFFFFF - ulFluxPulseLast + ulFluxTemp;
        		}
        		
        		ulFluxPulseLast = ulFluxTemp;
        		
        		//脈沖流速單位換算
        		ulFluxVelocityInt = ( ulFluxVelocity % uiFluxPulsePerTonWater ) * 10;
        		ucFluxVelocityDec = ( ulFluxVelocityInt  / uiFluxPulsePerTonWater ) * 10 ;
        		ucFluxVelocityDec += ( ulFluxVelocityInt  % uiFluxPulsePerTonWater ) * 10 / uiFluxPulsePerTonWater;

						ulFluxVelocityInt = ulFluxVelocity / uiFluxPulsePerTonWater;
						
						
						//檢查是否最大流速!
						if (ulRECFluxVelocityMax < ulFluxVelocity)
						{
							//記錄最大流速(當前時間/日期)
							fnWrite_SystemRecord3(1, ulFluxVelocity);
							
							ulRECFluxVelocityMax = ulFluxVelocity;
						}
						

						
						//檢查是否當天最大流速
						//if (ulRECFluxVMax_Today < ulFluxVelocity)
						//{					
							//以防萬一,先檢查是否今天已過!保存昨天的數據		
						//	fnCheck_TodayFluxV();
							
						//	ulRECFluxVMax_Today = ulFluxVelocity;
							
							//記錄時間
						//	for(ucFluxComputeTemp=1;ucFluxComputeTemp++;ucFluxComputeTemp<7)
						//		uc7_RECFluxVMaxDT_Today[ucFluxComputeTemp] = uc8_SystemDateTime[ucFluxComputeTemp];
							
						//}					
 		
        	}
        }
        
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香婷婷综合网| 99精品欧美一区二区蜜桃免费| 26uuu国产在线精品一区二区| 丁香六月久久综合狠狠色| 亚洲高清在线视频| 中文字幕一区二区三区精华液 | 在线视频你懂得一区二区三区| 老司机精品视频导航| 亚洲精品久久7777| 欧美激情在线一区二区| 日韩三级精品电影久久久| 一本久久a久久精品亚洲| 国产成人免费网站| 久久国产精品一区二区| 天天操天天干天天综合网| 亚洲欧洲在线观看av| 精品欧美乱码久久久久久1区2区| 在线观看亚洲精品视频| 99久久伊人久久99| 粉嫩一区二区三区性色av| 日本不卡一区二区三区高清视频| 一区二区三区中文免费| 1区2区3区欧美| 国产精品拍天天在线| 2020国产精品| 精品久久久久一区| 91精品国产免费| 精品视频色一区| 91激情在线视频| 色综合久久久久久久久| 99久久夜色精品国产网站| 国产精品自拍三区| 九九精品一区二区| 久久精品国产色蜜蜜麻豆| 日韩成人精品在线观看| 日韩中文字幕麻豆| 国产视频一区二区在线| 色先锋aa成人| 精品综合免费视频观看| 久久久.com| 欧美性大战xxxxx久久久| 亚洲第一主播视频| 中文字幕乱码日本亚洲一区二区| 99riav一区二区三区| 成人av电影免费在线播放| 天堂成人国产精品一区| 免费在线看成人av| 麻豆成人91精品二区三区| 免费不卡在线视频| 久久成人免费网| 国产精品中文字幕一区二区三区| 高清国产一区二区三区| 成人av网址在线观看| 在线观看一区日韩| 欧美一区二区福利视频| 精品国产乱码久久久久久1区2区| 久久久久久久久久美女| 亚洲国产岛国毛片在线| 亚洲欧美日韩国产综合| 天堂成人国产精品一区| 精品一区二区在线播放| 成人性生交大片免费看中文| 91视频免费看| 欧美高清一级片在线| 2023国产精品自拍| 国产精品久久精品日日| 亚洲国产视频网站| 久久99精品国产.久久久久久 | voyeur盗摄精品| 不卡的av在线| 91麻豆精品国产无毒不卡在线观看 | 蜜臀精品久久久久久蜜臀| 无码av免费一区二区三区试看| 免费久久精品视频| 春色校园综合激情亚洲| 色94色欧美sute亚洲线路二| 91精品国产色综合久久ai换脸| 久久久另类综合| 亚洲精品五月天| 久久精品国产秦先生| 欧美日本在线播放| 精品国产区一区| 亚洲天天做日日做天天谢日日欢| 亚洲 欧美综合在线网络| 国产专区综合网| 欧美伊人久久久久久久久影院| 欧美成人性战久久| 亚洲男人的天堂在线aⅴ视频| 日韩黄色片在线观看| 成人免费三级在线| 337p亚洲精品色噜噜狠狠| 久久久亚洲午夜电影| 亚洲你懂的在线视频| 久久99久久精品| 欧美亚洲高清一区二区三区不卡| 亚洲精品在线网站| 亚洲va中文字幕| 成人黄色网址在线观看| 欧美va亚洲va| 亚洲成人www| 91麻豆高清视频| 久久久不卡网国产精品二区| 性做久久久久久免费观看| proumb性欧美在线观看| 日韩精品一区二区三区三区免费 | 中文字幕一区av| 久久爱www久久做| 欧美精品在线观看播放| 亚洲乱码一区二区三区在线观看| 粉嫩蜜臀av国产精品网站| 日韩一区二区三区高清免费看看| 亚洲精品日日夜夜| 99久久亚洲一区二区三区青草| 久久婷婷一区二区三区| 蜜桃精品视频在线观看| 制服丝袜成人动漫| 一卡二卡三卡日韩欧美| 99久久精品国产精品久久| 久久美女高清视频| 久久狠狠亚洲综合| 欧美大片一区二区三区| 日本中文字幕一区二区视频 | 91黄色在线观看| 国产精品传媒入口麻豆| 国产精品911| 久久久九九九九| 九九精品视频在线看| 欧美电视剧在线看免费| 久久精品噜噜噜成人88aⅴ | 亚洲狠狠丁香婷婷综合久久久| 成人av在线影院| 亚洲欧洲美洲综合色网| 成人动漫av在线| 亚洲色图视频网| 91国内精品野花午夜精品| 亚洲激情在线播放| 欧美少妇bbb| 国产麻豆成人传媒免费观看| 精品国产免费视频| 国产资源在线一区| 欧美激情中文不卡| 成人avav影音| 亚洲综合激情小说| 欧美疯狂性受xxxxx喷水图片| 日产精品久久久久久久性色| 欧美刺激午夜性久久久久久久| 美脚の诱脚舐め脚责91| 久久久影院官网| 成人免费av在线| 一区二区三区四区在线播放| 91福利国产成人精品照片| 视频一区二区国产| 日韩精品专区在线影院观看| 日本强好片久久久久久aaa| 日韩欧美资源站| 国产91精品露脸国语对白| 亚洲色图都市小说| 欧美日韩高清影院| 国产一区二区在线观看免费| 国产午夜精品福利| 色中色一区二区| 日本成人在线电影网| 久久精品亚洲乱码伦伦中文| av不卡在线观看| 丝袜脚交一区二区| 久久精品亚洲乱码伦伦中文| 色呦呦国产精品| 蜜桃免费网站一区二区三区| 中文字幕乱码久久午夜不卡| 91福利在线观看| 精品一区二区久久| 亚洲欧美日韩人成在线播放| 欧美一区二区三区系列电影| 成人激情文学综合网| 午夜久久久影院| 中文字幕高清一区| 欧美日本在线一区| 大白屁股一区二区视频| 亚洲成人一区在线| 日本一二三四高清不卡| 67194成人在线观看| 成人中文字幕电影| 午夜久久福利影院| 中文字幕一区二区在线观看| 欧美一区二区免费视频| 99精品视频在线免费观看| 免播放器亚洲一区| 一个色综合av| 国产校园另类小说区| 欧美日韩国产一级| 99久久99久久综合| 国模少妇一区二区三区| 亚洲综合色成人| 中文字幕乱码久久午夜不卡| 日韩一区二区三区四区五区六区| 色综合天天综合色综合av| 国产在线日韩欧美| 婷婷综合另类小说色区| 亚洲欧美色图小说| 国产区在线观看成人精品|