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

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

?? d_485

?? 485多機通信+lcd液晶顯示
??
字號:
/*************************************************************************************************
* 文 件 名:485.c
* 功    能:485主機通信模塊
* 硬件條件: 1.CPU型號:ATMEL2051
*            2.晶振:11.0592
* 作    者:zwb
* 日    期:2009年04月24號
*************************************************************************************************/
//-----------------------函數聲明,變量定義--------------------------------------------------------
#include <reg51.h>
#include <INTRINS.h>
#include <string.h>
#define  unchar  unsigned char
#define COUNT 10          // 定義接收緩沖區大小 
unsigned char	Receive_buffer[COUNT]; //定義接收緩沖區
unsigned char	Rateflow_buffer[COUNT];//瞬時流量緩沖區
unsigned char	Veloflow_buffer[COUNT];//瞬時流速緩沖區
unsigned char	Percentageflow_buffer[COUNT];//流量百分比緩沖區
unsigned char	Resistanceflow_buffer[COUNT];//流體電阻值緩沖區
unsigned char	Positive_buffer[COUNT];//正向總量緩沖區
unsigned char	Opposite_buffer[COUNT];//反向總量緩沖區
unsigned char	Alarm_buffer[COUNT];//報警狀態緩沖區
unsigned char	Diameter_buffer[COUNT];//管道直徑緩沖區
unsigned char	Set_buffer[COUNT];//參數設置緩沖區
unsigned char	  point;    //定義接收數據個數指示變量
unsigned char	COM_dzdata[2];//定義主機發送地址和命令


//============================================================================
//函數功能;延時子程序
// ===========================================================================
void delay(void)
{
	unchar i=124;
	while(i--);
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: UART_init()串口初始化函數
// 函數功能: 在系統時鐘為11.059MHZ時,設定串口波特率為9600bit/s
//            串口接收中斷允許,發送中斷禁止
//--------------------------------------------------------------------------------------------------
void UART_init(void)
{
                     //初始化串行口和波特率發生器 
	SCON =0x98;          //選擇串口工作方式2,打開接收允許
	TMOD =0x40;          //定時器1工作在方式2
	PCON = 0x80;
	TH1 =0xfa;           //實現波特率9600(系統時鐘11.0592MHZ)
	TR1 =1;              //啟動定時器T1
	ET1 =0; 
	PS=1;                //設計串行口中斷優先級
	EA =1;               //單片機中斷允許
	ES=0;               //禁止串行口中斷
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: com_longerrup()串口接收中斷處理函數
// 函數功能: 接收包括起始位'S'在內的十位數據到數據緩沖區
//--------------------------------------------------------------------------------------------------
com_interrupt(void) interrupt 4 using 3
{
  unchar RECEIVR_buffer;
  if(RI)                                //處理接收中斷
	{
	RI=0;                                //清除中斷標志位
	RECEIVR_buffer=SBUF;            //接收串口數據
	if(  point==0)       //如果還沒有接收到起始位
		{ if(point>0&&point<10)     //判斷是否接收夠十位數據
	 	 Receive_buffer[point++]=RECEIVR_buffer;//不夠,把接收到的數據放入接收緩存區
		}
	else point=0;                   //緩沖區已滿,清除緩存區內數據重新接收
	} 
 if(TI)                                  //處理發送中斷
	{TI=0;}
}

//--------------------------------------------------------------------------------------------------
// 函數名稱: CLU_checkdata()計算校驗位函數
// 輸入變量: 無
// 輸出變量: checkdata,包括起始位在內的前九位數據的校驗和
// 函數功能: 計算校驗和
//--------------------------------------------------------------------------------------------------
unsigned char CLU_checkdata(void)
{           //計算校驗位
 	unchar point,checkdata=0;
	for(point=2;point<7,TI=1;point++)
 	 {
 		checkdata=checkdata^Receive_buffer[point];
   	 }
   return(checkdata);
 }
//====================================================================
//函數名稱:SurveyData(void)
//輸入變量:測量數據
//輸出變量:無
//函數功能:存放從機發來的測量數據
//====================================================================

void SurveyData(void)
{   
	unchar i;
	i=COM_dzdata[1];
	switch(i)
		{
		case 0x00:memcpy(Rateflow_buffer,Receive_buffer,10); break;
	    case 0x01:memcpy(Veloflow_buffer,Receive_buffer,10); break;
		case 0x02:memcpy(Percentageflow_buffer,Receive_buffer,10); break;
		case 0x03:memcpy(Resistanceflow_buffer,Receive_buffer,10); break;
		case 0x04:memcpy(Positive_buffer,Receive_buffer,10); break;
		case 0x05:memcpy(Opposite_buffer,Receive_buffer,10); break;
		case 0x06:memcpy(Alarm_buffer,Receive_buffer,10); break;
		case 0x07:memcpy(Diameter_buffer,Receive_buffer,10); break;

		default:break;}
}

//- - - - - - - - - - - - - -  ------------------------------------------------------------------ --------
//函數名稱:發送命令
//函數功能:主機發送通信命令
// --------------------------------------------------------------------------------------------------
void send_COM (void)
{	
	unchar i;
	for(i=0;i<2;i++)
		{
			SBUF=COM_dzdata[i];
			_nop_();
			_nop_();
			_nop_();
			_nop_();
			_nop_();			
		}
	ES=1;                //允許串行口中斷
	
}
//=====================================================================
//函數名稱:Converse_data
//函數功能:轉換數據類型
//輸入函數:字符型接收到的數據
//輸出函數:長整形數據
//==================================================================
void	Converse_data(void)
{     unchar i;
      i=COM_dzdata[1];
	switch(i)
		{
		case 0:	 Rateflow_buffer[2]=(Rateflow_buffer[2]>>4)*10+(Rateflow_buffer[2]&0x0f);
				 Rateflow_buffer[3]=(Rateflow_buffer[3]>>4)*10+(Rateflow_buffer[3]&0x0f);
				 Rateflow_buffer[4]=(Rateflow_buffer[4]>>4)*10+(Rateflow_buffer[4]&0x0f);break;
		case 1:	 Veloflow_buffer[2]=(Veloflow_buffer[2]>>4)*10+(Veloflow_buffer[2]&0x0f);
				 Veloflow_buffer[3]=(Veloflow_buffer[3]>>4)*10+(Veloflow_buffer[3]&0x0f);
				 Veloflow_buffer[4]=(Veloflow_buffer[4]>>4)*10+(Veloflow_buffer[4]&0x0f);break;
		case 2:	 Percentageflow_buffer[2]=(Percentageflow_buffer[2]>>4)*10+(Percentageflow_buffer[2]&0x0f);
				 Percentageflow_buffer[3]=(Percentageflow_buffer[3]>>4)*10+(Percentageflow_buffer[3]&0x0f);break;
		case 3:	 Resistanceflow_buffer[2]=(Resistanceflow_buffer[2]>>4)*10+(Resistanceflow_buffer[2]&0x0f);
				 Resistanceflow_buffer[3]=(Resistanceflow_buffer[3]>>4)*10+(Resistanceflow_buffer[3]&0x0f);break;	
		case 4:	 Positive_buffer[2]=(Positive_buffer[2]>>4)*10+(Positive_buffer[2]&0x0f);
				 Positive_buffer[3]=(Positive_buffer[3]>>4)*10+(Positive_buffer[3]&0x0f);
				 Positive_buffer[4]=(Positive_buffer[4]>>4)*10+(Positive_buffer[4]&0x0f);
				 Positive_buffer[5]=(Positive_buffer[5]>>4)*10+(Positive_buffer[5]&0x0f);
				 Positive_buffer[6]=(Positive_buffer[6]>>4)*10+(Positive_buffer[6]&0x0f);break;
		case 5:	 Opposite_buffer[2]=(Opposite_buffer[2]>>4)*10+(Opposite_buffer[2]&0x0f);
				 Opposite_buffer[3]=(Opposite_buffer[3]>>4)*10+(Opposite_buffer[3]&0x0f);
				 Opposite_buffer[4]=(Opposite_buffer[4]>>4)*10+(Opposite_buffer[4]&0x0f);
				 Opposite_buffer[5]=(Opposite_buffer[5]>>4)*10+(Opposite_buffer[5]&0x0f);
				Opposite_buffer[6]=(Opposite_buffer[6]>>4)*10+(Opposite_buffer[6]&0x0f);break;
	default:break;}
		
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: 主函數
// 函數功能: 調度個子函數,完成通信過程
//--------------------------------------------------------------------------------------------------
 void main(void)
 {
  unchar checkdata;
 do
 {
	  UART_init();       //初始化串口
	  send_COM ();
	  if(point==9)       //判斷數據是否接收完成
	  {
	  	checkdata=CLU_checkdata();    //調用求校驗和函數
	  	if(checkdata==Receive_buffer[8])        //判斷校驗和是否正確
  		{	
	  	point=0;
		SurveyData();
		Converse_data();
  		}
	  }
  }
  while(1);
 }






 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91视频.com| av亚洲精华国产精华精| 亚洲欧美日韩在线不卡| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产精品福利av| 中文字幕欧美日本乱码一线二线| 国产偷v国产偷v亚洲高清| 欧美成人激情免费网| 久久青草欧美一区二区三区| 国产片一区二区三区| 国产精品嫩草99a| 一区二区三区资源| 视频一区在线播放| 国产一区激情在线| 成人福利在线看| 91网站最新地址| 欧美一三区三区四区免费在线看| 日韩欧美一二三四区| 国产午夜亚洲精品羞羞网站| 亚洲人妖av一区二区| 亚洲国产精品久久人人爱蜜臀| 日本最新不卡在线| 成人午夜视频免费看| 欧美吻胸吃奶大尺度电影 | 美女网站在线免费欧美精品| 国产在线视频一区二区| 成人亚洲一区二区一| 欧美日韩国产综合视频在线观看| 91精品国产乱| 一区精品在线播放| 蜜臀国产一区二区三区在线播放| 国产v日产∨综合v精品视频| 欧美日韩成人一区二区| 精品国产不卡一区二区三区| 亚洲欧美色图小说| 国产在线精品一区二区夜色| 色综合色综合色综合色综合色综合| 7777精品久久久大香线蕉| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲天堂2014| 国产精品一二三四区| 欧美日本韩国一区二区三区视频 | 成熟亚洲日本毛茸茸凸凹| 91在线精品秘密一区二区| 日韩欧美中文字幕精品| 亚洲午夜影视影院在线观看| 国产成人在线网站| 日韩欧美第一区| 亚洲日韩欧美一区二区在线| 久99久精品视频免费观看| 欧美性三三影院| 18涩涩午夜精品.www| 国产精品资源网| 日韩一二三区视频| 亚洲国产精品自拍| 99热这里都是精品| 欧美国产一区二区在线观看| 日本欧美肥老太交大片| 欧美性生活一区| 亚洲黄一区二区三区| 99久久久精品| 综合欧美亚洲日本| 波多野结衣一区二区三区| 久久综合999| 国产精品一区二区你懂的| 欧美tickling挠脚心丨vk| 日韩av在线播放中文字幕| 欧美日韩中文字幕一区二区| 亚洲免费资源在线播放| 色综合久久99| 亚洲激情在线播放| 欧美在线免费播放| 亚洲国产va精品久久久不卡综合| 色婷婷精品大在线视频| 亚洲精品视频免费看| 色八戒一区二区三区| 亚洲人123区| 在线亚洲一区二区| 亚洲福利视频一区二区| 欧美日韩aaaaaa| 久久精品99国产精品日本| 日韩精品在线网站| 国产精品亚洲成人| 国产精品成人网| 色94色欧美sute亚洲线路二| 一区二区三区国产豹纹内裤在线| 欧美色图12p| 日韩av中文字幕一区二区| 欧美v日韩v国产v| 成人性生交大片免费看视频在线| 中文字幕中文字幕在线一区| 一本久久综合亚洲鲁鲁五月天| 亚洲第一电影网| 9久草视频在线视频精品| 一区二区三区成人在线视频| 777精品伊人久久久久大香线蕉| 麻豆精品一区二区三区| 中文字幕乱码久久午夜不卡| 在线观看一区二区视频| 蜜臀av性久久久久蜜臀av麻豆| 精品国产一区a| 色综合久久综合中文综合网| 日韩福利电影在线观看| 日本一区二区视频在线观看| 欧美日韩一二区| 国产一区二区视频在线| 一区二区在线观看免费视频播放| 欧美日韩国产首页| 成人精品视频网站| 热久久久久久久| 综合分类小说区另类春色亚洲小说欧美| 欧美丝袜自拍制服另类| 国产成人三级在线观看| 亚洲成人激情综合网| 国产日韩综合av| 91精品免费观看| 99精品视频在线播放观看| 免费欧美日韩国产三级电影| 国产精品久久久久天堂| 精品久久久久香蕉网| 99久久免费精品高清特色大片| 日本麻豆一区二区三区视频| 国产精品全国免费观看高清| 欧美一区二区免费视频| 91精品福利视频| 成人性生交大片免费看在线播放| 秋霞电影一区二区| 亚洲综合在线免费观看| 久久精品亚洲乱码伦伦中文| 91精品国产黑色紧身裤美女| 91麻豆精品秘密| 成人激情视频网站| 国产精品66部| 国产一区二区在线观看免费| 日韩高清一区二区| 亚洲h在线观看| 亚洲妇女屁股眼交7| 中文字幕一区日韩精品欧美| 国产亚洲人成网站| 久久久久9999亚洲精品| 久久综合成人精品亚洲另类欧美| 777午夜精品免费视频| 色欧美88888久久久久久影院| av亚洲精华国产精华| 成人免费电影视频| 成人丝袜视频网| 成人h动漫精品一区二区| 国产原创一区二区| 精品在线免费观看| 国产自产视频一区二区三区| 韩国精品一区二区| 国产伦精品一区二区三区在线观看| 青青草原综合久久大伊人精品 | 五月综合激情日本mⅴ| 亚洲美女免费在线| 一级特黄大欧美久久久| 亚洲裸体xxx| 亚洲国产日韩精品| 丝袜诱惑亚洲看片| 日韩av在线免费观看不卡| 香蕉久久一区二区不卡无毒影院 | 亚洲欧洲成人精品av97| 亚洲免费观看高清在线观看| 亚洲免费高清视频在线| 一区二区三区蜜桃网| 日韩电影免费在线看| 国内精品写真在线观看| 丰满放荡岳乱妇91ww| www.亚洲激情.com| 在线亚洲精品福利网址导航| 欧美二区在线观看| 久久免费的精品国产v∧| 国产精品污网站| 亚洲成年人网站在线观看| 美女视频一区二区三区| 国产精品一品视频| 欧美中文一区二区三区| 欧美不卡在线视频| 国产精品国产三级国产有无不卡 | 丝袜美腿亚洲综合| 韩国av一区二区| 色天使色偷偷av一区二区| 日韩亚洲欧美在线观看| 欧美国产日韩精品免费观看| 亚洲一级不卡视频| 国产在线播精品第三| 欧美亚洲国产怡红院影院| 日韩亚洲欧美高清| 国产精品麻豆久久久| 亚洲444eee在线观看| 成人听书哪个软件好| 欧美日本韩国一区| 国产精品成人一区二区艾草 | 久久无码av三级| 亚洲伊人色欲综合网| 国产精品一区二区在线观看不卡 | 九九视频精品免费| 色综合夜色一区| 久久亚洲捆绑美女| 日韩av不卡在线观看|