畢業(yè)設(shè)計(jì)(論文)基于modbus的遠(yuǎn)程溫濕度監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
畢業(yè)設(shè)計(jì)(論文)基于modbus的遠(yuǎn)程溫濕度監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
畢業(yè)設(shè)計(jì)(論文)基于modbus的遠(yuǎn)程溫濕度監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
畢業(yè)設(shè)計(jì)(論文)基于modbus的遠(yuǎn)程溫濕度監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
畢業(yè)設(shè)計(jì)(論文)基于modbus的遠(yuǎn)程溫濕度監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、changzhou institute of technology 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì) 說說 明明 書書 題目題目:基于 modbus 協(xié)議的溫濕度監(jiān)控系統(tǒng) 的設(shè)計(jì)與研究 二級學(xué)院(直屬學(xué)部):計(jì)算機(jī)信息工程學(xué)院 專業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 班級:12 計(jì) 學(xué)生姓名: 學(xué)號: 指導(dǎo)教師姓名: 職稱:講師 評閱教師姓名: 職稱: 2016 年 5 月 sj005-1 基于 modbus 協(xié)議的溫濕度監(jiān)控系統(tǒng)的設(shè)計(jì)與研究 摘要摘要 如今很多企業(yè)擁有多個(gè)倉庫,倉庫溫濕度監(jiān)測面臨很難操作的境地。 作為庫房管 理的重要指標(biāo),倉庫溫濕度需要進(jìn)行信息化管理,同樣能實(shí)現(xiàn)倉庫管理自動(dòng)化?,F(xiàn)在 , 溫濕度監(jiān)測系統(tǒng)

2、的主要技術(shù)有 can 總線通信設(shè)計(jì),計(jì)算機(jī)集成控制技術(shù)和 共享總線型 傳輸媒體方式的局域網(wǎng)使用的 csma/cd 技術(shù)。 本文采用的是已廣泛利用的 modbus 協(xié)議實(shí)現(xiàn)的檢測系統(tǒng),此系統(tǒng)具有有實(shí)時(shí)性好, 準(zhǔn)確率高等特點(diǎn),在模擬兩個(gè)控制設(shè)備之間的相互傳輸, i/o 及寄存器數(shù)據(jù)時(shí), modbus 的兼容性好等原因決定了它成為綜合管理系統(tǒng)的接口。 文章中對各監(jiān)控系統(tǒng)的優(yōu)勢長短及適應(yīng)范圍對比分析,選擇了合適的監(jiān)控系統(tǒng)的 設(shè)計(jì)方案。選擇了基于 modbus 協(xié)議的監(jiān)控系統(tǒng),在自動(dòng)化,綜合管理系統(tǒng),傳輸準(zhǔn)確 性等不同條件下的滿足。論文中介紹了各芯片硬件設(shè)計(jì)及軟件設(shè)計(jì),描繪了設(shè)計(jì)和研 究思想。 關(guān)關(guān)鍵鍵

3、詞詞:計(jì)算機(jī)集成控制技術(shù);modbus 協(xié)議;自動(dòng)化;綜合管理系統(tǒng);溫濕度監(jiān)測 basing on modbus protocol, design and reserch of remote temperature and humidity monitoring system abstract now, many companies have a lot of warehouses. but it is hard for us to monitor the temperature and humidity of the warehouses. as an important indicator

4、 of warehouse management, warehouse temperature and humidity needs informational management, also can achieve the automation of warehouse management. now, the main technology of temperature and humidity monitoring system is can bus communication design, computer integrated control technology and sha

5、red bus transmission media mode of local area network using csma/cd technology. the detection system which has been widely used in the modbus protocol is adopted in this paper. this system has good real-time, high accuracity, in the simulation of the mutual transfer between two control devices, i /

6、o and register data, modbus compatibility making it integrated management system interface. in this paper, basing on the advantages of each monitoring system and the scope of adaptation of the comparative analysis, we select the appropriate monitoring system design. we choose the monitoring system b

7、ased on modbus protocol, in the automation, the integrated management system, the transmission accuracy and so on under the different conditions of satisfaction. in this paper, the hardware design and software design of each chip are introduced, and the design and research ideas are described. keywo

8、rds: computer integrated control technology; modbus protocol; automation; integrated management system; temperature and humidity monitoring 目目 錄錄 第第 1 1 章章 緒論緒論.1 1.1 課題背景及其意義.1 1.2 國內(nèi)外研究現(xiàn)狀.1 1.2.1 基于 rs485 總線的監(jiān)控系統(tǒng).1 1.2.2 基于以太網(wǎng)的監(jiān)控系統(tǒng).2 1.2.3 基于 can 總線的監(jiān)控系統(tǒng).3 1.3 本設(shè)計(jì)的實(shí)用價(jià)值.4 1.4 設(shè)計(jì)的理論意義.4 1.5 本課題的主要內(nèi)容

9、和結(jié)構(gòu).4 第第 2 2 章章 rs485rs485 總線技術(shù)總線技術(shù) .5 2.1 rs485 總線介紹 .5 2.2 rs485 通訊協(xié)議介紹 .5 第第 3 3 章章 硬件設(shè)計(jì)硬件設(shè)計(jì).9 3.1 系統(tǒng)硬件設(shè)計(jì)方案.9 3.1.1 控制模塊 .9 3.2 從機(jī)的硬件設(shè)計(jì)(stc12c5410ad).10 3.2.1 電源設(shè)計(jì) .11 3.2.2 cpu 外部電路設(shè)計(jì).12 3.2.3 測溫模塊(熱敏電阻) .13 3.2.4 測濕模塊(hf3223) .16 3.3 主機(jī)的硬件設(shè)計(jì).18 3.3.1 串口通訊電路 .19 3.3.2 led 按鍵與顯示電路.19 第第 4 4 章章 軟件

10、設(shè)計(jì)軟件設(shè)計(jì).21 4.1 從機(jī)的主程序設(shè)計(jì).21 4.1.1 溫度采集模塊(熱敏電阻) .21 4.1.2 測濕模塊程序設(shè)計(jì) .24 4.2 串口通訊模塊.25 4.3 主機(jī)的主程序設(shè)計(jì).26 4.3.1 報(bào)警及顯示模塊 .27 第第 5 5 章章 系統(tǒng)的生成以及調(diào)試系統(tǒng)的生成以及調(diào)試.33 5.1 keil 的燒寫 .33 5.2 調(diào)試和總結(jié).33 結(jié)論結(jié)論.35 致謝致謝.36 參考文獻(xiàn)參考文獻(xiàn).37 前 言 對于現(xiàn)代工農(nóng)商業(yè)和信息系統(tǒng),環(huán)境的復(fù)雜性(概括溫濕度)間接或直接影響設(shè) 備安全,這意味著不能確定室內(nèi)情況的條件下人員進(jìn)入可能存在危險(xiǎn)。監(jiān)控系統(tǒng)便在 這種條件下誕生了。相比以前的人工

11、檢測,監(jiān)測維度和廣度以及精度都不同以往,有 著很大進(jìn)步。但如何選擇控制系統(tǒng),如何依據(jù)需要減少成本、用材設(shè)計(jì)各種因素下產(chǎn) 生的一系列問題都需要解決。一個(gè)簡單地單片機(jī)綜合系統(tǒng)可以幫助我們解決了這些煩 惱。同樣要考慮的通信問題, rs485 總線正好符合一般工農(nóng)業(yè)生產(chǎn)中的庫房管理等方 向的發(fā)展。 伴隨技術(shù)進(jìn)步,在科學(xué)研究,工農(nóng)業(yè)生產(chǎn)或者一些特殊器材的養(yǎng)護(hù)問題上,溫濕 度監(jiān)控都具有不可忽視的重大意義。相對的在監(jiān)控的精確性,監(jiān)測維度和實(shí)時(shí)性需要 很高的要求,本次設(shè)計(jì)中,測量主要使用了 hf3223 濕度傳感器和熱敏電阻,監(jiān)測主 要用了數(shù)碼管顯示和蜂鳴器報(bào)警,而且使用了加熱排風(fēng)繼電器設(shè)備。 應(yīng)生于計(jì)算機(jī)硬

12、件技術(shù)的高速發(fā)展以及其投入生產(chǎn)應(yīng)用的背景下,溫濕度測控元 器件的發(fā)展換代,預(yù)示這方面的測量更加自動(dòng)化、綜合監(jiān)控能力更加智能化的趨勢。 在與庫房管理類似的溫濕度監(jiān)控技術(shù)中,這些技術(shù)以及硬件的發(fā)展保證了產(chǎn)品的質(zhì)量 更好、養(yǎng)護(hù)更佳、安全性更高。因此溫濕度測控依然擁有更廣的應(yīng)用發(fā)展空間 。 第 1 章 緒論 1.11.1 課題背景及其意義課題背景及其意義 在原先,用來監(jiān)測庫房的溫度,濕度的方法是人工進(jìn)入監(jiān)測,可這種方法在獲取 所測數(shù)值時(shí)有相當(dāng)大不可避免的誤差和以及人為的失誤例如操作等,因此使得測量效 率低下,并且測量結(jié)果準(zhǔn)確性很低,監(jiān)測數(shù)值也不具備了原本意義;操作上,如果控 制此時(shí)的溫濕度的情況時(shí),沒

13、有依據(jù)真正發(fā)生的條件情況準(zhǔn)確及時(shí)地做出相應(yīng)操作。 在操作可行性上,例如在某些條件和環(huán)境,需要測量人不可進(jìn)入的環(huán)境內(nèi)設(shè)施的表面 溫度時(shí),更不可能測量到直接的數(shù)據(jù),而且有些庫房可能不允許人員再不能確定情況 下進(jìn)入,測量便還需要考慮到人員的安全性。不同的復(fù)雜環(huán)境下想要測量溫濕度必然 會(huì)損耗大量資源和人力。 伴隨電子元器件的更新?lián)Q代,原先的原始溫度計(jì)濕度計(jì)終于被溫濕度傳感器逐漸 取代,更有了以單片機(jī)為核心的小型綜合計(jì)算機(jī)監(jiān)測系統(tǒng),用來監(jiān)控的同時(shí)亦可實(shí)現(xiàn) 更多功能如預(yù)設(shè)溫度控制范圍,超控報(bào)警,溫濕度有償反饋諸多功能。在如何解決較 長距的傳輸課題上,溫濕度監(jiān)測系統(tǒng)采用的數(shù)字傳感器直接用 mcu 內(nèi)部 fl

14、ash 存儲(chǔ)器 可以保存設(shè)置參數(shù),根據(jù)設(shè)置參數(shù)與溫濕度比較來控制風(fēng)扇和加熱器完美地實(shí)現(xiàn)。 同 時(shí)計(jì)算機(jī)的優(yōu)越性體現(xiàn)在又快又準(zhǔn),避免了各種人為因素導(dǎo)致的誤差和錯(cuò)誤。這種監(jiān) 測形式可以說極大提升了實(shí)際工作效率,也擴(kuò)展溫濕度監(jiān)測在生產(chǎn)設(shè)計(jì)中的應(yīng)用。 單片機(jī)作為核心的集成監(jiān)測系統(tǒng)的出現(xiàn)有著很大的意義,對生產(chǎn)生活有重大貢獻(xiàn), 對我國監(jiān)測技術(shù)應(yīng)用在國際應(yīng)用水平有了一席之地起了很大助推,同樣是工業(yè)自動(dòng)化 發(fā)展重大進(jìn)步的體現(xiàn)。 1.21.2 國內(nèi)外研究現(xiàn)狀國內(nèi)外研究現(xiàn)狀 上世紀(jì)八十年代,鑒于溫濕度測量和控制技術(shù)在中國起步較晚,這時(shí)的工程技術(shù) 人員剛接觸運(yùn)用計(jì)算機(jī)控制技術(shù),用來研究監(jiān)測和監(jiān)控系統(tǒng)的應(yīng)用。于此,我

15、國終于 與大致整體上從了解、掌握簡易的試驗(yàn)應(yīng)用階段向真正在各行各業(yè)各個(gè)領(lǐng)域?qū)嶋H運(yùn)用, 科學(xué)應(yīng)用階段改變??墒菧囟缺O(jiān)測、控制的發(fā)展現(xiàn)狀依然尚未發(fā)展到工廠大量生產(chǎn)需 求的程度。與之相對,這方面科技發(fā)達(dá)的國家,與我們還是有著很大的鴻溝要逾越。 例如生產(chǎn)中出現(xiàn)的:生產(chǎn)設(shè)備效率低,自動(dòng)化程度低,監(jiān)測反饋系統(tǒng)的不完整, 從硬 至軟的各方面缺陷。 然而,當(dāng)我國單片機(jī)快速發(fā)展,這些科技難關(guān)都迎刃而解,所以現(xiàn)在溫濕度監(jiān)控 技術(shù)的系統(tǒng)類別很豐富,有 rs485 總線的監(jiān)控系統(tǒng)、以太網(wǎng)監(jiān)控系統(tǒng)、 can 監(jiān)控系 統(tǒng)等。 1.2.11.2.1 基于基于 rs485rs485 總線的監(jiān)控系統(tǒng)總線的監(jiān)控系統(tǒng) rs485

16、總線是多電氣規(guī)格分?jǐn)?shù)據(jù)傳輸?shù)囊环N通訊方式,成為行業(yè)標(biāo)準(zhǔn)通信接口的應(yīng) 用的通信接口之一被廣泛接受。rs485 總線有著其他方式無法比擬的長處,可短板因 此明顯,可傳輸數(shù)量少,較長距傳輸 速率低,消耗大,只有串行電纜可用,無法形成 其他所有可能的分支星型 ,因此一個(gè)節(jié)點(diǎn)出錯(cuò)便出現(xiàn)整個(gè)網(wǎng)絡(luò)中的部分通訊失敗 。雖 然它的抗噪性能強(qiáng)大并且可靠性高,又擁有通訊速率快,以及可在一根總線上傳輸?shù)?優(yōu)點(diǎn)。圖 1-1 是基于 rs485 總線的監(jiān)控系統(tǒng)。 485總線 單片機(jī)單片機(jī) 溫濕度傳感 器 溫濕度傳感 器 485接口485接口 除濕機(jī) 空調(diào)機(jī)空調(diào)機(jī) 除濕機(jī) pc機(jī) 圖 1-1 基于 rs485 總線的監(jiān)控系

17、統(tǒng) 由兩級主從式的總線型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)組成該系統(tǒng),組成部分是作為下位機(jī)的多個(gè) 52 單片機(jī)和一部上位主機(jī)以及 485 通訊總線網(wǎng)絡(luò)結(jié)構(gòu),然后系統(tǒng)在監(jiān)控系統(tǒng)管理軟件 的調(diào)度下,一致統(tǒng)籌功能,完成設(shè)計(jì)模塊。本設(shè)計(jì)就采用這種監(jiān)控系統(tǒng)。 1.2.21.2.2 基于以太網(wǎng)的監(jiān)控系統(tǒng)基于以太網(wǎng)的監(jiān)控系統(tǒng) 以太網(wǎng)監(jiān)控系統(tǒng)即一種把以太網(wǎng)技術(shù)應(yīng)用在分布式結(jié)構(gòu)的監(jiān)控系統(tǒng)。如今以太網(wǎng) 正在以令人驚訝的速度進(jìn)行技術(shù)革新,所以愈來愈多的系統(tǒng)設(shè)計(jì)開始利用因特網(wǎng)和 web 服務(wù)器的相互通信建造監(jiān)控系統(tǒng)。 他有這樣的優(yōu)點(diǎn)就是無需專線,也不需要鋪設(shè) 現(xiàn)場總線即可利用以太網(wǎng)監(jiān)控系統(tǒng),以太網(wǎng)同時(shí)擁有著巨大的通訊資源可利用。 雖說如此

18、,以太網(wǎng)技術(shù)現(xiàn)如今依然有著明顯短處就是加入直接運(yùn)用在控制方向 。 在通訊時(shí)是非常不安全的,同時(shí)不可完全控制。 沒有通用的應(yīng)用層協(xié)議,所以不同生 產(chǎn)來源的設(shè)備不互相兼容。以太網(wǎng)的可攻破性也就是會(huì)被黑客攻擊等問題影響導(dǎo)致通 訊消息丟失也亟待解決。圖 1-2 是以太網(wǎng)通信原理圖。該結(jié)構(gòu) 中的各個(gè)節(jié)點(diǎn)都可自發(fā) 地選擇通訊信息的發(fā)出與接受,計(jì)算機(jī)作為通訊網(wǎng)絡(luò)中的節(jié)點(diǎn)對這些信息進(jìn)行控制。 溫濕度傳感器 單片機(jī) rs485轉(zhuǎn)tcp/ip 協(xié)議轉(zhuǎn)換器 局域網(wǎng)pc機(jī) 空調(diào) 除濕機(jī) 圖 1-2 以太網(wǎng)通信原理圖 基于以太網(wǎng)的監(jiān)控系統(tǒng)是有著可以適用于很多小系統(tǒng)、兼容性好的優(yōu)點(diǎn),在的與 主機(jī)和從機(jī)連接方面出色,可信息

19、傳遞的安全性依然亟待解決,同時(shí)如果傳輸信息量 過大會(huì)導(dǎo)致通訊癱瘓的可能。因此以太網(wǎng)技術(shù)目前應(yīng)用不如總線通訊方式廣泛,尤其 在控制和安全方面有著很大的改善空間。以太網(wǎng)的養(yǎng)護(hù)成本過高也是他的缺陷之一。 1.2.31.2.3 基于基于 cancan 總線的監(jiān)控系統(tǒng)總線的監(jiān)控系統(tǒng) 在設(shè)計(jì)基于 can 總線的監(jiān)控系統(tǒng)時(shí),需要考慮如何較少損耗實(shí)現(xiàn)溫濕度數(shù)據(jù)的傳 遞處理,因此作為有著極低成本和研發(fā)時(shí)間短等優(yōu)點(diǎn)的單片機(jī)列入考慮,他可以收集 各個(gè)節(jié)點(diǎn)的所有數(shù)據(jù),對測得的溫濕度進(jìn)行處理。他現(xiàn)在正在工農(nóng)業(yè)生產(chǎn)活動(dòng)被大范 圍應(yīng)用,如圖 1-3 基于 can 總線的分布式遠(yuǎn)程溫濕度監(jiān)控系統(tǒng)。 mcu can控制器 ca

20、n收發(fā)器 can總線 120120 節(jié)點(diǎn)2 節(jié)點(diǎn)1節(jié)點(diǎn)3 圖 1-3 當(dāng)前基于 can 總線的原理電路 基于 can 總線的監(jiān)控系統(tǒng)不同以太網(wǎng)的是傳輸?shù)陌踩院涂煽匦?,同時(shí)成本很低, 操作便捷,未來發(fā)展前景巨大。 1.31.3 本設(shè)計(jì)的實(shí)用價(jià)值本設(shè)計(jì)的實(shí)用價(jià)值 在當(dāng)前社會(huì),自動(dòng)化控制在科技發(fā)展的今天顯得越來越重要,而在遠(yuǎn)程控制中, 通信技術(shù)又是其中的靈魂,它們代表了國家科技水平在國際上的高度。分析整個(gè)社會(huì) 的發(fā)展現(xiàn)狀,可以看出,一個(gè)現(xiàn)代化的國家在工業(yè)自動(dòng)化控制必須要踏進(jìn)世界先進(jìn)行 列,這樣才能滿足當(dāng)前與之匹配的工業(yè)化發(fā)展的需求。 隨著企業(yè)的發(fā)展,企業(yè)對于倉庫管理上,要求也越來越嚴(yán)格,為了保障庫

21、房產(chǎn)品 及零配件的安全,在溫濕度控制上要求更實(shí)時(shí)控制??萍寂c工業(yè)需求共同發(fā)展,為了 很好的解決這個(gè)問題,分布式監(jiān)控系統(tǒng)可以直觀的通過中央處理器來完成對數(shù)據(jù)的采 集,控制和報(bào)警等功能。而各節(jié)點(diǎn)之間通過 rs485 總線更能實(shí)時(shí)傳遞溫濕度信息。避 免了因?yàn)榄h(huán)境影響而使精密儀器受到損壞。使企業(yè)的經(jīng)濟(jì)得到保障。 1.41.4 設(shè)計(jì)的理論意義設(shè)計(jì)的理論意義 在說明書中詳細(xì)介紹了 rs485 總線的監(jiān)控系統(tǒng),在傳輸各節(jié)點(diǎn)的溫濕度數(shù)據(jù)時(shí)可 靠性高,可控性強(qiáng)。此次設(shè)計(jì)的主要困難之處就是監(jiān)控系統(tǒng)的硬件和軟件設(shè)計(jì),以及 如何完成各元件間的 rs485 通信,還要對所有的外協(xié)件進(jìn)行設(shè)計(jì)等。實(shí)際意義在于: (1)數(shù)據(jù)

22、的準(zhǔn)確性和實(shí)時(shí)性提高是生產(chǎn)生活水平的提升, 人可以通過監(jiān)控系統(tǒng) 來控制相應(yīng)庫房的處理。 (2)在一些無法監(jiān)測的環(huán)境中也能很好的發(fā)揮作用并大大提高了安全性。 (3)工業(yè)監(jiān)控系統(tǒng)集成性高,便捷高效,對在未來工業(yè)監(jiān)測方向前進(jìn)的努力有著 非比尋常的意義。 1.51.5 本課題的主要內(nèi)容和結(jié)構(gòu)本課題的主要內(nèi)容和結(jié)構(gòu) 這篇論文主要是介紹了以 stc12c5410ad 單片機(jī)為控制節(jié)點(diǎn)基于 rs485 總線 和 modbus 協(xié)議的溫濕度監(jiān)控系統(tǒng),其中主要是實(shí)現(xiàn)從機(jī)的硬件設(shè)計(jì)以及通訊連接, 而且介紹了它的主要模塊熱敏電阻, hf3223 的主要技術(shù)和軟件設(shè)計(jì)。 論文的結(jié)構(gòu): 第一章是緒論,重點(diǎn)介紹了該系統(tǒng)設(shè)

23、計(jì)背景,現(xiàn)狀和研究其價(jià)值與重要性。 第二章是此次將從總線通信技術(shù)的基本介紹和報(bào)文方面著重講解。 第三章是包括重點(diǎn)使用的模塊設(shè)計(jì)以及主從機(jī)在節(jié)點(diǎn)中模塊的電路設(shè)計(jì)等硬件設(shè) 計(jì)。 第四章是實(shí)現(xiàn)從主到從的各個(gè)模塊編程,通過軟件模塊分析與流程表達(dá)的軟件設(shè) 計(jì)。 第五章是監(jiān)控系統(tǒng)的燒寫和調(diào)試。 第 2 章 rs485 總線技術(shù) 2.12.1 rs485rs485 總線介紹總線介紹 rs485 總線作為現(xiàn)在監(jiān)測系統(tǒng)中數(shù)據(jù)收集應(yīng)用最廣的方式,只允許 半雙工模式, 卻可連接 32 個(gè)節(jié)點(diǎn);傳輸距離高達(dá) 1200 米,同時(shí)可以實(shí)現(xiàn)每秒 100kb 傳輸,信號穩(wěn) 定性高,布線操作簡單。 rs485 通訊網(wǎng)絡(luò)結(jié)構(gòu)是總

24、線式的,即上位機(jī)( pc)和下位機(jī)(c51)接在同一總 線。485 在電氣規(guī)定上與 422 大致相同,是因?yàn)樗窃谄浠A(chǔ)發(fā)展形成。它有著四和 二線兩種方式,其中第二種能將多點(diǎn)雙向付諸實(shí)際。 然而由于 rs485 協(xié)議沒有統(tǒng)一標(biāo)準(zhǔn)的接頭,不同制造商生產(chǎn)的設(shè)備由于引腳順序 不一樣以及管腳功能不一樣沒有互操作性,可用戶可以查閱廠家提供的相關(guān)產(chǎn)品說明。 rs485 總線的網(wǎng)絡(luò)結(jié)構(gòu)如圖 2-1 所示。如果 rs485 接口兩點(diǎn)之間實(shí)現(xiàn)通信,需要兩對 平衡差分電路來實(shí)現(xiàn)差分接收和平衡發(fā)送。采用 75lbc184 芯片來實(shí)現(xiàn)將 ttl 電平到 rs485 總線需要電平的轉(zhuǎn)換,一般 rs485 應(yīng)用四線或者兩

25、線的方式進(jìn)行連接。因?yàn)樵?芯片只可在半雙工狀態(tài)運(yùn)行,所以要實(shí)現(xiàn)節(jié)點(diǎn)之間的控制只要單片機(jī)的一個(gè)i/o 口就 可以了。而一般 rs485 總線收到每個(gè)節(jié)點(diǎn)的信號后,將會(huì)傳輸個(gè)給上位機(jī),通過上位 機(jī)調(diào)控各個(gè)控制節(jié)點(diǎn)。但是控制節(jié)點(diǎn)之間相互通信只能有一個(gè)主控制器,所以不能支 持一點(diǎn)對多點(diǎn)的有效的相互之間進(jìn)行數(shù)據(jù)的通信。 圖 2-1 rs485 總線通訊原理圖 2.22.2 rs485rs485 通訊協(xié)議介紹通訊協(xié)議介紹 此設(shè)計(jì)使用的是 modbus 通訊標(biāo)準(zhǔn),以此協(xié)議為從機(jī)和相同通訊接口且使用相 同通訊協(xié)議的上位主機(jī)通訊的基礎(chǔ),從而實(shí)現(xiàn)集成管理控制的監(jiān)控系統(tǒng),除此之外, 還能通過一臺(tái)主機(jī)以 485 接口

26、連接其他從機(jī)實(shí)現(xiàn)多機(jī)聯(lián)動(dòng)并使用此接口控制鍵盤來進(jìn) 行遠(yuǎn)程操作。 modbus 標(biāo)準(zhǔn)支持 rtu 和 ascii 兩種傳送方式,選擇何種方式依情況需求而定。 下文通訊協(xié)議的詳細(xì)說明。 1 1、讀取儀表數(shù)據(jù),數(shù)據(jù)位、讀取儀表數(shù)據(jù),數(shù)據(jù)位 詢問:機(jī)號 功能碼 00 00 00 00 效驗(yàn)低位 效驗(yàn)高位 xx 03 00 00 00 03 xx xx 詢問說明:數(shù)據(jù)位第一和第二位表示從第幾個(gè)字節(jié)開始讀取,第三和第四位表示 讀取幾個(gè)字節(jié)。 回應(yīng):機(jī)號 功能碼 字節(jié)數(shù) 溫度 濕度 狀態(tài) 效驗(yàn) 低位 效驗(yàn)高位 xx 03 04 00 xx xx 00 xx xx 00 xx xx xx 高 低 高 低 高

27、低 注:1、溫度為 16 進(jìn)制,溫度處理:( x16x)-55;無回應(yīng)時(shí),相應(yīng)的溫度 值為 0 xff。 2、濕度為 16 進(jìn)制;濕度傳感器壞時(shí),濕度值為 0 xff。 3、狀態(tài)位為 16 進(jìn)制,表示加熱和風(fēng)扇的開啟與關(guān)閉, 04 代表加熱開啟,08 代 表風(fēng)扇開啟,00 代表加熱器和風(fēng)扇都不工作。 2 2、生成、生成 crc-16crc-16 校驗(yàn)字節(jié)的步驟如下:校驗(yàn)字節(jié)的步驟如下: (1)將 ffffh 裝入一個(gè) 16 位寄存器 (2)該 16 位寄存器的高位字節(jié)不變,需要校驗(yàn)的開始字節(jié)與低位字節(jié)進(jìn)行 “異或” 運(yùn)算,運(yùn)算結(jié)果放入此寄存器的低位字節(jié)。 (3)將此寄存器向右移 1 位,并且在

28、高位添 0。 (4a)如果移出的標(biāo)記位是 1,那么生成多項(xiàng)式 a001h 和此寄存器進(jìn)行“異或”運(yùn) 算,結(jié)果放回此寄存器。 (4b)如果移出的是 0,則返回(3) (5)重復(fù)(3)和(4),直至移出 8 位 (6)下一個(gè)字節(jié)的數(shù)據(jù)與該 16 位寄存器進(jìn)行“異或”運(yùn)算 (7)重復(fù)(3)-(6),直至該報(bào)文所有字節(jié)均和此寄存器進(jìn)行 “異或”運(yùn)算,且 移位 8 次。 (8)此寄存器的內(nèi)容就是 2 字節(jié) crc 錯(cuò)誤校驗(yàn),低位在前、高位在后,被加到報(bào) 文的最高有效位。 3 3、crc-16crc-16 生成范例:生成范例: 16 位寄存器 標(biāo)記 16 進(jìn)制 1111 1111 1111 1111 ff

29、ff 02h 0000 0010 02 異或運(yùn)算1111 1111 1111 1101 fffd 移出 1 位 0111 1111 1111 11101 7ffe 多項(xiàng)式 1010 0000 0000 0001 a001 異或運(yùn)算 1101 1111 1111 1111 dfff 移出 2 位 0110 1111 1111 11111 6fff 多項(xiàng)式 1010 0000 0000 0001 a001 異或運(yùn)算 1100 1111 1111 1110cffe 移出 3 位 0110 0111 1111 1111067ff 移出 4 位 0011 0011 1111 1111133ff 多項(xiàng)式

30、1010 0000 0000 0001a001 異或運(yùn)算 1001 0011 1111 111093fe 移出 5 位 0100 1001 1111 1111049ff 移出 6 位 0010 0100 1111 1111124ff 多項(xiàng)式 1010 0000 0000 0001a001 異或運(yùn)算 1000 0100 1111 111084fe 移出 7 位 0100 0010 0111 11110427f 移出 8 位 0010 0001 0011 11111213f 多項(xiàng)式 1010 0000 0000 0001a001 異或運(yùn)算 1000 0001 0011 1110813e 07h 0

31、000 0111 07 異或運(yùn)算 1000 0001 0011 10018139 移出 1 位 0100 0000 1001 11001409c 多項(xiàng)式 1010 0000 0000 0001a001 異或運(yùn)算 1110 0000 1001 1101e09c 移出 2 位 0111 0000 0100 11101704e 多項(xiàng)式 1010 0000 0000 0001a001 異或運(yùn)算 1101 0000 0100 1111c04f 移出 3 位 0110 1000 0010 011116827 多項(xiàng)式 1010 0000 0000 0001a001 異或運(yùn)算 1100 1000 0010 0

32、110c826 移出 4 位 0110 0100 0001 001106413 移出 5 位 0011 0010 0000 100113209 多項(xiàng)式 1010 0000 0000 0001a001 異或運(yùn)算 1001 0010 0000 10009208 移出 6 位 0100 1001 0000 0100 04904 移出 7 位 0010 0100 1000 001002482 移出 8 位 0001 0010 0100 0001 01241 12h 41h 帶有 crc-16 的傳送報(bào)文(報(bào)文向右移位傳送) 12 41 07 02 010010 0100 0001 0000 0111

33、0000 0010 末位傳送 傳送順序 首位傳送 4 4、通訊說明、通訊說明 接口標(biāo)準(zhǔn):rs-485 效驗(yàn)方法:crc16 工作方式:半雙工 通訊格式:異步,一位起始位,八位數(shù)據(jù)位,一位結(jié)束位 通訊速率:4800bit/s 選址方式:利用地址碼選址 通訊方式:主從、一對多方式 上述協(xié)議中的數(shù)據(jù)均為十六進(jìn)制。 上述協(xié)議中“詢問”部分的“00”儀表均不作判斷。 第 3 章 硬件設(shè)計(jì) 3.13.1 系統(tǒng)硬件設(shè)計(jì)方案系統(tǒng)硬件設(shè)計(jì)方案 此次設(shè)計(jì),我將 rs485 總線當(dāng)成我的通信方式連接各個(gè)節(jié)點(diǎn),由于 rs485 總線傳 輸距離可以很長,因此節(jié)點(diǎn)設(shè)置在不同地點(diǎn)來測量收集各個(gè)地方的數(shù)據(jù)。從機(jī)使用 8051

34、 單片機(jī),用于測量溫濕度的傳感器我使用的是精確性高的熱敏電阻和濕度傳感器 hf3223。主機(jī)由供電電路、鍵盤控制電路、液晶顯示電路和報(bào)警電路等組成。從機(jī)則 是溫度采集電路、輸入接口電路等組成。 圖 3-1 本設(shè)計(jì)的監(jiān)控系統(tǒng)總體結(jié)構(gòu) 3.1.13.1.1 控制模塊(上位機(jī)控制模塊(上位機(jī) pcpc) 上位機(jī) pc 的溫濕度監(jiān)控界面如圖 3-2 所示 圖 3-2 上位機(jī)監(jiān)控界面 3.23.2 從機(jī)的硬件設(shè)計(jì)從機(jī)的硬件設(shè)計(jì)(stc12c5410adstc12c5410ad) 控制器采用 stc12c5410ad,它是采用單時(shí)鐘、1t 機(jī)器周期的 8051 單片機(jī),具有 高頻低耗、抗噪能力優(yōu)秀,速度遠(yuǎn)

35、超傳統(tǒng) 51 單片機(jī)。結(jié)構(gòu)內(nèi)置 max810 專用復(fù)位電路, 10 位 a/d 轉(zhuǎn)換,4 路 pwm。 系列工作電壓:5.5v-3.5v(5v 單片機(jī)) stc12le5410ad 系列工作電壓:3.6v - 2.2v(3v 單片機(jī)) stc12c5410ad 系列單片機(jī)的管腳圖如下圖 3-2 所示。這系列的主要結(jié)構(gòu)有 cpu、flash、sram、timer、uart、i/o、a/d 轉(zhuǎn)換模塊、spi 口、pca、看門狗和片內(nèi) r/c 振蕩器,外部晶體振蕩電路。也就是說基本覆蓋了全部的控制和采集數(shù)據(jù)模塊。 圖 3-2 stc12c5410ad 系列單片機(jī)的管腳圖 如圖 3-3 所示為單片機(jī)應(yīng)

36、用電路。用戶在自己的目標(biāo)系統(tǒng)上將 p3.0/p3.1 經(jīng)過 rs232 電平轉(zhuǎn)換連接到電腦的普通 232 接口,便可進(jìn)行軟件編輯。 為了運(yùn)用相對容易的格式,主控 pc 與下位單片機(jī)使用的通訊規(guī)則完全自由式、 非規(guī)范。主機(jī)傳遞命令節(jié)點(diǎn)信息由 232 口到轉(zhuǎn)換控制器,將信息向 485 總線網(wǎng)絡(luò)傳遞。 串口通訊電路電路負(fù)責(zé)轉(zhuǎn)換 485 和 232 電平。當(dāng)全部從機(jī)接受廣播幀后,對比操作之 前的編號,相同的控制器被選中,然后處理已經(jīng)獲取的的數(shù)據(jù),其余沒有被選中的要 將接受的信息舍棄,然后繼續(xù)網(wǎng)絡(luò)信息獲取的偵聽工作。一樣的,下位機(jī)向主機(jī)發(fā)送 數(shù)據(jù)時(shí),也要由總線通信協(xié)議轉(zhuǎn)換控制器把 rs-232 電平轉(zhuǎn)換

37、再向主機(jī)發(fā)送。 圖 3-3 單片機(jī)應(yīng)用電路 3.2.13.2.1 電源設(shè)計(jì)電源設(shè)計(jì) 電源設(shè)計(jì)有多種方案,主要介紹這三種: 第一種使用 78l05 芯片,這是固定 5v 的集成穩(wěn)壓器,內(nèi)置過熱保護(hù)和過流保護(hù) 機(jī)制,電壓高,電流大,且不用外接元件。 第二種使用 tl431 芯片,此芯片是可控穩(wěn)壓源,只要兩個(gè)電阻便可精確控制電壓。 它特性與穩(wěn)壓二極管相似 ,常在控壓和運(yùn)放電路中使用 。 第三種使用 lm1084,它是啟動(dòng)壓不高的穩(wěn)壓源,內(nèi)置 過熱保護(hù)和短路電流限制 機(jī)制,有多種模式穩(wěn)定電壓,通過兩電阻外接控制。此穩(wěn)壓源輸入最高電壓12v,可 控幅度精確到百分之一以內(nèi),同時(shí)線性可控能力和過熱短路自我控

38、制能力好。 如圖 3-4 所示電源 pcb 板電路三維圖: 圖 3-4 電源 pcb 板電路三維圖 如圖 3-5 所示電源設(shè)計(jì)電路圖 圖 3-5 電源設(shè)計(jì)電路圖 3.2.23.2.2 cpucpu 外部電路設(shè)計(jì)外部電路設(shè)計(jì) 系統(tǒng)運(yùn)作時(shí)經(jīng)常性會(huì)出現(xiàn)程序跑飛的狀況,所以有些程序設(shè)計(jì)為手動(dòng)復(fù)位而不是 選用高頻時(shí)鐘達(dá)到高效運(yùn)行的目的,因此這次設(shè)計(jì)中我為了減少功耗只設(shè)置了適當(dāng)頻 率。在此次設(shè)計(jì)中,8051 單片機(jī)作為控制中心最重要的一部分,他掌握著系統(tǒng)全部控 制的處理。既作為控制器,又需要他來處理數(shù)據(jù),還需要來橋接軟硬件系統(tǒng)。單片機(jī) 與各個(gè)外協(xié)件相連,便在一起處理所接信號,協(xié)調(diào)傳送控制信號到各部件來完成

39、相應(yīng) 程序運(yùn)行。按鍵電路發(fā)出的電子信號到達(dá)主控機(jī)的對應(yīng)端口后,會(huì)由程序中寫好的判 斷語句繼續(xù)下一步命令。 本設(shè)計(jì)中對它的描述如圖 3-6 所示: 圖 3-6 外圍電路的設(shè)計(jì)接口 p1 口作為 led 顯示的接口,p3,p2 口則是用來連接外部按鍵,組成了 1x3 的 行鍵盤,其中 t1/p3.5 是 key1,p2.4-p2.5 是 key2 和 key3。 int1/p3.3 是鳴笛信號的輸出口,p1.1/a1 接到 led 屏幕,具有驅(qū)動(dòng) led 的作用。 p3.0 和 p3.1 是串口發(fā)送與接收數(shù)據(jù)的端口, p3.2 為地址輸入驅(qū)動(dòng)的控制端口。 3.2.33.2.3 測溫模塊(熱敏電阻)

40、測溫模塊(熱敏電阻) 其測溫原理是在溫度越高時(shí)電阻值越低通過測量其阻值推算出被測物體的溫度, 在程序里用外部觸發(fā)中斷實(shí)現(xiàn),加上定時(shí)器在一定時(shí)間內(nèi)讀出信號的上升沿,然后計(jì) 算,轉(zhuǎn)化的計(jì)算公式在程序里定義。 測量模塊主要為熱敏電阻數(shù)字傳感器獲得數(shù)字信號,單片機(jī)自帶 a/d,在單片機(jī) 上處理獲得的信號數(shù)據(jù),在 led 電路上測量的溫度數(shù)據(jù)相應(yīng)顯示出來。如圖 3-7 為 ntc 熱敏電阻電阻-溫度特性圖 圖 3-7 ntc 熱敏電阻電阻-溫度特性圖 如圖所示 3-8 系統(tǒng)硬件原理圖 圖3-8 系統(tǒng)硬件原理圖 3.2.43.2.4 測濕模塊(測濕模塊(h hf f3 32 22 23 3) hf3223

41、 是在 hs1101 基礎(chǔ)上實(shí)現(xiàn)的,常常被用于測量高精確度的濕度,操作簡便的 接頭易于安裝,因此安裝成本相當(dāng)?shù)?。同時(shí)作為線性監(jiān)控濕度元件,它能不需轉(zhuǎn)換就 和 cpu 相連。 1、濕度傳感器 ht3223 主要特性 1、采用專利電容 hs1101 設(shè)計(jì)制造 2、寬量程:1095%rh,穩(wěn)定,比例線性的頻率輸出 3、精度5%rh,工作溫度范圍4080 4、可選的 10k+/-3% ntc 溫度傳感器 5、溫度特性好 6、高可靠性與長時(shí)間穩(wěn)定性 7、低成本 二、在我的電路設(shè)計(jì)中,將 hf3223 傳感器置于振蕩電路之中,經(jīng)變換的頻率信號 連接在 stc812c5410ad 的 p3.5 口成為計(jì)數(shù)器

42、 1 的外部輸入脈沖如圖 3-12,依據(jù)之前 設(shè)置好的每秒所測得脈沖數(shù)再查表可知所測得的濕度數(shù)據(jù)。 圖 3-12 頻率輸出的 555 振蕩電路 555 振蕩電路線性監(jiān)控濕度原理是因?yàn)榭諝庵袧穸茸兓饾衩綦娙莘烹姡?555 振蕩 電路輸出與之形成反比規(guī)律的頻率,如下圖 3-13: 圖 3-13 典型頻率濕度關(guān)系 typedef unsigned char u_char; typedef unsigned int u_int; typedef unsigned short u_short; void system_init(void); /* 系統(tǒng)上電初始化 */ u_char get_humi

43、(u_int humi); /* 計(jì)算當(dāng)前濕度 */ u_char get_tem(u_int fhz); /* 計(jì)算當(dāng)前溫度 */ u_char load_number8(void); /* 加載將要顯示的各個(gè)控制燈數(shù)據(jù), num-顯示數(shù)據(jù),dp:1 顯示小數(shù)點(diǎn),0 不顯示小數(shù)點(diǎn) */ void display_humi(); /* 在數(shù)碼管上顯示當(dāng)前溫度 */ u_char get_humi(u_int humi) u_char rhumi; if( (7940=humi) if(3000=humi) if(humi9740) /*超下限*/ rhumi=0; return rhumi;

44、3.33.3 主機(jī)的硬件設(shè)計(jì)主機(jī)的硬件設(shè)計(jì) 主機(jī)的硬件電路設(shè)計(jì)整體上與從機(jī)沒什么太大區(qū)別,區(qū)別在于電路上多了led 顯示電路和警報(bào)器電路。 3.3.13.3.1 串口通訊電路串口通訊電路 因?yàn)殡娔X串口是 232 電平的,而我的單片機(jī) stc12c410ad 接口是 ttl 電平的, 那么需要由圖示 3-16 轉(zhuǎn)換電路將 485 信號差分,在輸入口把 ttl 信號轉(zhuǎn)換成差分信 號 485a、485b 輸出,經(jīng)過總線傳遞過后在輸出端又把它們還原為 ttl 信號。 圖 3-16 485 差分電路 3.3.23.3.2 ledled 按鍵與顯示電路按鍵與顯示電路 led 顯示電路主要便于人員的查看,并

45、設(shè)置溫濕度的上限值和下限值。圖 3-17 的數(shù)碼管顯示有 4 個(gè)數(shù)碼管,p2 口控制選中哪個(gè)數(shù)碼管,p1 口顯示數(shù)值,采用動(dòng)態(tài) 顯示的方法顯示溫濕度值。 圖 3-17 led 顯示電路 如圖 3-18led 按鍵與數(shù)碼管實(shí)物圖。 圖 3-18 led 按鍵與數(shù)碼管實(shí)物圖 第 4 章 軟件設(shè)計(jì) 4.14.1 從機(jī)的從機(jī)的主程序設(shè)計(jì)主程序設(shè)計(jì) void system_init(void); /* 系統(tǒng)上電初始化 */ u_char get_humi(u_int humi); /* 計(jì)算當(dāng)前濕度 */ u_char get_tem(u_int fhz); /* 計(jì)算當(dāng)前溫度 */ u_char lo

46、ad_number8(void); /* 加載將要顯示的各個(gè)控 制燈數(shù)據(jù),num-顯示數(shù)據(jù),dp:1 顯示小數(shù)點(diǎn),0 不顯示小數(shù)點(diǎn) */ void display_humi() /* 在數(shù)碼管上顯示當(dāng)前溫度 */ 如圖 4-1 所示主程序流程圖: 圖 4-1 主程序流程圖 4.1.14.1.1 溫度采集模塊(熱敏電阻)溫度采集模塊(熱敏電阻) 溫度測控的程序流程先由主機(jī)進(jìn)行復(fù)位操作,由于這時(shí)只對其中一個(gè)傳感器執(zhí)行 命令,因此要略過此次rom命令。然后,溫度轉(zhuǎn)換,熱敏電阻再次復(fù)位,然后繼續(xù)略過 這次rom命令。接著測得溫度數(shù)據(jù),注意的是讀取數(shù)據(jù)時(shí)先獲得低 8位,再讀高8位, 最后將其轉(zhuǎn)化為十進(jìn)制

47、數(shù)值輸送到 led。溫度測控程序流程圖如4-2所示。 主機(jī)發(fā)送復(fù)位脈 沖 ds18b20發(fā)送應(yīng)答 脈沖 主機(jī)發(fā)送跳過 rom命令(cch) 主機(jī)發(fā)送溫度轉(zhuǎn) 換命令(44h) 延時(shí)等待溫度轉(zhuǎn) 換完成 主機(jī)發(fā)送復(fù)位脈 沖 ds18b20發(fā)送應(yīng)答 脈沖 主機(jī)發(fā)送跳過 rom命令(cch) 主機(jī)發(fā)送溫度讀 取命令(beh) 讀取溫度低字節(jié) 讀取溫度高字節(jié) 將溫度值轉(zhuǎn)換為對應(yīng)的十進(jìn) 制值以備輸出顯示 n y n y 圖 4-2 測溫模塊流程圖 /* 計(jì)算當(dāng)前溫度 */ u_char get_tem(u_int fhz) u_int tempreture1=0; u_char tempreture = 0

48、; u_char i; if(fhz=temp20) tempreture1 = 999; tempreture = 99; tempmark=0; if( (temp10 fhz)i9;i+) if( (temp1i = fhz) tempreture= tempreture1/10; if(tempreture=0) tempmark=0; else tempmark=1; break; if( (temp0= fhz)i21;i+) if( (tempi = fhz) tempreture=tempreture1/10; tempmark=0; break; xiaoshudian= t

49、empreture1%10; return tempreture; 4.1.24.1.2 測濕模塊程序設(shè)計(jì)測濕模塊程序設(shè)計(jì) 濕度測量模塊電路測量濕度的原理就是由濕敏電阻值在震蕩電路中變化時(shí)與它的 頻率變化存在互相影響的某種關(guān)系,找出這種關(guān)系然后查找對應(yīng)表格,便可獲得在一 定濕度允許范圍內(nèi)的數(shù)值。流程圖如 4-3 所示 圖 4-3 測濕模塊流程圖 開始 濕度測量初始化 timer1計(jì)數(shù)乘以20得 到最終頻率 根據(jù)頻率濕度關(guān)系表 計(jì)算相對濕度 返回濕度值 設(shè)置timer0為定時(shí)器, timer1為計(jì)數(shù)器,計(jì)數(shù)555 輸出的頻率 50ms內(nèi)計(jì)數(shù)完畢? 停止timer1和timer0的計(jì)數(shù) 或者定時(shí)

50、保存timer1計(jì)數(shù)數(shù)據(jù) y n 4.24.2 串口通訊模塊串口通訊模塊 串口通訊模塊由這兩部分組成:發(fā)送數(shù)據(jù)流程,接收數(shù)據(jù)流程,如下圖所示: 圖 4-4 發(fā)送程序圖 圖 4-5 接收程序圖 接接收收程程序序 是是否否中中斷斷 關(guān)關(guān)中中斷斷 讀讀寄寄存存器器 報(bào)報(bào)文文是是否否有有效效? 是是否否數(shù)數(shù)據(jù)據(jù)幀幀? 讀讀取取報(bào)報(bào)文文 釋釋放放緩緩沖沖器器 返返回回 y y y n 置置錯(cuò)錯(cuò)誤誤字字 n 發(fā)發(fā)送送程程序序 讀讀狀狀態(tài)態(tài)寄寄存存器器 上上次次發(fā)發(fā)送送 完完成成? 發(fā)發(fā)送送緩緩沖沖 鎖鎖定定? 待待發(fā)發(fā)送送的的報(bào)報(bào)文文寫寫入入發(fā)發(fā) 送送緩緩沖沖器器 啟啟動(dòng)動(dòng)發(fā)發(fā)送送 y y n n 4.3

51、4.3 主機(jī)的主程序設(shè)計(jì)主機(jī)的主程序設(shè)計(jì) 主從機(jī)在電路設(shè)計(jì)上大同小異,因此我也沒有必要再贅述一遍,基本流程與從機(jī)相 同。 開開始始 發(fā)發(fā)送送寄寄存存器器置置位位 n 控控制制寄寄存存 器器清清0 y 檢檢查查can總總 線線空空閑閑 確確定定報(bào)報(bào)文文 優(yōu)優(yōu)先先級級 發(fā)發(fā)送送成成功功 y n 圖 4-6 發(fā)送程序流程圖 開開始始 是是否否檢檢測測到到 起起始始幀幀 載載入入報(bào)報(bào)文文緩緩 沖沖器器 檢檢測測報(bào)報(bào)文文是是 否否錯(cuò)錯(cuò)誤誤 y n n 產(chǎn)產(chǎn)生生錯(cuò)錯(cuò)誤誤幀幀 y 圖 4-7 接收程序流程圖 4.3.14.3.1 報(bào)警及顯示模塊報(bào)警及顯示模塊 在敏感元器件測得溫濕度數(shù)據(jù)后,程序給出兩條命令處

52、理,首先把信號傳遞到顯 示電路輸出,接著將這個(gè)數(shù)據(jù)和程序?qū)懞玫纳舷迶?shù)值對比判斷做出下一步命令,若超 限則鳴笛。 讀讀數(shù)數(shù)據(jù)據(jù) 是是否否寫寫顯顯示示數(shù)數(shù)據(jù)據(jù) 讀讀取取數(shù)數(shù)據(jù)據(jù) 數(shù)數(shù)據(jù)據(jù)是是否否完完 恢恢復(fù)復(fù)lo空空 閑閑狀狀態(tài)態(tài) 返返回回 y y n n 是是否否超超值值 報(bào)報(bào)警警 y n 圖 4-9 顯示及報(bào)警電路程序 /*判斷溫濕度是否超限并選擇相應(yīng)操作后關(guān)閉 */ void main() int count=0; system_init(); wdt_contr = 0 x3c; set_timer(timer_interval, 0, 0); while(1) message_loop(

53、); wdt_contr = 0 x3c; if(timer_over0) ex0=0; ex1=0; timer_over0 = 0; clear_timer(0); if(key_erro=0) hum1=get_humi(humi1* (1000/(50*timer_interval); tempr=get_tem(tem* (1000/(50*timer_interval); if(hum1=0 xff)/*判斷 h2 數(shù)據(jù)是否正常*/ humled1=1;/*錯(cuò)誤*/ hum1led1=0; else humled1=0;/*正常*/ if( hum1led1=0) if(hum1=

54、100)/*h2 啟動(dòng)風(fēng)扇判斷*/ if( humm1=hum1) hum1led1=1; else hum1led1=0; if( hum1led1=1) if(hum1=hum1) hum1led1=0; else hum1led1=1; if(tempr=0 xff)/*判斷溫度數(shù)據(jù)是否正常*/ temled=1;/*錯(cuò)誤*/ temlm=0; temhm=0; else temled=0;/*正常*/ if( temhm=0) if(temled=0)/*超溫判斷*/ if( temh=tempr) else temhm=0; if(temhm=1 ) if(temled=0)/*超溫

55、退出判斷*/ if( (temh-10)=tempr) else temhm=0; if(temled=0)/*判斷低溫加熱啟動(dòng)*/ if(temlm=0) if(teml=tempr) else temlm=0; if(temled=0) if(temlm=1)/*判斷低溫加熱退出*/ if(temlvm=0) if(temlvm=1) else if(10-teml)=tempr) temlm=0; if(temlvm=1) if(tempmark=1) if(tempr/10=0) y0=number_code16; y2=0 x00; y4=number_code19; y10=num

56、ber_codetempr%10; else y0=number_code16; y2=number_code19; y4=number_codetempr/10; y10=number_codetempr%10; /顯示溫度 第 5 章 系統(tǒng)的生成以及調(diào)試 5.15.1 keilkeil 的燒寫的燒寫 完成上述電路設(shè)計(jì)以及軟件編程后,然后就把將編寫好的代碼燒寫到 8051 單片 機(jī)中。以下是燒寫的具體步驟和內(nèi)容的介紹: 第一步建立 hex 文件 選中項(xiàng)目菜單,在其下拉子目中選擇選擇目標(biāo)程序 1,接著將常用的工程屬性中 設(shè)備、目標(biāo)項(xiàng)目、輸出、列項(xiàng)、 c51 和糾錯(cuò)等選項(xiàng)加以正確設(shè)置。在目標(biāo)項(xiàng)目

57、中設(shè)置 相應(yīng)單片機(jī)的頻率,它的默認(rèn)值為 24 兆赫茲,輸出選項(xiàng)中單擊輸出 hex 文件,其他 選項(xiàng)不需重新設(shè)置,默認(rèn)為一般值。 第二步 stc 的燒寫 點(diǎn)擊 stc,在 mcu 類別窗口設(shè)置對應(yīng)的單片機(jī)型號,然后打開對應(yīng)程序文件, 需要注意的是在 stc 中需要設(shè)置端口號,可以通過 “mycomputer”查看自己的端口號, 接著設(shè)置最低通訊波特率,接著選擇下載選項(xiàng),這樣我們就把自己編寫好的程序燒寫 成功了。 5.25.2 調(diào)試和總結(jié)調(diào)試和總結(jié) 通過以上分析設(shè)計(jì)出的電路圖和編寫的程序定制完成了試驗(yàn)成品,我開始了調(diào)試, 而這個(gè)工作的需要我們做的就是不斷燒寫運(yùn)行測量并記錄是否所測數(shù)據(jù)正確,觀察所

58、編寫的功能是否實(shí)現(xiàn),并依據(jù)所觀察的結(jié)果來改善所出現(xiàn)的問題。 第一排除可能出現(xiàn)的電路故障:電路元件連接時(shí)經(jīng)常出現(xiàn)斷路或短路這樣的問題, 而我在連接兩個(gè)單片機(jī)時(shí)是依據(jù)不同芯片的接口來連接控制單片機(jī),我們可以通過萬 用表來檢查線路問題到底哪里出錯(cuò),同樣存在在運(yùn)行不當(dāng)?shù)那闆r導(dǎo)致結(jié)構(gòu)內(nèi)元件超負(fù) 荷損壞。接下來需要我們依次檢查實(shí)際元件和原本設(shè)計(jì)時(shí)所規(guī)定的元器件是否完全一 致并且安裝得當(dāng)。如果檢查之后沒有發(fā)現(xiàn)問題,還可以選擇替換方法來檢測。 vcc 和 gnd 間電壓有時(shí)也會(huì)發(fā)生過高導(dǎo)致集成塊過熱失效,所以無論是電源檢查還是電路 檢測在調(diào)試過程中都是同樣非常重要,我們一定要排除掉任何可能。 第二排除可能出現(xiàn)

59、的軟件錯(cuò)誤:燒寫程序前我們先通上電源,而且 stc 設(shè)置如之 前所提我們還要選擇與我的電腦一致的端口號以及各個(gè)對應(yīng)選項(xiàng)的正確設(shè)置,如果出 現(xiàn)下載程序失敗的提示,可能要考慮一下是不是沒有安裝對應(yīng) usb 驅(qū)動(dòng)。而且需要 設(shè)置最低波特率。 第三若我們在測試相應(yīng)功能過程中某個(gè)元件好像有些問題,試著用以下方法步驟 進(jìn)行分析排除: 1先確定兩個(gè)單片機(jī)連接是否與原理圖完全一致; 2再用萬用表一個(gè)個(gè)節(jié)點(diǎn)來找出斷路,引腳短路的線路問題; 3然后仔細(xì)思考分析編寫的延時(shí)程序有沒有出錯(cuò)導(dǎo)致程序無法運(yùn)行下去。 4在測試時(shí)不僅要排除線路問題,也要將所有可能發(fā)生的程序問題考慮進(jìn)來,這 樣那個(gè)才不會(huì)卡在不能發(fā)現(xiàn)的錯(cuò)誤,因?yàn)槌3J浅绦蛏系囊粋€(gè)小錯(cuò)誤導(dǎo)致一系列的 bug 產(chǎn)生。 結(jié)論 在這次設(shè)計(jì)中我展示了基于 rs485 總線的遠(yuǎn)程溫濕度監(jiān)控系統(tǒng),剛開始準(zhǔn)備時(shí)主 要做了本次課題的背景、價(jià)值、現(xiàn)狀以及概況、主要內(nèi)容和需要做的主要工作進(jìn)行了 相關(guān)的介紹。接下來,我對國內(nèi)最普遍的三種技術(shù)路線的監(jiān)控系統(tǒng)進(jìn)行了對比分析和 詳細(xì)的說明,主要是計(jì)算機(jī)集成控制技術(shù), can 總線和共享總線型傳輸媒體方式的局 域網(wǎng)使用的 csma/cd 技術(shù)等,最對這些技術(shù)不同特點(diǎn)的

溫馨提示

  • 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)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論