熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 基于RS-485協議設計智能數據采集網絡儀表

基于RS-485協議設計智能數據采集網絡儀表

時間:2008-01-10 10:52:00來源:caojing

導語:?本文介紹了RS-485通信協議及一種RS485接口芯片MAX485,并就如何利用此芯片及RS-485協議方便實現計算機與PHILIPS P89C51RD2單片機之間多點通信進行了詳細的討論。
摘 要:本文介紹了RS-485通信協議及一種RS485接口芯片MAX485,并就如何利用此芯片及RS-485協議方便實現計算機與PHILIPS P89C51RD2單片機之間多點通信進行了詳細的討論。 關鍵詞:通信協議 單片機 計算機 多點通信 一、引言 在由以單片機為核心構成的儀器儀表、智能設備等諸多數據采集系統中,往往需要實現計算機與單片機之間的數據交換,這也就是單片機與計算機之間的通信,以此來充分發揮單片機與計算機各自的長處,提升整個應用系統性能及性價比。傳統的基于RS-232協議的通信由于傳輸距離短、速度慢、信號易受干擾等不足,使得其應用局限性日益突出。有鑒于此,作者在文中討論了如何基于RS-485通信協議,構建RS-485通信網絡,實現若干單片機與計算機之間遠程通信。 二、硬件設計
1.RS-485通信簡介 RS-485是EIA(美國電子工業協會)制定的平衡發送、平衡接收的標準異步串行總線,它具有傳輸距離遠、靈敏度高、多點通信能力強等優點。RS-485接口標準參見表一。 2.MAX485芯片介紹 RS-485轉換接口芯片我們采用MAXIM公司的MAX485(見圖一),該芯片采用單電源+5V工作,額定電流300uA,半雙工通信方式,它完成將TTL電平轉換成 RS -485電平。該芯片具有8條引腳,內部含2個驅動器和接收器,RO,DI分別為接收器的輸出端和驅動器的輸入端,二者分別接單片機TXD和RXD。 /RE和DE分別為接收和發送使能端,當/RE=0時,MAX485處于接收狀態;當DE=1時,MAX485處于發送狀態。因為MAX485工作在半雙工狀態,所以它與單片機連接時接線非常簡單,只需用單片機一個管腳控制這兩個引腳即可。A端和B端分別為接收和發送的差分信號端,當VA大于VB時,表示發送數據為“1”,當VA小于VB時,表示發送數據為“0”,工作時,A、B之間應加匹配電阻,一般可選100~120歐。
.電平轉換接口 在PHILIPS P89C51RD2單片機與計算機進行通信時,必須對電平作一轉換。因為單片機與計算機之間是RS-485網絡,單片機側信號經MAX485后,從TTL 電平轉換為RS-485電平信號,因此,在計算機側必須再把RS-485信號轉換成RS-232電平信號,這樣,二者才能正確通信。在本系統采用DAC- 8520轉換器,把RS485信號轉換為RS-232信號,該轉換器數據轉換傳輸速度快,且不需要用戶對其進行初始化和參數修改。
表一 RS-485接口標準
4.計算機端接口 計算機采用可編程串行異步通信控制器8251A來實現,通過對8251A初始化可以控制串行數據傳送格式和速度及其工作方式,使得它與單片機的通信方式一致,從而實現計算機與單片機之間的通信。 三、多點通信 3.1多點通信原理 RS485 總線標準是在RS-422基礎上發展起來的,它增加了多點雙向通信能力,使分布式網絡的多點通信得以實現。我們在了解了器件的驅動能力后,就可以根據需要和驅動能力加入需要的節點。本系統就是利用一臺計算機控制多達32塊單片機,計算機通過發送控制字和工作方式字來確定和所需要的單片機建立通信連接。單片機根據計算機發送的指令進行數據采集,并根據需要與計算機交換數據或對生產過程參數及所連設備狀態進行調整。計算機對單片機傳回的數據進行分析與計算后,再將相關控制信息傳給單片機。 51 系列單片機用于多點通信時必須工作在方式2或方式3。以方式3為例,每發送一幀數據為11位:1位起始位(0),8位數據位和1位停止位(1),附加的第 9位數據在非多點通信系統中為奇偶校驗位,在發送端有SCON的TB8產生,在接收端傳送到RB8。它還可設定為“0”或“1”作為在多點通信中區分數據幀(0標志)還是地址幀(1標志)的標志。在51系列單片機多點通信系統中有以下通信協議:所有的各從機均處于聽命狀態,即SM2=1,以便接收主機發送來的地址,當接收到一幀信息的RB8為“1”時,表示主機發送來的是地址信息,所有的從機均發生接收中斷,否則中斷屏蔽。當一從機進入相應的中斷服務程序,把接收到的地址和本機的地址比較,如果符合就令其SM2=0,并向主機發回本機地址以作應答,該從機就與主機連通,準備接收主機發來的命令或數據信息,而其他的未被尋址的從機保持SM2=1并退出各自的中斷服務程序。這樣,只有SM2=0的從機才能接收到主機發來的數據信息,順利實現地址幀和數據幀的分離。被尋址的從機在通信完成后重新使SM2=1,并退出中斷服務程序,等待下次通信。 3.2多點通信協議 實現計算機和單片機的正常通信,必須正確設置它們兩者之間的工作方式,保證雙方都用相同的波特率、起始位、停止位、奇偶校驗位,并且要建立雙方通信的應答信號。 單片機既可以工作在同步移位寄存器方式,也可工作在UART(通用異步收發器)下。串行口的通信方式是由特殊功能寄存器SCON來控制的。其各位定義如下:
SM0, SM1:工作模式設定位;SM2:允許使用方式2、3多機通信控制位;RB8:接收數據第9位;TB8:發送數據第9位;TI發送中斷標志;RI:接收中斷標志。本文中工作方式為方式3,即9位UART定時器T1作為波特率發生器,工作在方式2,若選定波特率為9600bps,則記數初值為0FAH (SMOD=0,時鐘頻率Fosc為11.0592MHz) 計算機的異步通信接口為INTEL8251A,它可設定1位、1.5位或2位停止位,數據可在5到8位之間選擇,通信頻率為0到9600bps,有奇偶校驗、幀校驗、溢出校驗三種方式。可通過對它寫入一定的方式控制字、命令控制字從而進行初始化。它的工作狀態寄存于狀態寄存器中,可由P89C51RD2的 CPU讀取。通信協議如下:(1)串行通信波特率為9600bps;(2)幀格式為8位數據位,一位起始位,一位可編程的第9位(即發送和接收的地址/數據位的標志位),一位停止位;(3)主機和從機遵循主從原則,主機用呼叫方式選擇從機,數據在主機和從機之間雙向傳遞,各從機之間的相互通信需通過主機作為中介;(4)主從機之間還應傳送一些供它們識別的命令和狀態字,如以00H表示主機發送從機接收命令,以01H表示從機發送主機接收命令等。 四、軟件設計 該部分主要包括主機程序、從機和其中斷服務程序組成。主機程序主要完成對串口初始化以及主機與從機之間的通信。而從機主程序主要完成對串口的初始化、波特率的設置(應與主機端的波特率一致),它的中斷程序主要完成P89C51RD2與計算機的數據通信。 1. 單片機部分 單片機端程序在KEIL 公司提供的優秀可視化集成開發環境uVISION2中用C語言編寫。通信波特率9600bps,晶振11.0592Mhz。需要注意的是PHILIPS P89C51RD2的1個機器周期為6個時鐘周期,與標準8051單片機1個機器周期為12個時鐘周期不同,因此,在相關參數設置時要注意這一差別,否則,無法正確建立通信連接。為配合多機通信方式,我們采用工作方式3. 單片機通信流程圖如圖二所示。 單片機串口初始化程序如下: main( ) { TMOD = 0x20; /*定時器1方式2*/ TH1=0xfa; /*9600波特率晶振11.0592MHz*/ TCON=0x40; /*啟動定時器1*/ SCON=0x50; /*允許接收*/ IE=0x90; /*允許串行口中斷*/ ………..
2.計算機部分 計算機端程序我們采用優秀的可視化軟件Visual Basic編寫,其中關鍵部分是引用Visual Basic的串行通信控件MSComm,發送和接收完全由該控件管理實現,而不需要以往繁瑣的驅動程序編寫。這無疑大大提高了工作效率,降低了開發成本。 計算機通信流程如圖三所示。
下面給出用VB6編制的通信程序: Dim inbyte( ) AS Byte ’定義動態字節型數組 Private Sub txd_click( ) ’通信建立及數據發送控制按鈕 If MSComm1.PortOpen = True Then GoTo jj 如通信端口開則跳至jj MSComm1.CommPort = 1 ’通信端口為COM1 MSComm1.Settings = "9600,n,8,1" ’串口初始化為9600波特,8位數據位,1位停止位,無校驗 MSComm1.PortOpen = True ’打開通信端口 jj: Mscomm1.output=Text1.text ’發送地址碼 ……….. Mscomm1.output=text2.text ’發送工作方式控制字,采集通道以及校驗碼 End Sub Private Sub rxd_click() ’數據接收按鈕 Inbyte( )=Mscomm1.input ’接收的數據存于動態字節數組 ……. ’省略數據處理部分 End Sub 五、結束語 利用RS -485串行通信,可以保證快速、穩定、遠距離傳送數據。本文設計的系統已在智能數據采集網絡儀表中得到成功應用,其通信設計方法還可以稍加修改即可移植到其他的工業測控系統中。由于本文設計方法開發成本低,設計簡單,在目前及以后的工業控制和其他方面必將得到越來越多的應用。

標簽:

點贊

分享到:

上一篇:基于DSP-LF2407A和CAN總線的...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 革吉县| 麻栗坡县| 林口县| 阿荣旗| 清涧县| 吴江市| 霞浦县| 黔西县| 平山县| 什邡市| 湾仔区| 延长县| 浮山县| 安龙县| 得荣县| 手机| 民勤县| 温宿县| 莒南县| 潼南县| 沿河| 汉寿县| 上饶县| 浪卡子县| 兴城市| 文化| 阜平县| 巴里| 平阳县| 宜昌市| 乐业县| 常熟市| 华亭县| 商河县| 温泉县| 白朗县| 香格里拉县| 衡水市| 阜阳市| 监利县| 洛扎县|