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

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

?? dzagree.c

?? 16位按鍵掃描程序,包含數字鐘計時,鬧鐘報警,及定時應用
?? C
字號:
/******************************************************************************************/
/******************************************電總轉換協議************************************/
/******************************************************************************************/
//#include <reg52.h>
#include "STC89C51.h"
#include "main.h"
extern unsigned char idata Uart_RxBuf[50];
extern unsigned char idata Uart_TxBuf[50];
extern bit Uart_RecvOk; 

unsigned char idata Address;
unsigned char idata  ComTxPointer;
unsigned char idata  ComTxLength;
unsigned char idata   HighByte;
unsigned char idata   LowByte;
unsigned char idata  ComRxData;
unsigned char ComRxPointer=1;
unsigned char ComRxStep=0;
unsigned char lenghAscTX;
unsigned char ComRxAdr;

unsigned char ComRxChkSum();
unsigned char AscToHex(unsigned char a,unsigned char b);
void HexToAsc(unsigned char a);
/**************************************************************************/
extern unsigned char code lum_grade[10];
extern unsigned char idata LightGrade[8];
#define DeviceSort  0x02  //可調光
//#define DeviceSort  0x01  //不可調光
#define CardNum     0x01
//#define CardNum     0x02
unsigned char code scene[10]={0xAA,0xB9,0x6C,0x6D,0x6E,
                              0xB0,0xA7,0xC1,0xDC,0xE1};
unsigned char code chligtscene[10][8]= {{135,125,105,95,85,75,135,30},
                                        {30,135,125,105,95,85,30,135},
	                                    {55,30,135,125,105,95,85,75},
									    {75,55,30,135,125,105,95,85},
									    {85,75,55,30,135,125,105,95},
									    {95,85,75,55,30,135,125,105},
									    {105,95,85,75,55,30,135,125},
									    {125,105,95,85,75,55,30,135},
									    {55,125,105,95,85,75,30,135},
									    {135,125,105,135,85,75,55,30},};

/**************************************************************************/
void DoComUnPacket(void)
{	
    unsigned int idata ChkTXSum;
	unsigned char p;
	unsigned char Cid1;	
	unsigned char Cid2;
	unsigned char RtnCode;
	unsigned char ComRxVer;
//    unsigned char ComRxAdr;	//
	unsigned char i;
	unsigned char ChkSumHigh;
	unsigned char ChkSumLow;
	RtnCode=ComRxChkSum();//
	ComRxVer=Uart_RxBuf[1];
	ComRxAdr=Uart_RxBuf[2];
	Cid1=Uart_RxBuf[3];
	Cid2=Uart_RxBuf[4];

	if((RtnCode==0)&&(Uart_RecvOk==1))
	  {
      unsigned char CommandType1;
      unsigned char CommandType;
	  CommandType1=Cid2;
	  if(ComRxAdr==CardNum||ComRxAdr==0xFF)
	    {
	  switch(CommandType1)
	        {
			  case 0x42://控制單盞燈
			     {
				      CommandType=Uart_RxBuf[7];
                      switch(DeviceSort)
                             {
							 case 0x01:
                               {
				                switch(CommandType)
				                       {
									    case 0xFF:                    //全開
							                 P0_state=0x00;
										     break;
										case 0x00:                    //全關
							                 P0_state=0xFF;
										     break;
										case 0x01:                    //單盞燈的開關
										     if(Uart_RxBuf[8]==0xFF)P0_0OnOff=0;
										     else if(Uart_RxBuf[8]==0x00)P0_0OnOff=1;
											 break;
									    case 0x02:
										     if(Uart_RxBuf[8]==0xFF)P0_1OnOff=0;
										     else if(Uart_RxBuf[8]==0x00)P0_1OnOff=1;
											 break;
									    case 0x03:
										     if(Uart_RxBuf[8]==0xFF)P0_2OnOff=0;
										     else if(Uart_RxBuf[8]==0x00)P0_2OnOff=1;
											 break;
				                        case 0x04:
										     if(Uart_RxBuf[8]==0xFF)P0_3OnOff=0;
										     else if(Uart_RxBuf[8]==0x00)P0_3OnOff=1;
											 break;
										case 0x05:
										     if(Uart_RxBuf[8]==0xFF)P0_4OnOff=0;
										     else if(Uart_RxBuf[8]==0x00)P0_4OnOff=1;
											 break;
									    case 0x06:
										     if(Uart_RxBuf[8]==0xFF)P0_5OnOff=0;
										     else if(Uart_RxBuf[8]==0x00)P0_5OnOff=1;
											 break;
									    case 0x07:
										     if(Uart_RxBuf[8]==0xFF)P0_6OnOff=0;
										     else if(Uart_RxBuf[8]==0x00)P0_6OnOff=1;
											 break;
										case 0x08:
										     if(Uart_RxBuf[8]==0xFF)P0_7OnOff=0;
										     else if(Uart_RxBuf[8]==0x00)P0_7OnOff=1;
											 break;
										default:
										break;
                                        }//end of 01 switch(CommandType)
								}
                                    break;
                             case 0x02:
                              {
                               switch(CommandType)
				                      {
                                      case 0xFF:                    //全開
                                             P0_state=0x00;
							                 P1_state=0x00;
										     break;
									  case 0x00:                    //全關
                                             P0_state=0xFF;
							                 P1_state=0xFF;
										     break;
				                      case 0x08:
				                           if(Uart_RxBuf[8]==0xFF)
										       {
											    P1_0OnOff=0;
												P0_0OnOff=0;
											   }
				                           else if(Uart_RxBuf[8]==0x00)
										        {
												 P1_0OnOff=1;
                                                 P0_0OnOff=1;
												}
				                           else
				                                {
												 P1_0OnOff=0;
												 P0_0OnOff=0;
				                                 LightGrade[0]=lum_grade[Uart_RxBuf[8]-1];
				                                }
                                           break;
                                     case 0x07:
				                           if(Uart_RxBuf[8]==0xFF)
										        {
												 P1_1OnOff=0;
												 P0_1OnOff=0;
												 }
				                           else if(Uart_RxBuf[8]==0x00)
										        {
												 P1_1OnOff=1;
												 P0_1OnOff=1;
												 }
				                           else
				                                {
												 P1_1OnOff=0;
                                                 P0_1OnOff=0;
				                                 LightGrade[1]=lum_grade[Uart_RxBuf[8]-1];
				                                }
                                           break;
                                     case 0x06:
				                           if(Uart_RxBuf[8]==0xFF)
										        {
												 P1_2OnOff=0;
												 P0_2OnOff=0;
												 }
				                           else if(Uart_RxBuf[8]==0x00)
										        {
												 P1_2OnOff=1;
												 P0_2OnOff=0;
												 }
				                           else
				                                {
												 P1_2OnOff=0;
												 P0_2OnOff=0;
				                                 LightGrade[2]=lum_grade[Uart_RxBuf[8]-1];
				                                }
                                           break;
                                     case 0x05:
				                           if(Uart_RxBuf[8]==0xFF)
										        {
												 P1_3OnOff=0;
												 P0_3OnOff=0;
												 }
				                           else if(Uart_RxBuf[8]==0x00)
										         {
												  P1_3OnOff=1;
												  P0_3OnOff=1;
												  }
				                           else
				                                {
												 P1_3OnOff=0;
												 P0_3OnOff=0;
				                                 LightGrade[3]=lum_grade[Uart_RxBuf[8]-1];
				                                }
                                           break;
                                    case 0x04:
				                           if(Uart_RxBuf[8]==0xFF)
										        {
												 P1_4OnOff=0;
                                                 P0_4OnOff=0;
												 }
				                           else if(Uart_RxBuf[8]==0x00)
										         {
												  P1_4OnOff=1;
												  P0_4OnOff=1;
												  }
				                           else
				                                {
												 P1_4OnOff=0;
												 P0_4OnOff=0;
				                                 LightGrade[4]=lum_grade[Uart_RxBuf[8]-1];
				                                }
                                           break;
                                     case 0x03:
				                           if(Uart_RxBuf[8]==0xFF)
										        {
												 P1_5OnOff=0;
												 P0_5OnOff=0;
												 }
				                           else if(Uart_RxBuf[8]==0x00)
										         {
												  P1_5OnOff=1;
												  P0_5OnOff=1;
												  }
				                           else
				                                {
												 P1_5OnOff=0;
												 P0_5OnOff=0;
				                                 LightGrade[5]=lum_grade[Uart_RxBuf[8]-1];
				                                }
                                           break;
                                    case 0x02:
				                           if(Uart_RxBuf[8]==0xFF)
                                                {
                                                 P1_6OnOff=0;
                                                 P0_6OnOff=0;
												 }
				                           else if(Uart_RxBuf[8]==0x00)
										         {	
												  P1_6OnOff=1;
                                                  P0_6OnOff=1;
												  }
				                           else
				                                {
												  P1_6OnOff=0;
												  P0_6OnOff=0;
				                                  LightGrade[6]=lum_grade[Uart_RxBuf[8]-1];
				                                }
                                           break;
                                    case 0x01:
				                           if(Uart_RxBuf[8]==0xFF)
										        { 
											     P1_7OnOff=0;
											     P0_7OnOff=0;
											    }
				                           else if(Uart_RxBuf[8]==0x00)
										        {
												 P1_7OnOff=1;
												 P0_7OnOff=1;
												}
				                           else
				                                {
												 P1_7OnOff=0;
												 P0_7OnOff=0;
				                                 LightGrade[7]=lum_grade[Uart_RxBuf[8]-1];
				                                }
                                           break;
									default:
									break;
                                      }//end of 02 switch(CommandType)
							   }
                                  break;
                              default:
							  break;        
				             }//end of switch(DeviceSort)
					    }//end of case 42
					break;
               case 0x41://讀取設備號
			        {
                    lenghAscTX=lenghAscTX+4;
                    Uart_RxBuf[5]=0xC0;
                    Uart_RxBuf[6]=0x04;
                    Uart_RxBuf[7]=DeviceSort;
                    Uart_RxBuf[8]=0x08;
                    Uart_RxBuf[9]=0xFC;
                    Uart_RxBuf[10]=0xD8;
					}//end of case 41
			        break;
			   case 0x44://設置場景
			        {
					 switch(DeviceSort)
					       {
						   case 0x01:
						        {
								CommandType=Uart_RxBuf[7];
                                P0_state=scene[CommandType-1];
								}
						   break;
                           case 0x02:
						        {
								P1_state=0x00;
                                CommandType=Uart_RxBuf[7];
								for(i=0;i<8;i++)
									{
									LightGrade[i]=chligtscene[CommandType-1][i];
									}
								}
						   break;
						   default:
						   break;
						   }
                      
					}//end of case 44
                    break;
								default:
								break;
			 }//end of switch(CommandType1)
	         Uart_TxBuf[0]=Uart_RxBuf[0];
             Uart_RxBuf[4]=RtnCode;
      	     ChkTXSum=0;
		     p=1;
		  for(i=1;i<lenghAscTX;i++)
		    {
			 HexToAsc(Uart_RxBuf[p]);
	         p++;
			 Uart_TxBuf[i++]=HighByte;
			 ChkTXSum+=HighByte;
			 Uart_TxBuf[i]=LowByte;
			 ChkTXSum+=LowByte;
			}
			ChkTXSum = (~ChkTXSum) + 1;	
			ChkSumHigh = ChkTXSum >> 8;		
			HexToAsc(ChkSumHigh);
			Uart_TxBuf[i++] = HighByte;
			Uart_TxBuf[i++] = LowByte;
		
			ChkSumLow = ChkTXSum & 0x00FF;		
			HexToAsc(ChkSumLow);
			Uart_TxBuf[i++] = HighByte;
			Uart_TxBuf[i++] = LowByte;
			Uart_TxBuf[i]=0x0D;
//			Uart_TxBuf[i]=Uart_RxBuf[p];
            CTRL485=0;          //RS-485轉換成發送
	        SBUF=Uart_TxBuf[0];
		 }//end of if(ComRxAdr==CardNum||ComRxAdr==0xFF)
          else
           {
            SBUF=01;
            }
	  }
}

/******************************************************************************************/
unsigned char ComRxChkSum()//ChkSum
{	
	unsigned int idata ChkSum;
	unsigned char  ComRxData;		//	
	unsigned char  LengthHigh;
	unsigned char  LengthLow;
	unsigned char  LengthChkSum;
	unsigned char  RtnCode;
	unsigned char  i;
	unsigned char  p;
	
 	LowByte=Uart_RxBuf[9];
	LengthChkSum=AscToHex(0,LowByte);

 	LowByte=Uart_RxBuf[10];
	LengthHigh=AscToHex(0,LowByte);
	LengthChkSum+=LengthHigh;

 	LowByte=Uart_RxBuf[11];
 	ComRxData=AscToHex(0,LowByte);
    LengthChkSum+=ComRxData;

 	LowByte=Uart_RxBuf[12];
 	ComRxData=AscToHex(0,LowByte);
    LengthChkSum+=ComRxData;
	LengthChkSum&=0x0f;
	HighByte=Uart_RxBuf[11];
 	LowByte=Uart_RxBuf[12];
 	LengthLow=AscToHex(HighByte,LowByte);
 	LengthLow+=13;

	if((LengthChkSum!=0)||(LengthHigh!=0))
    {	if(LengthHigh!=0)
		{
			RtnCode=0xe1;	
		}
		else
		{
			RtnCode=0x03;	
		}
	}
	else
	{
 	 	ChkSum=0;
 		for(i=1;i<LengthLow;i++)
 		{	
		 	ChkSum+=Uart_RxBuf[i];
		}
 		HighByte=Uart_RxBuf[i++];
 		LowByte=Uart_RxBuf[i++];
 		ComRxData=AscToHex(HighByte,LowByte);
 		ChkSum+=(ComRxData<<8);
 		HighByte=Uart_RxBuf[i++];
 		LowByte=Uart_RxBuf[i++];
 		ComRxData=AscToHex(HighByte,LowByte);
 		ChkSum+=ComRxData;
 		if(ChkSum!=0)
 			RtnCode=0x02;	
 		else
 			RtnCode=0;		
     }
	 p=1;
	 lenghAscTX=LengthLow;
	 for(i=1;i<LengthLow+4;i++)
 	{	
		HighByte=Uart_RxBuf[i++];
 		LowByte=Uart_RxBuf[i];
 		ComRxData=AscToHex(HighByte,LowByte);
		Uart_RxBuf[p++]=ComRxData;	    
	}
	Uart_RxBuf[p]=Uart_RxBuf[i];
	return(RtnCode);		
}

/****************************************************************/
unsigned char AscToHex(unsigned char a,unsigned char b)
{
 	if(a<0x3a)
	{
		a&=0x0f;
	} 
 	else      
	{
		a-=0x07;
		a&=0x0f;
	} 
 	if(b<0x3a)
	{
		b&=0x0f;
	}  
 	else      
	{
		b-=0x07;
		b&=0x0f;
	}  
 	a<<=4;
	a|=b; 
	return (a);
}
/******************************************************************************************/
void HexToAsc(unsigned char a)  //a=ASC_H, b=ASC_L
{
 	LowByte=a;
 	a&=0xf0;
 	a>>=4;
 	if(a<0x0a)
 	{
		a+=0x30;
	}
	 else      
	 {
		a+=0x37;
	}
	 HighByte=a;

	 a=LowByte;
	 a&=0x0f;
 	if(a<0x0a)
	{
		a+=0x30;
	}
 	else      
	{
		a+=0x37;
	}
 	LowByte=a;
}	
/******************************************************************************************/ 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
福利一区二区在线| 欧美国产在线观看| 狠狠色狠狠色综合系列| 国产亚洲一二三区| 色婷婷av一区| 视频在线观看国产精品| 国产欧美日韩中文久久| 91麻豆swag| 蜜桃一区二区三区在线观看| 久久久久久亚洲综合| 91免费精品国自产拍在线不卡| 午夜激情综合网| 国产偷国产偷亚洲高清人白洁| 在线观看一区二区精品视频| 老色鬼精品视频在线观看播放| 国产精品理论在线观看| 在线观看av不卡| 黄一区二区三区| 一区二区三区美女视频| 91精品国产91综合久久蜜臀| 成人av网址在线| 奇米四色…亚洲| 亚洲人妖av一区二区| 欧美一区二区三区视频在线| 欧美丝袜丝交足nylons| 95精品视频在线| 成人av午夜影院| 成人一二三区视频| 国产成人在线影院| 国产在线国偷精品产拍免费yy| 秋霞午夜av一区二区三区| 亚洲午夜久久久久久久久电影网| 欧美激情一区二区三区四区| 欧美v国产在线一区二区三区| 91精品国产免费| 日韩一区二区在线观看| 欧美人与禽zozo性伦| 欧美在线综合视频| 色综合av在线| 91官网在线观看| 欧美性xxxxxxxx| 欧洲人成人精品| 欧美自拍偷拍午夜视频| 欧美私人免费视频| 欧美剧情片在线观看| 717成人午夜免费福利电影| 欧美日韩午夜在线| 91.com在线观看| 精品美女被调教视频大全网站| 91麻豆精品国产91久久久使用方法| 欧美日韩精品一区二区三区蜜桃| 精品视频一区二区三区免费| 欧美人狂配大交3d怪物一区| 在线不卡的av| 欧美成人三级电影在线| 久久综合九色综合97婷婷| 久久青草欧美一区二区三区| 2024国产精品| 国产精品久久久久四虎| 亚洲精品中文字幕乱码三区| 亚洲国产美女搞黄色| 蜜芽一区二区三区| 国产精品一二三四区| 99久久99久久综合| 欧美亚洲国产怡红院影院| 91精品国产色综合久久久蜜香臀| 精品国产乱码久久久久久闺蜜| 国产三级欧美三级日产三级99 | 国产一区二区不卡| 成人精品免费视频| 在线观看中文字幕不卡| 日韩欧美中文字幕公布| 国产欧美一区二区三区在线看蜜臀| 国产精品女同互慰在线看| 一区二区视频免费在线观看| 男男视频亚洲欧美| 波多野结衣一区二区三区| 欧美日韩你懂得| 精品电影一区二区| 亚洲激情中文1区| 午夜av区久久| 国产盗摄一区二区三区| 欧美日韩亚洲高清一区二区| 久久蜜桃香蕉精品一区二区三区| 中文字幕亚洲欧美在线不卡| 日韩成人免费电影| 成人丝袜视频网| 欧美精品高清视频| 国产精品美女久久久久久久久 | 一区二区三区色| 久久国产精品免费| 欧美伊人久久久久久午夜久久久久| 日韩一区二区三区av| 中文字幕在线不卡一区二区三区| 三级欧美韩日大片在线看| 大白屁股一区二区视频| 67194成人在线观看| 国产精品麻豆久久久| 久久99久久久欧美国产| 欧美在线综合视频| 国产欧美日本一区二区三区| 五月天婷婷综合| 99re亚洲国产精品| 精品久久国产老人久久综合| 亚洲精品国久久99热| 国产精品一区在线| 欧美一区二区网站| 一区二区三区色| 99久久夜色精品国产网站| 久久综合久久综合久久| 免费美女久久99| 在线观看区一区二| 亚洲欧美日韩在线| 懂色一区二区三区免费观看| 欧美一卡二卡三卡| 亚洲bdsm女犯bdsm网站| av成人免费在线| 久久精品日产第一区二区三区高清版 | 蜜臀av性久久久久蜜臀aⅴ流畅| 色香蕉久久蜜桃| 国产精品剧情在线亚洲| 国产一区二区在线影院| 日韩一区二区在线看片| 五月天激情综合网| 欧美日韩一区二区欧美激情| 一二三区精品视频| 91色婷婷久久久久合中文| 国产精品麻豆视频| 成人app软件下载大全免费| 国产视频一区不卡| 丁香婷婷综合激情五月色| 久久精品一区二区三区四区| 国产乱子轮精品视频| 精品粉嫩aⅴ一区二区三区四区| 男男视频亚洲欧美| 精品理论电影在线| 极品瑜伽女神91| 久久丝袜美腿综合| 国产精品乡下勾搭老头1| 精品精品国产高清a毛片牛牛 | 久久久午夜精品| 国产一区高清在线| 欧美国产精品久久| 99久久免费视频.com| 亚洲色图视频网| 色综合中文字幕国产| 国产精品国产精品国产专区不蜜 | 色网站国产精品| 亚洲一区免费在线观看| 欧洲视频一区二区| 日韩精品成人一区二区在线| 欧美高清视频一二三区 | 激情偷乱视频一区二区三区| 亚洲精品在线观看网站| 成人综合在线视频| 一区二区三区在线影院| 欧美日本一区二区| 国产麻豆日韩欧美久久| 最新日韩在线视频| 欧美午夜精品免费| 麻豆精品视频在线| 久久久av毛片精品| 一本久久综合亚洲鲁鲁五月天| 亚洲在线成人精品| 日韩精品一区二区三区四区| 国产精品一区二区黑丝 | 国产91精品在线观看| 亚洲女人****多毛耸耸8| 欧美日本精品一区二区三区| 国模大尺度一区二区三区| 中文字幕一区在线观看视频| 欧美在线你懂得| 国产一区二区电影| 亚洲视频一二三区| 日韩欧美一级在线播放| 国产剧情一区二区| 亚洲精品成人精品456| 欧美一级高清片| 国产欧美视频在线观看| 欧美视频一区二区三区四区| 久久精品国产99国产精品| 国产精品的网站| 欧美一级欧美三级在线观看| 成人美女在线视频| 免费观看91视频大全| 日韩理论在线观看| 欧美精品一区男女天堂| 欧美亚洲图片小说| 国产白丝网站精品污在线入口| 亚洲国产另类精品专区| 国产日韩精品一区二区三区在线| 欧美午夜精品免费| 成人精品gif动图一区| 日韩成人免费看| 亚洲精品中文字幕乱码三区| 久久久99精品免费观看不卡| 在线不卡免费欧美| 在线观看亚洲精品视频| 波波电影院一区二区三区| 免费av成人在线|