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

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

?? yj.c

?? 本程序采用的是keilc51編程器
?? C
字號:
#define uchar unsigned char
#define uint  unsigned int

#include "reg52.h"
#include "intrins.h"
#include "string.h"
#include "AD0831.h"
#include "diceng1602.h"
#include "DS18B20qudong.h"


sbit LED=P2^0;


sbit key1 = P2^4;
uchar counter = 0;



struct SRspGetData //21h:數據采集命令響應
    {
		uchar  lHead[4];	 //4
		uchar  iStart[2];	 //2
		uchar  cLength[2];	 //2
     	uchar  iDestNum[2];        //目的站編號,	2
     	uchar  iSourceNum[2];      //源站編號		2
     	uchar  cPackageType;      //包類型=2Bh 	1
     	uchar  cPackageCtrl;      //包控制要求 	1
     	uchar  iCmdSequenceNum[2]; //應答序列編號 2
     	uchar  cTData[2];        //溫度數據,2個字節
        uchar  cHData;      //濕度數據,1個字節
	    uchar  iFcs[2];
		uchar  iEnd[2];
     }DataPack;


uchar command = 0;
uchar i=0;
uchar cRcv_Stat1=0;
uchar iRcv_Nmb1;
uchar iRcv_Nmb_Max;
union zhongjian2
	{
  		uint i;
  		uchar ii[2];
	}exchange_data2;

void InitT0()
{
   
   //TMOD = 0x21;//定時器0工作于方式1.    16位   TMOD在串行中斷初始化中已經設置過
   TH0 = 0x3C;
   TL0 = 0xB0;
   TR0 = 1;//定時器啟動

   //EA = 1;//開總中斷  在串行中斷初始化中已經設置過
   ET0 = 1;//允許定時器0中斷

   LED = 1;
}

void timer() interrupt 1
{
   counter++;
   if( counter == 14)
   	  {
	     counter = 0;
         LED = ~LED;//脈沖取反
         TH0 = 0x3C;//重裝
         TL0 = 0xB0; 
	  }
}


void SendDat(uchar c)
{
	key1 = 1;//要發送數據前,把485DIP角置高。因為此位為高時485為發送狀態
	SBUF=c;
    while(TI==0);//等待TI變高
    TI=0;   
	key1 = 0;//發送完了以后,此位置0.為接收狀態
		
		
}	

void InitRXD(void)
{
   TMOD=0x21;	//確定定時器工作模式
   TH1=0xFD;															
   TL1=0xFD;	//定時初值
   PCON&=0x80;	//SMOD=1
   TR1=1;		//開啟定時器1
   SCON=0x50;	//串口工作方式1	
   RI = 0;
   TI = 0;	
   key1 = 0;//////////////////////////////////接收狀態
   
   EA = 1;//開總中斷
   ES = 1;//允許串行口中斷
   PS = 1;//串行口中斷優先級高
}




void Rxd() interrupt 4
{ 
	
	//uchar k;   
	uchar  new_data,last_data,last_last_data;
  	uchar  cRcv_Data1[50];
      {
		switch(cRcv_Stat1)
	    {
	      case 0:
	      	if(RI);//接收數據;
	        new_data=SBUF; 
			   //
	        if(last_last_data==0x00 && last_data==0x02 && new_data==0xa6)
	          {
	          
	            cRcv_Data1[5]=new_data;            
	            cRcv_Data1[4]=last_data;
	            cRcv_Data1[3]=last_last_data;
	            cRcv_Data1[2]=0x00;
	            cRcv_Data1[1]=0x00;
	            cRcv_Data1[0]=0x00;
	             
	            iRcv_Nmb1=6;
	            cRcv_Stat1=1;       //是幀頭
	                      
	          } 
	          else              //
	          {
				last_last_data=last_data;          
	          	last_data=new_data;
	            cRcv_Stat1=0;
	          } 

	         
	        break;	      
	     case 1:
	      	if(RI);//接收數據;
	        cRcv_Data1[iRcv_Nmb1]=SBUF;   //幀數據
	        if(iRcv_Nmb1==6)
	        	exchange_data2.ii[0]=cRcv_Data1[iRcv_Nmb1];
	        if(iRcv_Nmb1==7)
	        	exchange_data2.ii[1]=cRcv_Data1[iRcv_Nmb1];//計算有效數據長度,以此作為幀判斷的第一步

	        if(iRcv_Nmb1==exchange_data2.i+11) //判長度---1
	        {
	          	iRcv_Nmb_Max=iRcv_Nmb1;    //接收完一幀
	          	cRcv_Stat1=0;             //準備下一幀的接收
	          	iRcv_Nmb1=0;  
	 
				if((cRcv_Data1[iRcv_Nmb_Max]==0x0a)&&(cRcv_Data1[iRcv_Nmb_Max-1]==0x0d))//判結束字---2
				{
					for(i=0;i<=iRcv_Nmb_Max;i++)   //接收數據回送,以便調試
	          		{
						//SendDat(cRcv_Data1[i]);
			  		} 
					if(cRcv_Data1[iRcv_Nmb_Max-7]==0x20)
					{
					  command=0x20;			//receive正確的命令
					}
				}
				else
				{
					cRcv_Stat1=0;
					
				}
	    
	        }
	        else 
	        {
	          if(iRcv_Nmb1>50)
	          {
	            cRcv_Stat1=0;
				       
			  }  
	          iRcv_Nmb1++;   //幀數據
	        }
	        break;
	        
	    default:
	       cRcv_Stat1=0;
	       break;
	                                
	    }   
		  
		   RI=0;  
	}    
}

void PutOutData()
{
        SendDat(DataPack.lHead[0]);//前導   00000000
		SendDat(DataPack.lHead[1]);
		SendDat(DataPack.lHead[2]);
		SendDat(DataPack.lHead[3]);
		
		SendDat(DataPack.iStart[0]);	 //起始位  02A6
		SendDat(DataPack.iStart[1]);

		SendDat(DataPack.cLength[0]);	 //長度    000b
     	SendDat(DataPack.cLength[1]);

		
		SendDat(DataPack.iDestNum[0]);        //目的站編號,	2    4000
     	SendDat(DataPack.iDestNum[1]);
		
		SendDat(DataPack.iSourceNum[0]);      //源站編號		2    0001
     	SendDat(DataPack.iSourceNum[1]);
		
		SendDat(DataPack.cPackageType);      //包類型=2Bh 	1    21
     	SendDat(DataPack.cPackageCtrl);      //包控制要求 	1    00
     	
		SendDat(DataPack.iCmdSequenceNum[0]); //應答序列編號 2     0000
		SendDat(DataPack.iCmdSequenceNum[1]);

		
	  

//傳送數據
////////////////////////////////////////////////////////////////////////////////////////////
        SendDat(DataPack.cTData[0]);        //溫度數據,2個字節   先送高位 后送低位   
        SendDat(DataPack.cTData[1]);
	   
	    SendDat(DataPack.cHData);           //濕度數據,1個字節
////////////////////////////////////////////////////////////////////////////////////////////	   
	 
     	
	    
		SendDat(DataPack.iFcs[0]);        //校驗FCS 1234
		SendDat(DataPack.iFcs[1]);

		SendDat(DataPack.iEnd[0]);        //結束符 0D0A
		SendDat(DataPack.iEnd[1]); 
		  
}

void main()
{	
	    uint  TemperatureData;
		uchar TemperatureMSB;
		uchar TemperatureLSB;
		uchar ADValue;
	
	    LED = 0;   //初始化LED口
		
		InitRXD();//初始化串行口并開啟中斷 
		InitT0();//初始化定時器0
				   
		DataPack.lHead[0]=0x00;	 //前導   00000000
		DataPack.lHead[1]=0x00;
		DataPack.lHead[2]=0x00;
		DataPack.lHead[3]=0x00;
		
		DataPack.iStart[0]=0x02;	 //起始位    02A6
		DataPack.iStart[1]=0xA6;

		DataPack.cLength[0]=0x00;	 //長度    000b
     	DataPack.cLength[1]=0x0b;
		
		DataPack.iDestNum[0]=0x40;        //目的站編號,	2    4000
     	DataPack.iDestNum[1]=0x00;
		
		DataPack.iSourceNum[0]=0x00;      //源站編號		2    0001
     	DataPack.iSourceNum[1]=0x01;
		
		DataPack.cPackageType=0x21;      //包類型=2Bh 	1    21
     	DataPack.cPackageCtrl=0x00;      //包控制要求 	1    00
     	
		DataPack.iCmdSequenceNum[0]=0x00; //應答序列編號 2     0000
		DataPack.iCmdSequenceNum[1]=0x00;

     	
	    
		DataPack.iFcs[0]=0x12;        //校驗FCS 1234
		DataPack.iFcs[1]=0x34;

		DataPack.iEnd[0]=0x0D;        //結束符 0D0A
		DataPack.iEnd[1]=0x0A; 

	while(1)
	{	  
	   
	   ADValue = ADConv();//得到濕度數據
	   
	   TemperatureData=ReadTemperature();//得到溫度數據
	   TemperatureLSB=TemperatureData&0xFF;
	   TemperatureMSB=(TemperatureData>>8)&0xFF;

	   DataPack.cTData[0]=TemperatureMSB;        //溫度數據,2個字節.   先送高位,后送低位   
       DataPack.cTData[1]=TemperatureLSB;
	   
	   DataPack.cHData=ADValue;           //濕度數據,1個字節
	   
	   if( command==0x20 ) 
       
	      {
		      PutOutData();  
			  command=0;
		  }   

	 
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品视频在线观看| 亚洲成a人片综合在线| 91久久精品一区二区三区| 国产综合一区二区| 青青草97国产精品免费观看无弹窗版| 国产女主播在线一区二区| 97久久久精品综合88久久| 国产精品一区一区| 国产乱对白刺激视频不卡| 日韩av电影一区| 午夜精品久久久久久久| 国产精品国产a级| 日本一区二区电影| 国产精品久久久久久久久久久免费看 | 欧美丝袜丝nylons| 成人性生交大片免费看视频在线| 奇米四色…亚洲| 激情av综合网| 国产一区二区三区观看| 激情五月激情综合网| 五月婷婷激情综合| 亚洲国产精品久久久久秋霞影院 | 最新热久久免费视频| 久久久久九九视频| 久久天堂av综合合色蜜桃网| 中文字幕乱码亚洲精品一区| 亚洲精品国产一区二区精华液| 亚洲chinese男男1069| 日本不卡123| 97久久精品人人澡人人爽| 欧美日韩三级视频| 国产欧美日韩在线观看| 亚洲aaa精品| www.视频一区| 日韩欧美一级在线播放| 亚洲免费观看高清完整版在线观看熊 | 亚洲午夜国产一区99re久久| 青青草97国产精品免费观看| 成人三级在线视频| 6080国产精品一区二区| 综合久久给合久久狠狠狠97色| 免费观看在线综合色| 91久久精品一区二区三区| 精品国产一区二区三区不卡 | 麻豆久久一区二区| 色中色一区二区| 久久精品网站免费观看| 日韩精品一区第一页| 成人黄色在线看| 日韩三级中文字幕| 亚洲福利视频一区二区| www.av精品| 国产午夜精品理论片a级大结局| 午夜伦理一区二区| 色老汉一区二区三区| 国产精品女主播av| 黄一区二区三区| 欧美一区二区三区免费在线看 | 欧美日韩一区不卡| 中文字幕成人av| 国产呦精品一区二区三区网站| 欧美视频一区二| 亚洲午夜电影在线| 欧美这里有精品| 亚洲免费高清视频在线| 99久久精品一区二区| 中文字幕日韩一区| caoporen国产精品视频| 国产精品无遮挡| 岛国精品在线播放| 国产日本欧洲亚洲| 国产成人av电影在线| 亚洲国产精品成人久久综合一区| 国产精品一区二区三区99| 久久久久久久精| 国产精品一品视频| 国产精品久久久久影院亚瑟| 成人黄色在线看| 亚洲天堂a在线| 色欧美乱欧美15图片| 亚洲三级在线观看| 日本精品一区二区三区高清| 一区二区三区加勒比av| 欧美视频你懂的| 日韩成人午夜电影| 精品美女一区二区| 国产盗摄视频一区二区三区| 欧美国产在线观看| 色94色欧美sute亚洲线路二| 亚洲精品国产无天堂网2021| 欧美日韩一区三区| 美腿丝袜一区二区三区| 久久久久成人黄色影片| 色综合久久久久久久| 一个色综合av| 欧美大度的电影原声| 国内外成人在线| 亚洲人精品一区| 欧美一级二级三级蜜桃| 国产91清纯白嫩初高中在线观看| 亚洲欧洲av一区二区三区久久| 欧美日韩一区二区三区不卡| 极品少妇xxxx精品少妇偷拍| 中文字幕一区二区三区视频| 欧美吻胸吃奶大尺度电影| 美女被吸乳得到大胸91| 亚洲欧洲精品成人久久奇米网| 欧美视频在线观看一区二区| 久久不见久久见免费视频1 | 欧美午夜精品理论片a级按摩| 五月综合激情婷婷六月色窝| 成人av网址在线| 日本不卡一区二区三区高清视频| 国产视频在线观看一区二区三区 | 欧美一区二区日韩| 成人午夜看片网址| 欧美aaa在线| 亚洲欧美中日韩| 欧美精品一区男女天堂| 欧美日韩国产天堂| www.色综合.com| 国产一区二区三区不卡在线观看| 亚洲主播在线观看| 国产精品美女久久久久av爽李琼| 欧美精品日韩一本| 在线欧美小视频| 成人app软件下载大全免费| 久久国产三级精品| 丝袜美腿成人在线| 夜夜揉揉日日人人青青一国产精品 | 欧美亚洲综合色| 成人av午夜电影| 国产成人亚洲综合a∨婷婷图片| 日韩电影免费在线| 亚洲一二三区不卡| 综合色天天鬼久久鬼色| 国产女同性恋一区二区| 精品蜜桃在线看| 精品理论电影在线观看| 欧美一区二区精美| 欧美日韩在线一区二区| av电影在线观看一区| 成人av集中营| 成人黄色在线看| 99久久久久久| 色乱码一区二区三区88| 色综合激情久久| 91久久精品网| 欧美性做爰猛烈叫床潮| 欧美日韩综合不卡| 欧美伊人久久久久久久久影院| 日本韩国视频一区二区| 色欧美日韩亚洲| 欧美三级在线看| 91精品国产综合久久久蜜臀粉嫩 | 国产综合久久久久影院| 久久99精品久久久久久| 久久国产精品区| 国产精品综合久久| 成人av免费在线观看| 91浏览器在线视频| 欧美日韩午夜在线视频| 欧美一区二区二区| 久久欧美中文字幕| 国产精品素人视频| 亚洲人成精品久久久久| 亚洲一区二区三区在线| 蜜臀av一区二区在线观看| 久久99国产精品麻豆| 成人黄色777网| 91黄色免费版| 欧美一区二区视频在线观看2022| 精品久久一区二区| 国产精品麻豆久久久| 亚洲午夜免费电影| 国产精品88888| 欧美午夜片在线观看| 欧美电影免费观看高清完整版在线观看 | 欧美精品一二三四| 久久精品亚洲一区二区三区浴池 | 成人性视频免费网站| 欧美亚洲自拍偷拍| 欧美不卡一区二区三区四区| 日本一区二区视频在线| 亚洲一区二区欧美日韩| 久久av中文字幕片| 91麻豆产精品久久久久久| 91精品国产福利在线观看| 国产欧美1区2区3区| 午夜精品123| 不卡在线观看av| 日韩视频免费观看高清在线视频| 国产精品日产欧美久久久久| 亚洲午夜久久久久久久久电影院 | 日韩精品高清不卡| www..com久久爱| 精品久久久久久久久久久久包黑料 | 国产精品久久久久三级| 蜜臀国产一区二区三区在线播放| 97精品国产97久久久久久久久久久久|