基于MODBUS數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)論文說明_第1頁
基于MODBUS數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)論文說明_第2頁
基于MODBUS數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)論文說明_第3頁
基于MODBUS數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)論文說明_第4頁
基于MODBUS數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)論文說明_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、. . . . 1 / 32化工學(xué)院信控學(xué)院專業(yè)綜合設(shè)計(jì)說明書基于 Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)化工學(xué)院Jilin Institute of Chemical Technology. . . . I / 32獨(dú)創(chuàng)聲明本人重聲明:所呈交的畢業(yè)設(shè)計(jì) (論文),是本人在指導(dǎo)老師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,成果不存在知識產(chǎn)權(quán)爭議。盡我所知,除文中已經(jīng)注明引用的容外,本設(shè)計(jì)(論文)不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過的作品成果。對本文的研究做出重要貢獻(xiàn)的個(gè)人和集體均已在文中以明確方式標(biāo)明。本聲明的法律后果由本人承擔(dān)。 作者簽名:二一年九月二十日 畢業(yè)設(shè)計(jì)(論文)使用授權(quán)聲明本人完全了解

2、濱州學(xué)院關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定。本人愿意按照學(xué)校要求提交學(xué)位論文的印刷本和電子版,同意學(xué)校保存學(xué)位論文的印刷本和電子版,或采用影印、數(shù)字化或其它復(fù)制手段保存設(shè)計(jì)(論文);同意學(xué)校在不以營利為目的的前提下,建立目錄檢索與閱覽服務(wù)系統(tǒng),公布設(shè)計(jì)(論文)的部分或全部容,允許他人依法合理使用。(論文在解密后遵守此規(guī)定) 作者簽名:二一年九月二十日專業(yè)綜合設(shè)計(jì)任務(wù)書一設(shè)計(jì)題目:基于一設(shè)計(jì)題目:基于 MODBUSMODBUS 協(xié)議的數(shù)據(jù)采集系統(tǒng)協(xié)議的數(shù)據(jù)采集系統(tǒng)二二設(shè)設(shè)計(jì)計(jì)目目的的1培養(yǎng)學(xué)生實(shí)踐動(dòng)手能力與獨(dú)立分析和解決工程實(shí)際問題的能力;2培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作精神、創(chuàng)新意識、嚴(yán)肅認(rèn)真的治

3、學(xué)態(tài)度和嚴(yán)謹(jǐn)?shù)墓ぷ髯黠L(fēng);3學(xué)習(xí)C8051F350 單片機(jī)體系結(jié)構(gòu)與程序開發(fā);4學(xué)習(xí)電路的焊裝和硬件調(diào)試;5. 編寫完整的實(shí)驗(yàn)程序,進(jìn)行整機(jī)調(diào)試;. . . . 6. 學(xué)習(xí)撰寫設(shè)計(jì)說明書。三三設(shè)設(shè)計(jì)計(jì)任任務(wù)務(wù)與與要要求求設(shè)計(jì)并實(shí)現(xiàn)基于Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)。系統(tǒng)具有以下基本功能:1利用C8051F350 片上系統(tǒng)的24 位AD 轉(zhuǎn)換模塊實(shí)現(xiàn)對外部數(shù)據(jù)的采集;2使用Modbus 通訊協(xié)議實(shí)現(xiàn)單片機(jī)與上位機(jī)的通訊;3. 通過組態(tài)王軟件實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)顯示。四四設(shè)設(shè)計(jì)計(jì)時(shí)時(shí)間間與與進(jìn)進(jìn)度度安安排排設(shè)計(jì)時(shí)間共三周(2007.12.102007.12.28),具體安排如下表:周安排設(shè) 計(jì) 容設(shè)計(jì)時(shí)

4、間第一周1. 掌握C8051F350 單片機(jī)體系結(jié)構(gòu);2. 設(shè)計(jì)采樣電路和調(diào)試,并應(yīng)用 Protel 畫出其電路原理圖。2011.10.102011.10.16第二周1. 學(xué)習(xí)Modbus 通信協(xié)議和組態(tài)王;2. 編寫實(shí)驗(yàn)程序。2011.10.172011.10.23第三周1. 整機(jī)調(diào)試;2. 撰寫綜合設(shè)計(jì)報(bào)告;3. 答辯。2011.10.242011.10.29五五指指導(dǎo)導(dǎo)教教師師評評語語與與學(xué)學(xué)生生成成績績指導(dǎo)教師評語:年 月 日成績指導(dǎo)教師(簽字):. . . . III / 32目 錄專業(yè)綜合設(shè)計(jì)任務(wù)書I摘要III第1 章概述1第2 章方案選取22.1 通信方式選擇22.2 ADM28

5、52 的選擇2第3 章硬件電路設(shè)計(jì)33.1 RS484 通信電路圖33.3 單片機(jī)最小系統(tǒng)43.4 供電電源4第4 章核心元器件的介紹64.1 C8051F350 微控制器64.1.1 24 或16 位模/數(shù)轉(zhuǎn)換器(ADC0)74.1.2 端口輸入/輸出74.1.2 電壓基準(zhǔn)選擇74.1.3 定時(shí)器7第5 章系統(tǒng)電源9第6 章結(jié)論10參考文獻(xiàn)11附錄1 電路原理圖12附錄2 程序13. . . . 摘要此次專業(yè)綜合設(shè)計(jì)采用C8051F350 單片機(jī)、ADM2582 隔離型RS-485 收發(fā)器,HT7133 穩(wěn)壓芯片、集成RS485 轉(zhuǎn)RS232 轉(zhuǎn)換器構(gòu)成的系統(tǒng), C8051F350 單片機(jī)作

6、為下位機(jī),應(yīng)用組態(tài)王6.55 軟件編制的上位機(jī)監(jiān)控程序 ,應(yīng)用單片機(jī)部集成A/D 轉(zhuǎn)換器完成對實(shí)時(shí)電壓模擬量的采集和處理,而組態(tài)王用于對下位機(jī)參數(shù)讀寫、顯示、報(bào)警等,從而實(shí)現(xiàn)了一套完整可靠的 電壓采集監(jiān)控系統(tǒng)。上位機(jī)和下位機(jī)通過Modbus 通訊協(xié)議來進(jìn)行數(shù)據(jù)的采集。該設(shè)計(jì)電壓采集圍在 02.2V,誤差圍可控制在0.5mV。該系統(tǒng)具有使用方便、測量精確、穩(wěn)定性高、可性強(qiáng)等優(yōu)點(diǎn),可以在很多領(lǐng)域應(yīng)用,如溫度、液位、壓力等物理量的采集和監(jiān)控。關(guān)關(guān)鍵鍵字字:C8051F350,ADM2582,組態(tài)王6.55,Modbus 協(xié)議. . . . 1 / 32第 1 章 概述計(jì)算機(jī)網(wǎng)絡(luò)、通信與控制技術(shù)的發(fā)展

7、,導(dǎo)致自動(dòng)化系統(tǒng)的深刻變革。隨著微處理器與計(jì)算機(jī)功能的不斷增強(qiáng),價(jià)格急劇降低,計(jì)算機(jī)與計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)得到迅速發(fā)展。而處于企業(yè)生產(chǎn)過程底層的測控自動(dòng)化系統(tǒng),由于設(shè)備之間采用傳統(tǒng)的一對一連線,用電壓、電流的模擬信號進(jìn)行測量控制,或采用自成體系的封閉式的集散系統(tǒng),難以實(shí)現(xiàn)設(shè)備之間以與系統(tǒng)與外界之間信息變換,使自動(dòng)化系統(tǒng)成為 “信息孤島”。隨著現(xiàn)代工業(yè)的發(fā)展,對工業(yè)設(shè)備的控制逐步從單一獨(dú)立系統(tǒng)向集散控制監(jiān)控系統(tǒng)發(fā)展,因此, 我們設(shè)計(jì)了基于Modbus 協(xié)議實(shí)現(xiàn)下位機(jī)對電壓信號的采集和組態(tài)王通信 的智能工業(yè)控制器監(jiān)控系統(tǒng), 它的數(shù)據(jù)通信系統(tǒng)由數(shù)據(jù)的發(fā)送設(shè)備、接收設(shè)備、作為傳輸介質(zhì)的總線、通信協(xié)議組成。本

8、設(shè)計(jì)雖然是簡單的用單片機(jī)部集成 A/D 轉(zhuǎn)換器進(jìn)行電壓采樣,但是利用此原理,并將設(shè)計(jì)稍加改動(dòng),就會(huì)演變成很多工業(yè)自動(dòng)化監(jiān)控系統(tǒng),例如對溫度、壓力、液位等工業(yè)現(xiàn)場參數(shù)的精確控制,并且可以利用上位組態(tài)軟件實(shí)現(xiàn)現(xiàn)場參數(shù)的讀寫、顯示、越限報(bào)警等 實(shí)現(xiàn)了一個(gè)完整的工業(yè)監(jiān)控系統(tǒng)。 現(xiàn)場總線是當(dāng)今自動(dòng)化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn)之一,被譽(yù)為自動(dòng)化領(lǐng)域的計(jì)算機(jī)局域網(wǎng)。它的出現(xiàn),將對該領(lǐng)域的技術(shù)發(fā)展產(chǎn)生重要影響,而本設(shè)計(jì)所運(yùn)用的 Modbus 協(xié)議更是現(xiàn)場總線中應(yīng)用較為廣泛的一種總線技術(shù)。. . . . 第 2 章 方案選取2.1 通信方式選擇用通信方式來看,有兩種總線方式即: RS232 總線和RS485 總線。方案

9、一:采用采用RS232 串行總線方式,它是外部串行總線,通常我們用 9 針線接口進(jìn)行通信,實(shí)際上只用到TXD、RXD、GND 三根線,單端傳輸方式,最大傳輸距離是15 米,最大傳輸速度20Kbit/s,具有串行傳輸只需要一根傳輸線即可,在成本上可以有一定的節(jié)約。但是典型的RS-232 信號在正負(fù)電平之間擺動(dòng),在發(fā)送數(shù)據(jù)時(shí),發(fā)送端的驅(qū)動(dòng)器輸出正電平在+5+15V,負(fù)電平在-5-15V 之間。當(dāng)沒有數(shù)據(jù)傳輸時(shí),線上未TTL,從開始傳輸數(shù)據(jù)到結(jié)束,線上電平從TTL 電平到RS-232 電平再返回TTL 電平。接收器典型的正工作電平再 +3+12V,負(fù)電平在-3-12V。由于發(fā)送電平和接收電平的差僅為

10、2V 到3V,所以共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為15M,最高速率為20Kbit/s。由于RS-232 用于一對收發(fā)設(shè)備通訊,所以它只適合本地設(shè)備之間的通訊。方案二:采用RS485 串行總線方式,它也是外部串行總線, RS-485 可以采用二線與四線方式,二線制可以真正實(shí)現(xiàn)多點(diǎn)雙向通訊。而在采用四線連接時(shí),只能實(shí)現(xiàn)點(diǎn)對多的通信,也就是只有一個(gè)主設(shè)備,其他全為從設(shè)備。它的特點(diǎn)是輸入為差分輸入方式,最大傳輸距離為 1200 米,最大傳輸速率為10Mbit/s,其優(yōu)點(diǎn)是在RS232 基礎(chǔ)上其抗干擾能力極強(qiáng),同一根電纜線的數(shù)據(jù)傳輸可以不受其他線路的干擾,還具有總線收發(fā)器靈敏度

11、很高,能檢測很低的電壓( 200mV),在遠(yuǎn)距離傳輸時(shí)也能使信號得以恢復(fù)。 RS-485 的接口信號電平較RS-232 低,不易是接口電路的芯片受到損壞。由于RS-485 的種種優(yōu)點(diǎn),使它成為眾多工程師的首選串行接口。所以基于RS-485 的優(yōu)點(diǎn),本設(shè)計(jì)也采用方案二作為通信方式。2.2 ADM2852 的選擇RS485 電路總體上可以分為隔離型與非隔離型。隔離型比非隔離型在抗干擾、系統(tǒng)穩(wěn)定性等方面都比較好,但有一些要求比較低的場合也可以用非隔離型。為防止電磁干擾或者電源尖峰脈沖干擾,所以盡管本設(shè)計(jì)電路較為簡單,傳輸距離較近,但為了安全,選用隔離型電路。ADM2582 是高集成度數(shù)據(jù)收發(fā)器,支持

12、 15 kVESD 保護(hù)與信號和電源隔離,該器件適合用于多點(diǎn)傳輸線上的高速通信,部集成隔離式DC-DC 電源,無需外加DC-DC 模塊。采用5V 或3.3V 供電,實(shí)現(xiàn)完全集成的信號與電源隔離RS-485 解決方案。ADM2582 驅(qū)動(dòng)器具有高電平有效使能特性,也具有低電平有效接收器使能特性,禁止時(shí)可使接收器輸出進(jìn)入高阻抗?fàn)顟B(tài)。. . . . 3 / 32第 3 章 硬件電路設(shè)計(jì)在設(shè)計(jì)方案選定好之后,需要對整個(gè)系統(tǒng)的實(shí)現(xiàn)過程有個(gè)具體的思考分析,并拿出一個(gè)具體的系統(tǒng)實(shí)現(xiàn)方案框圖,將整個(gè)實(shí)現(xiàn)過程模塊化,便于硬件電路的設(shè)計(jì)和分工焊接,便于硬件的檢錯(cuò)和硬件的調(diào)試。圖3-1,便是選定的方案一的系統(tǒng)實(shí)現(xiàn)框

13、圖。圖3-1 工作流程圖3.1 RS484 通信電路圖RS-485 數(shù)據(jù)信號采用差分傳輸方式,也稱作平衡傳輸,它使用一對雙絞線,將其中一線定義為A,另一線定義為B。RS-485 可以采用二線與四線方式,二線制可實(shí)現(xiàn)真正的多點(diǎn)雙向通信。RS-485 總線,在要求通信距離為幾十米到上千米時(shí),廣泛采用 RS-485 串行總線標(biāo)準(zhǔn)。RS-485 采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力。加上總線收發(fā)器具有高靈敏度,能檢測低至200mV 的電壓,故傳輸信號能在千米以外得到恢復(fù)。 RS-485 采用半雙工工作方式,任何時(shí)候只能有一點(diǎn)處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號加以控制。 RS-485

14、 用于多點(diǎn)互連時(shí)非常方便,可以省掉許多信號線。應(yīng)用RS-485 可以聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng),其允許最多并聯(lián)32 臺驅(qū)動(dòng)器和32 臺接收器。 RS-485 驅(qū)動(dòng)器可以用在RS-422 網(wǎng)絡(luò)中應(yīng)用。RS-485 的最大傳輸距離約為1219 米,最大傳輸速率為10Mbps。平衡雙絞線的長度與傳輸速率成反比,在100Kbps 速率以下,才可能使用規(guī)定最長的電纜長度。只有在很短的距離下才能獲得最高速率傳輸。一般 100 米長雙絞線最大傳輸速率僅為1Mbps。在短距離的信息傳輸過程中,可以忽略大部分的干擾,即可以不使用雙絞線。在沒有強(qiáng)干擾的影響時(shí),信號傳輸?shù)慕K端也可以不加抗共模干擾的電阻。有的情況, 485

15、總線芯片的供電電源也會(huì)引起干擾,在這種情況下,需要對供電電源進(jìn)行隔離,圖 3-3 所示的電路就是消除電源干擾的一種電路設(shè)計(jì)方案。GND11VCC2GND13RXD4RE5DE6TXD7VCC8GND19GND110GND211VISOOUT12Y13GND214Z15GND216B17A18VISOIN19GND220U1ADM2582E10uFC5103C710uFC1103C3VDDTXRXD+/AD-/B100R3100R4R D. . . . 圖3-2 RS485 通信原理圖3.3 單片機(jī)最小系統(tǒng)如下圖3-3 所示是單片機(jī)最小系統(tǒng)3.4 供電電源本次設(shè)計(jì)采用+5V 電源供電,由于C80

16、51F350 單片機(jī)的工作電壓圍為2.7V - 3.6V,所以選擇LM1117T-3.3 作為電源穩(wěn)壓器,輸出穩(wěn)定的3.3V 電壓為單片機(jī)和ADM2582E 使用。如圖3-4 所示。圖3-3 單片機(jī)最小系統(tǒng)AGND9AV+10AIN0.01AIN0.12AIN0.23AIN0.34P2.0/C2D11RST/C2CK12P0.013P0.114P0.2/XTAL115P0.3/XTAL216P0.417P0.518P0.6/CNVSTR19P0.720VDD21DGND22P1.023P1.124P1.225P1.326P1.427P1.528P1.6/IDA029P1.7/IDA130VRE

17、F+31VREF-32C8051F350/2AIN0.45AIN0.56AIN0.67AIN0.78U2C8051F350/2VDD1KR1Res21KR2Res210uFC10Cap1uFC9CapS1RST RST VDDGNDVDDGND104C11100uFC12VREF-VREF+VREF+VREF-R DRXTXADINGND. . . . 5 / 32第 4 章 核心元器件的介紹4.1 C8051F350 微控制器C8051F350器件是完全集成的低功耗混合信號片上系統(tǒng)型 MCU,具有片上電復(fù)位、VDD監(jiān)視器、看門狗定時(shí)器和時(shí)鐘振蕩器的 C8051F41x器件是真正能獨(dú)立工作的片

18、上系統(tǒng) 。FLASH存儲器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據(jù)存儲,并允許現(xiàn)場更新 8051固件。用戶軟件對所有外設(shè)具有完全的控制,可以關(guān)斷任何一個(gè)或所有外設(shè)以節(jié)省功耗。片Silicon Labs 二線(C2)開發(fā)接口允許使用安裝在最終應(yīng)用系統(tǒng)上的產(chǎn)品 MCU 進(jìn)行非侵入式(不占用片資源)、全速、在系統(tǒng)調(diào)試。調(diào)試邏輯支持觀察和修改存儲器和寄存器,支持?jǐn)帱c(diǎn)、單步、運(yùn)行和停機(jī)命令。在使用C2 進(jìn)行調(diào)試時(shí),所有的模擬和數(shù)字外設(shè)都可全功能運(yùn)行。兩個(gè)C2 接口引腳可以與用戶功能共享,使在系統(tǒng)調(diào)試功能不占用封裝引腳。每種器件都可在工業(yè)溫度圍( -45到+85)用 2.7V-3.6V 的電壓工作。端

19、口 I/O 和 圖3-4 系統(tǒng)電源IN3OUT21GNDU3LM1117T-3.310uFC18104C15VDDGND1VSRC. . . . /RST 引腳都容許 5V 的輸入信號電壓。 C8051F350/1/2/3 采用28 腳 QFN (也稱為 MLP 或MLF)封裝或 32 腳 LQFP 封裝。如圖4-1 所示4.1.1 24 或16 位模/數(shù)轉(zhuǎn)換器(ADC0)C8051F350/1/2/3部有一個(gè)全差分24位(C8051F350/1)或16位(C8051F352/3)Sigma-Delta的數(shù)轉(zhuǎn)換器(ADC),該ADC具有在片校準(zhǔn)功能。兩個(gè)獨(dú)立的抽取濾波器可被編程到1KHz的樣率

20、。可以使用部的2.5V電壓基準(zhǔn),也可以用差分外部基準(zhǔn)進(jìn)行比率測量。ADC0中包含個(gè)可編程增益放大器,有8種增益設(shè)置,最大增益可達(dá)128倍。模擬多路選擇器將ADC的差輸入與8個(gè)外部引腳與部溫度傳感器相連。可以使用部輸入緩沖器為直接連接的變送器供高輸入阻抗。一個(gè)8位的偏移DAC允許修正較大的輸入偏移電壓。圖4-1 C8051F350 頂視圖. . . . 7 / 324.1.2 端口輸入/輸出C8051F350/1/2/3有17個(gè)I/O引腳(兩個(gè)8位口和一個(gè)1位口)。C8051F350/1/2/3端口的工作情況與標(biāo)準(zhǔn)8051相似,但有一些改進(jìn)。每個(gè)端口引腳都可以被配置為模擬輸入或數(shù)字I/O引腳。被

21、選擇作為數(shù)字I/O的引腳還可以被配置為推挽或漏極開路輸出。在標(biāo)準(zhǔn)8051中固定的“弱上拉”可以被總體禁止以節(jié)省功耗。數(shù)字交叉開關(guān)允將部數(shù)字系統(tǒng)資源映射到端口I/O引腳??赏ㄟ^設(shè)置交叉開關(guān)控制寄存器將片的計(jì)數(shù)器/定時(shí)器、串行總線、硬件中斷或其它數(shù)字信號配置為出現(xiàn)在端口I/O引腳。這一特性允許用戶根據(jù)自己的特定應(yīng)用選擇通用端口I/O和所需要的模擬和數(shù)字資源的組合。4.1.2 電壓基準(zhǔn)選擇C8051F350 有兩個(gè)電壓基準(zhǔn)選項(xiàng):部 2.5V 參考電壓或外部參考電壓。 ADC0CF 寄存器中的 AD0VREF 位選擇基準(zhǔn)源。 部電壓基準(zhǔn)電路包含一個(gè) 1.25V、溫度性能穩(wěn)定的帶隙電壓基準(zhǔn)發(fā)生器和一個(gè)兩

22、倍增益的輸出緩沖放大器,產(chǎn)生 2.5V 的電壓基準(zhǔn)。 當(dāng)部電壓基準(zhǔn)被使用時(shí), 它被驅(qū)動(dòng)輸出到 VREF+引腳,此時(shí) VREF-引腳被接到 AGND。通過將寄存器 ADC0MD 中的 AD0EN 位置1和將寄存器 ADC0CF中的 AD0VREF 位清0來使能部電壓基準(zhǔn)。 當(dāng)部振蕩器被使能時(shí),部振蕩器的偏壓發(fā)生器被自動(dòng)使能。 REF0CN 中的 BIASE 位也可以用于在部振蕩器未被使能使能的情況下來使能部振蕩器的偏壓發(fā)生器。類似地,寄存器 REF0CN 中的 REFBE 位可用于使能部帶隙基準(zhǔn)發(fā)生器,該帶隙基準(zhǔn)發(fā)生器為 ADC、IDAC、時(shí)鐘乘法器和部電壓基準(zhǔn)所用。ADC 的電壓基準(zhǔn)由寄存器

23、ADC0CF中的 ADC0VREF 選擇。當(dāng)ADC0VREF位被置1時(shí),ADC 使用外部電壓基準(zhǔn)源;當(dāng) ADC0VREF 位被清0時(shí),ADC使用部基準(zhǔn)。4.1.3 定時(shí)器C8051F350 部有4 個(gè)16 位計(jì)數(shù)器/定時(shí)器:其中兩個(gè)與標(biāo)準(zhǔn)8051 中的計(jì)數(shù)器/定時(shí)器兼容,另外兩個(gè)是16 位自動(dòng)重裝載定時(shí)器,可用于其他外設(shè)或作為通用定時(shí)器使用。這些定時(shí)器可以用于測量時(shí)間間隔,對外部事件計(jì)數(shù)或產(chǎn)生周期性的中斷請求。定時(shí)器 0 和定時(shí)器1 幾乎完全一樣,有四種工作方式。定時(shí)器2 和定時(shí)器3 均可作為一個(gè)16 位或兩個(gè)8 位自動(dòng)重裝載定時(shí)器。定時(shí)器2 和定時(shí)器3 還具有smaRTClock 捕捉方式,

24、可用于測量smaRTClock 時(shí)鐘(相對于另一振蕩器)第 5 章 系統(tǒng)電源本次綜合設(shè)計(jì)中介紹的直流穩(wěn)壓電源一般是線性穩(wěn)壓電源 , 它是將起電壓調(diào)整的作用 器件始終工作在線性放大區(qū),由50Hz 工頻變壓器、整流器、濾波器和串聯(lián)調(diào)整穩(wěn)壓器組成。. . . . 它的基本工作原理為:工頻交流電源經(jīng)過變壓器降壓、 整流、濾波、再次濾波后成為一穩(wěn)定的直流電源。圖中其余部分是起電壓調(diào)節(jié),實(shí)現(xiàn)穩(wěn)壓作用的控制部分。電源接上負(fù)載后,通 過采樣電路獲得輸出電壓,將此輸出電壓與基準(zhǔn)電壓進(jìn)行比較 。如果輸出電壓小于基準(zhǔn)電壓,則 將誤差值經(jīng)過放大電路放大后送入調(diào)節(jié)器的輸入端,通過調(diào)節(jié)器調(diào)節(jié)使輸出電壓增加,直到與基準(zhǔn)值相

25、等;如果輸出電壓大于基準(zhǔn)電壓,則通過調(diào)節(jié)器使輸出減小 ,最后直至與基準(zhǔn)電壓相等。 這種穩(wěn)壓電源具有優(yōu)良的紋波與動(dòng)態(tài)響應(yīng)特性 。此次設(shè)計(jì)所用到的電源是3.3V 直流電源,此電源是在 +5V 電源的基礎(chǔ)上用一個(gè)HT7133 穩(wěn)壓芯片將電壓穩(wěn)在3.24V,以達(dá)到單片機(jī)和ADM2582 供電制要求。電路圖如圖5-1 所示 圖5-1 系統(tǒng)電源. . . . 9 / 32第 6 章 軟件設(shè)計(jì)6.1 編程軟件KeilC51 是美國 Keil Software 公司出品的 51 系列兼容單片機(jī) C 語言軟件開發(fā)系統(tǒng)。Keil C51 軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows 界面。另

26、外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。下面詳細(xì)介紹 KeilC51 開發(fā)系統(tǒng)各部分功能和使用。我們用開發(fā)軟件Keil uVision3 來編寫、修改所需程序和下載程序到單片機(jī)運(yùn)行。其下介紹Keil uVision3 的使用步驟:1.雙擊Keil uVision3,得到主畫面,如圖6-1 所示:2. 新建界面 Project-new project,如圖6-2 所示:2.單片機(jī)的選擇,如圖6-3 所示:圖6-1 Keil uVision3 基本畫面圖6-

27、2 KeiluVision3 的新建界面. . . . 3.C 文件的創(chuàng)建和添加,如 圖6-4 所示:6.2 編程語言的介紹C 語言1是一種面向過程的計(jì)算機(jī) 程序設(shè)計(jì)語言,它是目前眾多計(jì)算機(jī)語言中舉世公認(rèn)的優(yōu)秀的結(jié)構(gòu)程序設(shè)計(jì)語言之一。它由美國 貝爾研究所D.M.Ritchie 于1972 年推出。1978 后,C 語言圖6-3 單片機(jī)的選擇界面圖6-4 添加C 文件. . . . 11 / 32已先后被移植到大、中、小與微型機(jī)上。 C 語言發(fā)展如此迅速,而且成為最受歡迎的語言之一,主要因?yàn)樗哂袕?qiáng)大的功能。許多著名的 系統(tǒng)軟件,如DBASE 都是由C 語言編寫的。用C 語言加上一些匯編語言子程

28、序,就更能顯示C 語言的優(yōu)勢了,像PC- DOS 、WORDSTAR 等就是用這種方法編寫的。 C 語言主要有以下特點(diǎn): 1、C 是中級語言。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的實(shí)用性結(jié)合起來。 C 語言可以像匯編語言一樣對位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作單元。 2、C 是結(jié)構(gòu)式語言。結(jié)構(gòu)式語言的顯著特點(diǎn)是 代碼與數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以與調(diào)試。C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。 3、C 語言功能齊全。具

29、有各種各樣的 數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。另外C 語言也具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。而且計(jì)算功能、 邏輯判斷功能也比較強(qiáng)大,可以實(shí)現(xiàn)決策目的的游戲。4、C 語言適用圍大。適合于多種 操作系統(tǒng),如Windows、DOS、UNIX 等等;也適用于多種機(jī)型。C 語言對編寫需要硬件進(jìn)行操作的場合,明顯優(yōu)于其它解釋型高級語言,有一些大型 應(yīng)用軟件也是用C 語言編寫的。C 語言具有繪圖能力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件, 三維,二維圖形和動(dòng)畫。它是數(shù)值計(jì)算的高級語言?;贑 語言的這些特點(diǎn),我們選用C 語言來作為編程語言。6.3 組態(tài)王軟件組

30、態(tài)王開發(fā)監(jiān)控系統(tǒng)軟件,是新型的工業(yè)自動(dòng)控系統(tǒng),它以標(biāo)準(zhǔn)的工業(yè)計(jì)算機(jī)軟、硬件平臺構(gòu)成的集成系統(tǒng)取代傳統(tǒng)的封閉式系統(tǒng)。它具有適應(yīng)性強(qiáng)、開放性好、易于擴(kuò)展、經(jīng)濟(jì)、開發(fā)周期短等優(yōu)點(diǎn)。通常可以把這樣的系統(tǒng)劃分為控制層、監(jiān)控層、管理層三個(gè)層次結(jié)構(gòu)。其中監(jiān)控層對下連接控制層,對上連接管理層,它不但實(shí)現(xiàn)對現(xiàn)場的實(shí)時(shí)監(jiān)測與控制,且在自動(dòng)控制系統(tǒng)中完成上傳下達(dá)、組態(tài)開發(fā)的重要作用。尤其考慮三方面問題:畫面、數(shù)據(jù)、動(dòng)畫。通過對監(jiān)控系統(tǒng)要求與實(shí)現(xiàn)功能的分析,采用組態(tài)王對監(jiān)控系統(tǒng)進(jìn)行設(shè)計(jì)。 組態(tài)也為試驗(yàn)者提供了可視化監(jiān)控畫面,有利于試驗(yàn)者實(shí)時(shí)現(xiàn)場監(jiān)控。而且,它能充分利用Windows 的圖形編輯功能,方便地構(gòu)成監(jiān)控畫面

31、,并以動(dòng)畫方式顯示控制設(shè)備的狀態(tài),具有報(bào)警窗口、實(shí)時(shí)趨勢曲線等,可便利的生成各種報(bào)表。它還具有豐富的 設(shè)備驅(qū)動(dòng)程序和靈活的組態(tài)方式、數(shù)據(jù)功能。下面介紹組態(tài)監(jiān)控界面的建立,其步驟如下:1. 雙擊組態(tài)王6.55,得到主畫面,啟動(dòng)“組態(tài)王”工程管理器(ProjManager) ,選擇菜單“文件新建工程”或單擊“新建”按鈕,彈出如圖6-4所示. . . . 2.點(diǎn)擊下一步,按照步驟進(jìn)行建立工程和存檔,直到出現(xiàn)如下界面則創(chuàng)建成功。如圖 6-5 所示圖6-4 新建工程界面. . . . 13 / 32圖 6-5 建立工程完成3.點(diǎn)擊設(shè)備串口設(shè)置,選擇數(shù)據(jù)傳輸波特率等相關(guān)參數(shù)。如圖 6-6 所示圖 6-6

32、設(shè)置串口4.雙擊COM2,新建I/O 設(shè)備,按照提醒設(shè)置需要的參數(shù)。如圖6-7 所示. . . . 圖6-7 設(shè)備配置向?qū)?.監(jiān)控畫面的建立,單擊畫面,出現(xiàn)新建畫面,根據(jù)操作手冊進(jìn)行畫面建立。如圖 6-8 所示. . . . 15 / 32圖 6-8 新畫面第 7 章 結(jié)論本設(shè)計(jì)運(yùn)用組態(tài)王和C8051F3500 單片機(jī)與ADM2582 設(shè)計(jì)的一個(gè)簡單、實(shí)用、測量精度高的電壓采集和組態(tài)監(jiān)控畫面系統(tǒng),它可以把溫度測量精度控制在 0.5mV 之。在這次硬件課程設(shè)計(jì)過程中,我得到了童老師和王老師悉心的指導(dǎo),是我在短期學(xué)會(huì)了MODBUS 通信協(xié)議和CRC 校驗(yàn)的計(jì)算方法,以與組態(tài)王上位機(jī)與下位機(jī)通信的參

33、數(shù)設(shè)定。通過這次畢業(yè)設(shè)計(jì),使我深刻地認(rèn)識到學(xué)好專業(yè)知識的重要性,也理解了理論聯(lián)系實(shí)際的含義,并且檢驗(yàn)了這一年年的學(xué)習(xí)成果。雖然在這次設(shè)計(jì)中對于知識的運(yùn)用和銜接還不夠熟練。但是我將在以后的工作和學(xué)習(xí)中繼續(xù)努力、不斷完善。這三 星期的設(shè)計(jì)是對過去所學(xué)知識的系統(tǒng)提高和擴(kuò)充的過程,為今后的發(fā)展打下了良好的基礎(chǔ)。. . . . 參考文獻(xiàn) 1 翟玉文,梁偉, 艾學(xué)忠.電子設(shè)計(jì)與實(shí)踐. 中國電力,2005.52 童詩白,華成英. 模擬電子技術(shù)基礎(chǔ). 高等教育,2009.33 閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第五版) M. 高等教育,2006.54 時(shí)景榮,立春. C 語言程序設(shè)計(jì). 中國鐵道,2008.125 齊

34、,朱寧西. 單片機(jī)系統(tǒng)設(shè)計(jì)與開發(fā) . :機(jī)械工業(yè),2008.86 毅剛. 單片機(jī)原理與應(yīng)用. :高等教育,20087 申琢玉.化工學(xué)院畢業(yè)設(shè)計(jì)說明書 .2009.6.12. . . . 17 / 32附錄 1 電路原理圖. . . . . . . . 19 / 32附錄 2 程序#include#define uint unsigned int#define uchar unsigned char#define ulong unsigned long#define lint long int#define SYSCLK 24500000 /系統(tǒng)時(shí)鐘#define MDCLK 2457600 /

35、采樣速率#define Out_R 20 /AD 輸出字速率#define SYSCLK 24500000 /系統(tǒng)頻率#define BAUDRATE 9600 /串口波特率設(shè)置值/* Table Of CRC Values for high-order byte CRC 校驗(yàn)高位*/uchar code auchCRCHi = 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81,0 x40, 0 x01, 0 xC0, 0 x80, 0

36、x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0,0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01,0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41,0 x00, 0 xC1, 0 x8

37、1, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81,0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0,0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01,0 xC0,

38、 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40,0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81,0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01,

39、0 xC0,0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01,0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41,0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0

40、x00, 0 xC1, 0 x81,0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0,0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01,0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x4

41、0, 0 x01, 0 xC0, 0 x80, 0 x41,0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81,0 x40 ;/* Table of CRC values for low-order byte CRC 校驗(yàn)低位*/uchar code auchCRCLo = 0 x00, 0 xC0, 0 xC1, 0 x01, 0 xC3, 0 x03, 0 x02, 0 xC2, 0 xC6, 0 x06, 0 x07, 0 xC7,

42、0 x05, 0 xC5, 0 xC4,0 x04, 0 xCC, 0 x0C, 0 x0D, 0 xCD, 0 x0F, 0 xCF, 0 xCE, 0 x0E, 0 x0A, 0 xCA, 0 xCB, 0 x0B, 0 xC9, 0 x09,0 x08, 0 xC8, 0 xD8, 0 x18, 0 x19, 0 xD9, 0 x1B, 0 xDB, 0 xDA, 0 x1A, 0 x1E, 0 xDE, 0 xDF, 0 x1F, 0 xDD,. . . . 0 x1D, 0 x1C, 0 xDC, 0 x14, 0 xD4, 0 xD5, 0 x15, 0 xD7, 0 x17, 0

43、 x16, 0 xD6, 0 xD2, 0 x12, 0 x13, 0 xD3,0 x11, 0 xD1, 0 xD0, 0 x10, 0 xF0, 0 x30, 0 x31, 0 xF1, 0 x33, 0 xF3, 0 xF2, 0 x32, 0 x36, 0 xF6, 0 xF7,0 x37, 0 xF5, 0 x35, 0 x34, 0 xF4, 0 x3C, 0 xFC, 0 xFD, 0 x3D, 0 xFF, 0 x3F, 0 x3E, 0 xFE, 0 xFA, 0 x3A,0 x3B, 0 xFB, 0 x39, 0 xF9, 0 xF8, 0 x38, 0 x28, 0 x

44、E8, 0 xE9, 0 x29, 0 xEB, 0 x2B, 0 x2A, 0 xEA, 0 xEE,0 x2E, 0 x2F, 0 xEF, 0 x2D, 0 xED, 0 xEC, 0 x2C, 0 xE4, 0 x24, 0 x25, 0 xE5, 0 x27, 0 xE7, 0 xE6, 0 x26,0 x22, 0 xE2, 0 xE3, 0 x23, 0 xE1, 0 x21, 0 x20, 0 xE0, 0 xA0, 0 x60, 0 x61, 0 xA1, 0 x63, 0 xA3, 0 xA2,0 x62, 0 x66, 0 xA6, 0 xA7, 0 x67, 0 xA5

45、, 0 x65, 0 x64, 0 xA4, 0 x6C, 0 xAC, 0 xAD, 0 x6D, 0 xAF, 0 x6F,0 x6E, 0 xAE, 0 xAA, 0 x6A, 0 x6B, 0 xAB, 0 x69, 0 xA9, 0 xA8, 0 x68, 0 x78, 0 xB8, 0 xB9, 0 x79, 0 xBB,0 x7B, 0 x7A, 0 xBA, 0 xBE, 0 x7E, 0 x7F, 0 xBF, 0 x7D, 0 xBD, 0 xBC, 0 x7C, 0 xB4, 0 x74, 0 x75, 0 xB5,0 x77, 0 xB7, 0 xB6, 0 x76,

46、0 x72, 0 xB2, 0 xB3, 0 x73, 0 xB1, 0 x71, 0 x70, 0 xB0, 0 x50, 0 x90, 0 x91,0 x51, 0 x93, 0 x53, 0 x52, 0 x92, 0 x96, 0 x56, 0 x57, 0 x97, 0 x55, 0 x95, 0 x94, 0 x54, 0 x9C, 0 x5C,0 x5D, 0 x9D, 0 x5F, 0 x9F, 0 x9E, 0 x5E, 0 x5A, 0 x9A, 0 x9B, 0 x5B, 0 x99, 0 x59, 0 x58, 0 x98, 0 x88,0 x48, 0 x49, 0

47、x89, 0 x4B, 0 x8B, 0 x8A, 0 x4A, 0 x4E, 0 x8E, 0 x8F, 0 x4F, 0 x8D, 0 x4D, 0 x4C, 0 x8C,0 x44, 0 x84, 0 x85, 0 x45, 0 x87, 0 x47, 0 x46, 0 x86, 0 x82, 0 x42, 0 x43, 0 x83, 0 x41, 0 x81, 0 x80,0 x40; sfr16 ADC0DEC = 0 x9A; / / ADC0DEC 首地址unsigned long ada;union unsigned char num4; long a;dat;uchar xd

48、ata CommBuffer8; /存儲上位機(jī)下發(fā)的請求命令uchar xdata sendBuf9; /上傳數(shù)據(jù)緩存數(shù)組static int Index = 0; /以上數(shù)組的元素序列號 0 到7bit R_Finish = 0; /單片機(jī)接收一次請求命令完成, 1 為接受完成uchar SlaveID = 0 x02; /本機(jī)(從機(jī))設(shè)備號sbit EN = P11; /發(fā)送接收允許位uchar T0H = (65536-17000)/256;uchar T0L = (65536-17000)%256;/系統(tǒng)時(shí)鐘和端口初始化void SYSCLK_Init() OSCICN = 0 x83

49、; /不分頻 CLKSEL = 0 x00; /部時(shí)鐘 RSTSRC = 0 x04; /使能時(shí)鐘丟失檢測 PCA0MD = 0 x00; /禁止看門狗. . . . 21 / 32void IO_Init() P0MDOUT = 0 xf0; /P0 輸出方式 1 為推挽方式 P1MDIN = 0 xff; /P1 輸入方式為數(shù)字輸入 0 為模擬輸入 P1MDOUT = 0 xff; /P1 輸出方式 1 為推挽方式 XBR0 = 0 x01; /關(guān)閉其他外設(shè),開串口 XBR1 = 0 x40; /使能交叉開關(guān) /AD 初始化void ADC_Init() REF0CN |= 0 x03;

50、/使能部電壓基準(zhǔn) ADC0CN = 0 x00; /增益為1,單極性方式 ADC0CF = 0 x00; /SINC3 濾波,部基準(zhǔn)(2.5V) ADC0CLK = (SYSCLK/MDCLK)-1; /使MDCLK = 2.4576MHz ADC0DEC = (unsigned long) MDCLK / (unsigned long) Out_R / (unsigned long) 128) - 1; ADC0BUF = 0 x00; /關(guān)閉緩沖器 ADC0MUX = 0 x67; /AIN+接到AIN0.6,AIN-接模擬地 ADC0MD = 0 x81; /啟動(dòng)全部校準(zhǔn) while(A

51、D0CALC != 1); /等待校準(zhǔn)完成 ADC0MD = 0 x80; /使能ADC0 /AD 一次采樣并計(jì)算結(jié)果void ADC0() AD0INT = 0; ADC0H = ADC0M = ADC0L = 0; ADC0MD |= 0 x02; /寫1 啟動(dòng)一次轉(zhuǎn)換 while(AD0INT = 0) /等待轉(zhuǎn)換結(jié)束 AD0INT = 0; ada = ADC0L+ADC0M*256+ADC0H*65536; /毫伏 dat.a = 128 * ada;/串口初始化void UART0_Init () SCON0 = 0 x10; . . . . if (SYSCLK/BAUDRATE/2/256 1) TH1 = -(SYSCLK/BAUDRATE/2); CKCON |= 0 x08; else if (SYSCLK/BAUDRATE/2/256 4) TH1 = -(SYSCLK/BAUDR

溫馨提示

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

評論

0/150

提交評論