畢業(yè)設(shè)計(jì)pc與數(shù)控機(jī)床通信系統(tǒng)_第1頁
畢業(yè)設(shè)計(jì)pc與數(shù)控機(jī)床通信系統(tǒng)_第2頁
畢業(yè)設(shè)計(jì)pc與數(shù)控機(jī)床通信系統(tǒng)_第3頁
畢業(yè)設(shè)計(jì)pc與數(shù)控機(jī)床通信系統(tǒng)_第4頁
畢業(yè)設(shè)計(jì)pc與數(shù)控機(jī)床通信系統(tǒng)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、揚(yáng)州市職業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文)設(shè)計(jì)(論文)題目:pc與數(shù)控機(jī)床通信系統(tǒng)系別:電子工程系專業(yè):通信班級(jí):07級(jí)(2)班姓名:許明超學(xué)號(hào):0706020232指導(dǎo)老師:沈梅梅蔣亞平完成時(shí)間:2010年5月目錄摘要4第一章緒論51.1 PC與數(shù)控機(jī)床通信系統(tǒng)發(fā)展前景51.2 設(shè)計(jì)任務(wù)及要求51.3 方案論證5第二章系統(tǒng)總體設(shè)計(jì)72.1 系統(tǒng)設(shè)計(jì)的基本原則72.2 硬件電路設(shè)計(jì)的基本原則72.3 軟件系統(tǒng)設(shè)計(jì)的基本原則7第三章硬件電路設(shè)計(jì)93.1 RS-485/RS-232接口電路93.1.1 RS485總線的相關(guān)知識(shí)103.1.2 RS485總線的相關(guān)參數(shù)103.1.3 RS485總線驅(qū)動(dòng)芯片113

2、.2 單片機(jī)和看門狗電路12第四章軟件設(shè)計(jì)154.1 PC與數(shù)控機(jī)床之間的通信協(xié)議154.2 上位機(jī)(PC機(jī))程序設(shè)計(jì)174.3 下位機(jī)軟件設(shè)計(jì)20第五章總結(jié)21附錄一:下位機(jī)程序22附錄二:參考文獻(xiàn)29附錄三:元器件清單29許明微軟用戶第3頁摘要隨著我國制造業(yè)的快速發(fā)展,對(duì)數(shù)控機(jī)床的使用越來越多,而數(shù)控機(jī)床的控制更趨于網(wǎng)絡(luò)化,智能化。本設(shè)計(jì)是采用“pc-單片機(jī)”主從結(jié)構(gòu)模式,即以pc機(jī)為上位機(jī),分布在各個(gè)車間的單片機(jī)控制單元為下位機(jī)的系統(tǒng)結(jié)構(gòu)模式。利用串行通信功能完成上位機(jī)對(duì)下位機(jī)的控制程序以及數(shù)據(jù)傳輸,達(dá)到對(duì)數(shù)控機(jī)床狀態(tài)的監(jiān)控,以及溫度的采集的功能。文章重點(diǎn)介紹了PC機(jī)與單片機(jī)(載控機(jī)床)

3、上位機(jī)程序設(shè)計(jì),下位機(jī)通信部分、RS485/422接口的硬件部分以及了解數(shù)控機(jī)床的發(fā)展趨勢。關(guān)鍵詞:RS-485、單片機(jī)、串行通信、VisualBasic6.0AbstractWiththerapiddevelopmentofChina'smanufacturingindustry,theuseofCNCmachinetoolsisincreasing,thecontrolofCNCmachinetoolsalsotendtobeintelligent.Thisdesignistheuseof"pc-SCM"master-slavestructuremodel,th

4、atpcmachineasthehostcomputer,distributedinvariousplantMCUcontrolunitforthenextbitmachinesystemarchitecturemodel.Completeserialcommunicationusingthenext-bitmachinePCcontrolprogramanddatatransmission,tomonitorthestateofCNCmachinetools,aswellasthefunctionsofthetemperatureofthecollection.Articlefocuseso

5、nthePCandMCU(setofCNCmachinetools)PCprogramming,lowermachinecommunicationssection,RS485/422interfacehardware,aswellasunderstandingthedevelopmenttrendofCNCmachinetools.Keywords:RS-485,microcontroller,serialcommunication,VisualBasic6.0第一章緒論1.1 PC與數(shù)控機(jī)床通信系統(tǒng)發(fā)展前景隨著數(shù)控機(jī)床的發(fā)展,數(shù)控機(jī)床在模具、航空、航天等行業(yè)的廣泛應(yīng)用,在產(chǎn)品更新周期進(jìn)一步縮

6、短,加工質(zhì)量要求越來越高,零件越來越復(fù)雜等情況下,將計(jì)算機(jī)與數(shù)控機(jī)床聯(lián)結(jié)起來,實(shí)現(xiàn)高效的數(shù)據(jù)交換或高一級(jí)的控制管理,從根本上提高數(shù)控機(jī)床的執(zhí)行效率,一直是制造業(yè)的研究內(nèi)容。經(jīng)過幾十年計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)通信技術(shù)已經(jīng)日趨成熟,串行通信作為一種靈活、方便、可靠的通信方式,被廣泛應(yīng)用于工業(yè)控制中,數(shù)據(jù)處理以及控制信號(hào)的產(chǎn)生與傳輸?shù)裙δ?。同時(shí)串行通信還應(yīng)用于交通控制、分布數(shù)據(jù)采集系統(tǒng)、通信距離擴(kuò)展、電力系統(tǒng)數(shù)據(jù)采集與控制系統(tǒng)、高速公路收費(fèi)系統(tǒng)、遠(yuǎn)程控制、保密通信系統(tǒng)和教學(xué)實(shí)驗(yàn)等等。用PC機(jī)對(duì)數(shù)控機(jī)床進(jìn)行實(shí)時(shí)監(jiān)控,完成PC與數(shù)控機(jī)床之間的程序或數(shù)據(jù)傳輸。從而提高數(shù)控機(jī)床的自動(dòng)化程度以及工作效率。1.

7、2 設(shè)計(jì)任務(wù)及要求本設(shè)計(jì)的主要任務(wù)是設(shè)計(jì)一個(gè)PC與數(shù)控機(jī)床的通信系統(tǒng)。完成PC與數(shù)控機(jī)床之間程序的傳輸,以及對(duì)數(shù)控機(jī)床狀態(tài)的監(jiān)控。系統(tǒng)擬達(dá)到的技術(shù)指標(biāo)為:(1)用一臺(tái)計(jì)算機(jī)或網(wǎng)絡(luò)對(duì)多臺(tái)數(shù)控機(jī)床進(jìn)行控制,完成數(shù)控程序傳輸、機(jī)床狀態(tài)監(jiān)控等功能。(2)通信距離大于500米。(3)通信波特率大于4800b/s。( 4)必須采用總線式結(jié)構(gòu)。( 5)可以自定義通信協(xié)議。1.3方案論證當(dāng)控制計(jì)算機(jī)與各數(shù)控機(jī)床相距較遠(yuǎn)時(shí),一般采用串行通信方式而不采用并行通信方式。這是因?yàn)椴⑿型ㄐ畔到y(tǒng)的造價(jià)較高、眾多的連線不僅容易引入干擾,也容易發(fā)生線路故障。串行通信由于接線少、成本低,在數(shù)據(jù)采集和控制系統(tǒng)中得到了廣泛的應(yīng)用。

8、在軟件編程方面:本設(shè)計(jì)下位機(jī)采用的是單片機(jī)的匯編語言,上位機(jī)(即PC機(jī))利用VisualBasic6.0編程。用VB6.0開發(fā)串行通信程序有兩種法:方案一:利用Windows的API函數(shù)利用API函數(shù)編寫串行通信程序較為復(fù)雜,需要掌握大量的通信知識(shí),其優(yōu)點(diǎn)是可實(shí)現(xiàn)的功能更豐富、應(yīng)用面更廣泛,適合于編寫較為復(fù)雜的低層次通信程序。方案二:采用VB6.0的通信控件MSCommVB6.0的MSCom通信控件提供了標(biāo)準(zhǔn)的事件處理函數(shù)、事件、方法,并通過控件屬性對(duì)串口參數(shù)進(jìn)行設(shè)置,比較容易地解決了串口通信問題。通信總線可以有三種選擇:1、采用RS-232方式RS-232規(guī)定的20kb/s的傳輸速率雖然能滿

9、足異步通信要求(通常異步通信速率限制在19.2kb/s以下),但對(duì)某些同步系統(tǒng)來說,不能滿足傳送速率要求。傳送距離短。RS-232接口的一般裝置之間電纜長度為15米,即使有好的線路器件、優(yōu)良的信號(hào)質(zhì)量,電纜長度也不會(huì)超過60米。2、采用CAN總線CAN即為控制局部網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。CAN總線的主要特性:具有實(shí)時(shí)性、傳輸距離較遠(yuǎn)、抗電磁干擾能力強(qiáng)、成本低等優(yōu)點(diǎn);采用雙線串行通信方式,檢錯(cuò)能力強(qiáng),可在噪聲干擾環(huán)境中工作;具有優(yōu)先權(quán)和仲裁功能,多個(gè)控制模塊通過CAU空制器掛在CNU-bus上,形成多主機(jī)局部網(wǎng)絡(luò);可靠的錯(cuò)誤處理和檢錯(cuò)機(jī)制;發(fā)送的信息遭到破壞后,可自動(dòng)重發(fā)。結(jié)點(diǎn)在錯(cuò)

10、誤嚴(yán)重的情況下具有自動(dòng)退出總線的功能。3、采用RS-485方式RS-485半雙工異步通信總線是一種被廣泛使用的數(shù)據(jù)通信總線。它具有通信距離遠(yuǎn)、通信速率高、成本低等特點(diǎn)。在數(shù)控機(jī)床數(shù)據(jù)通信系統(tǒng)應(yīng)用中,由于設(shè)備數(shù)量多,發(fā)布較遠(yuǎn),現(xiàn)場的各種干擾也較大,往往通信可靠性及質(zhì)量不高。RS-485收發(fā)器采用的平衡發(fā)送和差分接收具有抑制共模干擾能力,加上收發(fā)器具有很高的靈敏度,能檢測低達(dá)200mV的電壓,因此,傳輸信號(hào)可在千米以外得到恢復(fù)。綜上所述,本設(shè)計(jì)上位機(jī)(即PC機(jī))編程采用VB6.0的通信控件MSComim通信總線可以選擇RS-485或CAN總線(本次選用RS-485)。許明微軟用戶第5 頁第二章系統(tǒng)

11、總體設(shè)計(jì)2.1 系統(tǒng)設(shè)計(jì)的基本原則采用“pc-單片機(jī)”主從結(jié)構(gòu)模式,利用PC機(jī)提供的RS-232通信接口,通過RS-232與RS-485轉(zhuǎn)接口完成電平的轉(zhuǎn)換。選用VB軟件開發(fā)上位機(jī)管理程序,從而解決了一臺(tái)計(jì)算機(jī)與多臺(tái)數(shù)控機(jī)床進(jìn)行通信的問題,提高了系統(tǒng)資源的利用率,還為進(jìn)一步構(gòu)建車間級(jí)制造管理系統(tǒng)創(chuàng)造了條件。設(shè)計(jì)擬采用單片機(jī)設(shè)計(jì)該系統(tǒng)。用一個(gè)單片機(jī)作為數(shù)控機(jī)床的通信接口。利用串行通信技術(shù)完成PC與單片機(jī)之間的通信。采用分布式布局,多臺(tái)數(shù)控機(jī)床通過一條總線完成與單片機(jī)的通信。2.2 硬件電路設(shè)計(jì)的基本原則硬件電路設(shè)計(jì)通信節(jié)點(diǎn)的電路,實(shí)際是設(shè)計(jì)一個(gè)RS-485網(wǎng)卡。此網(wǎng)卡有兩個(gè)通信接口:一個(gè)是RS-

12、485接口,連接RS-485(CAN網(wǎng)絡(luò);另一個(gè)是RS-232接口,與數(shù)控機(jī)床的RS-232或PC的RS-232的接口連接。通信節(jié)點(diǎn)電路由RS-485/RS-232接口電路、單片機(jī)和看門狗以及電源電路組成。其總體框圖如2.1所示。RS-48宛、線圖2.1PC與數(shù)控機(jī)床通信系統(tǒng)總體框圖2.3 軟件系統(tǒng)設(shè)計(jì)的基本原則PC作為主控機(jī),通過232/485轉(zhuǎn)接設(shè)備接入485總線,它使用查詢方式與各個(gè)從機(jī)通信。帶有485接口的單片機(jī)系統(tǒng)作為從機(jī),響應(yīng)主機(jī)的輪詢命令,將采集到的數(shù)據(jù)回傳給主機(jī),從機(jī)之間的數(shù)據(jù)交換只能通過主機(jī)進(jìn)行轉(zhuǎn)發(fā)。軟件總體設(shè)計(jì)框圖如圖2.2所示許明微軟用戶第 11 頁圖2.2軟件總體設(shè)計(jì)框

13、圖第三章硬件電路設(shè)計(jì)3.1RS-485/RS-232接口電路RS-485/RS-232接口電路的主要作用是實(shí)現(xiàn)RS-485電平和RS-232電平之間的轉(zhuǎn)換,如圖3-1所示。MAX2321RS-232的驅(qū)動(dòng)芯片,可實(shí)現(xiàn)RS-232電平和TTL電平之間的轉(zhuǎn)換。MAX4851RS-485的驅(qū)動(dòng)芯片,可實(shí)現(xiàn)RS-485電平和TTL電平之間的轉(zhuǎn)換。CD4019是2選1數(shù)據(jù)選擇器。因?yàn)閱纹瑱C(jī)AT89C2051只有一個(gè)串行通信口,而通信節(jié)點(diǎn)需要兩個(gè)用口,為節(jié)省成本,采用數(shù)據(jù)選擇器實(shí)現(xiàn)串行通信口的切換。圖3-1RS-485/RS-232接口電路CD4091是四與或門2選1數(shù)據(jù)選擇器,圖3-2所示為其內(nèi)部邏輯圖

14、。其邏輯表達(dá)式為:D=A-Ka+BKbVCC A4 Kb D4 D3 D2 D1 Ka6543210912345678B4A3B3A2B2A1B1GND圖3-2CD4091內(nèi)部邏輯圖3. 1.1RS485總線的相關(guān)知識(shí)1、RS-485總線的理論。在自動(dòng)化領(lǐng)域,隨著分布式控制系統(tǒng)的發(fā)展,迫切需要一種總線能適合遠(yuǎn)距離的數(shù)字通信。在RS-422標(biāo)準(zhǔn)的基礎(chǔ)上,EIA研究出了一種支持多節(jié)點(diǎn)、遠(yuǎn)距離和接收高靈敏度的RS-485總線標(biāo)準(zhǔn)。RS-485標(biāo)準(zhǔn)采有用平衡式發(fā)送,差分式接收的數(shù)據(jù)收發(fā)器來驅(qū)動(dòng)總線,具體規(guī)格要求:接收器的輸入電阻RIN>12kQ驅(qū)動(dòng)器能輸出土7V的共模電壓輸入端的電容050pF在

15、節(jié)點(diǎn)數(shù)為32個(gè),配置了120Q的終端電阻的情況下,驅(qū)動(dòng)器至少還能輸出電壓1.5V(終端電阻的大小與所用雙絞線的參數(shù)有關(guān))接收器的輸入靈敏度為200mV(即(V+)-(V-)>0.2V,表示信號(hào)"0"(V+)-(V-)0-0.2V,表示信號(hào)"1")。3.1.2 RS485總線的相關(guān)參數(shù):RS485是半雙工工作方式,在某一時(shí)刻,一個(gè)發(fā)送,另一個(gè)接收。RS485是一種發(fā)送器的電路標(biāo)準(zhǔn),它擴(kuò)展了RS422的性能,RS485允許公用電話線通信性能RS-485工作方式節(jié)點(diǎn)數(shù)1最大傳輸速率最大傳輸電纜長度最大驅(qū)動(dòng)輸出電壓驅(qū)動(dòng)器輸出信號(hào)電平(負(fù)載最小值)驅(qū)動(dòng)器輸出

16、信號(hào)電平(空載最大值)差分發(fā)32收10Mbps400英尺-7 +12V/負(fù)載 -15V、+15V/空載 -6V、+6V驅(qū)動(dòng)器負(fù)載阻抗(Q)54擺率(最大值)N/A、+200mV接收器輸入電壓范圍-7+12V接收器輸入門限-200mV接收器輸入電阻(Q)12K驅(qū)動(dòng)器共模電壓-1+3V接收器共模電壓-7+12V3.1.3 RS485總線驅(qū)動(dòng)芯片RS485的驅(qū)動(dòng)芯片有多種選擇。MAXIM公司生產(chǎn)的RS485驅(qū)動(dòng)芯片在性能方面挺好。其生產(chǎn)的差分平衡收/發(fā)器芯片共有8種型號(hào):MAX481MAX483MAX485及MAX487491每種型號(hào)的IC芯片包含1個(gè)驅(qū)動(dòng)器和1個(gè)接收器。它們的各項(xiàng)性能比較如表3-3

17、所示:表3-3MAX481/483/485/487/MAX488491性能比較表:型號(hào)半/全雙工數(shù)據(jù)率/Mbps轉(zhuǎn)換率限制低功耗關(guān)機(jī)接收器驅(qū)動(dòng)器使能靜態(tài)電流/uA總線上收/發(fā)器數(shù)引腳數(shù)MAX481全雙工2.5無有有300328MAX483全雙工0.25有有有120328MAX485全雙工2.5無無有300328MAX487全雙工0.25有有有1201288MAX488全雙工0.25有無無120328MAX489全雙工0.25有無有1203214MAX490全雙工2.5無無無300328MAX491全雙工2.5無無有3003214MAX481/483/485/487為8引腳封裝,它們適用于半雙工

18、通信。本文選用MAX485MAX48x/49x系列線電路主要特點(diǎn)如下:單一+5V電源供電;低功耗:工作電流120500uA,靜態(tài)電流120uA;關(guān)閉方式:MAX481/483/4873種型號(hào)有關(guān)閉方式(驅(qū)動(dòng)器和接收器處于靜止?fàn)顟B(tài)),在此方式下,只消耗0.1uA電流;MAX483/487/488/489的驅(qū)動(dòng)器為限斜率驅(qū)動(dòng)器;具有驅(qū)動(dòng)器過載保護(hù);通信傳輸線上最多可掛128個(gè)收/發(fā)器;使用不同形式的電路可方便組成半雙工或全雙工通信電路;共模輸入電壓3.2單片機(jī)和看門狗電路RS-232接口和RS-485接口的數(shù)據(jù),都必須通過單片機(jī),如圖3-4所示,單片機(jī)采用AT89C2051晶體振蕩器采用11.05

19、92MHZ;這是為滿足9600b/s的波特率而選用的。波特率計(jì)算公式為:波特率二(2SMO/32)X(fos,12(256-X)式中,smoM波特率控制位;fosc為時(shí)鐘振蕩器頻率;X為定時(shí)器時(shí)間常數(shù)。若波特率為9600b/s,SMOD=0,X=253®:fos=波特率x(32/2SMODX12X(256-X)=9600X(32/20)X12X(256-253)=11.0592(MHZ)所以,最好選用11.0592MHZ的晶體振蕩器。AT89C2051內(nèi)部結(jié)構(gòu)與功能:和MCS-51產(chǎn)品的兼容,2K字節(jié)可重編程閃速存儲(chǔ)器,耐久性:1,000寫/擦除周期2.7V6V的操作范圍,全靜態(tài)操作

20、:0Hz24MHz,兩級(jí)加密程序存儲(chǔ)器,128X8位內(nèi)部RAM,15根可編程I/O引線,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,六個(gè)中斷源,可編程串行UAR硒道,直接LED驅(qū)動(dòng)輸出片內(nèi)模擬比較器,低功耗空載和掉電方式。DIP為8位地址開關(guān),作為通信節(jié)點(diǎn)的地址編碼。最多可編256個(gè)地址碼。MAX813L是看門狗芯片,在上電、掉電期間及在電壓降低的情況下可產(chǎn)生一個(gè)復(fù)位信號(hào)。MAX813IL5片具有以下特點(diǎn):加電、掉電以及供電電壓下降情況下的復(fù)位輸出,復(fù)位脈沖典型值為200ms獨(dú)立的看門狗輸出,如果看門狗輸入在1.6s內(nèi)未被觸發(fā),其輸出將變?yōu)楦唠娖健?.25v門限值檢測器,用于電壓故障報(bào)警、電池低電壓檢測或+5V

21、以外的電源監(jiān)控。低電平有效的手動(dòng)復(fù)位輸入。圖3-4單片機(jī)和看門狗電路手動(dòng)復(fù)位輸入端(MR。當(dāng)該端輸入低電平保持140ms以上時(shí),MAX8131M輸出復(fù)位信號(hào)。該輸入端的最小輸入脈寬要求可以有效地消除開關(guān)的抖動(dòng)。MR與TTL/CMO咪容。工作電源(VCC:接+5V電源。電源接地端(GND:接0V參考電平。電源故障輸入端(PFI)。當(dāng)該端輸入低于1.25V時(shí),5號(hào)引腳輸出端的信號(hào)由高電平變?yōu)榈碗娖?。電源故障輸出端(PFO。電源正常時(shí),保持高電平,電源電壓變低或掉電時(shí),輸出由高電平變?yōu)榈碗娖健?撮T狗信號(hào)輸入端(WD)。程序正常運(yùn)行時(shí),必須在小于1.6s的時(shí)間間隔內(nèi)向該輸入端發(fā)送一個(gè)脈沖信號(hào),以清除芯

22、片內(nèi)部的看門狗定時(shí)器。若超過1.6s該輸入端收不到脈沖信號(hào),則內(nèi)部定時(shí)器益處。8號(hào)引腳由高電平變?yōu)榈碗娖?。?fù)位信號(hào)輸出端(RSTo上電時(shí),自動(dòng)產(chǎn)生200ms的復(fù)位脈沖;手動(dòng)復(fù)位端輸入低電平時(shí),該端也產(chǎn)生復(fù)位信號(hào)輸出??撮T狗信號(hào)輸出端(WDD正常工作時(shí)輸出保持高電平,看門狗輸出時(shí),該端輸出信號(hào)由高電平變?yōu)榈碗娖健AX813L勺工作原理:MAX813國質(zhì)上是一個(gè)可使微處理器復(fù)位或產(chǎn)生中斷請(qǐng)求的定時(shí)器,使其輸出端與微處理器的復(fù)位端相連。其硬件連接圖如圖3-6所示。這樣,就形成了硬件“看門狗”,用“看門狗”監(jiān)視程序的運(yùn)行。工作原理如下:圖3-6自動(dòng)復(fù)位電路連接原理圖在應(yīng)用程序開始工作時(shí),對(duì)MAX81

23、3LK片的/&入端WDI輸入一個(gè)正脈沖,對(duì)MAX813L芯片內(nèi)部定時(shí)器開始計(jì)時(shí),倘若在計(jì)時(shí)時(shí)間內(nèi)監(jiān)控電路MAX813L勺輸入端不再出現(xiàn)脈沖信號(hào),則定時(shí)器在一個(gè)規(guī)定的時(shí)間TWt(MAX813LBTW=1.6s),MAX813U勺輸出端將由低電平變?yōu)楦唠娖讲⒈3肿銐虼蟮臅r(shí)間(200ms)。若在定時(shí)時(shí)間內(nèi),監(jiān)控電路MAX813L勺輸入端不再有正脈沖輸入,則芯片內(nèi)部的定時(shí)器將被清零并重新開始計(jì)時(shí)。若在MAX813L芯片的輸入端以小于規(guī)定時(shí)間丁明期性地出現(xiàn)脈沖信號(hào),則MAX813LE片內(nèi)部定時(shí)器周許明微軟用戶第13頁期性被刷新,從而使定時(shí)永遠(yuǎn)達(dá)不到規(guī)定時(shí)間,MAX813L芯片輸出端一直保持低電平

24、。MAX813L俞入端的周期信號(hào)應(yīng)由應(yīng)用程序產(chǎn)生,并經(jīng)P3.7口線接到MAX813U勺輸入端,這樣在程序正常運(yùn)行過程中,使MAX813L勺輸入端有一個(gè)周期小于TW勺脈沖序列輸入,MAX813L俞出端始終為低電平;當(dāng)運(yùn)用程序受到干擾而出現(xiàn)死循環(huán)不正常運(yùn)行時(shí),MAX813L的輸入端不再出現(xiàn)脈沖序列,或者即使出現(xiàn),其周期也可能大于TW這樣就是MAX813L的輸出端輸出一個(gè)高電平信號(hào),使系統(tǒng)重新復(fù)位,重新進(jìn)行初始化,恢復(fù)正常運(yùn)行,從而保證系統(tǒng)可靠地工作。MAX813L俞入端的脈沖序列的生成非常簡單,只要在系統(tǒng)軟件中,每隔若干條指令(這些指令的執(zhí)行時(shí)間要小于TW周期性地加入指令:WATCHDOG:SET

25、BDOGINNOPNOPNOPNOPCLRDOGINRET即可完成對(duì)MAX813由片內(nèi)部定時(shí)器的定時(shí)刷新,保證應(yīng)用程序正常運(yùn)行。許明微軟用戶第 15 頁第四章軟件設(shè)計(jì)4.1PC與數(shù)控機(jī)床之間的通信協(xié)議1、網(wǎng)絡(luò)結(jié)構(gòu)體系為了方便連接及數(shù)據(jù)傳輸,國際標(biāo)準(zhǔn)化組織(ISO)制定了標(biāo)準(zhǔn)化網(wǎng)絡(luò)結(jié)構(gòu)體系,那就是開放系統(tǒng)互連(OSI:OpenSystemInterconnection)參考模型,該模型采用分層結(jié)構(gòu),共分七層,可將所有網(wǎng)絡(luò)服務(wù)所需要的功能都包括在其中。編制RS-485網(wǎng)絡(luò)協(xié)議不需要嚴(yán)格遵照OSI模型,其大致對(duì)應(yīng)關(guān)系如表4-1所示OSIRS-485應(yīng)用層應(yīng)用程序高層協(xié)議表示層會(huì)話層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈

26、路層串行通信基本協(xié)議物理層RS-485總線與接口表4-1RS-485與OSI參考模型對(duì)應(yīng)關(guān)系總線與接口實(shí)現(xiàn)計(jì)算機(jī)間的物理連接,相當(dāng)于OSI的物理層。串行通信的基本協(xié)議實(shí)現(xiàn)數(shù)據(jù)幀的可靠傳輸,相當(dāng)于OSI德數(shù)據(jù)鏈路層。所有其它高層協(xié)議均由應(yīng)用程序決定。2、串行通信基本協(xié)議系統(tǒng)中,下位機(jī)主機(jī)AT89C2051單片機(jī)對(duì)串口的控制通過SCON空制寄存器實(shí)現(xiàn),SCON各位定義如圖4.2所示。SM0SM1SM2RENTB8RB8TIRI圖4.2SCON各位的定義SM0SM1為串口工作方式選擇位,REN為允許串行通信選擇位,由軟件置REN=1則啟動(dòng)用行口接收數(shù)據(jù),否則,禁止接收。SM如多機(jī)通信控制位,主要用于

27、方式2或3,SM2=1下位機(jī)處于接收狀態(tài)。TB8為2、3中發(fā)送數(shù)據(jù)第9位,TI為發(fā)送中斷標(biāo)志位,RI為接收中斷標(biāo)志位。系統(tǒng)巧妙的利用下位機(jī)SCONH勺多機(jī)通信控制位SM2#協(xié)調(diào)PC與單片機(jī)的多機(jī)通信。RB8,在方式2和方式3中,是接收到數(shù)據(jù)的第九位,作為奇偶效驗(yàn)位或地址幀/數(shù)據(jù)幀的標(biāo)志位。在方式一時(shí),若SM2=0則RB8是接收到的停止位。在方式0時(shí)該位未用。本設(shè)計(jì)采用的是方式1:工作方式1為波特率可調(diào)的8位通用異步通信接口。發(fā)送或接收一幀信息為10位,分別為一位起始位(0),7位數(shù)據(jù)位,一位校驗(yàn)位和一位停止位(1)o發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)從TXD端輸出。當(dāng)執(zhí)行MOVSBUF,A旨令時(shí),數(shù)據(jù)被寫入發(fā)送

28、緩沖器SBUF啟動(dòng)發(fā)送器發(fā)送。當(dāng)發(fā)送完一幀數(shù)據(jù)后,置中斷標(biāo)志TI為1。數(shù)據(jù)接收時(shí),數(shù)據(jù)從RXD®輸入。當(dāng)允許接收控制位REM1后,用行口采樣RXD當(dāng)采樣由1至IJ0跳變時(shí),確認(rèn)是起始位“0”,啟動(dòng)接收器開始接收一幀數(shù)據(jù)。當(dāng)RI=0且接收到停止位為1(或SM2=0時(shí),將停止位送入RB38位數(shù)據(jù)送入接收緩沖器SBUF同時(shí)置中斷標(biāo)志RI=1。所以,方式1接收時(shí),應(yīng)先用軟件清除RI或SM即志。并且只有在方式1或3下,波特率由定時(shí)器T1的溢出率和SMO哄同決定。串行異步傳輸字節(jié)幀格式如圖4-3所示:起始位DOD1D2D3c4D5D6校驗(yàn)停止位圖4-3申行異步傳輸字節(jié)幀格式位3、應(yīng)用程序高層協(xié)議

29、的編制(1) PC發(fā)送數(shù)據(jù)到數(shù)控機(jī)床,過程如下:PC發(fā)送一個(gè)起始字節(jié)01H。PC發(fā)送兩個(gè)字節(jié)的機(jī)床號(hào)。如:18號(hào)機(jī)床是ASC(1)31H+ASC(8)38H;3號(hào)機(jī)床是:ASC(0)30H+ASC(3)33HPC回收機(jī)床號(hào):若回收機(jī)床號(hào)與所發(fā)機(jī)床號(hào)相同,則往下執(zhí)行;若回收機(jī)床號(hào)與所發(fā)機(jī)床號(hào)不同,則報(bào)錯(cuò)(通信錯(cuò)誤),返回;PC超時(shí)未收到數(shù)據(jù),則報(bào)錯(cuò)(超時(shí)錯(cuò)誤),返回。PC發(fā)送一個(gè)字節(jié)的命令字02H。PC發(fā)送程序數(shù)據(jù),無須回收。但隨時(shí)檢測是否收到錯(cuò)誤命令字07H:若收到,則中止發(fā)送,報(bào)錯(cuò)(網(wǎng)絡(luò)錯(cuò)誤),返回。PC程序數(shù)據(jù)發(fā)送完畢,最后發(fā)送一個(gè)結(jié)束命令字17Ho(2) PC接收數(shù)控機(jī)床的數(shù)據(jù),過程如下

30、:PC發(fā)送一個(gè)起始字節(jié)01H。PC發(fā)送兩個(gè)字節(jié)的機(jī)床號(hào)。如:18號(hào)機(jī)床是ASC(1)31H+ASC(8)38H;3號(hào)機(jī)床是ASC(0)30H+ASC(3)33HPC回收機(jī)床號(hào):若回收機(jī)床號(hào)與所發(fā)機(jī)床號(hào)相同,則往下執(zhí)行;若回收機(jī)床號(hào)與所發(fā)機(jī)床號(hào)不同,則報(bào)錯(cuò)(通信錯(cuò)誤),返回;PC超時(shí)未收到數(shù)據(jù),則報(bào)錯(cuò)(超時(shí)錯(cuò)誤),返回。PC發(fā)送一個(gè)字節(jié)的命令字03H。PC接收程序數(shù)據(jù),無須回收。但隨時(shí)檢測是否收到結(jié)束命令字17H:若收到,則中止接收。注:結(jié)束命令字不為程序數(shù)據(jù)。這是為防止程序數(shù)據(jù)的結(jié)束位出錯(cuò),而讓程序無法終止。4.2上位機(jī)(PC機(jī))程序設(shè)計(jì)主控機(jī)端軟件除了通信接口部分以外還有用戶界面、數(shù)據(jù)處理、

31、后臺(tái)數(shù)據(jù)庫等。其主要流程圖如4-4和4-5所示:串口初始化等待返回指令 一發(fā)送起始幀一打開串口并發(fā)送指令計(jì)算檢驗(yàn)和據(jù)正確I發(fā)送地址幀發(fā)送指令類型幀發(fā)送數(shù)據(jù)長度幀發(fā)送檢驗(yàn)和幀發(fā)送結(jié)束幀NO .打口接收返回指令或數(shù)一據(jù)人宥數(shù)據(jù) NO返回返回?cái)?shù)、 據(jù)正確3YES4.4 PC機(jī)接收程序流程圖圖4.5 PC機(jī)發(fā)送程序流程圖串口初始化許明微軟用戶第 19 頁上位機(jī)(即PC機(jī))編程采用VB6.0的通信控件MicrosoftCommunicationsControl(以下簡稱MSCon)m,文件名為MSComm.vbxMSCommVB6.0提供的ActiveX控件,使用前需將該控件添加到VB工具欄。在菜單的工

32、程選項(xiàng)中選擇部件,再打開部件對(duì)話框中,選擇MicrosoftCommontrol6.0的選項(xiàng)框,點(diǎn)擊確定如圖4-3。把VisualBasic的串口通信控件MicrosoftCommcontrol6.0調(diào)入工作菜單。控件|世計(jì)器|方插入對(duì)象|FPDTC1.0TVPELIBRARYi-dropTypeLibraryKodak圖像編輯控制Kodak圖像管理控制Kodak圖像掃描控制Kodak圖像縮略圖控制MicrosoftActiveXPluginMicrasoftADODataControl6.0(OLEDB)MicrosoftAgentControl20MicrosoftChartControl

33、6.0(OLEDB)瀏覽宴廠只顯示選定項(xiàng)區(qū))MicrosoftCommControlG.0Micro?ofiCorrnnonDiaIlogControl6.0二Jj|-MicrosoftComnControl6.0定位:C:nmrriyitam32MSC0HH32OCXMscomrffi信控件參數(shù)屬性設(shè)置如圖4-4(通過單擊控件的右鍵屬性可彈出此窗口)圖4-4Mscomm通信控件參數(shù)屬性設(shè)置MSComm件提供了2種處理通信的方式:事件驅(qū)動(dòng)(實(shí)時(shí))方式和查詢方式。利用MSComm件控制通信程序,關(guān)鍵是準(zhǔn)確理解和設(shè)置通信控件的屬性。下面對(duì)程序中所用到的主要屬性事件加以說明。MSComm件的常用屬性

34、如下:CommPort設(shè)置并返回通訊端口號(hào)。Settings:以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位。PortOpen:設(shè)置并返回通訊端口的狀態(tài)。也可以打開和關(guān)閉端口。InputMode:設(shè)置或返回接收數(shù)據(jù)的類型。InputLen:設(shè)置或返回一次從接收緩沖區(qū)中讀取字節(jié)數(shù)。InputBufferSize:設(shè)置或返回接收緩沖區(qū)的大小,缺省值為1024字節(jié)。Input:從接收緩沖區(qū)返回和刪除字符。由于查詢方式會(huì)占用大量的CPUH問,效率很低,所以本系統(tǒng)采用事件驅(qū)動(dòng)方式進(jìn)行串口通信設(shè)計(jì),圖4.5為上位機(jī)通信界面,設(shè)計(jì)3個(gè)命令按鈕,分別為發(fā)送命令按鈕、保存命令按鈕和關(guān)閉按鈕。兩個(gè)文本框

35、,Text2用于輸入發(fā)送給下位機(jī)的指令,Text1用于顯示下位機(jī)發(fā)送來的數(shù)據(jù);在發(fā)送命令按鈕的Click事件中,將通信指令通過用行口發(fā)送給上位機(jī)。下面是MSComm件的初始化程序、部分?jǐn)?shù)據(jù)發(fā)送和接受程序:PrivateSubForm1-Load()MSComm件的初始化(屬性設(shè)置)程序:MScomm1.ComPort=1設(shè)置串行端口(com1)MScomm1.Settings="9600,N,7,1”;設(shè)置波特率及數(shù)據(jù)幀格式MScomm1.InputMOde=1;數(shù)據(jù)接受按字節(jié)(binary)方式MScomm1.InputLen=1;INPUT讀取緩沖區(qū)的所有內(nèi)容MScomm1.Po

36、rtopen=trueMScomm1.RThreshold=1當(dāng)接收到一個(gè)字符后,觸發(fā)ONCOMM件DimRcvdat()AsByteEndSub數(shù)據(jù)發(fā)送程序:PrivateSubCommand1_Click()DimSenddat(0)AsByteSenddat=Text2.TextMSComm.Output=SenddatMSComm1.RTSEnable=FalseEndSub數(shù)據(jù)接受并顯示程序:PrivateSubMSComm1_Oncomm()ReDimRcvdat(6)AsByteDimIAsIntegerDimdattempAsVariantText1.Text="&q

37、uot;SelectCaseMSComm1.CommEventCaseComEvReceivedattemp=MSComm1.InputRcvdat=dattemp IS I Fm b Ir;三屋京屋一 一 鐳圓發(fā)送字符:接收字符圖4.5上位機(jī)通信界面ForI=0To6Textl.Text=Text1.Text+Str$(Rcvdat(I)NextIMSComml.InBufferCount=0EndSelectEndSub4.3下位機(jī)軟件設(shè)計(jì)主體程序流程圖如4-4所示:圖4-4主體程序流圖第五章總結(jié)通過這次比較完整的PC與數(shù)控機(jī)床通信系統(tǒng)設(shè)計(jì),我擺脫了單純的理論知識(shí)學(xué)習(xí)狀態(tài),和實(shí)際設(shè)計(jì)的結(jié)合

38、鍛煉了我的綜合運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識(shí),解決實(shí)際工程問題的能力,同時(shí)也提高我查閱文獻(xiàn)資料、設(shè)計(jì)手冊(cè)、設(shè)計(jì)規(guī)范以及電腦制圖等其他專業(yè)能力水平,而且通過對(duì)整體的掌控,對(duì)局部的取舍,以及對(duì)細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛煉,經(jīng)驗(yàn)得到了豐富,并且意志品質(zhì)力,抗壓能力及耐力也都得到了不同程度的提升。這是我們都希望看到的也正是我們進(jìn)行畢業(yè)設(shè)計(jì)的目的所在。這個(gè)過程中,我們花費(fèi)了大量的時(shí)間和精力,更重要的是,我們?cè)趯W(xué)會(huì)創(chuàng)新的基礎(chǔ)上,同時(shí)還懂得合作精神的重要性,學(xué)會(huì)了與他人合作。所以在這次畢業(yè)設(shè)計(jì)中我要感謝沈老師和蔣老師對(duì)我的諄諄教誨及不厭其煩的指導(dǎo),否則我很難完成這次設(shè)計(jì),剛拿到這個(gè)課題時(shí),我很迷茫所學(xué)知識(shí)

39、甚少,我如何能完成這樣一個(gè)課程的設(shè)計(jì),隨著對(duì)書本知識(shí)的不斷加深的理解,我更加了解單片機(jī)的功能以及它的應(yīng)用,更加加深了對(duì)單片機(jī)匯編語言的了解和使用。在設(shè)計(jì)過程中一些硬件電路的設(shè)計(jì)讓我很頭痛,原因是由于本身設(shè)計(jì)受到工業(yè)環(huán)境的框定,而又必須考慮本專業(yè)的一些要求規(guī)范,從而形成了一些矛盾點(diǎn),這些矛盾在處理上讓人很難斟酌,正是基于這種考慮我意識(shí)到:要向更完美的進(jìn)行一次設(shè)計(jì),與其他專業(yè)人才的交流溝通是很有必要的,這其中也包括更好的理解設(shè)計(jì)任務(wù)書的各種要求。當(dāng)然畢業(yè)設(shè)計(jì)是我們學(xué)習(xí)鍛煉的一個(gè)好機(jī)會(huì),它能鞏固專業(yè)技術(shù)的理論知識(shí),提高電路的設(shè)計(jì)水平,加強(qiáng)綜合分析問題和解決問題的能力,也能進(jìn)一步培養(yǎng)我們的實(shí)驗(yàn)技能和動(dòng)

40、手能力,啟發(fā)我們的創(chuàng)新意識(shí)及創(chuàng)新思維。因此,我必須以嚴(yán)謹(jǐn)?shù)膽B(tài)度來設(shè)計(jì)方案,積極的查閱各種資料,認(rèn)真的整理記錄,勇于創(chuàng)新思維。但是設(shè)計(jì)上也存在一定的不足,這些不足在一定程度上限制了我們的創(chuàng)造力,影響了整個(gè)系統(tǒng)的性能。比如我的軟件設(shè)計(jì)就有很大的不足,上位機(jī)的軟件設(shè)計(jì)可以設(shè)計(jì)成由PC機(jī)自動(dòng)完成數(shù)據(jù)的發(fā)送,保存,以及進(jìn)行接收數(shù)據(jù)的實(shí)時(shí)顯示等功能??蛇@些不足正是我們?nèi)ジ玫难芯扛玫膭?chuàng)造的最大動(dòng)力,只有發(fā)現(xiàn)問題面對(duì)問題才有可能解決問題,不足和遺憾不會(huì)給我打擊只會(huì)更好的鞭策我前行,今后我更會(huì)關(guān)注新技術(shù)新設(shè)備新工藝的出現(xiàn),并爭取盡快的掌握這些先進(jìn)的知識(shí)。通過這此畢業(yè)設(shè)計(jì)讓我更加意識(shí)到單片機(jī)這門課程對(duì)于我們的

41、重要性,它使我認(rèn)識(shí)到單片機(jī)是一門非常重視實(shí)踐的技術(shù),不能總是看書,但要學(xué)習(xí)它首先應(yīng)看書,對(duì)單片機(jī)引腳、內(nèi)部結(jié)構(gòu)、寄存器和原理有一定地了解和感官認(rèn)識(shí),它的是怎樣工作的,能干些什么?我三年所學(xué)會(huì)的電子知識(shí)全部用到了此次的設(shè)計(jì)中,全心的完成了這次的畢業(yè)設(shè)計(jì),也通過設(shè)計(jì)復(fù)習(xí)了大學(xué)所學(xué)的許多課程。在設(shè)計(jì)中,各位老師給予了我多方的關(guān)心與幫助,在此,向他們致以崇高的敬意,并表示衷心的感謝。總之,經(jīng)過這次畢業(yè)設(shè)計(jì),我學(xué)到了很多東西。由于我的水平和經(jīng)驗(yàn)不足,在設(shè)計(jì)中難免存在一些不當(dāng)之處,敬請(qǐng)各位老師批評(píng)指正。許明微軟用戶第 29 頁附錄一:下位機(jī)程序ADDRESSEQU9蝌寄存器.ADDREGEQU30Ht緩沖

42、區(qū).ASCADDHEQU31H址ASM.ASCADDLEQU32HtASM.RS485IOEQUP3.3;RS485輸入輸出選擇:0-選擇輸入,1-選擇輸出RS485CEEQUP3.5;RS485擇使能:1有效.RS232CEEQUP3.4;RS232擇使能:1有效START_BYTEEQU0哂命令字.SEND_BYTEEQU02Hg命令字.READ_BYTEEQU03H攵命令字.ERRE_BYTEEQU07HI命令字.FINISH_BYTEEQU17維束命令字.ODDBIT0D0K校驗(yàn)位.ODD_BITBIT0E7K校驗(yàn)緩沖位.TIMEHEQU03HTIMELEQU9BHt時(shí)常數(shù),(60S)

43、.C_BITBIT00H;進(jìn)位標(biāo)志緩沖位.A_BYTEEQU33Hl加器緩沖區(qū).DOGINEQUP3.7看門狗喂狗輸入.ORG0000HAJMPMAINORG000BHAJMPT0PRGORG0100HMAIN:MOVSP,#50HACALLWATCHDOG1門狗喂狗子程序.MOVP1,#0FFHMOVP3,#0FFHACALLCOMRST;串行口初始化.MOVA,ADDRESS;地址.CJNEA,#00H,MAIN1AJMPPCPRG與PCM接口.MAIN1:AJMPSCPRGT數(shù)控機(jī)床接口.PCPRG:ACALLWATCHDOGSETBRS485IOCLRRS485CESETBRS232C

44、E;擇RS232ACALLDELAYACALLDELAYACALLDELAYACALLDELAYCLRRIPCWAIT:ACALLWATCHDOGMOVA,ADDRESSCJNEA,#00H,PCWAIT1;檢測地址是否改動(dòng).SJMPPCWAIT2PCWAIT1:AJMPMAINPCWAIT2:JNBRI,PCWA比接收數(shù)據(jù),則循環(huán)等待.CLRRIMOVA,SBUFSETBRS485IOCLRRS232CESETBRS485CEACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYMOVS

45、BUF,APCWAIT18:JNBTI,PCWAIT18CLRTICLRODD_BITCJNEA,#START_BYTE,PCP晨酶是否為起始位.SETBRS485IOCLRRS485CESETBRS232CEACALLDELAYCLRRIACALLTIMESET;設(shè)置定時(shí)器(60S).PCWAIT3:ACALLWATCHDOGJNBRI,PCWAIT3CLRRIMOVASCADDH,SBUFPCWAIT4:ACALLWATCHDOGJNBRI,PCWAIT4CLRRIMOVASCADDL,SBU地址接收完畢.ACALLTIMEOFF;關(guān)定時(shí)器.SETBRS485IOCLRRS232CESET

46、BRS485CEACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYMOVSBUF,ASCADDHPCWAIT5:JNBTI,PCWAIT5CLRTIMOVSBUF,ASCADDLPCWAIT6:JNBTI,PCWAIT6CLRTI;地址發(fā)送完畢CLRRS485IOCLRRS232CESETBRS485CEACALLDELAYACALLDELAYACALLDELAYCLRRIACALLTIMESETPCWAIT7:ACALLWATCHDOGJNBRI,PCWAIT7CLRRIMOVA,S

47、BUFACALLTIMEOFFCJNEA,ASCADDH,PCERRE伴U斷地址是否相等.ACALLTIMESETPCWAIT8:ACALLWATCHDOGJNBRI,PCWAIT則址相等繼續(xù)接收CLRRIMOVA,SBUFACALLTIMEOFFCJNEA,ASCADDL,PCERRE1AJMPPCCONTINU1地址相等;,繼續(xù).PCERRE1:SETBRS485IOCLRRS485CESETBRS232CEACALLDELAYACALLDELAYACALLDELAYMOVA,#ERRE_BYTE;發(fā)送錯(cuò)誤命令MOVC,ODDCPLCMOVODD_BIT,C;加奇校驗(yàn)位.MOVSBUF,A

48、PCWAIT9:JNBTI,PCWAIT9CLRTIAJMPPCPRG;返回PCCONTINU1:SETBRS485IOCLRRS485CE;地址相等.SETBRS232CE;選擇RS232.ACALLDELAYACALLDELAYACALLDELAYMOVSBUF,ASCADDH向PCM回發(fā)地址.PCWAIT10:JNBTI,PCWAIT10CLRTIMOVSBUF,ASCADDLPCWAIT11:JNBTI,PCWAIT11CLRTI;地址回發(fā)完畢ACALLDELAYCLRRIACALLTIMESET;設(shè)置定時(shí)器(60S).PCWAIT12:ACALL WATCHDOGAJMP PCPRG

49、; 返回JNBRI,PCWAIT12CLRRIMOVA,SBUFACALLTIMEOFFSETBRS485IOCLRRS232CESETBRS485CEACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYMOVSBUF,APCWAIT16:JNBTI,PCWAIT16CLRTI;數(shù)據(jù)發(fā)送完畢.CLRODD_BIT;清除奇校驗(yàn)位.CJNEA,#SEND_BYTE,PCNEXT1是否為PC發(fā)送命令字.AJMPPCSENDPCNEXT1:CJNE#READ_BYTE,PCER庚Eft是否為PC

50、接收命令字.AJMPPCREADPCERRE2:SETBRS485IOCLRRS485CESETBRS232CEACALLDELAYACALLDELAYACALLDELAMOVA,#ERRE_BYTEMOVC,ODDCPLCMOVODD_BIT,C;加奇校驗(yàn)位.MOVSBUF,APCWAIT13:JNBTI,PCWAIT13CLRTI;單片機(jī)接收pc機(jī)發(fā)送的數(shù)據(jù).PCSEND:SETBRS485IOCLRRS485CESETBRS232CEACALLDELAYACALLDELAYACALLDELAYCLRRIACALLTIMESETPCWAIT14:ACALLWATCHDOGJNBRI,PCW

51、AIT14CLRRIMOVA,SBUFACALLTIMEOFFSETBRS485IOCLRRS232CESETBRS485CEACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYMOVSBUF,APCWAIT15:JNBTI,PCWAIT15CLRTI;數(shù)據(jù)發(fā)送完畢.LRODD_BIT;清除奇校驗(yàn)位.CJNEA,#FINISH_BYTE,PCCONTINU2;判斷是否為結(jié)束命令字ACALLDELAYACALLDELAYAJMPPCPRG收到結(jié)束命令字,返回.PCCONTINUAJMPCS

52、EN樂收至U結(jié)束命令字,繼續(xù)接收.;單片機(jī)發(fā)送數(shù)據(jù)到pc機(jī)CLR RIPCREAD:CLRRS485IOCLRRS232CESETBRS485CEACALLDELAYACALLDELAYACALLDELAYCLRRIPCPC:ACALLTIMESETPCWAIT17:ACALLWATCHDOGJNBRI,PCWAIT17CLRRIMOVA,SBUFACALLTIMEOFFCLRRS485CESETBRS232CEACALLDELAYACALLDELAYACALLDELAYMOVSBUF,APCWAIT19:JNBTI,PCWAIT19CLRTICLRODD_BIT;清除奇校驗(yàn)位.CJNEA,#

53、FINISH_BYTE,PCCONTINU3AJMPPCPRGPCCONTINU3:AJMPPCREADSCPRG:ACALLWATCHDOGACALLDELAYACALLDELAYACALLDELAYCLRRS485ICLRRS232CESETBRS485CEACALLDELAYACALLDELAYACALLDELAYACALLDELAYACALLDELAYALLDELAYALLDELAYSCWAIT:ACALLWATCHDOGMOVA,ADDRESSCJNEA,#00H,SCWAIT1;檢測地址是否改動(dòng)AJMPMAINSCWAIT1:JNBRI,SCWAITCLRRIMOVA,SBUFCLRODD_BIT;清除奇校驗(yàn)位.CJNEA,#START_BYTE,SCPRGACALLTIMESETSCWAIT3:ACALLWATCHDOGJNBRI,SCWAIT3CLRRIMOVASCADDH,SBUFSCWAIT4:ACALLWATCHDOGJNBRI,SCWAIT4CLRRIMOVASCADDL,SBUF;地址接收完畢.ACALLTIMEOFFMOVA,ASCADDHSWAPAANLA,#11110000BMOVADDREG,AMOVA,ASCADDLANLA,#00001111BADDA,ADDREGMOV

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論