版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> ?。?0 屆)</b></p><p> 遠(yuǎn)程糧倉(cāng)濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)——下位機(jī)系統(tǒng)</p><p><b> 目錄</b></p><p><b> 摘要III</b></p>&
2、lt;p> AbstractIV</p><p><b> 第一章 緒論1</b></p><p> 1.1 課題意義1</p><p> 1.2 課題現(xiàn)狀1</p><p> 1.3 課題設(shè)計(jì)方案2</p><p> 第二章 主要器件及工具3</p&
3、gt;<p> 2.1 濕度的基本概念3</p><p> 2.2 濕度傳感器3</p><p> 2.3 微控制器5</p><p> 2.4 集成開(kāi)發(fā)環(huán)境Keil5</p><p> 2.5 EDA軟件Proteus6</p><p> 第三章 總體設(shè)計(jì)7</
4、p><p> 3.1 設(shè)計(jì)思路7</p><p> 3.2 總體設(shè)計(jì)7</p><p> 3.2.1 硬件設(shè)計(jì)部分7</p><p> 3.2.2 軟件設(shè)計(jì)部分8</p><p> 第四章 詳細(xì)設(shè)計(jì)9</p><p> 4.1 硬件設(shè)計(jì)9</p>&
5、lt;p> 4.1.1 頻率采集模塊9</p><p> 4.1.2 單片機(jī)測(cè)頻模塊9</p><p> 4.2 軟件設(shè)計(jì)11</p><p> 4.2.1 主體設(shè)計(jì)思想11</p><p> 4.2.2 單片機(jī)測(cè)頻模塊軟件設(shè)計(jì)11</p><p> 第五章 仿真與實(shí)現(xiàn)16&l
6、t;/p><p> 5.1 模擬仿真16</p><p> 5.1.1 Keil的調(diào)試16</p><p> 5.1.2 Proteus 的電路模擬17</p><p> 5.1.3 Keil與Proteus的聯(lián)合仿真18</p><p> 5.1.4 串口的調(diào)試20</p>&
7、lt;p> 5.2 硬件實(shí)現(xiàn)21</p><p> 第六章 系統(tǒng)設(shè)計(jì)總結(jié)24</p><p><b> 參考文獻(xiàn)25</b></p><p> 附錄一 下位機(jī)電路圖26</p><p> 附錄二 下位機(jī)系統(tǒng)源碼27</p><p><b> 致謝29
8、</b></p><p> 遠(yuǎn)程糧倉(cāng)濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> ——下位機(jī)系統(tǒng)</b></p><p><b> 摘要</b></p><p> 中國(guó)是一個(gè)農(nóng)業(yè)大國(guó),由于存儲(chǔ)不當(dāng),造成大量的糧食浪費(fèi),給國(guó)家和人民造成了巨大的經(jīng)濟(jì)損失。糧食的儲(chǔ)藏對(duì)環(huán)境溫度和濕
9、度的要求較高,因此對(duì)糧倉(cāng)的濕度檢測(cè)非常必要。</p><p> 早期糧倉(cāng)的濕度監(jiān)測(cè)主要采用濕度計(jì)測(cè)量法,它是憑經(jīng)驗(yàn)將濕度計(jì)放入多個(gè)特定的位置,多點(diǎn)測(cè)量。管理人員定期現(xiàn)場(chǎng)記錄數(shù)據(jù),再根據(jù)濕度數(shù)據(jù)決定是否倒倉(cāng)。此方法對(duì)糧倉(cāng)濕度監(jiān)測(cè)卻有一定作用,但是由于濕度計(jì)精度、人工讀數(shù)的誤差等因素的制約,糧倉(cāng)經(jīng)常發(fā)生因局部糧食發(fā)霉變質(zhì)所引起大面積壞糧情況。</p><p> 所以,本設(shè)計(jì)的目的就是設(shè)計(jì)并
10、實(shí)現(xiàn)一個(gè)能實(shí)現(xiàn)異地糧倉(cāng)濕度監(jiān)測(cè)的遠(yuǎn)程分布式集散系統(tǒng),以替代傳統(tǒng)的人工檢測(cè)手段,降低糧食儲(chǔ)藏成本。首先,通過(guò)濕度傳感器采集濕度信息,經(jīng)振蕩電路轉(zhuǎn)化成頻率信號(hào),接著通過(guò)單片機(jī)進(jìn)行測(cè)頻。每個(gè)單片機(jī)都有一個(gè)不同的地址,代表不同的測(cè)量點(diǎn)。然后將地址與頻率信息通過(guò)串口直接傳給計(jì)算機(jī)。最后,計(jì)算機(jī)通過(guò)軟件把收到的信息進(jìn)行圖像化處理,簡(jiǎn)單、形象、直觀的展現(xiàn)在管理人員眼前,管理人員就可以足不出戶(hù)的實(shí)時(shí)查看每一個(gè)測(cè)量點(diǎn)的濕度信息。</p>&
11、lt;p> 關(guān)鍵詞: 濕度;Proteus ;MCU;傳感器;串口</p><p> Design and realization of Remote Measurement System of Granary Humidity</p><p> ——Lower Computer </p><p><b> Abstract</b&g
12、t;</p><p> China is a large agricultural nation, due to improper storage and caused a lot of food waste, to the country and the people's caused a huge economic losses.Grain storage to the ambient temper
13、ature and humidity requirement is higher, so the granary of the humidity detection is necessary. Early the humidity monitoring of granary is using of hygrometer , it is putting the hygrometer into specific location
14、empirically, multi-point measurements. Management personnel to record data regularly on s</p><p> Key words: Humidity, Proteus, MCU, Sensor, Serial Port </p><p><b> 第一章 緒論</b&g
15、t;</p><p><b> 1.1 課題意義</b></p><p> 全球糧食生產(chǎn)地區(qū)不平衡,糧食儲(chǔ)備也是“貧富不均”。印度正在吃糧倉(cāng)不夠的虧,最近幾年有兩三億人挨餓, 但又有數(shù)千萬(wàn)噸糧食因露天存放不當(dāng)而霉?fàn)€;巴西人沾了儲(chǔ)備充足的光,當(dāng)別的國(guó)家食品價(jià)格上漲五六成時(shí),巴西漲幅只有20%;為糧食儲(chǔ)備投入過(guò)巨資的美國(guó),冷戰(zhàn)后放棄戰(zhàn)略眼光,現(xiàn)在的庫(kù)存小麥“還不夠每
16、個(gè)美國(guó)人吃一小塊餅干”。俄羅斯為保障本國(guó)災(zāi)后有糧,斷然停止谷物出口……二戰(zhàn)后,全球已發(fā)生7次糧荒,每當(dāng)糧食危機(jī)的陰影拉長(zhǎng),糧食儲(chǔ)備就成了各國(guó)比較家底厚薄的一個(gè)重要指標(biāo)。中國(guó)農(nóng)業(yè)問(wèn)題專(zhuān)家李國(guó)祥在接受強(qiáng)調(diào),盡管人類(lèi)農(nóng)業(yè)生產(chǎn)水平越來(lái)越發(fā)達(dá),但大宗糧食生產(chǎn)還是“靠天吃飯”,所以各國(guó)都不敢怠慢糧食儲(chǔ)備。</p><p> 近幾年據(jù)海關(guān)統(tǒng)計(jì)結(jié)果顯示,我國(guó)糧食進(jìn)出口同比均呈下降趨勢(shì),我國(guó)糧食供求開(kāi)始進(jìn)入緊平衡階段。在糧食供給
17、能力逐漸弱化的情況下,我們必須注意到貯存糧食的科學(xué)性和有效性[1]。但是,現(xiàn)實(shí)操作中,由于存儲(chǔ)不當(dāng),造成大量的糧食浪費(fèi),給國(guó)家和人民造成了巨大的經(jīng)濟(jì)損失,糧倉(cāng)的性能成為了糧食質(zhì)量的決定因素。而糧倉(cāng)內(nèi)的濕度是決定的糧倉(cāng)的性能的一大關(guān)鍵因素。</p><p><b> 1.2 課題現(xiàn)狀</b></p><p> 糧倉(cāng)濕度監(jiān)測(cè)屬于監(jiān)控系統(tǒng)范疇。早期糧倉(cāng)的濕度監(jiān)測(cè)主要采
18、用濕度計(jì)測(cè)量法,他是憑經(jīng)驗(yàn)將濕度計(jì)放入多個(gè)特定的位置,多點(diǎn)測(cè)量。管理人員定期現(xiàn)場(chǎng)記錄數(shù)據(jù),在根據(jù)數(shù)據(jù)決定是否倒倉(cāng)。此方法對(duì)糧倉(cāng)濕度監(jiān)測(cè)有一定作用,但由于濕度計(jì)精度、人工讀數(shù)的誤差等因素的制約,糧倉(cāng)經(jīng)常發(fā)生因局部糧食發(fā)霉變質(zhì)所引起大面積壞糧情況。</p><p> 近年來(lái),由于傳感器技術(shù)、計(jì)算機(jī)技術(shù)、超大規(guī)模集成電路技術(shù)和網(wǎng)絡(luò)通信技術(shù)的發(fā)展,使糧倉(cāng)濕度監(jiān)測(cè)計(jì)數(shù)的研究在軟硬件方面都有的一定的進(jìn)展。</p>
19、;<p> 隨著科學(xué)技術(shù)的發(fā)展,糧情監(jiān)測(cè)的準(zhǔn)確性、穩(wěn)定性要求越來(lái)越高。尋找最佳配置和最好的性?xún)r(jià)比成為糧情監(jiān)測(cè)研究的熱點(diǎn)。目前,國(guó)內(nèi)出現(xiàn)了豐富的數(shù)字傳感器及其配套產(chǎn)品,技術(shù)逐漸成熟。</p><p> 1.3 課題設(shè)計(jì)方案</p><p> 現(xiàn)實(shí)生活中常用濕度監(jiān)測(cè)方法主要有兩種:干濕球計(jì)測(cè)濕法和電子式濕度傳感器測(cè)濕法。</p><p> 干濕球
20、測(cè)濕法原理簡(jiǎn)單,但其測(cè)量受到風(fēng)速、溫度計(jì)本身準(zhǔn)確度、大氣壓力測(cè)量準(zhǔn)確度等各種因素的影響[2]。干濕球濕度計(jì)的準(zhǔn)確度只有5%~7%RH;電子式濕度傳感器測(cè)濕法的濕度傳感器的準(zhǔn)確度可以達(dá)到2%~3%RH。但是,濕度傳感器對(duì)使用的環(huán)境溫度有要求,超過(guò)其規(guī)定的使用溫度將對(duì)傳感器造成損壞。</p><p> 現(xiàn)實(shí)中糧倉(cāng)內(nèi)的環(huán)境一般是無(wú)風(fēng)、溫度相對(duì)穩(wěn)定、干凈而且對(duì)濕度監(jiān)測(cè)的要求相對(duì)來(lái)說(shuō)較高。所以本課題設(shè)計(jì)方案采用電子式傳感
21、器測(cè)濕法。</p><p> 普通的電子式傳感器測(cè)濕法采用的濕度傳感器傳出的信號(hào)是模擬信號(hào),然后經(jīng)過(guò)復(fù)雜的電路將濕度信息層層轉(zhuǎn)化,最后通過(guò)數(shù)碼管顯示出來(lái)。這種系統(tǒng)電路極其復(fù)雜,只能單點(diǎn)測(cè)量,并且不能遠(yuǎn)程監(jiān)測(cè),功能擴(kuò)展性差。</p><p> 本設(shè)計(jì)方案選用濕敏電容濕度傳感器HS1101收集濕度信息,利用其濕度—電容特性,將其接在振蕩電路中產(chǎn)生不同的頻率信號(hào)。然后將采集到的頻率信號(hào)傳送到
22、單片機(jī)中,將頻率信號(hào)的頻率值計(jì)算出來(lái)。再將此頻率值與單片機(jī)地址碼一起通過(guò)串口發(fā)送給電腦。然后通過(guò)計(jì)算機(jī)上的LabVIEW軟件對(duì)傳送過(guò)來(lái)的數(shù)據(jù)進(jìn)行處理,將其頻率值,濕度值通過(guò)直觀的圖形化界面實(shí)時(shí)顯示出來(lái)。</p><p> 通過(guò)以上可以看出,本方案的電路極其簡(jiǎn)單。其核心是選用了可編程的單片機(jī)(MCU)系統(tǒng),它將模擬的頻率信號(hào)轉(zhuǎn)化成了數(shù)字信號(hào),而且實(shí)現(xiàn)了分布式系統(tǒng)內(nèi)多個(gè)測(cè)量點(diǎn)的地址的識(shí)別功能,功能擴(kuò)展的話(huà)只需加一些
23、程序和簡(jiǎn)單的電路就能實(shí)現(xiàn)。所以本方案具有一定的創(chuàng)新性。</p><p> 第二章 主要器件及工具</p><p> 2.1 濕度的基本概念</p><p> 濕度,表示大氣干燥程度的物理量。空氣的干濕程度叫做“濕度”。在此意義下,常用絕對(duì)濕度、相對(duì)濕度、比濕以及露點(diǎn)等物理量來(lái)表示。</p><p> 絕對(duì)濕度就是單位體積空氣內(nèi)所含
24、水蒸氣的質(zhì)量,也就是指空氣中水蒸氣的密度。絕對(duì)濕度一般用一立方米空氣中所含水蒸氣的克數(shù)表示。</p><p> 相對(duì)濕度是表示空氣中實(shí)際所含水蒸氣的分壓(PW)和同溫度下飽和水蒸氣的分壓(PN)的百分比,即HT=(PW/PN)T×100%RH。通常,用RH%表示相對(duì)濕度[3]。日常生活中所說(shuō)的空氣濕度,實(shí)際上就是指相對(duì)濕度而言。</p><p> 比濕是融化在空氣中的水的質(zhì)量
25、與濕空氣的質(zhì)量之間的比。若濕空氣與外界無(wú)質(zhì)量交換,且無(wú)相變,則比濕保持不變。</p><p> 露點(diǎn)是空氣濕度達(dá)到飽和時(shí)的溫度。溫度高的氣體,含水蒸氣越多。若將其氣體冷卻,即使其中所含水蒸氣量不變,相對(duì)濕度將逐漸增加,增到某一個(gè)溫度時(shí),相對(duì)濕度達(dá)100%,呈飽和狀態(tài),再冷卻時(shí),蒸氣的一部分凝聚生成露,把這個(gè)溫度稱(chēng)為露點(diǎn)溫度。</p><p> 濕度在生活中是一個(gè)極其重要的概念,濕度監(jiān)測(cè)
26、廣泛應(yīng)用于各領(lǐng)域,比如氣象學(xué)和水文學(xué)、醫(yī)學(xué)、生物學(xué)、儲(chǔ)藏和生產(chǎn)、農(nóng)業(yè)和林業(yè)、建筑等等。</p><p> 2.2 濕度傳感器 </p><p> 要較好的測(cè)量糧倉(cāng)濕度,選好濕度傳感器是十分重要的。</p><p> 濕敏元件是最簡(jiǎn)單的濕度傳感器。濕敏元件主要有電阻式、電容式兩大類(lèi)。 </p><p> 濕敏電阻:其特點(diǎn)是在基片上覆蓋
27、一層用感濕材料制成的膜,當(dāng)空氣中的水蒸氣吸附在感濕膜上時(shí),元件的電阻率和電阻值都發(fā)生變化,利用這一特性即可測(cè)量濕度。濕敏電阻的優(yōu)點(diǎn)是靈敏度高,主要缺點(diǎn)是線(xiàn)性度和產(chǎn)品的互換性差。</p><p> 濕敏電容:當(dāng)環(huán)境濕度發(fā)生改變時(shí),濕敏電容的介電常數(shù)發(fā)生變化,使其電容量也發(fā)生變化,其電容變化量與相對(duì)濕度成正比。濕敏電容的主要優(yōu)點(diǎn)是靈敏度高、產(chǎn)品互換性好、響應(yīng)速度快、濕度的滯后量小、便于制造、容易實(shí)現(xiàn)小型化和集成化,
28、但其精度一般比濕敏電阻要低一些[4]。</p><p> 所以,我們選擇濕敏電容作為本系統(tǒng)的濕度傳感器。國(guó)外生產(chǎn)濕敏電容的主廠(chǎng)家有Humirel公司、Philips公司、Siemens公司等。其中以Humirel公司生產(chǎn)的HS1101型濕敏電容最為經(jīng)典。</p><p> 其測(cè)量范圍是(1%~99%)RH,在55%RH時(shí)的電容量為180pF(典型值)。當(dāng)相對(duì)濕度從0變化到100%時(shí),電
29、容量的變化范圍是163pF~202pF。溫度系數(shù)為0.04pF/℃,濕度滯后量為±1.5%,響應(yīng)時(shí)間為5s[5]。</p><p> 其濕度-電容響應(yīng)曲線(xiàn)如圖2.1所示。</p><p> 圖2.1 HS1101濕度-電容響應(yīng)曲線(xiàn)</p><p> 根據(jù)HS1101以上特性,我們就可以將其作為電容與典型的555振蕩電路連接,從而實(shí)現(xiàn)濕度電容頻率的轉(zhuǎn)
30、換。典型的555振蕩電路如圖2.2所示[6]。</p><p> 圖2.2 典型555電路</p><p><b> 2.3 微控制器</b></p><p> 555振蕩電路產(chǎn)生的頻率信號(hào)并不能直接被電腦識(shí)別,因此,我們就需要用微控制器將其頻率值測(cè)量出來(lái),然后再加上測(cè)量點(diǎn)的信息(用單片機(jī)地址碼表示),以數(shù)據(jù)包的形式通過(guò)串口傳給電腦。
31、要實(shí)現(xiàn)單片機(jī)測(cè)頻的功能,我們需要用到三個(gè)定時(shí)器分別實(shí)現(xiàn)定時(shí)、計(jì)數(shù)和波特率發(fā)生的功能。然而早期的51系列單片機(jī)只有兩個(gè)定時(shí)器。經(jīng)過(guò)比較,我們選用SST89E516RD型單片機(jī)。</p><p> SST89E516RD單片機(jī)可靠性高,價(jià)格低廉,軟硬件完全兼容8051/52系列單片機(jī),原有資源均可使用。其內(nèi)部有三個(gè)定時(shí)器,最高工作頻率可達(dá)40MHz,內(nèi)部具有64K+8KB的FALSH ROM存儲(chǔ)器,可反復(fù)讀寫(xiě)超過(guò)
32、十萬(wàn)次。在應(yīng)用中基本無(wú)需再擴(kuò)展程序儲(chǔ)存器。此外內(nèi)部數(shù)據(jù)RAM達(dá)1K字節(jié),能滿(mǎn)足大多數(shù)應(yīng)用,比標(biāo)準(zhǔn)51機(jī)的RAM大8倍[7]。</p><p> 因其軟硬件完全兼容8051/52系列單片機(jī),其引腳功能同8051/52系列單片機(jī)的引腳功能相同,所以本文不再對(duì)其引腳功能贅述。其引腳圖如圖2.3所示。</p><p><b> 圖2.3 管腳圖</b></p>
33、;<p> 2.4 集成開(kāi)發(fā)環(huán)境Keil</p><p> 單片機(jī)要實(shí)現(xiàn)預(yù)定的功能除必要的硬件外,同樣離不開(kāi)軟件的支撐。軟件的編寫(xiě)一般有匯編語(yǔ)言和C語(yǔ)言。匯編語(yǔ)言的執(zhí)行效率高,但是編程的要求高,難度大,不易調(diào)試。C語(yǔ)言雖然執(zhí)行效率不及匯編語(yǔ)言,但是C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用[8]。因此,本系統(tǒng)的軟件設(shè)計(jì)就選擇C語(yǔ)言。經(jīng)過(guò)比較,我們選擇Keil C51來(lái)
34、完成單片機(jī)的軟件調(diào)試。</p><p> Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng)。其生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。</p><p> Keil C51可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件
35、。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件 (.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序存貯器如EPROM中。</p><p> 2.5 EDA軟件Proteus<
36、;/p><p> Keil C51雖然很強(qiáng)大,但是其只能對(duì)單片機(jī)系統(tǒng)進(jìn)行很好的調(diào)試與仿真。但是,單片機(jī)系統(tǒng)只是我們系統(tǒng)設(shè)計(jì)中的一部分,對(duì)于整個(gè)系統(tǒng)的調(diào)試與仿真來(lái)說(shuō),Keil C51就會(huì)無(wú)能為力了。所以,我們還需要一款強(qiáng)大的EDA工具來(lái)對(duì)整個(gè)電路系統(tǒng)來(lái)進(jìn)行模擬。經(jīng)過(guò)比較,我們選擇了Proteus。</p><p> Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到
37、單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器[9
38、]。</p><p> 通過(guò)Proteus和Keil軟件通信,使開(kāi)發(fā)者在只有一臺(tái)微機(jī)的條件下,就能實(shí)現(xiàn)對(duì)整個(gè)單片機(jī)應(yīng)用系統(tǒng)的軟硬件仿真。</p><p><b> 第三章 總體設(shè)計(jì)</b></p><p><b> 3.1 設(shè)計(jì)思路</b></p><p> 本方案的設(shè)計(jì)思路是:首先,通
39、過(guò)濕度傳感器采集數(shù)據(jù),然后通過(guò)單片機(jī)進(jìn)行處理,每個(gè)單片機(jī)都有一個(gè)不同的地址碼,代表不同的測(cè)量點(diǎn),最后將濕度信息及其地址碼通過(guò)串口直接傳給計(jì)算機(jī)。</p><p> 根據(jù)以上思路,本課題的具體實(shí)現(xiàn)方法采用下面的方法實(shí)現(xiàn)。</p><p> 利用HS1101的濕度-電容特性,將其接在555振蕩電路中充當(dāng)可變電容,產(chǎn)生不同的頻率信號(hào)。然后將采集到的頻率傳送到單片機(jī)中,將頻率信號(hào)的頻率值計(jì)算出
40、來(lái),再將其頻率值與地址碼一起通過(guò)串口發(fā)送給電腦。然后通過(guò)計(jì)算機(jī)上的LabVIEW軟件對(duì)傳送過(guò)來(lái)的數(shù)據(jù)進(jìn)行處理。</p><p> 根據(jù)以上實(shí)現(xiàn)方法,可以畫(huà)出直觀的系統(tǒng)構(gòu)架圖,如圖3.1所示。</p><p><b> 圖3.1 系統(tǒng)構(gòu)架</b></p><p><b> 3.2 總體設(shè)計(jì)</b></p>
41、<p> 根據(jù)系統(tǒng)總體構(gòu)架圖可知,本系統(tǒng)的設(shè)計(jì)可以硬件設(shè)計(jì)部分和軟件設(shè)計(jì)部分。</p><p> 3.2.1 硬件設(shè)計(jì)部分</p><p><b> 1. 頻率采集模塊</b></p><p> HS1101濕度傳感器是一種基于電容原理的濕度傳感器,相對(duì)濕度的變化和電容值呈現(xiàn)一定的變化關(guān)系。因此,我們利用濕度傳感器HS1
42、101的濕度-電容特性,將濕度傳感器HS1101作為電容連接在555振蕩電路中,通過(guò)振蕩電路,將采集到的濕度信號(hào)轉(zhuǎn)化成頻率信號(hào),再將頻率信號(hào)傳輸?shù)絊ST89E516RD單片機(jī)中。</p><p> 這一模塊實(shí)現(xiàn)的功能是完成濕度到頻率的轉(zhuǎn)換,完成頻率數(shù)據(jù)的采集功能。</p><p> 2. 單片機(jī)測(cè)頻模塊</p><p> 555振蕩電路產(chǎn)生的頻率信號(hào)傳輸?shù)絾纹?/p>
43、機(jī)后,單片機(jī)啟動(dòng)定時(shí)器與中斷控制,將接收到的頻率信號(hào)的頻率測(cè)量出來(lái),然后加上本機(jī)的地址碼以及數(shù)據(jù)包頭,形成一個(gè)數(shù)據(jù)包。然后,以?xún)擅朊看蔚念l率通過(guò)串口將數(shù)據(jù)包傳輸?shù)接?jì)算機(jī)上。</p><p> 這一模塊實(shí)現(xiàn)的功能是測(cè)量555振蕩電路產(chǎn)生的頻率信號(hào)的頻率值,然后再加上單片機(jī)識(shí)別信息等發(fā)送給計(jì)算機(jī)。</p><p> 3.2.2 軟件設(shè)計(jì)部分</p><p> 本
44、系統(tǒng)的設(shè)計(jì)用到了單片機(jī),而單片機(jī)開(kāi)發(fā)中除必要的硬件外,還必須要有軟件的支撐。所以,本系統(tǒng)的軟件設(shè)計(jì)部分也是十分有必要的。</p><p> 通觀本系統(tǒng),只有單片機(jī)需要程序的支持,其余都是利用器件的物理特性。所以,本系統(tǒng)的軟件設(shè)計(jì),就是對(duì)單片機(jī)測(cè)頻并輸出部分的設(shè)計(jì)。</p><p> 要實(shí)現(xiàn)此功能我們要用到三個(gè)定時(shí)器:T0對(duì)頻率信號(hào)進(jìn)行計(jì)數(shù),T1對(duì)計(jì)數(shù)時(shí)間進(jìn)行定時(shí),T2負(fù)責(zé)對(duì)數(shù)據(jù)輸出的波
45、特率進(jìn)行設(shè)置,使其發(fā)送與端口的接收同步。三個(gè)定時(shí)其互相配合,共同完成測(cè)頻并輸出數(shù)據(jù)的功能。</p><p> 此部分的時(shí)序圖和邏輯結(jié)構(gòu)圖分別如圖3.2和圖3.3所示。</p><p> 圖3.2 時(shí)序結(jié)構(gòu)</p><p> 圖3.3 邏輯結(jié)構(gòu)</p><p><b> 第四章 詳細(xì)設(shè)計(jì)</b></p&
46、gt;<p> 遠(yuǎn)程糧倉(cāng)濕度監(jiān)測(cè)系統(tǒng)(下位機(jī)部分)的詳細(xì)設(shè)計(jì)可以分為系統(tǒng)硬件設(shè)計(jì)部分和軟件設(shè)計(jì)部分。</p><p><b> 4.1 硬件設(shè)計(jì)</b></p><p> 4.1.1 頻率采集模塊</p><p> HS1101測(cè)量濕度采用將HS1101置于555振蕩電路中,相當(dāng)于一個(gè)可變電容器C。由此,將電容值的變化
47、轉(zhuǎn)換成電壓值不斷變化的頻率信號(hào),可以直接被微處理器采集。</p><p> 555定時(shí)器模塊的電路設(shè)圖如圖2.2所示。</p><p> 555芯片與其電阻R1,R2、HS1101相接,構(gòu)成對(duì)HS1101(等效電容)的充電回路。7端通過(guò)芯片內(nèi)部的晶體管對(duì)地短路實(shí)現(xiàn)對(duì)HS1101的放電回路,并將引腳2,6端相連引入到片內(nèi)比較器,構(gòu)成一個(gè)多諧波振蕩器。</p><p&g
48、t; HS1101作為電容變量接在555定時(shí)器的TRIG與THRES兩引腳上,引腳7用作電阻R1的短路。等量電容HS1101通過(guò)R1與R2充電到門(mén)限電壓(約0.67Vcc,時(shí)間記為T(mén)high),通過(guò)R2放電到觸發(fā)電平(約0.33Vcc,時(shí)間記為T(mén)low),然后R1通過(guò)引腳7短路到地。傳感器由不同的電阻R1與R2充放電,電阻R4是做內(nèi)部溫度補(bǔ)償,目的是為了引入溫度效應(yīng),使它與HS1101的溫度效應(yīng)相匹配。R4必須象所有的R.C時(shí)鐘電阻的
49、要求一樣,1%的精度,最大的溫度效應(yīng)應(yīng)該小于100ppm。由于不同型號(hào)的555的內(nèi)部溫度補(bǔ)償有所不同,R4的值必須與特定的芯片相匹配。</p><p> 其工作循環(huán)可以描述如下:</p><p> Thigh=C *(R1+R2)*ln2</p><p> Tlow=C *R2*ln2</p><p> F=1/(Thigh+Tlow
50、)=1/(C@%RH*(R1+2*R2)*ln2)</p><p> 由此可以看出,空氣相對(duì)濕度與555芯片輸出頻率存在一定線(xiàn)性關(guān)系??梢酝ㄟ^(guò)微處理器采集555定時(shí)器電路的頻率,然后查表即可得出相對(duì)濕度值。</p><p> 4.1.2 單片機(jī)測(cè)頻模塊</p><p><b> 1. 時(shí)鐘電路</b></p><p&
51、gt; SST89E516RD片內(nèi)設(shè)有一個(gè)由反向放大器所構(gòu)成的振蕩電路,XTAL1和XTAL2分別為振蕩電路的輸入端和輸出端。時(shí)鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。此系統(tǒng)選用內(nèi)部時(shí)鐘電路方式。此方式,在XTAL1和XTAL2引腳上外接定時(shí)元件,內(nèi)部振蕩電路就產(chǎn)生自激振蕩。定時(shí)元件經(jīng)常采用石英晶體和電容組成的并聯(lián)諧振電路。晶體可以在1.2MHZ~12MHZ之間選擇,電容值在50PF~30PF之間選擇,電容的大小可以起頻率微調(diào)的作用[10
52、],其電路圖如圖4.1所示:</p><p> 圖4.1 時(shí)鐘振蕩電路</p><p><b> 2. 復(fù)位電路</b></p><p> 單片機(jī)的復(fù)位電路原理是在RESET輸入端出現(xiàn)高電平來(lái)實(shí)現(xiàn)復(fù)位和初始化。</p><p> 本復(fù)位電路如圖4.2所示。加電瞬間,RST端的電平與VCC相同,隨著RC電路充電電
53、流的減小,RST端的電位逐漸下降。只要RST端保持兩個(gè)機(jī)器周期的高電平,單片機(jī)就能有效復(fù)位。在單片機(jī)啟動(dòng)后,RST處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時(shí)候,開(kāi)關(guān)導(dǎo)通,這個(gè)時(shí)候電容兩端形成了一個(gè)回路,電容被短路,電容開(kāi)始釋放之前充的電量。隨著時(shí)間的推移,電容的電壓在從5V釋放到變?yōu)榱?.5V,甚至更小,RST引腳又接收到高電平。單片機(jī)系統(tǒng)自動(dòng)復(fù)位。</p><p> 圖4.2 系統(tǒng)復(fù)位電路</p>
54、;<p><b> 3. 單片機(jī)地址碼</b></p><p> P1口是一個(gè)帶有內(nèi)部上拉電阻的8位準(zhǔn)雙向口,做通用的I/O口使用。本系統(tǒng)的單片機(jī)地址碼設(shè)計(jì)就是應(yīng)用P1口作為輸入線(xiàn)使用的情況,單片機(jī)P1口置1后,再將其八個(gè)口接8位撥碼開(kāi)關(guān),再將其接地。從而控制P1口各位的輸入電平。單片機(jī)讀入P1口正確的數(shù)據(jù)信息后,再將其作為地址碼發(fā)送出去。如圖4.3所示。</p>
55、;<p> 圖4.3 地址碼設(shè)計(jì)圖</p><p> 根據(jù)硬件系統(tǒng)的各個(gè)模塊的設(shè)計(jì),我們最終可以完成了整個(gè)系統(tǒng)硬件的總體設(shè)計(jì)。本設(shè)計(jì)的電器原理圖詳見(jiàn)附錄一。</p><p><b> 4.2 軟件設(shè)計(jì)</b></p><p> 對(duì)于單片機(jī)系統(tǒng),硬件是它的骨骼,那么軟件就是它的核心靈魂。由此可見(jiàn),系統(tǒng)的軟件設(shè)計(jì)部分是本課
56、題最重要的步驟之一。</p><p> 4.2.1 主體設(shè)計(jì)思想</p><p> 本系統(tǒng)要實(shí)現(xiàn)濕度的測(cè)量用到了一個(gè)轉(zhuǎn)化關(guān)系,即將不可直接測(cè)量的物理量轉(zhuǎn)化成可被電子設(shè)備識(shí)別的物理量。我們首先將濕度信號(hào)轉(zhuǎn)化成頻率信號(hào),然后將頻率信號(hào)測(cè)頻,再加上單片機(jī)地址碼以數(shù)據(jù)包的形式發(fā)送給電腦,進(jìn)而進(jìn)行直觀的顯示。</p><p> 系統(tǒng)主體設(shè)計(jì)思想框圖如圖4.4所示:&l
57、t;/p><p> 圖4.4 系統(tǒng)主體設(shè)計(jì)思想</p><p> 4.2.2 單片機(jī)測(cè)頻模塊軟件設(shè)計(jì)</p><p> 由系統(tǒng)主體設(shè)計(jì)思想框圖可以看出,本系統(tǒng)下位機(jī)部分的軟件編程設(shè)計(jì),就是對(duì)單片機(jī)測(cè)頻模塊的軟件編程設(shè)計(jì)。本模塊的實(shí)現(xiàn),可以分解成幾個(gè)分功能模塊設(shè)計(jì):定時(shí)器設(shè)計(jì)、計(jì)數(shù)器設(shè)計(jì)、串口波特率設(shè)計(jì)以及單片機(jī)地址碼設(shè)計(jì)。</p><p&g
58、t; 由此可知,我們要用到T0、T1、T2三個(gè)定時(shí)器、P1口以及串口。我們可以把T0最為計(jì)數(shù)器模塊,頻率信號(hào)由T0口輸入:T1作為定時(shí)器模塊:T2作為波特率發(fā)生器模塊,控制并同步串口之間的通信:P1口作為地址碼的輸入端,識(shí)別地址碼;串口發(fā)送數(shù)據(jù)包。</p><p> 要實(shí)現(xiàn)以上功能,我們首先做出系統(tǒng)的主函數(shù)的程序流程圖,如圖4.5所示。</p><p> 圖4.5 主函數(shù)流程圖&l
59、t;/p><p> 接著,我們就要進(jìn)行各功能模塊的詳細(xì)設(shè)計(jì)。以下只是給出了實(shí)現(xiàn)各模塊功能的詳細(xì)設(shè)計(jì)方法及其流程圖,具體的程序代碼詳見(jiàn)附錄二。</p><p> 首先,T0、T1功能的實(shí)現(xiàn)需要由工作方式寄存器TMOD來(lái)控制。</p><p> 工作方式寄存器TMOD用于設(shè)置定時(shí)/計(jì)數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如圖4.6所示。</p&g
60、t;<p> 圖4.6 TMOD寄存器</p><p> 所以我們可以設(shè)定設(shè)定定時(shí)器T1為8位自動(dòng)重裝計(jì)數(shù)器,用于門(mén)控定時(shí);定時(shí)器T0為16位計(jì)數(shù)器,P3.4(T0口)用于對(duì)外部時(shí)鐘計(jì)數(shù)。代碼如下:</p><p> TMOD=0x25;</p><p> 設(shè)定完成后就開(kāi)始執(zhí)行定時(shí)器的中斷函數(shù)了。</p><p>
61、T0、T1的中斷函數(shù)流程圖如圖4.7、圖4.8所示。</p><p> 圖4.7 T0中斷函數(shù) 圖4.8 T1中斷函數(shù)</p><p> 其次,T2功能的實(shí)現(xiàn)由T2CON緩存器控制?!?lt;/p><p> T2是一個(gè)16 位定時(shí)/計(jì)數(shù)器。它既可當(dāng)定時(shí)器使用,也可作為外部事件計(jì)數(shù)器使用,其工作方式由特殊功能寄存器T2CON的C/T2位選擇。如圖
62、4.9所示。</p><p> 圖4.9 T2CON緩存器</p><p> 定時(shí)器2 有三種工作方式:捕獲方式,自動(dòng)重裝載(向上或向下計(jì)數(shù))方式和波特率發(fā)生器方式,工作方式由T2CON 的控制位來(lái)選擇。如表4.1所示。</p><p> 表4.1 T2CON 的控制位</p><p> T2被規(guī)劃為波特率發(fā)生器,由設(shè)定T2CON
63、緩存器的位TCLK與RCLK,當(dāng)TCLK=1傳輸速度由TIMER2所控制,若RCLK=1接收速率由TMER2所控制。注意其發(fā)送或接收的鮑率是可以不同的,如果TCLK=1,RCLK=0,傳輸速度由TIMER2控制,接收速率由TIMER1控制。</p><p> 波特率=振蕩頻率/(32*(65536.(RCP2H,RCP2L))),式中RCAP2H,RCAP2L是RCAP2H和RCAP2L中的16位無(wú)符號(hào)數(shù)。&l
64、t;/p><p> 所以我們可以設(shè)定T2作波特率發(fā)生器,波特率19.2kbps。設(shè)定完成后開(kāi)始執(zhí)行T2定時(shí)器的中斷函數(shù)。代碼如下:</p><p> T2CON=0x30; RCAP2H=0xff; RCAP2L=0xee; </p><p> T2的中斷函數(shù)流程圖如圖4.10所示。</p><p> 圖4.10 T2中斷函
65、數(shù)</p><p> 然后,P1口是一個(gè)帶有內(nèi)部上拉電阻的8位準(zhǔn)雙向口,做通用的I/O口使用。P1口作為輸入線(xiàn)使用的情況,單片機(jī)P1口置1。由于單片機(jī)默認(rèn)的就是P1口為高電平,所以不用特意置1,只要把各位的電平信息發(fā)送給SBUF就可以了。</p><p> 所以我們可以設(shè)定將P1口的信息送給SBUF的第二個(gè)字節(jié),等待SBUF輸出就可以了。代碼如下:</p><p&g
66、t; *(unsigned char *)(SendData+1)=P1;</p><p> 最后,我們?cè)O(shè)定串口的工作方式由控制寄存器SCON設(shè)定。</p><p> 串行接口控制寄存器SCON是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志,如圖4.11所示。</p><p> 圖4.11 SCON寄存器</p>
67、<p> SM0和SM1為工作方式選擇位,可選擇四種工作方式。由于我們要發(fā)送的數(shù)據(jù)包為:一個(gè)包頭(需要一個(gè)字節(jié)),單片機(jī)地址碼(需要一個(gè)字節(jié))和頻率值(需要兩個(gè)字節(jié)),所以一共需要四個(gè)字節(jié)。由此我們選擇方式1。</p><p> 所以我們可以設(shè)定串口工作方式為方式1。設(shè)定完成后開(kāi)始執(zhí)行串口的中斷函數(shù)。代碼如下:</p><p> SCON=0x40;</p>
68、<p> T1的中斷函數(shù)如圖4.12所示。</p><p> 圖4.12 串口中斷函數(shù)</p><p> 第五章 仿真與實(shí)現(xiàn)</p><p> 設(shè)計(jì)完成后,緊接著要進(jìn)行系統(tǒng)的軟件模擬仿真,然后就是硬件的制作與調(diào)試,直至系統(tǒng)最終實(shí)現(xiàn)。 </p><p><b> 5.1 模擬仿真</b>&
69、lt;/p><p> 軟件的模擬仿真,就是用軟件模擬并實(shí)現(xiàn)整個(gè)下位機(jī)系統(tǒng)。首先,我們要用Keil實(shí)現(xiàn)下位機(jī)系統(tǒng)的軟件調(diào)試。然后,我們使用Proteus實(shí)現(xiàn)整個(gè)硬件電路的仿真。最后,我們使用這兩個(gè)軟件聯(lián)合通信,搭建成一個(gè)完整的模擬平臺(tái)。它們之間互相通信的流程示意圖如圖5.1所示。</p><p> 圖5.1 軟件間通信</p><p> 5.1.1 Keil的調(diào)
70、試</p><p> 我們首先打開(kāi)Keil,新建一個(gè)工程文件。文件建好后,選擇芯片,再利用“新建文件”圖標(biāo)新建一個(gè)文檔,把代碼寫(xiě)好,保存為“濕度.c”,再把此文件加載到“Source Group 1”里。緊接著,我們生成目標(biāo)文件,如果有錯(cuò)誤會(huì)出現(xiàn)界面如圖5.2所示。</p><p> 圖5.2 錯(cuò)誤提示界面</p><p> 表明,在“TL1”附近存在錯(cuò)誤,
71、目標(biāo)文件生成失敗。我們就可以根據(jù)提示在TL1附近找到錯(cuò)誤并修改。完成后再利用“建立目標(biāo)文件”按鈕生成目標(biāo)文件,如果目標(biāo)文件生成成功,且無(wú)錯(cuò)誤,就會(huì)出現(xiàn)界面如圖5.3所示</p><p> 圖5.3 目標(biāo)文件生成成功</p><p> 目標(biāo)文件生成成功以后,我們可以利用“調(diào)試”按鈕來(lái)進(jìn)行調(diào)試。調(diào)試成功后,我們可以通過(guò)設(shè)置斷點(diǎn)來(lái)試試查看各部分的運(yùn)行結(jié)果,這樣可以找到程序錯(cuò)誤的具體位置。&
72、lt;/p><p> 設(shè)置斷點(diǎn)的方法是在要設(shè)置斷點(diǎn)的左邊雙擊,點(diǎn)擊運(yùn)行按鈕,程序就會(huì)執(zhí)行到斷點(diǎn)的地方停止,此時(shí)我們只要在“watches”窗口里輸入要查看結(jié)果的地址,就可以查看結(jié)果了,如圖5.4所示。</p><p> 圖5.4 斷點(diǎn)執(zhí)行結(jié)果</p><p> 此部分運(yùn)行結(jié)果無(wú)誤后我們?cè)谠O(shè)置斷點(diǎn)的地方點(diǎn)擊三下,就可以取消斷點(diǎn)了。以此方法我們可以實(shí)現(xiàn)每一部分的調(diào)試
73、。程序調(diào)試完成后,我們就要進(jìn)行系統(tǒng)硬件的模擬仿真了。</p><p> 5.1.2 Proteus 的電路模擬</p><p> 打開(kāi)Proteus 軟件,我們可以通過(guò)“P”按鈕來(lái)實(shí)現(xiàn)庫(kù)元件的選擇。選好原件后,點(diǎn)擊確定,庫(kù)元件就加載好了。我們選定剛才所選原件然后在繪圖區(qū)域單機(jī)就可以了。</p><p> 當(dāng)然,左側(cè)的工具欄還有很多模式和儀器供我們選擇。<
74、;/p><p> 當(dāng)我們?cè)歼x好并按照電路設(shè)計(jì)圖接好后,電路圖的設(shè)計(jì)就完成了。</p><p> 電路圖完成后,我們就可以。點(diǎn)擊“運(yùn)行”按鈕進(jìn)行模擬仿真了。如果設(shè)計(jì)圖有錯(cuò)誤,就會(huì)出現(xiàn)畫(huà)面如圖5.5所示。</p><p> 圖5.5 錯(cuò)誤提示界面</p><p> 我們就可以按著他的提示,到電路圖中去找錯(cuò)誤,然后進(jìn)行修改。直至成功。成功
75、后,會(huì)出現(xiàn)界面如圖5.6所示。</p><p> 圖5.6 仿真成功</p><p> 5.1.3 Keil與Proteus的聯(lián)合仿真</p><p> Keil與Proteus單獨(dú)調(diào)試與仿真都成功以后,下一步,我們就要進(jìn)行兩者的聯(lián)合仿真。</p><p> 首先,打開(kāi)Keil軟件,對(duì)工程文件的輸出進(jìn)行設(shè)置。我們需要勾選“Crea
76、te HEX Fill”選項(xiàng),目的是,當(dāng)我們生成的目標(biāo)文件中含有單片機(jī)的可執(zhí)行文件。以便電路仿真時(shí),單片機(jī)能夠執(zhí)行其設(shè)計(jì)的功能。</p><p> 其次,打開(kāi)Proteus軟件的設(shè)計(jì)圖,雙擊單片機(jī),把Keil生成的可執(zhí)行文件加載進(jìn)去。進(jìn)行完以上步驟后,我們就可以開(kāi)始模擬仿真了。點(diǎn)擊運(yùn)行我們就看到了模擬結(jié)果。頻率采集模塊產(chǎn)生的頻率信號(hào)波形圖如圖5.7所示。</p><p><b>
77、; 圖5.7 波形圖</b></p><p> 撥碼開(kāi)關(guān)的位置如圖5.8所示,可以看出此時(shí)的P1口輸入用十六進(jìn)制表示為15。</p><p><b> 圖5.8 地址碼</b></p><p> 虛擬串口收到的數(shù)據(jù)如圖5.9所示。</p><p> 圖5.9 模擬結(jié)果</p>&
78、lt;p> 可以看到接收的數(shù)據(jù)與預(yù)期基本一致,表明此次的模擬仿真是成功的。</p><p> 5.1.4 串口的調(diào)試</p><p> Keil與Proteus聯(lián)合模擬仿真成功了,并不能代表我們的系統(tǒng)就完全正確,我們還要查看串口是否真正接收到數(shù)據(jù),但是在模擬的情況下,物理串口并不能接收到數(shù)據(jù)。所以,我們需要用虛擬串口來(lái)測(cè)試。要?jiǎng)?chuàng)建虛擬串口,就要用到一款叫做VSPD的軟件。&l
79、t;/p><p> 首先,我們用VSPD創(chuàng)建兩個(gè)虛擬串口我沒(méi)可以點(diǎn)擊“添加端口”來(lái)添加虛擬串口。創(chuàng)建完成后,就可以看到虛擬的串口COM3和COM4了,如圖5.10所示:</p><p> 圖5.10 虛擬串口創(chuàng)建成功</p><p> 然后,打開(kāi)設(shè)計(jì)好的模擬電路圖,雙擊串口原件,出現(xiàn)配置窗口,物理串口項(xiàng)我們選擇COM3口,波特率選擇19200(與程序中設(shè)定的波特
80、率一致)。</p><p> 最后,我們打開(kāi)串口調(diào)試助手,將的串口設(shè)為COM4,波特率和Proteus的一致。完成后,運(yùn)行Keil與Proteus的平臺(tái),觀察接收區(qū)的數(shù)據(jù),如圖5.11所示。</p><p> 圖5.11 接收的數(shù)據(jù)</p><p> 可以看到,此刻串口已經(jīng)接收到Proteus發(fā)來(lái)的數(shù)據(jù),接收到的數(shù)據(jù)與模擬調(diào)試的結(jié)果基本一致。</p&g
81、t;<p> 到此刻,我們已經(jīng)成功的完成了所有的軟件模擬與仿真。而且,結(jié)果表明,我們對(duì)于本方案的設(shè)計(jì)理論上完全正確。接著我們就要進(jìn)行系統(tǒng)的硬件實(shí)現(xiàn)了。</p><p><b> 5.2 硬件實(shí)現(xiàn)</b></p><p> 首先,我們仔細(xì)對(duì)照器件管腳圖和電器原理圖對(duì)硬件布局進(jìn)行細(xì)致的規(guī)劃。然后我們首先焊接好濕度采集部分,也即555電路部分。焊接完成
82、后,首先進(jìn)行電路連通性檢查,確定無(wú)短路和斷路的地方。然后接通電源,將其頻率輸出端接在示波器上觀察波形。一開(kāi)始可能有沒(méi)有信號(hào)現(xiàn)象,一般是電路連接錯(cuò)誤或者接觸不良所致,只要我們耐心檢查,一定能成功的。示波器的波形如圖5.12所示,如果我們對(duì)著HS1101哈氣或者吹干風(fēng),就會(huì)看到其頻率值也會(huì)相應(yīng)的變化。至此,我們的濕度采集部分電路是成功的。</p><p> 圖5.12 波形圖</p><p&g
83、t; 然后,我們就要焊接單片機(jī)測(cè)量頻率的部分。同樣的,完成后進(jìn)行電路連通性檢查。完畢后,將其與Keil聯(lián)機(jī),我們?cè)僭诎l(fā)送中斷打開(kāi)的地方設(shè)置斷點(diǎn),然后查看”SendData”里的數(shù)據(jù),查看后兩個(gè)字節(jié)是否接收到數(shù)據(jù)。要是沒(méi)有的話(huà),就要檢查程序或者電路接觸不良的問(wèn)題。成功后接收到數(shù)據(jù)的界面如圖5.13所示,可以看到單片機(jī)接收到的頻率和示波器上的數(shù)據(jù)基本一致(少許誤差是由于示波器的誤差)。</p><p> 圖5.1
84、3 接收到數(shù)據(jù)</p><p> 以上完成后,我們要進(jìn)行串口調(diào)試部分。將電路板與Keil聯(lián)機(jī)調(diào)試完成后,將程序下載到單片機(jī)中。為了防止串口被占用,我們先關(guān)閉Keil,然后打開(kāi)串口調(diào)試工具,將其串口及其波特率與數(shù)據(jù)發(fā)送波特率設(shè)置一致,然后觀察接收區(qū)。接收區(qū)有數(shù)據(jù)后,仔細(xì)觀察其就收數(shù)據(jù)包是否與程序設(shè)計(jì)一致,如果數(shù)據(jù)不正確就要查看程序的設(shè)計(jì)是否有誤,確定正確后再試,直至成功。成功后,可以看到接收到的數(shù)據(jù)偶爾有少許變
85、動(dòng),這是由于環(huán)境和器件的影響所導(dǎo)致,只要其變動(dòng)在一定的范圍內(nèi),均可認(rèn)為正常的,成功后如圖5.14所示。</p><p> 圖5.14 串口接收數(shù)據(jù)</p><p> 接下來(lái),我們把正確的程序燒錄到單片機(jī)中,這樣只要單片機(jī)加電,系統(tǒng)就能自動(dòng)運(yùn)行。完成后,將下位機(jī)系統(tǒng)與上位機(jī)系統(tǒng)聯(lián)機(jī)運(yùn)行,成功后結(jié)果如圖5.15所示。</p><p> 圖5.15 聯(lián)合運(yùn)行&l
86、t;/p><p> 至此,系統(tǒng)的仿真與實(shí)現(xiàn)全部完成。</p><p> 第六章 系統(tǒng)設(shè)計(jì)總結(jié)</p><p> 本系統(tǒng)主要是針對(duì)糧倉(cāng)的濕度監(jiān)測(cè)而設(shè)計(jì)的。本系統(tǒng)具有電路簡(jiǎn)單、可編程、可實(shí)時(shí)多點(diǎn)監(jiān)控等優(yōu)點(diǎn)。因此,本系統(tǒng)可在工農(nóng)業(yè)生產(chǎn)、氣象、環(huán)保、國(guó)防、科研、航天等部門(mén)大力推廣應(yīng)用。此外,此系統(tǒng)還可以廣泛應(yīng)用于需要實(shí)時(shí)精確監(jiān)控,條件惡劣、人員不便進(jìn)入的場(chǎng)合。所以說(shuō),本
87、系統(tǒng)的應(yīng)用前景非常廣泛。</p><p> 但是本系統(tǒng)設(shè)計(jì)也存在一些不足。</p><p> 首先,因時(shí)間倉(cāng)促,導(dǎo)致學(xué)習(xí)軟件不夠深入,系統(tǒng)在設(shè)計(jì)過(guò)程中,難免存在疏漏。在系統(tǒng)設(shè)計(jì)的不夠縝密,程序?qū)懙牟粔驀?yán)密。以后應(yīng)該在實(shí)踐中加強(qiáng)學(xué)習(xí)。</p><p> 其次,本系統(tǒng)只是針對(duì)恒溫條件下濕度的監(jiān)測(cè),而現(xiàn)實(shí)生活中,溫度是有變化的。隨著溫度的變化,濕度的測(cè)量就會(huì)有偏差。
88、后續(xù)的設(shè)計(jì)中可以加入溫度的監(jiān)測(cè),這樣的出的數(shù)據(jù)更精確。</p><p> 再次,本監(jiān)測(cè)系統(tǒng)的所設(shè)計(jì)的硬件電路過(guò)于簡(jiǎn)單,只是測(cè)量了濕度,但是對(duì)于一定的正常的或者危險(xiǎn)的濕度范圍沒(méi)有做很好的界定,及其報(bào)警系統(tǒng)。在以后的設(shè)計(jì)中,我們還可以加上報(bào)警系統(tǒng)。</p><p> 最后,本系統(tǒng)只是監(jiān)測(cè)系統(tǒng),不夠智能。在后續(xù)的設(shè)計(jì)中,我們可以加上報(bào)警處理功能,比如,除濕功能,加濕功能,溫度補(bǔ)償功能等。&l
89、t;/p><p> 由于時(shí)間倉(cāng)促以及本人水平有限,本系統(tǒng)的設(shè)計(jì)中,難免存在一定的錯(cuò)誤和疏漏,懇請(qǐng)各位專(zhuān)家、老師不吝指正。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]唐美斌;孫傳友;電子與電腦[J],2007年Z1期:131~131</p><p> [2]李英干,范金鵬編著. 濕度測(cè)量[M]
90、. 北京市:氣象出版社, 1990.04:72~72</p><p> [3]陳艾主編. 敏感材料與傳感器[M]. 北京市:化學(xué)工業(yè)出版社, 2004.07:129~130</p><p> [4]黃繼昌,張海貴等編著. 檢測(cè)專(zhuān)用集成電路及其應(yīng)用[M]. 沺逑瘡倏狺祈, 2006.07:32~32 </p><p> [5]HS1101說(shuō)明書(shū)[Z],apoll
91、o公司.</p><p> [6]全安編著. 電工電子技術(shù)及應(yīng)用[M]. 北京市:機(jī)械工業(yè)出版社, 2008.09:216~217</p><p> [7]SST8951/52系列中文器件資料[Z].深圳市科賽科技開(kāi)發(fā)有限公司.</p><p> [8]唐晨光等編著. 單片機(jī)原理與應(yīng)用及上機(jī)指導(dǎo)[M]. 北京市:清華大學(xué)出版社, 2010:156~156<
92、;/p><p> [9]百度百科,Proteus[OL].http://baike.baidu.com/view/40936.htm</p><p> [10]曾屹主編. 單片機(jī)原理與應(yīng)用[M]. 長(zhǎng)沙市:中南大學(xué)出版社, 2009:35~36 </p><p> 附錄一 下位機(jī)電路圖</p><p> 附錄二 下位機(jī)系統(tǒng)源碼<
93、/p><p> #include <SST89x5x4.H></p><p> unsigned int Timer1Counter=0; //定義定時(shí)中斷計(jì)數(shù)變量</p><p> unsigned char SendData[4]={'R','H',0,0};</p>&
94、lt;p> unsigned char n=0;</p><p> //********設(shè)定三個(gè)定時(shí)器的工作方式及其初始化********</p><p> void Init_TMR(void){</p><p> TMOD=0x25; //設(shè)定定時(shí)器T1為8位自動(dòng)重裝計(jì)數(shù)器,用于門(mén)控定時(shí)</p><p> //定時(shí)器T0為
95、16位計(jì)數(shù)器,P3.4(T0口)用于對(duì)外部時(shí)鐘計(jì)數(shù)。</p><p> TH1=0; //裝載計(jì)數(shù)值256到定時(shí)器1</p><p> TL1=0; </p><p> TH0=0; //定時(shí)器0計(jì)數(shù)器初始化為0</p><p><b> TL0=0;</b></p><p&
96、gt; PT1=1; //為保障定時(shí)精度,定時(shí)器1的中斷優(yōu)先級(jí)最高</p><p><b> ET1=1;</b></p><p> TR1=1; //啟動(dòng)定時(shí)器1</p><p> T2CON=0x30; //用定時(shí)器2作波特率發(fā)生器</p><p> TH2=0xff; //波
97、特率19.2kbps</p><p><b> TL2=0xee;</b></p><p> RCAP2H=0xff;</p><p> RCAP2L=0xee;</p><p><b> TR2=1;</b></p><p><b> }</b&g
98、t;</p><p> //********設(shè)定串口工作方式*********</p><p> void Init_SCI(void) //初始化串行接口SCI</p><p><b> {</b></p><p> SCON=0x40;//初始化串行口模式1</p><p&
99、gt;<b> }</b></p><p> //********串行中斷函數(shù)********</p><p> void SCI_Int(void) interrupt 4 </p><p><b> { </b></p><p><b> TI=0;</b&g
100、t;</p><p> SBUF=SendData[n++];</p><p> if (n>=4) {n=0;ES=0;}</p><p><b> }</b></p><p> //********定時(shí)器T1中斷函數(shù)********</p><p> void TMR1_int
101、(void) interrupt 3{</p><p> Timer1Counter++; //定時(shí)中斷計(jì)數(shù)</p><p> if (Timer1Counter>=3600){//定時(shí)中斷計(jì)數(shù)值到達(dá)</p><p> Timer1Counter=0; //清除定時(shí)中斷計(jì)數(shù)值</p><p> TR0^=
102、1; </p><p> if (!TR0){</p><p> *(unsigned char *)(SendData+1)=~P1;</p><p> *(unsigned char *)(SendData+2)=TH0;</p><p> *(unsigned char *)(SendData+3)=TL0;</p&
103、gt;<p> TH0=0; </p><p><b> TL0=0;</b></p><p><b> ES=1;</b></p><p><b> TI=1;</b></p><p><b> } </b&
104、gt;</p><p><b> } </b></p><p><b> }</b></p><p> //********主函數(shù)********</p><p> voidmain(void) </p><p><b> {</
105、b></p><p> Init_TMR();//初始化定時(shí)器</p><p> Init_SCI();//初始化串行口</p><p> EA=1; //開(kāi)總中斷</p><p> while(1); </p><p><b> }</b
106、></p><p><b> 致謝</b></p><p> 首先,非常感謝我的指導(dǎo)老師余軍老師。本文從開(kāi)題、寫(xiě)作直至最終定稿,余軍老師都給予了諸多建設(shè)性建議,并在百忙之中數(shù)閱其稿。余老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、科學(xué)的治學(xué)方法、淵博的學(xué)識(shí)、誨人不倦的精神和平易近人的工作作風(fēng)令我景仰和敬慕,并將使我終生受益。</p><p> 其次,感謝母校
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文-遠(yuǎn)程糧倉(cāng)濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)——上位機(jī)系統(tǒng)【精校排版】
- 遠(yuǎn)程糧倉(cāng)濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)——下位機(jī)系統(tǒng)【電子信息工程畢業(yè)論文】
- 遠(yuǎn)程糧倉(cāng)濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 遠(yuǎn)程糧倉(cāng)濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)2
- 遠(yuǎn)程糧倉(cāng)濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)-崔(定稿).doc
- 畢業(yè)論文-室內(nèi)濕度檢測(cè)與監(jiān)控的設(shè)計(jì)【精校排版】
- 畢業(yè)論文-基于單片機(jī)倒車(chē)系統(tǒng)設(shè)計(jì)【精校排版】
- 糧倉(cāng)溫濕度測(cè)控系統(tǒng)下位機(jī)的設(shè)計(jì).pdf
- 畢業(yè)論文-公司人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【精校排版】
- 畢業(yè)論文-實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)【精校排版】
- 畢業(yè)論文-基于單片機(jī)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)【精校排版】
- 基于gprs通信的糧倉(cāng)溫濕度遠(yuǎn)程監(jiān)測(cè)系統(tǒng)設(shè)計(jì)-自動(dòng)化畢業(yè)論文
- 畢業(yè)論文-led點(diǎn)陣顯示屏系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【精校排版】
- 畢業(yè)論文-基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【精校排版】
- 基于gprs通信的糧倉(cāng)溫濕度遠(yuǎn)程監(jiān)測(cè)系統(tǒng)設(shè)計(jì)-自動(dòng)化畢業(yè)論文
- 畢業(yè)論文-基于c++信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)【精校排版】
- 畢業(yè)論文-汽車(chē)倒車(chē)?yán)走_(dá)系統(tǒng)的設(shè)計(jì)【精校排版】
- 畢業(yè)論文設(shè)計(jì)-信號(hào)發(fā)生器系統(tǒng)設(shè)計(jì)【精校排版】
- 畢業(yè)論文-基于matlab的ofdm系統(tǒng)設(shè)計(jì)與仿真【精校排版】
- 畢業(yè)論文-基于ic卡門(mén)禁系統(tǒng)【精校排版】
評(píng)論
0/150
提交評(píng)論