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

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

?? process.c

?? 用于GPRS遠程電力抄表系統中采集器端的程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*****--------------文件信息--------------------------------------------------------------------------------
**文   件   名: process.C
**最后修改日期: 2005-11-10
**描        述: 對串口接收的數據進行處理
**設計者      : jxf
*****************************************************************************************************/
#include "process.h"
#include "proccomm.h"
#include "recframe.h"
#include "ds1302.h"
#include "io.h"
#include "time.h"
#include "hash.h"
/*******************************************************************
                     哈希函數               
函數原型: uchar hash(uchar ,uchar ,uchar) 
功  能:       
  
*******************************************************************
uchar Hash(uchar *Data,uchar table_len)
{
	register uint hash = 0;
	uint x = 0, i=0;
	for(i = 0; i < 3; i++) 
	{
		hash = (hash << 2) + Data[i]+TH0+TL0;
		if((x = hash & 0xF000) != 0)
	 	{
			hash ^= (x >> 8);
			hash &= ~x;
		}
	}
	return ((hash & 0x7FFF) % table_len) ;
}
*/


/*******************************************************************
                     用戶通斷電操作函數               
函數原型: void User_contr()
功  能:       
  
********************************************************************/
void User_contr()
{
	switch(wr_switch)
	{
		case 1:
			TimeStart=1;
			delay_30ms=0;
			LightFlashStart=0;
			if(bport07)
			{
				if(bwary00)
				{
					P0=0;
			   		P2=0;
					P1_2=0;
				}
				else
				{
					P0=0xff;
			    	P2=0xff;
					P1_2=1;
				}
				P0_0=bwary00;
				P1_2=~bwary00;
				wr_switch++;
		
			}
			else wr_switch++;
			break;

		case 2:
			if(bport06)
			{
				if(delay_30ms>20)
				{ 
					delay_30ms=0;
					if(bwary01)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					
					P0_1=bwary01;
					P1_2=~bwary01;
					wr_switch++;
				}
			}
			else wr_switch++; 
			break;

		case 3:
			if(bport05)
			{
				if(delay_30ms>20)
				{	
					delay_30ms=0;
					if(bwary02)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			   		 	P2=0xff;
						P1_2=1;
					}
					
					P0_2=bwary02;
					P1_2=~bwary02;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 4:
			if(bport04)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary03)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P0_3=bwary03;
					P1_2=~bwary03;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 5:
			if(bport03)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary04)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P0_4=bwary04;
					P1_2=~bwary04;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 6:
			if(bport02)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary05)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P0_5=bwary05;
					P1_2=~bwary05;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 7:
			if(bport01)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary06)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P0_6=bwary06;
					P1_2=~bwary06;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 8:
			if(bport00)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary07)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P0_7=bwary07;
					P1_2=~bwary07;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;

		case 9:
			if(bport17)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary10)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_0=bwary10;
					P1_2=~bwary10;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 10:
			if(bport16)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary11)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_1=bwary11;
					P1_2=~bwary11;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 11:
			if(bport15)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary12)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_2=bwary12;
					P1_2=~bwary12;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 12:
			if(bport14)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary13)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_3=bwary13;
					P1_2=~bwary13;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 13:
			if(bport13)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary14)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_4=bwary14;
					P1_2=~bwary14;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 14:
			if(bport12)
			{
	   			if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary15)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_5=bwary15;
					P1_2=~bwary15;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 15:
			if(bport11)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary16)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_6=bwary16;
					P1_2=~bwary16;
					wr_switch++;	
				}
			}
			else wr_switch++;
			break;
		case 16:
			if(bport10)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary17)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_7=bwary17;
					P1_2=~bwary17;
			    	wr_switch++;
				}
			}
			else 	wr_switch++;
					
			break;

		case 17:
			if(delay_30ms>20)
			{
				delay_30ms=0;
				P2=0;
				P0=0;
				P1_2=0;
		    	wr_switch=0;
				TimeStart=0;
				LightFlashStart=1;

			}

		}
}

/*******************************************************************
                     用戶通斷電顯示函數               
函數原型: void UserLight_Flash()
功  能:       
  
********************************************************************/

void UserLight_Flash()
{
	static uchar  maskdisp=1; 
	static uchar  state=0;

	switch(state)
	{
		case 0:
 
			if((delay_25ms>=28)&&(delay_25ms<=32))
			{
 	 			if(maskdisp==0x00)
				{
		    		P0=0;
					state=1;
					maskdisp=1;
				    break;	
				}

		  		delay_25ms=33;
				if (bwary[0]&maskdisp)  P0 =maskdisp;
				else P0=0;
		  		    
		   		maskdisp <<=1;

		  	}
           else	 if(delay_25ms>=100)  	P0=0;	  ////////zjs added on 20060711
		        
							
		   	break;



		case  1:
			if((delay_25ms>=28)&&(delay_25ms<=32))
			{
  				if(maskdisp==0x00)
				{
			    	P2=0;
					state=0;
					maskdisp=1;
			  		break;	
				}

		   		delay_25ms=33;
				if (bwary[1]&maskdisp)  P2 =maskdisp;
				else P2=0;
		  		    
		 	  	maskdisp <<=1;
		   	
		  	}
			else  if(delay_25ms>=100) 	P2=0;	  ////////zjs added on 20060711

		    break;
		}	
}
/*******************************************************************
                     寫端口函數               
函數原型: void Wr_port()
功  能:       
  
********************************************************************/

void Wr_port()
{ 
	static uchar wport_flag=0;
	uchar wport_end;

	switch(wport_flag)
    {
		case 0: 
			W_block(WPAGE0,i2c_addr_io,bwary,2);
		    wport_end=1;
		    W_block(WPAGE0,i2c_addr_portflag,&wport_end,1);  
		    wport_flag=1;
		    break;
         case 1: 
            W_block(WPAGE1,i2c_addr_io,bwary,2);
		    wport_end=0;
		    W_block(WPAGE0,i2c_addr_portflag,&wport_end,1); 
		    wport_flag=0; 
		    break;
	}

	SenBuf[5]=(RecBuf[5]|0x80);
    cs+=SenBuf[5];
    SenBuf[6]=0;
    SenBuf[SenBuf[6]+7]=cs;
	SenBuf[SenBuf[6]+8]=FRAME_END_CHAR;
	Senlen=SenBuf[6]+9;
}

/*******************************************************************
                     讀端口函數               
函數原型: void  Rd_port(void)
功  能:       
  
********************************************************************/

void  Rd_port(void)
{
    register uchar k;

  	brary00=bwary07;
	brary01=bwary06;
	brary02=bwary05;
	brary03=bwary04;
	brary04=bwary03;
	brary05=bwary02;
	brary06=bwary01;
	brary07=bwary00;
	brary10=bwary17;
	brary11=bwary16;
	brary12=bwary15;
	brary13=bwary14;
	brary14=bwary13;
	brary15=bwary12;
	brary16=bwary11;
	brary17=bwary10;

    SenBuf[7]=brary[0];
	SenBuf[8]=brary[1];
    SenBuf[5]=(RecBuf[5]|0x80);
    cs+=SenBuf[5];
    SenBuf[6]=2;
    cs+=SenBuf[6];
      
    for(k=0;k<2;k++)
		cs+=SenBuf[k+7];
       
    SenBuf[SenBuf[6]+7]=cs;
    SenBuf[SenBuf[6]+8]=FRAME_END_CHAR;
    Senlen=SenBuf[6]+9;
}

/*******************************************************************
                     讀累加數據函數               
函數原型: void Radd_data()
功  能:       
  
********************************************************************/
void Radd_data(void)
{
	register uchar i,j;
   
    SenBuf[5]=(RecBuf[5]|0x80);
    cs+=SenBuf[5];

	SenBuf[6]=RecBuf[7]*6;
	for(i=0;i<RecBuf[7];i++)
 		for(j=0;j<6;j++)
 			SenBuf[j+7+i*6]=sum[i][j];

    for(i=0;i<SenBuf[6];i++)
		cs+=SenBuf[7+i];               
	cs+=SenBuf[6];
	SenBuf[7+SenBuf[6]]=cs;
	SenBuf[8+SenBuf[6]]=FRAME_END_CHAR;
	Senlen=SenBuf[6]+9;
       
}

/*******************************************************************
                     輪詢一周結束函數               
函數原型: void Cyc_end()
功  能:       
  
********************************************************************/
void Cyc_end()
{
	
	if(CycleFlag)
	{
		CycleFlag=0;
		CheckInFlag=0;	
	}
	else
		CheckInFlag=1; //注冊標志

	FreezeClass=RecBuf[7];


			
}

/*******************************************************************
                     設置時段凍結函數               
函數原型: void S_time(void)
功  能:       
  
********************************************************************/
void S_time(void)
{
	uchar freezetime_end=0;
	static freezetime_flag;
// 	for(i=0;i<16;i++)
//		for(j=0;j<6;j++)
// 			FreezeData[j+i*6]=freezesum[i][j];

	switch(freezetime_flag)
	{
		case 0: 
			W_block(WPAGE0,i2c_time_freeze,&freezesum[0][0],96);
			freezetime_end=1; 
			W_block(WPAGE0,i2c_time_flag,&freezetime_end,1);
			freezetime_flag=1;
			break;
		case 1: 
			W_block(WPAGE1,i2c_time_freeze,&freezesum[0][0],96);
			freezetime_end=0;
			W_block(WPAGE0,i2c_time_flag,&freezetime_end,1);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲乱码中文字幕| 色综合一个色综合亚洲| 久久综合资源网| 极品少妇一区二区三区精品视频| 日韩欧美一区二区久久婷婷| 久久精品久久综合| 国产精品久久久久一区二区三区| 色天天综合久久久久综合片| 日本不卡视频在线观看| 久久久亚洲高清| 91久久精品国产91性色tv| 爽爽淫人综合网网站| 久久蜜桃一区二区| 欧美在线free| 福利电影一区二区| 日本欧美一区二区在线观看| 国产欧美日韩久久| 日本中文字幕不卡| 欧美成人一区二区| 91福利精品视频| 成人免费不卡视频| 国内欧美视频一区二区 | 激情另类小说区图片区视频区| 亚洲精品在线三区| 色爱区综合激月婷婷| 国产麻豆91精品| 久久国产三级精品| 无吗不卡中文字幕| 亚洲成人激情自拍| 亚洲一区二区欧美日韩| 国产精品传媒入口麻豆| 久久蜜臀中文字幕| 国产欧美精品一区| 久久精品日产第一区二区三区高清版 | 国产精品国产自产拍在线| 成人av高清在线| 激情六月婷婷久久| 国产一区二区不卡| 国产黄色精品视频| 97精品视频在线观看自产线路二| 奇米影视一区二区三区| 成人欧美一区二区三区在线播放| 欧美激情在线一区二区三区| 久久综合九色综合久久久精品综合| 欧美一二三区在线观看| 91精品久久久久久久99蜜桃| 精品久久久久久最新网址| 欧美精品一区男女天堂| 久久久蜜臀国产一区二区| 欧美一级爆毛片| 久久青草国产手机看片福利盒子| 国产精品人妖ts系列视频| 综合久久综合久久| 一区二区国产视频| 美国毛片一区二区三区| 国产a视频精品免费观看| 91丨九色porny丨蝌蚪| 4438亚洲最大| 精品国产乱子伦一区| 亚洲色图在线视频| 老汉av免费一区二区三区| 顶级嫩模精品视频在线看| 在线观看亚洲一区| 欧美激情艳妇裸体舞| 丝袜美腿高跟呻吟高潮一区| 成人小视频在线观看| 欧美精品丝袜中出| 69精品人人人人| 久久精品一区蜜桃臀影院| 日韩一区中文字幕| 国产成人一区在线| 69av一区二区三区| 亚洲精品成人天堂一二三| 日韩专区在线视频| 色婷婷综合久久久久中文一区二区| 欧美zozozo| 亚洲精品日韩专区silk | 成人av在线资源| 欧美精品一区二| 久久成人免费日本黄色| 在线观看一区日韩| 亚洲国产一区在线观看| 激情综合一区二区三区| 91麻豆精品国产91久久久久| 一卡二卡三卡日韩欧美| 91国偷自产一区二区三区观看 | 91精品国产欧美日韩| 亚洲一卡二卡三卡四卡| 欧美亚洲综合在线| 有码一区二区三区| 色哟哟一区二区在线观看| 国产欧美一区视频| 九九精品一区二区| 国产偷国产偷精品高清尤物| 久久99久久99精品免视看婷婷| 日韩亚洲欧美在线观看| 极品销魂美女一区二区三区| 精品国产乱码久久久久久牛牛| 日韩成人午夜精品| 久久久久久夜精品精品免费| 福利一区二区在线| 自拍偷在线精品自拍偷无码专区| 91女厕偷拍女厕偷拍高清| 亚洲综合网站在线观看| 精品人在线二区三区| 国产精品主播直播| 亚洲精品久久久久久国产精华液| 日本国产一区二区| 日本欧美久久久久免费播放网| 国产午夜精品一区二区三区嫩草| 不卡av在线免费观看| 天堂蜜桃一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋| 欧美亚洲尤物久久| 风间由美一区二区三区在线观看| 亚洲最大成人综合| 国产午夜亚洲精品午夜鲁丝片| 91麻豆高清视频| 国产精品中文欧美| 日韩精品福利网| 亚洲另类春色国产| 亚洲一区二区美女| 91精品视频网| 99热99精品| 粉嫩嫩av羞羞动漫久久久 | 国产精品国产自产拍高清av| 91香蕉视频在线| 国产毛片精品视频| 国产成人丝袜美腿| www.亚洲免费av| 9人人澡人人爽人人精品| 99久久免费国产| 99热这里都是精品| 精品污污网站免费看| 欧美麻豆精品久久久久久| 91精品国产全国免费观看| 日韩亚洲欧美综合| 国产性色一区二区| 亚洲品质自拍视频| 欧美a一区二区| 国产成人av资源| 99久久国产综合色|国产精品| 91麻豆免费看| 91精品国产色综合久久久蜜香臀| 日韩午夜av电影| 国产精品三级av在线播放| 亚洲一区二区三区免费视频| 麻豆精品一区二区综合av| 精品亚洲国内自在自线福利| 国产成人av电影在线| 欧洲av在线精品| 国产亚洲一本大道中文在线| 亚洲欧美偷拍三级| 韩国女主播一区| 99久久免费视频.com| 欧美日韩视频第一区| 久久亚洲综合色| 亚洲网友自拍偷拍| 国产成人精品综合在线观看| 99精品视频中文字幕| 欧美tk丨vk视频| 亚洲主播在线观看| 99久久伊人久久99| 精品久久免费看| 免费在线一区观看| 欧美日韩你懂得| 亚洲自拍偷拍av| 91美女片黄在线观看| 国产精品午夜电影| 国产美女一区二区| 欧美精品一区二区三区在线| 婷婷国产在线综合| 欧美亚洲一区二区在线| 亚洲另类春色国产| 91小视频免费观看| 亚洲精品乱码久久久久久黑人| 成人丝袜视频网| 中文字幕成人在线观看| 国产成人精品免费网站| 日本一区二区动态图| 风间由美中文字幕在线看视频国产欧美 | 岛国一区二区三区| 国产区在线观看成人精品| 国产乱码精品1区2区3区| 精品99久久久久久| 国产精品中文字幕欧美| 中文成人av在线| 国产一区91精品张津瑜| 日韩一级高清毛片| 国产91清纯白嫩初高中在线观看| 久久精品亚洲精品国产欧美kt∨| 风间由美中文字幕在线看视频国产欧美| 久久久久99精品国产片| 激情五月播播久久久精品| 国产区在线观看成人精品| 99久久亚洲一区二区三区青草| 亚洲欧美激情插 | 26uuu久久综合| 91视频91自| 国内精品伊人久久久久av影院|