RS485單片機(jī)多機(jī)串行通信的電子開關(guān)的設(shè)計(jì)_第1頁(yè)
RS485單片機(jī)多機(jī)串行通信的電子開關(guān)的設(shè)計(jì)_第2頁(yè)
RS485單片機(jī)多機(jī)串行通信的電子開關(guān)的設(shè)計(jì)_第3頁(yè)
RS485單片機(jī)多機(jī)串行通信的電子開關(guān)的設(shè)計(jì)_第4頁(yè)
RS485單片機(jī)多機(jī)串行通信的電子開關(guān)的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、【W(wǎng)ord版本下載可任意編輯】 RS485單片機(jī)多機(jī)串行通信的電子開關(guān)的設(shè)計(jì) 引言 目前是通信控制領(lǐng)域的主流通信方式,數(shù)據(jù)通信、計(jì)算機(jī)網(wǎng)絡(luò)、分布式工業(yè)控制系統(tǒng)及其測(cè)控領(lǐng)域中,經(jīng)常采用串行通信來(lái)到達(dá)信息交換的目的。多機(jī)串行通信控制網(wǎng)絡(luò)是物理層采用RS 485通信接口所組成的多機(jī)串行通信工控設(shè)備網(wǎng)絡(luò),RS 485既是物理層的協(xié)議標(biāo)準(zhǔn),也是串行通信接口的電氣標(biāo)準(zhǔn)。這種通信接口可以十分方便地將許多設(shè)備組成一個(gè)控制網(wǎng)絡(luò)。RS 485通信方式有很多優(yōu)點(diǎn),首先它的通信距離比較遠(yuǎn),通常可以做到數(shù)百米甚至千米以上,而且還可以實(shí)現(xiàn)多點(diǎn)通信方式,從而可以建立一個(gè)小范圍內(nèi)的局域網(wǎng),因而更有實(shí)用價(jià)值。RS 485采用差

2、模信號(hào)傳輸方式,與地電平關(guān)系不大,因而它抗干擾的能力比較好,即便在信號(hào)電壓比較小的情況下也能獲得穩(wěn)定的傳輸。 1 總體方案及硬件設(shè)計(jì) 該系統(tǒng)的設(shè)計(jì)要求主機(jī)能夠與從機(jī)之間開展地址確認(rèn)并相互通信,從機(jī)能夠準(zhǔn)確檢測(cè)到被測(cè)信號(hào),主機(jī)能夠接收從機(jī)傳來(lái)的數(shù)據(jù)信號(hào),并通過(guò)液晶顯示器和發(fā)光二極管顯示,同時(shí)采用RS 485總線主從機(jī)可以實(shí)現(xiàn)長(zhǎng)距離通信。主從機(jī)采用的主要芯片均為,考慮單片機(jī)性能及實(shí)際運(yùn)行環(huán)境的需要,選用AT89S51單片機(jī),串行通信網(wǎng)絡(luò)構(gòu)造如圖1所示。 (1)主機(jī)使用主要器件:AT89S51 MAX4851602LCDLEDRESISTORS CAP CRYSTAL; (2)從機(jī)使用主要器件:AT

3、89S51 MAX485 RESISTORS CAP CRYSTAL 主機(jī)主要功能: (1)與從機(jī)之間開展地址確認(rèn)。 (2)查詢從機(jī)是否有信號(hào)(從機(jī)檢測(cè)被測(cè)量時(shí)產(chǎn)生的相應(yīng)的數(shù)據(jù)信號(hào))發(fā)送到主機(jī)。 (3)通過(guò)液晶顯示發(fā)送信號(hào)的從機(jī)地址,同時(shí)可以通過(guò)發(fā)光二極管顯示信號(hào)的級(jí)別(這里兩個(gè)發(fā)光二極管分別代表兩個(gè)行程開關(guān)的亮滅)。 從機(jī)主要功能: (1)與主機(jī)之間開展地址確認(rèn)。 (2)檢測(cè)被測(cè)量,并將被測(cè)信號(hào)數(shù)據(jù)發(fā)送給主機(jī)。 主機(jī)主要有兩大功能模塊:液晶顯示模塊用來(lái)顯示從機(jī)地址編號(hào),所使用的器件為1602LCD,RS 485串行通信模塊用來(lái)實(shí)現(xiàn)與從機(jī)之間的遠(yuǎn)距離串行通信,使用MAX485芯片來(lái)實(shí)現(xiàn)。 從機(jī)

4、的主要功能模塊為RS 485串行通信模塊用來(lái)完成與主機(jī)之間數(shù)據(jù)的發(fā)送和接收。 2 設(shè)計(jì)實(shí)現(xiàn)原理 主從機(jī)均采用的是AT89S51單片機(jī),它是一個(gè)低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4 KB的可反復(fù)擦寫1 000次的FLASH只讀程序存儲(chǔ)器。單片機(jī)的XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。本電子開關(guān)設(shè)計(jì)外接12MHz晶振。 主從機(jī)均使用單片機(jī)2個(gè)全雙工串行通信口外接MAX485芯片來(lái)完成與從機(jī)之間的串行通信,由串行口控制存放器SCON設(shè)置串行口的工作方式、監(jiān)視串行口工作狀態(tài)、發(fā)送與接收的狀態(tài)控制等。P3.0RXD為串行通信接收端,P3.1TX

5、D為串行通信發(fā)送端。 主機(jī)端口P0.0P0.7作為液晶顯示器的數(shù)據(jù)線,P0口上拉10 k電阻與1602液晶的D0D7數(shù)據(jù)端相連,P3.7與使能端E相連,P3.6與讀寫信號(hào)線RW相連,P3.5與存放器選擇端RS相連。P1.0和P1.1引腳接兩個(gè)發(fā)光二極管,用來(lái)顯示從機(jī)發(fā)送信號(hào)的級(jí)別。 從機(jī)P1.0和P1.1引腳分別接到行程開關(guān)和二級(jí)行程開關(guān),用來(lái)檢測(cè)兩個(gè)開關(guān)的狀態(tài),終由從機(jī)P1.0和P1.1這兩個(gè)引腳將行程開關(guān)的狀態(tài)發(fā)送到主機(jī),主機(jī)讀取狀態(tài)值并且顯示。 主機(jī)通過(guò)輪詢的方式,當(dāng)主機(jī)查詢n號(hào)從機(jī)時(shí),與n號(hào)從機(jī)開展地址確認(rèn),并判斷n號(hào)從機(jī)是否有信號(hào)產(chǎn)生,如果沒有,主機(jī)將查詢n-1號(hào)從機(jī),如果有信號(hào)產(chǎn)生

6、,主機(jī)接收到信號(hào)并存儲(chǔ)該從機(jī)的主機(jī)編號(hào),分別通過(guò)發(fā)光二極管和液晶顯示出來(lái),如果n-1號(hào)從機(jī)繼續(xù)有信號(hào)產(chǎn)生,主機(jī)繼續(xù)接收,直到接收完畢,主機(jī)將查詢n-2號(hào)從機(jī),如此往復(fù)。從機(jī)的個(gè)數(shù)可以在主機(jī)程序中對(duì)從機(jī)個(gè)數(shù)n值開展設(shè)定。 2.1 多機(jī)串行通信及通信協(xié)議 電子開關(guān)的設(shè)計(jì)主要通過(guò)單片機(jī)的多機(jī)串行通信來(lái)實(shí)現(xiàn)。 2.1.1 發(fā)送器和接收器 AT89S51串行口主要由發(fā)送器、接收器和串行控制存放器組成。發(fā)送器主要由發(fā)送緩沖存放器SBUF和發(fā)送控制器組成。接收器主要由接收緩沖存放器SBUF,接收移位存放器和接收控制器組成。 2.1.2 串行口控制存放器 串行口控制存放器SCON用于設(shè)置串行口的工作方式、監(jiān)視

7、串行口工作狀態(tài)、發(fā)送與接收的狀態(tài)控制等。它是一個(gè)既可字節(jié)尋址又可位尋址的特殊功能存放器。控制存放器SCON的格式如下: 電子開關(guān)中單片機(jī)串行口控制存放器SCON各位設(shè)置如下: 主機(jī)SCON設(shè)置:1 0 0 1 1 0 0 0 =#98H 從機(jī)SCON設(shè)置:1 0 1 1 0 0 0 0 =#0B0H 2.1.3 工作方式的選擇 本電子開關(guān)單片機(jī)串行通信工作方式選擇為工作方式2,在方式2下,串行口工作在11位異步通信方式。一幀信息包含一個(gè)起始位“0”,八個(gè)數(shù)據(jù)位,一個(gè)可編程第九數(shù)據(jù)位和一個(gè)停止位“1”。其中可編程位是SCON中的TB8位,在八個(gè)數(shù)據(jù)位之后,可作奇偶校驗(yàn)位或地址數(shù)據(jù)幀的標(biāo)志位使用,

8、由使用者確定。 波特率的選擇:方式2的波特率是固定的。 若PCON中SMOD=0,速率=fosc32 若PCON中SMOD=1,速率=fosc64 該設(shè)計(jì)中:波特率為9 600 bs。 2.1.4 實(shí)現(xiàn)原理及流程 多機(jī)通信主要靠主、從機(jī)之間正確地設(shè)置與判斷多機(jī)通信控制位SM2和發(fā)送或接收的第9數(shù)據(jù)位(D8)。 電子開關(guān)多機(jī)串行通信的實(shí)現(xiàn)流程: (1)主從機(jī)均初始化工作方式2,主機(jī)置SM2=0,允許中斷,從機(jī)置SM2=1,REN=1。 (2)主機(jī)置REN=1,TB8=1,將地址信息發(fā)送給從機(jī),并等待是否發(fā)送完畢,從機(jī)等待主機(jī)發(fā)送地址。 (3)從機(jī)接收到地址與本機(jī)地址核對(duì),核對(duì)正確,置SM2=0,

9、向主機(jī)發(fā)送應(yīng)答地址并等待發(fā)送完畢,主機(jī)接收之后開展地址確認(rèn),并置TB8=0。 (4)從機(jī)地址發(fā)送完畢后,接著發(fā)送信號(hào)數(shù)據(jù)并等待發(fā)送完畢。 (5)主機(jī)接收到數(shù)據(jù)將從機(jī)編號(hào)發(fā)送到液晶顯示,將信號(hào)數(shù)據(jù)發(fā)到發(fā)光二極管顯示信號(hào)級(jí)別。 2.1.5 主從機(jī)之間地址確認(rèn) 主從機(jī)在開展數(shù)據(jù)通信之前,首先開展地址確認(rèn),其目的就是讓主機(jī)知道哪號(hào)從機(jī)向主機(jī)發(fā)送數(shù)據(jù)。主機(jī)首先發(fā)送n號(hào)從機(jī)地址編號(hào)#0FFH,所有從機(jī)接收到主機(jī)發(fā)送的地址后與各自的地址開展核對(duì),地址不是#OFFH的從機(jī)將繼續(xù)等待主機(jī)的呼叫,核對(duì)正確的從機(jī)向主機(jī)發(fā)送本機(jī)的應(yīng)答地址,主機(jī)收到從機(jī)的應(yīng)答地址后進(jìn)一步做出判斷,確認(rèn)是否是n號(hào)從機(jī)的地址。地址確認(rèn)正確

10、之后,主機(jī)與n號(hào)從機(jī)開展數(shù)據(jù)通信,直到數(shù)據(jù)通信完畢,主機(jī)將呼叫下一號(hào)從機(jī)。 2.1.6 防止多從機(jī)與主機(jī)通信產(chǎn)生數(shù)據(jù)沖突 一個(gè)主機(jī)與多個(gè)從機(jī)開展串行通信的時(shí)候,如果當(dāng)某一從機(jī)有數(shù)據(jù)時(shí)向主機(jī)發(fā)送,這時(shí)可能出現(xiàn)兩個(gè),三個(gè)或者更多從機(jī)同時(shí)產(chǎn)生數(shù)據(jù),需要同時(shí)向主機(jī)發(fā)送,這樣就會(huì)導(dǎo)致數(shù)據(jù)通信的沖突問(wèn)題。該電子開關(guān)的設(shè)計(jì)采用主機(jī)輪詢從機(jī)的方式,從而有效防止了主從機(jī)數(shù)據(jù)通信沖突的問(wèn)題,主機(jī)先呼叫n號(hào)從機(jī),地址確認(rèn)之后,是n號(hào)的從機(jī)應(yīng)答并與主機(jī)開展通信,其余從機(jī)處于等待狀態(tài),主機(jī)接收n號(hào)從機(jī)數(shù)據(jù),并判斷該從機(jī)是否繼續(xù)有數(shù)據(jù)發(fā)送,此時(shí)其他從機(jī)若有數(shù)據(jù)只能處于排隊(duì)等待中,不會(huì)對(duì)主機(jī)產(chǎn)生干擾,主機(jī)接收完畢后將n號(hào)從

11、機(jī)地址減1,呼叫n-1號(hào)從機(jī),如此反復(fù)輪詢各個(gè)從機(jī)。主機(jī)輪詢的過(guò)程是很快的,從機(jī)檢測(cè)到被測(cè)信號(hào)的時(shí)候也能得到及時(shí)的處理。如圖2所示。 2.2 多RS 485串行通信模塊 RS 485采用平衡發(fā)送和差分接收方式來(lái)實(shí)現(xiàn)通信:在發(fā)送端TXD將串行口的TTL電平信號(hào)轉(zhuǎn)換成差分信號(hào)A,B兩路輸出,經(jīng)傳輸后在接收端將差分信號(hào)復(fù)原成TTL電平信號(hào)。兩條傳輸線通常使用雙絞線,又是差分傳輸,因此有極強(qiáng)的抗共模干擾的能力,接收靈敏度也相當(dāng)高。如果以10 Kbs速率傳輸數(shù)據(jù)時(shí)傳輸距離可達(dá)12 m,而用100 Kbs速率傳輸數(shù)據(jù)時(shí)傳輸距離可達(dá)1.2 km。如果降低波特率,傳輸距離還可進(jìn)一步提高。 實(shí)現(xiàn)RS 485串行

12、通信只需給主機(jī)和每個(gè)從機(jī)接各接一片MAX485芯片,其接收器的輸出端RO和驅(qū)動(dòng)器的輸入端DI,只需分別與單片機(jī)的RXD和TXD相連即可;和DE端分別為接收和發(fā)送的使能端,當(dāng)為邏輯0時(shí),器件處于接收狀態(tài);當(dāng)DE為邏輯1時(shí),器件處于發(fā)送狀態(tài),因?yàn)镸AX485工作在半雙工狀態(tài),所以只需用單片機(jī)的一個(gè)管腳控制這兩個(gè)引腳即可;在主機(jī)電子開關(guān)中使用單片機(jī)的P3.4引腳控制MAX485的和DE兩端,如圖3所示。 A端和B端分別為接收和發(fā)送的差分信號(hào)端,當(dāng)A引腳的電平高于B時(shí),代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時(shí),代表發(fā)送的數(shù)據(jù)為0。在與單片機(jī)連接時(shí)接線非常簡(jiǎn) A端和B端分別為接收和發(fā)送的差分信號(hào)端,當(dāng)A

13、引腳的電平高于B時(shí),代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時(shí),代表發(fā)送的數(shù)據(jù)為0。在與單片機(jī)連接時(shí)接線非常簡(jiǎn)單。只需要一個(gè)信號(hào)控制MAX485的接收和發(fā)送即可。 可靠性措施如下: 復(fù)位時(shí),主從機(jī)都應(yīng)該處于接收狀態(tài)。 控制端,DE的信號(hào)的有效脈寬應(yīng)該大于發(fā)送或接收一幀信號(hào)的寬度。 同時(shí)將A和B端之間加匹配電阻,一般可選120 的電阻,吸收總線上的反射信號(hào),保證正常傳輸信號(hào)干凈、無(wú)毛刺。匹配電阻的取值應(yīng)與總線的特性阻抗相當(dāng)。 接收和發(fā)送的使能端和DE的引腳控制在程序中的實(shí)現(xiàn),主機(jī)部分程序如下: 2.3 液晶顯示模塊 液晶顯示模塊選用1602液晶,1602液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、

14、超薄輕巧的諸多優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來(lái)越廣泛的應(yīng)用。電子開關(guān)上使用1602液晶顯示,是用來(lái)顯示發(fā)送信號(hào)數(shù)據(jù)的從機(jī)編號(hào),某一從機(jī)檢測(cè)到信號(hào)時(shí)將會(huì)顯示: Fault Machine is:*(001號(hào),002號(hào),003號(hào)) 1602主要引腳定義如下: RS為存放器選擇,高電平時(shí)選擇數(shù)據(jù)存放器、低電平時(shí)選擇指令存放器。RW為讀寫信號(hào)線,高電平時(shí)開展讀操作,低電平時(shí)開展寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。D0D7為8

15、位雙向數(shù)據(jù)線。 主機(jī)接收到某一從機(jī)發(fā)來(lái)的或二級(jí)信號(hào)時(shí),將此從機(jī)的編號(hào)發(fā)送至液晶顯示出該從機(jī)的編號(hào)。主機(jī)首先對(duì)地址編號(hào)值開展百十個(gè)位分離,然后在液晶上逐位顯示。 百十個(gè)位分離程序如下: 主機(jī)RS 485通信與液晶顯示電路原理圖如圖3所示。 3 電子開關(guān)的功能及應(yīng)用 該電子開關(guān)從功能上主要分為主機(jī)和從機(jī)電子開關(guān)兩部分。 主機(jī)主要完成數(shù)據(jù)的接收和處理,以及將終結(jié)果狀態(tài)顯示出來(lái),從機(jī)電子關(guān)主要完成信號(hào)的檢測(cè),同時(shí)將數(shù)據(jù)發(fā)送給主機(jī),整個(gè)系統(tǒng)的搭建由一個(gè)主機(jī)和一個(gè)或多個(gè)從機(jī)電子開關(guān)組成,從機(jī)電子開關(guān)的數(shù)量可以根據(jù)實(shí)際情況的需要而定。 因該電子開關(guān)要應(yīng)用到傳送帶位置跑偏的檢測(cè)中,從機(jī)電子開關(guān)要安裝在一個(gè)檔桿

16、機(jī)構(gòu)(如圖4,圖5所示)中,每個(gè)檔桿機(jī)構(gòu)中內(nèi)部都有兩個(gè)行程開關(guān),根據(jù)所要求的信號(hào)級(jí)別,分別將它們?cè)O(shè)置為行程開關(guān)和二級(jí)行程開關(guān),檔桿通過(guò)凸輪機(jī)構(gòu)與行程開關(guān)相連,從機(jī)電子開關(guān)的兩個(gè)數(shù)據(jù)輸入線接到兩個(gè)行程開關(guān)上即可。 該電子開關(guān)主要針對(duì)大中型傳送帶傳送過(guò)程中位置跑偏的檢測(cè)而設(shè)計(jì)完成,同樣也可以應(yīng)用到其他相關(guān)的設(shè)備及場(chǎng)合的位移量及跑偏量的檢測(cè)。在傳送帶兩側(cè)已確定位置放置從機(jī)電子開關(guān),當(dāng)傳送帶傳送過(guò)程中某處有一定量的位置跑偏,會(huì)通過(guò)檔桿觸動(dòng)行程開關(guān),產(chǎn)生觸發(fā)信號(hào),并將信號(hào)傳送到從機(jī)電子開關(guān),從機(jī)電子開關(guān)檢測(cè)到并將其發(fā)送到主機(jī)處理,主機(jī)負(fù)責(zé)顯示產(chǎn)生故障的從機(jī)編號(hào)及故障級(jí)別,以供工作人員了解到傳送帶何處產(chǎn)生跑偏,并對(duì)傳送帶做出相應(yīng)調(diào)整,同理傳送帶某處產(chǎn)生二級(jí)跑偏量的時(shí)候,將會(huì)由從機(jī)電子開關(guān)將二級(jí)信號(hào)發(fā)給主機(jī)顯示。 傳送帶上的安裝構(gòu)造示意圖如圖5所示。 4 運(yùn)行狀態(tài)及結(jié)果 當(dāng)1號(hào)從機(jī)所連接的行程開關(guān)檔桿機(jī)構(gòu)中1級(jí)行程開關(guān)被按下時(shí),1號(hào)從機(jī)檢測(cè)到故障信號(hào),與主機(jī)開展地址確認(rèn)之后,并向主機(jī)發(fā)送數(shù)據(jù),

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論