欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: UART轉RS485通信 485轉UART(單片機轉485通信模塊) [打印本頁]

作者: zhangxinchun    時間: 2019-4-11 10:26
標題: UART轉RS485通信 485轉UART(單片機轉485通信模塊)
【簡要說明】
一、尺寸:全長37mm25mm15mm
二、主芯片:MAX485通訊芯片
三、工作電壓:直流3.3V5V
四、特點:
1、電路簡單實用,接線簡單。
2、一端與485模塊連接,另一端可直接和單片機連接。
3、可以單片機與單片機通訊。
4、可UART 485設備通訊。
5、電路小巧,方便固定安裝。
6、通信距離最大1200米。
7、工作溫度-20°~50°。
8、RS-485的數據最高傳輸速率為10Mbps
9、RS-485最大的通信距離約為1200m,最大數據傳輸速率10Mb/S,傳輸速率與傳輸距離成反比,在100Kb/S的傳輸速率下,才可以達到最大的通信距離,如果需傳輸更長的距離,需要加485中繼器。RS-485總線一般最大支持32節點,如果使用特制的485芯片,可以達到128個或者256個節點,最大的可以支持到400個節點。
【小知識】
RS232,RS422,RS485是電氣標準,主要區別就是邏輯如何表示。   
    RS232使用12V,0,-12V電壓來表示邏輯,(-12V表示邏輯112V表示邏輯0),全雙工,最少3條通信線(RX,TX,GND),因為使用絕對電壓表示邏輯,由于干擾,導線電阻等原因,通訊距離不遠,低速時幾十米也是可以的。   
RS422,在RS232后推出,使用TTL差動電平表示邏輯,就是兩根的電壓差表示邏輯,RS422定義為全雙工的,所以最少要4根通信線(一般額外地多一根地線),一個驅動器可以驅動最多10個接收器(即接收器為1/10單位負載),通訊距離與通訊速率有關系,一般距離短時可以使用高速率進行通信,速率低時可以進行較遠距離通信,一般可達數百上千米。   
RS485,在RS422后推出,絕大部分繼承了422,主要的差別是RS485可以是半雙工的,而且一個驅動器的驅動能力至少可以驅動32個接收器(即接收器為1/32單位負載),當使用阻抗更高的接收器時可以驅動更多的接收器。所以現在大多數全雙工485驅動/接收器對都是標:RS422/485的,因為全雙工RS485的驅動/接收器對一定可以用在RS422網絡。
適用場合:單片機學習、電子競賽、產品開發、畢業設計。。。
【標注說明】<?xml:namespace prefix = o />
接線示意圖
【參考原理圖】
PCB尺寸圖】
【測試程序】
簡單的發送程序:
/********************************************************************
*********************************************************************/
#include<reg52.h>          //庫文件
#define uchar unsigned char//宏定義無符號字符型
#define uint unsigned int  //宏定義無符號整型
/********************************************************************
                            初始定義
*********************************************************************/
code uchar seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //顯示段碼 數碼管字跟
uchar wei[4]={0XEf,0XDf,0XBf,0X7f};  //位的控制端
uchar dat; //用于存儲單片機接收發送緩沖寄存器SBUF里面的內容
sbit P2_0=P2^0;//數據發送按鍵
/********************************************************************
                            延時函數
*********************************************************************/
void delay(uchar t)
{
  uchar i,j;
   for(i=0;i<t;i++)
   {
     for(j=13;j>0;j--);
{ ;
}
   }
}
/********************************************************************
                            顯示函數
*********************************************************************/        
void Led(uchar date) //顯示函數
{
/*****************數據轉換*****************************/
uint z,x,c,v;
  z=date/1000;  //求千位
  x=date%1000/100;  //求百位
  c=date%100/10;  //求十位
  v=date%10;  //求個位
  P2=0XFF;
  P0=seg7code[z];
  P2=wei[0];
  delay(80);
  P2=0XFF;  
  P0=seg7code[x];
  P2=wei[1];
  delay(80);
  P2=0XFF;  
  P0=seg7code[c];
  P2=wei[2];
  delay(80);
  P2=0XFF;  
  P0=seg7code[v];
  P2=wei[3];
  delay(80);
  P2=0XFF;
}
///////功能:串口初始化,波特率9600,方式1/////////
void Init_Com(void)
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
/********************************************************************
                            主函數
*********************************************************************/
void main()
{
Init_Com();//串口初始化
while(1)
{
dat=0x06;  //要發送的數據
if(P2_0==0)//當按鍵按下時開始發送數據
{
while(!P2_0);//消隱
RI=0; //RI 清零。
SBUF = dat; //把數據發送出去
}
Led(dat); //顯示發送的數據
}
}
/********************************************************************
                              結束
*********************************************************************/
簡單的接收程序:
/********************************************************************
*********************************************************************/
#include<reg52.h>          //庫文件
#define uchar unsigned char//宏定義無符號字符型
#define uint unsigned int  //宏定義無符號整型
/********************************************************************
                            初始定義
*********************************************************************/
code uchar seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //顯示段碼 數碼管字跟
uchar wei[4]={0XEf,0XDf,0XBf,0X7f};  //位的控制端
unsigned char dat; //用于存儲單片機接收發送緩沖寄存器SBUF里面的內容
/********************************************************************
                            延時函數
*********************************************************************/
void delay(uchar t)
{
  uchar i,j;
   for(i=0;i<t;i++)
   {
     for(j=13;j>0;j--);
{ ;
}
   }
}
/********************************************************************
                            顯示函數
*********************************************************************/        
void Led(uchar date) //顯示函數
{
/*****************數據轉換*****************************/
uint z,x,c,v;
  z=date/1000;  //求千位
  x=date%1000/100;  //求百位
  c=date%100/10;  //求十位
  v=date%10;  //求個位
P2=0XFF;
  P0=seg7code[z];
  P2=wei[0];
  delay(80);
  P2=0XFF;  
  P0=seg7code[x];
  P2=wei[1];
  delay(80);
  P2=0XFF;  
  P0=seg7code[c];
  P2=wei[2];
  delay(80);
  P2=0XFF;  
   P0=seg7code[v];
  P2=wei[3];
  delay(80);
  P2=0XFF;
}
///////功能:串口初始化,波特率9600,方式1/////////
void Init_Com(void)
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
/********************************************************************
                            主函數
*********************************************************************/
void main()
{
Init_Com();//串口初始化
while(1)
{
if ( RI ) //掃描判斷是否接收到數據,
{
dat = SBUF; //接收數據SBUF賦與dat
RI=0; //RI 清零。
SBUF = dat; //在原樣把數據發送回去
}
Led(dat); //顯示接收到的數據
}
}
/********************************************************************
                              結束
*********************************************************************/
【實物展示】

GYJ-0177_485通信模組產品使用手冊.pdf

738.3 KB, 下載次數: 25, 下載積分: 黑幣 -5

GYJ-0177_485通信模組發貨資料.zip

2.28 MB, 下載次數: 43, 下載積分: 黑幣 -5

GYJ-0177_485通信模組原理圖及PCB圖.pdf

160.46 KB, 下載次數: 40, 下載積分: 黑幣 -5


作者: Simon_sky    時間: 2019-11-29 11:18
學習下
作者: kon4820    時間: 2020-10-30 17:44
問問,485速率如何控制




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1