版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、changzhou institute of technology 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì) 說(shuō)說(shuō) 明明 書(shū)書(shū) 題目題目:基于 modbus 協(xié)議的溫濕度監(jiān)控系統(tǒng) 的設(shè)計(jì)與研究 二級(jí)學(xué)院(直屬學(xué)部):計(jì)算機(jī)信息工程學(xué)院 專業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 班級(jí):12 計(jì) 學(xué)生姓名: 學(xué)號(hào): 指導(dǎo)教師姓名: 職稱:講師 評(píng)閱教師姓名: 職稱: 2016 年 5 月 sj005-1 基于 modbus 協(xié)議的溫濕度監(jiān)控系統(tǒng)的設(shè)計(jì)與研究 摘要摘要 如今很多企業(yè)擁有多個(gè)倉(cāng)庫(kù),倉(cāng)庫(kù)溫濕度監(jiān)測(cè)面臨很難操作的境地。 作為庫(kù)房管 理的重要指標(biāo),倉(cāng)庫(kù)溫濕度需要進(jìn)行信息化管理,同樣能實(shí)現(xiàn)倉(cāng)庫(kù)管理自動(dòng)化?,F(xiàn)在 , 溫濕度監(jiān)測(cè)系統(tǒng)
2、的主要技術(shù)有 can 總線通信設(shè)計(jì),計(jì)算機(jī)集成控制技術(shù)和 共享總線型 傳輸媒體方式的局域網(wǎng)使用的 csma/cd 技術(shù)。 本文采用的是已廣泛利用的 modbus 協(xié)議實(shí)現(xiàn)的檢測(cè)系統(tǒng),此系統(tǒng)具有有實(shí)時(shí)性好, 準(zhǔn)確率高等特點(diǎn),在模擬兩個(gè)控制設(shè)備之間的相互傳輸, i/o 及寄存器數(shù)據(jù)時(shí), modbus 的兼容性好等原因決定了它成為綜合管理系統(tǒng)的接口。 文章中對(duì)各監(jiān)控系統(tǒng)的優(yōu)勢(shì)長(zhǎng)短及適應(yīng)范圍對(duì)比分析,選擇了合適的監(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)測(cè) 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 國(guó)內(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 測(cè)溫模塊(熱敏電阻) .13 3.2.4 測(cè)濕模塊(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 測(cè)濕模塊程序設(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 的燒寫(xiě) .33 5.2 調(diào)試和總結(jié).33 結(jié)論結(jié)論.35 致謝致謝.36 參考文獻(xiàn)參考文獻(xiàn).37 前 言 對(duì)于現(xiàn)代工農(nóng)商業(yè)和信息系統(tǒng),環(huán)境的復(fù)雜性(概括溫濕度)間接或直接影響設(shè) 備安全,這意味著不能確定室內(nèi)情況的條件下人員進(jìn)入可能存在危險(xiǎn)。監(jiān)控系統(tǒng)便在 這種條件下誕生了。相比以前的人工
11、檢測(cè),監(jiān)測(cè)維度和廣度以及精度都不同以往,有 著很大進(jìn)步。但如何選擇控制系統(tǒng),如何依據(jù)需要減少成本、用材設(shè)計(jì)各種因素下產(chǎn) 生的一系列問(wèn)題都需要解決。一個(gè)簡(jiǎn)單地單片機(jī)綜合系統(tǒng)可以幫助我們解決了這些煩 惱。同樣要考慮的通信問(wèn)題, rs485 總線正好符合一般工農(nóng)業(yè)生產(chǎn)中的庫(kù)房管理等方 向的發(fā)展。 伴隨技術(shù)進(jìn)步,在科學(xué)研究,工農(nóng)業(yè)生產(chǎn)或者一些特殊器材的養(yǎng)護(hù)問(wèn)題上,溫濕 度監(jiān)控都具有不可忽視的重大意義。相對(duì)的在監(jiān)控的精確性,監(jiān)測(cè)維度和實(shí)時(shí)性需要 很高的要求,本次設(shè)計(jì)中,測(cè)量主要使用了 hf3223 濕度傳感器和熱敏電阻,監(jiān)測(cè)主 要用了數(shù)碼管顯示和蜂鳴器報(bào)警,而且使用了加熱排風(fēng)繼電器設(shè)備。 應(yīng)生于計(jì)算機(jī)硬
12、件技術(shù)的高速發(fā)展以及其投入生產(chǎn)應(yīng)用的背景下,溫濕度測(cè)控元 器件的發(fā)展換代,預(yù)示這方面的測(cè)量更加自動(dòng)化、綜合監(jiān)控能力更加智能化的趨勢(shì)。 在與庫(kù)房管理類(lèi)似的溫濕度監(jiān)控技術(shù)中,這些技術(shù)以及硬件的發(fā)展保證了產(chǎn)品的質(zhì)量 更好、養(yǎng)護(hù)更佳、安全性更高。因此溫濕度測(cè)控依然擁有更廣的應(yīng)用發(fā)展空間 。 第 1 章 緒論 1.11.1 課題背景及其意義課題背景及其意義 在原先,用來(lái)監(jiān)測(cè)庫(kù)房的溫度,濕度的方法是人工進(jìn)入監(jiān)測(cè),可這種方法在獲取 所測(cè)數(shù)值時(shí)有相當(dāng)大不可避免的誤差和以及人為的失誤例如操作等,因此使得測(cè)量效 率低下,并且測(cè)量結(jié)果準(zhǔn)確性很低,監(jiān)測(cè)數(shù)值也不具備了原本意義;操作上,如果控 制此時(shí)的溫濕度的情況時(shí),沒(méi)
13、有依據(jù)真正發(fā)生的條件情況準(zhǔn)確及時(shí)地做出相應(yīng)操作。 在操作可行性上,例如在某些條件和環(huán)境,需要測(cè)量人不可進(jìn)入的環(huán)境內(nèi)設(shè)施的表面 溫度時(shí),更不可能測(cè)量到直接的數(shù)據(jù),而且有些庫(kù)房可能不允許人員再不能確定情況 下進(jìn)入,測(cè)量便還需要考慮到人員的安全性。不同的復(fù)雜環(huán)境下想要測(cè)量溫濕度必然 會(huì)損耗大量資源和人力。 伴隨電子元器件的更新?lián)Q代,原先的原始溫度計(jì)濕度計(jì)終于被溫濕度傳感器逐漸 取代,更有了以單片機(jī)為核心的小型綜合計(jì)算機(jī)監(jiān)測(cè)系統(tǒng),用來(lái)監(jiān)控的同時(shí)亦可實(shí)現(xiàn) 更多功能如預(yù)設(shè)溫度控制范圍,超控報(bào)警,溫濕度有償反饋諸多功能。在如何解決較 長(zhǎng)距的傳輸課題上,溫濕度監(jiān)測(cè)系統(tǒng)采用的數(shù)字傳感器直接用 mcu 內(nèi)部 fl
14、ash 存儲(chǔ)器 可以保存設(shè)置參數(shù),根據(jù)設(shè)置參數(shù)與溫濕度比較來(lái)控制風(fēng)扇和加熱器完美地實(shí)現(xiàn)。 同 時(shí)計(jì)算機(jī)的優(yōu)越性體現(xiàn)在又快又準(zhǔn),避免了各種人為因素導(dǎo)致的誤差和錯(cuò)誤。這種監(jiān) 測(cè)形式可以說(shuō)極大提升了實(shí)際工作效率,也擴(kuò)展溫濕度監(jiān)測(cè)在生產(chǎn)設(shè)計(jì)中的應(yīng)用。 單片機(jī)作為核心的集成監(jiān)測(cè)系統(tǒng)的出現(xiàn)有著很大的意義,對(duì)生產(chǎn)生活有重大貢獻(xiàn), 對(duì)我國(guó)監(jiān)測(cè)技術(shù)應(yīng)用在國(guó)際應(yīng)用水平有了一席之地起了很大助推,同樣是工業(yè)自動(dòng)化 發(fā)展重大進(jìn)步的體現(xiàn)。 1.21.2 國(guó)內(nèi)外研究現(xiàn)狀國(guó)內(nèi)外研究現(xiàn)狀 上世紀(jì)八十年代,鑒于溫濕度測(cè)量和控制技術(shù)在中國(guó)起步較晚,這時(shí)的工程技術(shù) 人員剛接觸運(yùn)用計(jì)算機(jī)控制技術(shù),用來(lái)研究監(jiān)測(cè)和監(jiān)控系統(tǒng)的應(yīng)用。于此,我
15、國(guó)終于 與大致整體上從了解、掌握簡(jiǎn)易的試驗(yàn)應(yīng)用階段向真正在各行各業(yè)各個(gè)領(lǐng)域?qū)嶋H運(yùn)用, 科學(xué)應(yīng)用階段改變??墒菧囟缺O(jiān)測(cè)、控制的發(fā)展現(xiàn)狀依然尚未發(fā)展到工廠大量生產(chǎn)需 求的程度。與之相對(duì),這方面科技發(fā)達(dá)的國(guó)家,與我們還是有著很大的鴻溝要逾越。 例如生產(chǎn)中出現(xiàn)的:生產(chǎn)設(shè)備效率低,自動(dòng)化程度低,監(jiān)測(cè)反饋系統(tǒng)的不完整, 從硬 至軟的各方面缺陷。 然而,當(dāng)我國(guó)單片機(jī)快速發(fā)展,這些科技難關(guān)都迎刃而解,所以現(xiàn)在溫濕度監(jiān)控 技術(shù)的系統(tǒng)類(lèi)別很豐富,有 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 總線有著其他方式無(wú)法比擬的長(zhǎng)處,可短板因 此明顯,可傳輸數(shù)量少,較長(zhǎng)距傳輸 速率低,消耗大,只有串行電纜可用,無(wú)法形成 其他所有可能的分支星型 ,因此一個(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) 由兩級(jí)主從式的總線型網(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ù)革新,所以愈來(lái)愈多的系統(tǒng)設(shè)計(jì)開(kāi)始利用因特網(wǎng)和 web 服務(wù)器的相互通信建造監(jiān)控系統(tǒng)。 他有這樣的優(yōu)點(diǎn)就是無(wú)需專線,也不需要鋪設(shè) 現(xiàn)場(chǎng)總線即可利用以太網(wǎng)監(jiān)控系統(tǒng),以太網(wǎng)同時(shí)擁有著巨大的通訊資源可利用。 雖說(shuō)如此
18、,以太網(wǎng)技術(shù)現(xiàn)如今依然有著明顯短處就是加入直接運(yùn)用在控制方向 。 在通訊時(shí)是非常不安全的,同時(shí)不可完全控制。 沒(méi)有通用的應(yīng)用層協(xié)議,所以不同生 產(chǎn)來(lái)源的設(shè)備不互相兼容。以太網(wǎng)的可攻破性也就是會(huì)被黑客攻擊等問(wèn)題影響導(dǎo)致通 訊消息丟失也亟待解決。圖 1-2 是以太網(wǎng)通信原理圖。該結(jié)構(gòu) 中的各個(gè)節(jié)點(diǎn)都可自發(fā) 地選擇通訊信息的發(fā)出與接受,計(jì)算機(jī)作為通訊網(wǎng)絡(luò)中的節(jié)點(diǎn)對(duì)這些信息進(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í)如果傳輸信息量 過(guò)大會(huì)導(dǎo)致通訊癱瘓的可能。因此以太網(wǎng)技術(shù)目前應(yīng)用不如總線通訊方式廣泛,尤其 在控制和安全方面有著很大的改善空間。以太網(wǎng)的養(yǎng)護(hù)成本過(guò)高也是他的缺陷之一。 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ù),對(duì)測(cè)得的溫濕度進(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ù)陌踩院涂煽匦裕瑫r(shí)成本很低, 操作便捷,未來(lái)發(fā)展前景巨大。 1.31.3 本設(shè)計(jì)的實(shí)用價(jià)值本設(shè)計(jì)的實(shí)用價(jià)值 在當(dāng)前社會(huì),自動(dòng)化控制在科技發(fā)展的今天顯得越來(lái)越重要,而在遠(yuǎn)程控制中, 通信技術(shù)又是其中的靈魂,它們代表了國(guó)家科技水平在國(guó)際上的高度。分析整個(gè)社會(huì) 的發(fā)展現(xiàn)狀,可以看出,一個(gè)現(xiàn)代化的國(guó)家在工業(yè)自動(dòng)化控制必須要踏進(jìn)世界先進(jìn)行 列,這樣才能滿足當(dāng)前與之匹配的工業(yè)化發(fā)展的需求。 隨著企業(yè)的發(fā)展,企業(yè)對(duì)于倉(cāng)庫(kù)管理上,要求也越來(lái)越嚴(yán)格,為了保障庫(kù)
21、房產(chǎn)品 及零配件的安全,在溫濕度控制上要求更實(shí)時(shí)控制??萍寂c工業(yè)需求共同發(fā)展,為了 很好的解決這個(gè)問(wèn)題,分布式監(jiān)控系統(tǒng)可以直觀的通過(guò)中央處理器來(lái)完成對(duì)數(shù)據(jù)的采 集,控制和報(bào)警等功能。而各節(jié)點(diǎn)之間通過(guò) rs485 總線更能實(shí)時(shí)傳遞溫濕度信息。避 免了因?yàn)榄h(huán)境影響而使精密儀器受到損壞。使企業(yè)的經(jīng)濟(jì)得到保障。 1.41.4 設(shè)計(jì)的理論意義設(shè)計(jì)的理論意義 在說(shuō)明書(shū)中詳細(xì)介紹了 rs485 總線的監(jiān)控系統(tǒng),在傳輸各節(jié)點(diǎn)的溫濕度數(shù)據(jù)時(shí)可 靠性高,可控性強(qiáng)。此次設(shè)計(jì)的主要困難之處就是監(jiān)控系統(tǒng)的硬件和軟件設(shè)計(jì),以及 如何完成各元件間的 rs485 通信,還要對(duì)所有的外協(xié)件進(jìn)行設(shè)計(jì)等。實(shí)際意義在于: (1)數(shù)據(jù)
22、的準(zhǔn)確性和實(shí)時(shí)性提高是生產(chǎn)生活水平的提升, 人可以通過(guò)監(jiān)控系統(tǒng) 來(lái)控制相應(yīng)庫(kù)房的處理。 (2)在一些無(wú)法監(jiān)測(cè)的環(huán)境中也能很好的發(fā)揮作用并大大提高了安全性。 (3)工業(yè)監(jiān)控系統(tǒng)集成性高,便捷高效,對(duì)在未來(lái)工業(yè)監(jiān)測(cè)方向前進(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è)模塊編程,通過(guò)軟件模塊分析與流程表達(dá)的軟件設(shè) 計(jì)。 第五章是監(jiān)控系統(tǒng)的燒寫(xiě)和調(diào)試。 第 2 章 rs485 總線技術(shù) 2.12.1 rs485rs485 總線介紹總線介紹 rs485 總線作為現(xiàn)在監(jiān)測(cè)系統(tǒng)中數(shù)據(jù)收集應(yīng)用最廣的方式,只允許 半雙工模式, 卻可連接 32 個(gè)節(jié)點(diǎn);傳輸距離高達(dá) 1200 米,同時(shí)可以實(shí)現(xiàn)每秒 100kb 傳輸,信號(hào)穩(wěn) 定性高,布線操作簡(jiǎ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é)議沒(méi)有統(tǒng)一標(biāo)準(zhǔn)的接頭,不同制造商生產(chǎn)的設(shè)備由于引腳順序 不一樣以及管腳功能不一樣沒(méi)有互操作性,可用戶可以查閱廠家提供的相關(guān)產(chǎn)品說(shuō)明。 rs485 總線的網(wǎng)絡(luò)結(jié)構(gòu)如圖 2-1 所示。如果 rs485 接口兩點(diǎn)之間實(shí)現(xiàn)通信,需要兩對(duì) 平衡差分電路來(lái)實(shí)現(xiàn)差分接收和平衡發(fā)送。采用 75lbc184 芯片來(lái)實(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)的信號(hào)后,將會(huì)傳輸個(gè)給上位機(jī),通過(guò)上位 機(jī)調(diào)控各個(gè)控制節(jié)點(diǎn)。但是控制節(jié)點(diǎn)之間相互通信只能有一個(gè)主控制器,所以不能支 持一點(diǎn)對(duì)多點(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),除此之外, 還能通過(guò)一臺(tái)主機(jī)以 485 接口
26、連接其他從機(jī)實(shí)現(xiàn)多機(jī)聯(lián)動(dòng)并使用此接口控制鍵盤(pán)來(lái)進(jìn) 行遠(yuǎn)程操作。 modbus 標(biāo)準(zhǔn)支持 rtu 和 ascii 兩種傳送方式,選擇何種方式依情況需求而定。 下文通訊協(xié)議的詳細(xì)說(shuō)明。 1 1、讀取儀表數(shù)據(jù),數(shù)據(jù)位、讀取儀表數(shù)據(jù),數(shù)據(jù)位 詢問(wèn):機(jī)號(hào) 功能碼 00 00 00 00 效驗(yàn)低位 效驗(yàn)高位 xx 03 00 00 00 03 xx xx 詢問(wèn)說(shuō)明:數(shù)據(jù)位第一和第二位表示從第幾個(gè)字節(jié)開(kāi)始讀取,第三和第四位表示 讀取幾個(gè)字節(jié)。 回應(yīng):機(jī)號(hào) 功能碼 字節(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;無(wú)回應(yīng)時(shí),相應(yīng)的溫度 值為 0 xff。 2、濕度為 16 進(jìn)制;濕度傳感器壞時(shí),濕度值為 0 xff。 3、狀態(tài)位為 16 進(jìn)制,表示加熱和風(fēng)扇的開(kāi)啟與關(guān)閉, 04 代表加熱開(kāi)啟,08 代 表風(fēng)扇開(kāi)啟,00 代表加熱器和風(fēng)扇都不工作。 2 2、生成、生成 crc-16crc-16 校驗(yàn)字節(jié)的步驟如下:校驗(yàn)字節(jié)的步驟如下: (1)將 ffffh 裝入一個(gè) 16 位寄存器 (2)該 16 位寄存器的高位字節(jié)不變,需要校驗(yàn)的開(kāi)始字節(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、通訊說(shuō)明、通訊說(shuō)明 接口標(biāo)準(zhǔn):rs-485 效驗(yàn)方法:crc16 工作方式:半雙工 通訊格式:異步,一位起始位,八位數(shù)據(jù)位,一位結(jié)束位 通訊速率:4800bit/s 選址方式:利用地址碼選址 通訊方式:主從、一對(duì)多方式 上述協(xié)議中的數(shù)據(jù)均為十六進(jìn)制。 上述協(xié)議中“詢問(wèn)”部分的“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 總線傳 輸距離可以很長(zhǎng),因此節(jié)點(diǎn)設(shè)置在不同地點(diǎn)來(lái)測(cè)量收集各個(gè)地方的數(shù)據(jù)。從機(jī)使用 8051
34、 單片機(jī),用于測(cè)量溫濕度的傳感器我使用的是精確性高的熱敏電阻和濕度傳感器 hf3223。主機(jī)由供電電路、鍵盤(pán)控制電路、液晶顯示電路和報(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、看門(mén)狗和片內(nèi) r/c 振蕩器,外部晶體振蕩電路。也就是說(shuō)基本覆蓋了全部的控制和采集數(shù)據(jù)模塊。 圖 3-2 stc12c5410ad 系列單片機(jī)的管腳圖 如圖 3-3 所示為單片機(jī)應(yīng)
36、用電路。用戶在自己的目標(biāo)系統(tǒng)上將 p3.0/p3.1 經(jīng)過(guò) rs232 電平轉(zhuǎn)換連接到電腦的普通 232 接口,便可進(jìn)行軟件編輯。 為了運(yùn)用相對(duì)容易的格式,主控 pc 與下位單片機(jī)使用的通訊規(guī)則完全自由式、 非規(guī)范。主機(jī)傳遞命令節(jié)點(diǎn)信息由 232 口到轉(zhuǎn)換控制器,將信息向 485 總線網(wǎng)絡(luò)傳遞。 串口通訊電路電路負(fù)責(zé)轉(zhuǎn)換 485 和 232 電平。當(dāng)全部從機(jī)接受廣播幀后,對(duì)比操作之 前的編號(hào),相同的控制器被選中,然后處理已經(jīng)獲取的的數(shù)據(jù),其余沒(méi)有被選中的要 將接受的信息舍棄,然后繼續(xù)網(wǎng)絡(luò)信息獲取的偵聽(tīng)工作。一樣的,下位機(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)置過(guò)熱保護(hù)和過(guò)流保護(hù) 機(jī)制,電壓高,電流大,且不用外接元件。 第二種使用 tl431 芯片,此芯片是可控穩(wěn)壓源,只要兩個(gè)電阻便可精確控制電壓。 它特性與穩(wěn)壓二極管相似 ,常在控壓和運(yùn)放電路中使用 。 第三種使用 lm1084,它是啟動(dòng)壓不高的穩(wěn)壓源,內(nèi)置 過(guò)熱保護(hù)和短路電流限制 機(jī)制,有多種模式穩(wěn)定電壓,通過(guò)兩電阻外接控制。此穩(wěn)壓源輸入最高電壓12v,可 控幅度精確到百分之一以內(nèi),同時(shí)線性可控能力和過(guò)熱短路自我控
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)全部控 制的處理。既作為控制器,又需要他來(lái)處理數(shù)據(jù),還需要來(lái)橋接軟硬件系統(tǒng)。單片機(jī) 與各個(gè)外協(xié)件相連,便在一起處理所接信號(hào),協(xié)調(diào)傳送控制信號(hào)到各部件來(lái)完成
39、相應(yīng) 程序運(yùn)行。按鍵電路發(fā)出的電子信號(hào)到達(dá)主控機(jī)的對(duì)應(yīng)端口后,會(huì)由程序中寫(xiě)好的判 斷語(yǔ)句繼續(xù)下一步命令。 本設(shè)計(jì)中對(duì)它的描述如圖 3-6 所示: 圖 3-6 外圍電路的設(shè)計(jì)接口 p1 口作為 led 顯示的接口,p3,p2 口則是用來(lái)連接外部按鍵,組成了 1x3 的 行鍵盤(pán),其中 t1/p3.5 是 key1,p2.4-p2.5 是 key2 和 key3。 int1/p3.3 是鳴笛信號(hào)的輸出口,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 測(cè)溫模塊(熱敏電阻)
40、測(cè)溫模塊(熱敏電阻) 其測(cè)溫原理是在溫度越高時(shí)電阻值越低通過(guò)測(cè)量其阻值推算出被測(cè)物體的溫度, 在程序里用外部觸發(fā)中斷實(shí)現(xiàn),加上定時(shí)器在一定時(shí)間內(nèi)讀出信號(hào)的上升沿,然后計(jì) 算,轉(zhuǎn)化的計(jì)算公式在程序里定義。 測(cè)量模塊主要為熱敏電阻數(shù)字傳感器獲得數(shù)字信號(hào),單片機(jī)自帶 a/d,在單片機(jī) 上處理獲得的信號(hào)數(shù)據(jù),在 led 電路上測(cè)量的溫度數(shù)據(jù)相應(yīng)顯示出來(lái)。如圖 3-7 為 ntc 熱敏電阻電阻-溫度特性圖 圖 3-7 ntc 熱敏電阻電阻-溫度特性圖 如圖所示 3-8 系統(tǒng)硬件原理圖 圖3-8 系統(tǒng)硬件原理圖 3.2.43.2.4 測(cè)濕模塊(測(cè)濕模塊(h hf f3 32 22 23 3) hf3223
41、 是在 hs1101 基礎(chǔ)上實(shí)現(xiàn)的,常常被用于測(cè)量高精確度的濕度,操作簡(jiǎn)便的 接頭易于安裝,因此安裝成本相當(dāng)?shù)汀M瑫r(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、高可靠性與長(zhǎng)時(shí)間穩(wěn)定性 7、低成本 二、在我的電路設(shè)計(jì)中,將 hf3223 傳感器置于振蕩電路之中,經(jīng)變換的頻率信號(hào) 連接在 stc812c5410ad 的 p3.5 口成為計(jì)數(shù)器
42、 1 的外部輸入脈沖如圖 3-12,依據(jù)之前 設(shè)置好的每秒所測(cè)得脈沖數(shù)再查表可知所測(cè)得的濕度數(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ī)沒(méi)什么太大區(qū)別,區(qū)別在于電路上多了led 顯示電路和警報(bào)器電路。 3.3.13.3.1 串口通訊電路串口通訊電路 因?yàn)殡娔X串口是 232 電平的,而我的單片機(jī) stc12c410ad 接口是 ttl 電平的, 那么需要由圖示 3-16 轉(zhuǎn)換電路將 485 信號(hào)差分,在輸入口把 ttl 信號(hào)轉(zhuǎn)換成差分信 號(hào) 485a、485b 輸出,經(jīng)過(guò)總線傳遞過(guò)后在輸出端又把它們還原為 ttl 信號(hào)。 圖 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 溫度采集模塊(熱敏電阻)溫度采集模塊(熱敏電阻) 溫度測(cè)控的程序流程先由主機(jī)進(jìn)行復(fù)位操作,由于這時(shí)只對(duì)其中一個(gè)傳感器執(zhí)行 命令,因此要略過(guò)此次rom命令。然后,溫度轉(zhuǎn)換,熱敏電阻再次復(fù)位,然后繼續(xù)略過(guò) 這次rom命令。接著測(cè)得溫度數(shù)據(jù),注意的是讀取數(shù)據(jù)時(shí)先獲得低 8位,再讀高8位, 最后將其轉(zhuǎn)化為十進(jìn)制
47、數(shù)值輸送到 led。溫度測(cè)控程序流程圖如4-2所示。 主機(jī)發(fā)送復(fù)位脈 沖 ds18b20發(fā)送應(yīng)答 脈沖 主機(jī)發(fā)送跳過(guò) rom命令(cch) 主機(jī)發(fā)送溫度轉(zhuǎn) 換命令(44h) 延時(shí)等待溫度轉(zhuǎn) 換完成 主機(jī)發(fā)送復(fù)位脈 沖 ds18b20發(fā)送應(yīng)答 脈沖 主機(jī)發(fā)送跳過(guò) rom命令(cch) 主機(jī)發(fā)送溫度讀 取命令(beh) 讀取溫度低字節(jié) 讀取溫度高字節(jié) 將溫度值轉(zhuǎn)換為對(duì)應(yīng)的十進(jìn) 制值以備輸出顯示 n y n y 圖 4-2 測(cè)溫模塊流程圖 /* 計(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 測(cè)濕模塊程序設(shè)計(jì)測(cè)濕模塊程序設(shè)計(jì) 濕度測(cè)量模塊電路測(cè)量濕度的原理就是由濕敏電阻值在震蕩電路中變化時(shí)與它的 頻率變化存在互相影響的某種關(guān)系,找出這種關(guān)系然后查找對(duì)應(yīng)表格,便可獲得在一 定濕度允許范圍內(nèi)的數(shù)值。流程圖如 4-3 所示 圖 4-3 測(cè)濕模塊流程圖 開(kāi)始 濕度測(cè)量初始化 timer1計(jì)數(shù)乘以20得 到最終頻率 根據(jù)頻率濕度關(guān)系表 計(jì)算相對(duì)濕度 返回濕度值 設(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)文文寫(xiě)寫(xiě)入入發(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ì)上大同小異,因此我也沒(méi)有必要再贅述一遍,基本流程與從機(jī)相 同。 開(kāi)開(kāi)始始 發(fā)發(fā)送送寄寄存存器器置置位位 n 控控制制寄寄存存 器器清清0 y 檢檢查查can總總 線線空空閑閑 確確定定報(bào)報(bào)文文 優(yōu)優(yōu)先先級(jí)級(jí) 發(fā)發(fā)送送成成功功 y n 圖 4-6 發(fā)送程序流程圖 開(kāi)開(kāi)始始 是是否否檢檢測(cè)測(cè)到到 起起始始幀幀 載載入入報(bào)報(bào)文文緩緩 沖沖器器 檢檢測(cè)測(cè)報(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)警及顯示模塊 在敏感元器件測(cè)得溫濕度數(shù)據(jù)后,程序給出兩條命令處
52、理,首先把信號(hào)傳遞到顯 示電路輸出,接著將這個(gè)數(shù)據(jù)和程序?qū)懞玫纳舷迶?shù)值對(duì)比判斷做出下一步命令,若超 限則鳴笛。 讀讀數(shù)數(shù)據(jù)據(jù) 是是否否寫(xiě)寫(xiě)顯顯示示數(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 的燒寫(xiě)的燒寫(xiě) 完成上述電路設(shè)計(jì)以及軟件編程后,然后就把將編寫(xiě)好的代碼燒寫(xiě)到 8051 單片 機(jī)中。以下是燒寫(xiě)的具體步驟和內(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 的燒寫(xiě) 點(diǎn)擊 stc,在 mcu 類(lèi)別窗口設(shè)置對(duì)應(yīng)的單片機(jī)型號(hào),然后打開(kāi)對(duì)應(yīng)程序文件, 需要注意的是在 stc 中需要設(shè)置端口號(hào),可以通過(guò) “mycomputer”查看自己的端口號(hào), 接著設(shè)置最低通訊波特率,接著選擇下載選項(xiàng),這樣我們就把自己編寫(xiě)好的程序燒寫(xiě) 成功了。 5.25.2 調(diào)試和總結(jié)調(diào)試和總結(jié) 通過(guò)以上分析設(shè)計(jì)出的電路圖和編寫(xiě)的程序定制完成了試驗(yàn)成品,我開(kāi)始了調(diào)試, 而這個(gè)工作的需要我們做的就是不斷燒寫(xiě)運(yùn)行測(cè)量并記錄是否所測(cè)數(shù)據(jù)正確,觀察所
58、編寫(xiě)的功能是否實(shí)現(xiàn),并依據(jù)所觀察的結(jié)果來(lái)改善所出現(xiàn)的問(wèn)題。 第一排除可能出現(xiàn)的電路故障:電路元件連接時(shí)經(jīng)常出現(xiàn)斷路或短路這樣的問(wèn)題, 而我在連接兩個(gè)單片機(jī)時(shí)是依據(jù)不同芯片的接口來(lái)連接控制單片機(jī),我們可以通過(guò)萬(wàn) 用表來(lái)檢查線路問(wèn)題到底哪里出錯(cuò),同樣存在在運(yùn)行不當(dāng)?shù)那闆r導(dǎo)致結(jié)構(gòu)內(nèi)元件超負(fù) 荷損壞。接下來(lái)需要我們依次檢查實(shí)際元件和原本設(shè)計(jì)時(shí)所規(guī)定的元器件是否完全一 致并且安裝得當(dāng)。如果檢查之后沒(méi)有發(fā)現(xiàn)問(wèn)題,還可以選擇替換方法來(lái)檢測(cè)。 vcc 和 gnd 間電壓有時(shí)也會(huì)發(fā)生過(guò)高導(dǎo)致集成塊過(guò)熱失效,所以無(wú)論是電源檢查還是電路 檢測(cè)在調(diào)試過(guò)程中都是同樣非常重要,我們一定要排除掉任何可能。 第二排除可能出現(xiàn)
59、的軟件錯(cuò)誤:燒寫(xiě)程序前我們先通上電源,而且 stc 設(shè)置如之 前所提我們還要選擇與我的電腦一致的端口號(hào)以及各個(gè)對(duì)應(yīng)選項(xiàng)的正確設(shè)置,如果出 現(xiàn)下載程序失敗的提示,可能要考慮一下是不是沒(méi)有安裝對(duì)應(yīng) usb 驅(qū)動(dòng)。而且需要 設(shè)置最低波特率。 第三若我們?cè)跍y(cè)試相應(yīng)功能過(guò)程中某個(gè)元件好像有些問(wèn)題,試著用以下方法步驟 進(jìn)行分析排除: 1先確定兩個(gè)單片機(jī)連接是否與原理圖完全一致; 2再用萬(wàn)用表一個(gè)個(gè)節(jié)點(diǎn)來(lái)找出斷路,引腳短路的線路問(wèn)題; 3然后仔細(xì)思考分析編寫(xiě)的延時(shí)程序有沒(méi)有出錯(cuò)導(dǎo)致程序無(wú)法運(yùn)行下去。 4在測(cè)試時(shí)不僅要排除線路問(wèn)題,也要將所有可能發(fā)生的程序問(wèn)題考慮進(jìn)來(lái),這 樣那個(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),剛開(kāi)始準(zhǔn)備時(shí)主 要做了本次課題的背景、價(jià)值、現(xiàn)狀以及概況、主要內(nèi)容和需要做的主要工作進(jìn)行了 相關(guān)的介紹。接下來(lái),我對(duì)國(guó)內(nèi)最普遍的三種技術(shù)路線的監(jiān)控系統(tǒng)進(jìn)行了對(duì)比分析和 詳細(xì)的說(shuō)明,主要是計(jì)算機(jī)集成控制技術(shù), can 總線和共享總線型傳輸媒體方式的局 域網(wǎng)使用的 csma/cd 技術(shù)等,最對(duì)這些技術(shù)不同特點(diǎn)的
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聊城職業(yè)技術(shù)學(xué)院《機(jī)械制造概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 麗江文化旅游學(xué)院《防火防爆技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 江西衛(wèi)生職業(yè)學(xué)院《測(cè)量?jī)x表與自動(dòng)化》2023-2024學(xué)年第一學(xué)期期末試卷
- 江南大學(xué)《移動(dòng)開(kāi)發(fā)技術(shù)及應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 華北理工大學(xué)輕工學(xué)院《物流運(yùn)作規(guī)劃》2023-2024學(xué)年第一學(xué)期期末試卷
- 自貢職業(yè)技術(shù)學(xué)院《藝術(shù)名著導(dǎo)讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 周口文理職業(yè)學(xué)院《虛擬儀器技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶科技職業(yè)學(xué)院《信息技術(shù)與課件制作》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江水利水電學(xué)院《民用航空法》2023-2024學(xué)年第一學(xué)期期末試卷
- 鄭州西亞斯學(xué)院《太極拳理論基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)三年級(jí)數(shù)學(xué)下冊(cè)計(jì)算題大全(每日一練共25份)
- Unit 3 同步練習(xí)人教版2024七年級(jí)英語(yǔ)上冊(cè)
- “十四五”期間推進(jìn)智慧水利建設(shè)實(shí)施方案
- EPC項(xiàng)目機(jī)電安裝專業(yè)工程重難點(diǎn)分析及經(jīng)驗(yàn)交流
- 大型活動(dòng)聯(lián)合承辦協(xié)議
- 工程項(xiàng)目采購(gòu)與供應(yīng)鏈管理研究
- 2024年吉林高考語(yǔ)文試題及答案 (2) - 副本
- 拆除電纜線施工方案
- 搭竹架合同范本
- Neo4j介紹及實(shí)現(xiàn)原理
- 焊接材料-DIN-8555-標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論