




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、論文題目:糧倉溫濕度監(jiān)測(cè)系統(tǒng)(軟件)專 業(yè):自動(dòng)化本 科 生:孫婷婷 (簽名)_指導(dǎo)教師:樂春峽 (簽名)_摘 要本設(shè)計(jì)是以單片機(jī)為核心,配合溫度傳感器(DS18B20)和濕度傳感器(HIH-4010),相關(guān)的外圍電路以及上位機(jī)(VB)顯示組成了糧倉溫濕度監(jiān)測(cè)系統(tǒng),可以監(jiān)測(cè)糧倉環(huán)境的溫度和濕度信號(hào),檢測(cè)人員可以通過LCD1602液晶顯示的數(shù)據(jù)或者上位機(jī)(VB),實(shí)時(shí)監(jiān)控糧倉環(huán)境的溫度和濕度情況。所有的測(cè)量操作都可以通過主機(jī)控制軟件來實(shí)現(xiàn),溫度傳感器得到的測(cè)量信號(hào),經(jīng)電路轉(zhuǎn)換為電信號(hào),直接送入單片機(jī)。濕度傳感器則需要經(jīng)過A/D轉(zhuǎn)換芯片(TLC549)的處理送到單片機(jī)進(jìn)行數(shù)據(jù)處理,然后經(jīng)過軟件分析
2、處理后送顯示裝置。本系統(tǒng)還應(yīng)用RS232與上位機(jī)相連接,可以設(shè)置溫度、濕度的報(bào)警值,也可以實(shí)時(shí)顯示溫濕度的采樣值,并將其存入數(shù)據(jù)庫,便于以后對(duì)于數(shù)據(jù)的處理。關(guān)鍵詞:STC89C52RC單片機(jī),溫度傳感器,濕度傳感器,LCD顯示,上位機(jī)Subject: Barn Temperature and Humidity Monitoring System (Software) Specialty: AutomationName: SunTingting (Signature) _Instructor: YueChunxia (Signature) _ABSTRACTThis design is base
3、d on single chip microcomputer as the core including the temperature sensor (DS18B20), humidity sensor (HIH-4010), the related peripheral circuit and PC (VB) . It can monitor the temperature and humidity signal of granary environment. Workers can display data through the LCD1602 or PC (VB) in time t
4、o monitor the barn conditions. All of the measuring the operation can be controlled by software .Temperature sensors can get the signal and the circuit converts them into electrical signals to send the microcontroller. Humidity sensor need to make use of A/D conversion chip to convert the data to an
5、alysis them by MCU sending them to display device by software. This system is connected with PC by RS232.It can set alarm value of the temperature and humidity .It also can display temperature and humidity in time, and save them in the database to handle the data conveniently in the future. Key word
6、s: STC89C52RC microcontroller, temperature sensors, humidity sensors, LCD display, PC目 錄第1章 前 言11.1背景11.2國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(shì)11.3設(shè)計(jì)的目的及意義21.4設(shè)計(jì)的主要工作31.5本文的主要內(nèi)容3第2章 系統(tǒng)的軟件設(shè)計(jì)42.1單片機(jī)及其外圍電路軟件設(shè)計(jì)4系統(tǒng)總體框圖設(shè)計(jì)4主程序流程圖52.1.3 DS18B20溫度傳感器62.1.4 HIH4010濕度傳感器62.1.5 TLC549 A/D轉(zhuǎn)換模塊82.1.6 LCD1602顯示模塊9按鍵模塊10報(bào)警模塊10串口通信模塊12小結(jié)132.
7、2上位機(jī)軟件設(shè)計(jì)132.2.1上位機(jī)系統(tǒng)總體設(shè)計(jì)14系統(tǒng)各個(gè)模塊142.2.3 小結(jié)33第3章 系統(tǒng)調(diào)試和結(jié)果分析343.1單片機(jī)調(diào)試及分析343.2上位機(jī)調(diào)試及分析34第4章 總 結(jié)35參考文獻(xiàn)36致 謝37附錄381.仿真原理圖382硬件原理圖393.上位機(jī)顯示圖404.實(shí)物圖405.單片機(jī)程序41第1章 前 言1.1背景 俗話說“國(guó)以民為本,民以食為天”,糧食是一個(gè)國(guó)家的立國(guó)之本。是一個(gè)國(guó)家穩(wěn)定繁榮的基礎(chǔ)。所以說糧食對(duì)于國(guó)家的重要性是不言而喻的。也正因?yàn)槿绱思Z食的科學(xué)儲(chǔ)藏就顯得尤為重要。就我們國(guó)家來說,糧食一般存放在糧倉中。對(duì)于一些大型糧倉或多或少都還存在著不同程度的糧食儲(chǔ)存變質(zhì)問題。根
8、據(jù)國(guó)家糧食保護(hù)法規(guī)定,必須定期抽樣檢查糧倉糧食的溫度和濕度,以便及時(shí)采取相應(yīng)的措施,防止糧食的變質(zhì)。但大部分糧倉目前還是采取人工測(cè)量溫度和濕度的方法,這不僅使糧倉工作人員工作量增大,且工作效率低,如果檢測(cè)任務(wù)如不能及時(shí)徹底的完成,則很有可能會(huì)造成糧食大面積變質(zhì)。 1.2國(guó)內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(shì)隨著傳感器技術(shù)、計(jì)算機(jī)應(yīng)用技術(shù)、超大規(guī)模集成電路技術(shù)和網(wǎng)絡(luò)通信技術(shù)的發(fā)展,監(jiān)控系統(tǒng)廣泛應(yīng)用于工農(nóng)業(yè)生產(chǎn)等領(lǐng)域,在此同時(shí),糧倉溫濕度監(jiān)控技術(shù)的研究在軟、硬件等方面都有了一定的進(jìn)展。 初期,以熱敏電阻,濕敏電阻作為傳感器件,通過檢測(cè)電阻的變化來反映糧食溫濕度的變化,為糧食保管提供參考依據(jù)。采用人工測(cè)量與人工抄
9、錄、管理相結(jié)合的傳統(tǒng)方法,并且用人工的辦法對(duì)糧食進(jìn)行晾曬,通風(fēng),噴灑藥劑防止因存儲(chǔ)不當(dāng)引起的溫濕度異常及蟲害,消耗了大量的人力和財(cái)力,效率較低。這30年里,糧情檢測(cè)技術(shù)在祖國(guó)的廣大科技工作者不斷地探索與努力下,不斷完善、進(jìn)步、并日趨成熟,逐步形成了多樣化的糧倉檢測(cè)系統(tǒng),推動(dòng)了安全、科學(xué)儲(chǔ)糧了發(fā)展。目前,國(guó)內(nèi)生產(chǎn)的糧倉溫濕度監(jiān)控系統(tǒng)種類繁雜,系統(tǒng)結(jié)構(gòu)均不相同,在糧倉外部溫濕度檢測(cè)、糧食內(nèi)部溫濕度檢測(cè)及分析、通風(fēng)機(jī)械的控制等方面,比之前有了不少進(jìn)步但仍有發(fā)展的空間。 國(guó)外的溫濕度監(jiān)控系統(tǒng)相對(duì)比較先進(jìn),主要體現(xiàn)在以下三個(gè)方面: (1)無論是傳感器的測(cè)量精度、反應(yīng)速度、穩(wěn)定性、功能多樣性還是使用環(huán)境方
10、面,國(guó)外的傳感器都比較先進(jìn)。 (2)構(gòu)成系統(tǒng)整體的測(cè)控技術(shù)和管理,無論是硬件還是軟件,都已普遍采用相應(yīng)的標(biāo)準(zhǔn)模塊集成,并且早已實(shí)現(xiàn)組態(tài)。 (3)系統(tǒng)結(jié)構(gòu)已經(jīng)普遍采用網(wǎng)絡(luò)連接的現(xiàn)場(chǎng)總線技術(shù)(FCS),有些需要的場(chǎng)合,則連接到Internet上,實(shí)現(xiàn)遠(yuǎn)程控制、遠(yuǎn)程診斷。 糧倉溫濕度監(jiān)控系統(tǒng)主要應(yīng)用于監(jiān)測(cè)糧倉環(huán)境空間的溫度及相對(duì)濕度,從系統(tǒng)控制的角度來看,屬于純滯后控制,而這一技術(shù)已經(jīng)相當(dāng)成熟。目前研制高精度,高性能,多功能的溫濕度監(jiān)控系統(tǒng)是主流,提高可靠性、靈活性和降低成本也是其考慮的重點(diǎn),并且系統(tǒng)在報(bào)警、記錄、控制、通信等方面的自動(dòng)化和智能化也將逐步完善。1.3設(shè)計(jì)的目的及意義科學(xué)儲(chǔ)糧是糧食生產(chǎn)
11、的一個(gè)重要環(huán)節(jié),若管理不當(dāng),糧食發(fā)霉或生蟲會(huì)造成極大浪費(fèi),而糧倉管理中最重要的問題是監(jiān)測(cè)糧堆中溫度和濕度的變化?,F(xiàn)在,我國(guó)在糧倉建設(shè)上己經(jīng)實(shí)現(xiàn)了規(guī)范化,但是監(jiān)測(cè)手段一直未能實(shí)現(xiàn)同步現(xiàn)代化。我國(guó)許多儲(chǔ)備糧倉每年都因測(cè)控設(shè)備的不完善而導(dǎo)致部分糧食霉變,許多大型儲(chǔ)備糧倉的測(cè)控設(shè)備仍需高價(jià)進(jìn)口,因此國(guó)家準(zhǔn)備在未來的幾年內(nèi)對(duì)全國(guó)所有的糧倉進(jìn)行翻新和改造工作,要求規(guī)范糧倉管理,實(shí)現(xiàn)糧倉管理現(xiàn)代化。 影響儲(chǔ)糧安全的最主要因素是糧堆內(nèi)的溫度和濕度,因此這就要求有一種經(jīng)濟(jì)實(shí)用的糧倉溫濕度監(jiān)控系統(tǒng)能夠及時(shí)監(jiān)測(cè)糧倉溫度和濕度分布,準(zhǔn)確分析糧倉溫濕度變化,并及時(shí)采取相應(yīng)控制措施,使得管理人員能夠方便有效地進(jìn)行監(jiān)控操作
12、。 基于以上內(nèi)容,我們的目的是設(shè)計(jì)一款經(jīng)濟(jì)、操作方便、實(shí)用的糧倉溫濕度監(jiān)控系統(tǒng)。該系統(tǒng),用單片機(jī)作為下位機(jī),對(duì)現(xiàn)場(chǎng)的溫濕度數(shù)據(jù)進(jìn)行采集,同時(shí)采用PC機(jī)作為上位機(jī),對(duì)糧倉進(jìn)行實(shí)時(shí)監(jiān)控。通過RS232實(shí)現(xiàn)下位機(jī)與上位機(jī)的數(shù)據(jù)通信。 糧倉溫濕度監(jiān)控系統(tǒng)是通過現(xiàn)場(chǎng)的單片機(jī)檢測(cè)糧庫中糧食的基本溫濕度情況。利用上位機(jī)對(duì)糧倉進(jìn)行監(jiān)控,用戶可方便地構(gòu)造自己需要的數(shù)據(jù)采集系統(tǒng),可以查看歷史數(shù)據(jù),優(yōu)化現(xiàn)場(chǎng)作業(yè),提高了生產(chǎn)效率,增強(qiáng)了國(guó)家糧食儲(chǔ)備安全水平,以獲得實(shí)時(shí)糧倉管理,實(shí)現(xiàn)自動(dòng)化、智能化,為實(shí)現(xiàn)我國(guó)糧倉管理現(xiàn)代化更近了一步。1.4設(shè)計(jì)的主要工作該系統(tǒng)主要利用單片機(jī)來測(cè)量糧倉中的溫度和濕度,為了完成系統(tǒng)功能做以
13、下設(shè)計(jì): (1) 根據(jù)糧倉溫度、濕度的測(cè)量范圍及要求,選擇溫濕度傳感器。 (2) 設(shè)計(jì)溫濕度測(cè)量系統(tǒng),使之具有測(cè)量、報(bào)警、設(shè)定限定值及實(shí)時(shí)顯示的功能。 (3) 設(shè)計(jì)基于RS232的通信系統(tǒng)及基于Visual Basic 6.0的人機(jī)界面。 1.5本文的主要內(nèi)容本文對(duì)所設(shè)計(jì)的系統(tǒng)進(jìn)行了介紹和總結(jié),具體安排如下: 第一章:引言,主要介紹了本系統(tǒng)的背景,研究現(xiàn)狀,發(fā)展方向以及本設(shè)計(jì)主要內(nèi)容; 第二章:系統(tǒng)的軟件設(shè)計(jì),分為單片機(jī)(下位機(jī))和VB(上位機(jī))兩大部分。第一部分主要介紹了單片機(jī)的各個(gè)功能模塊的軟件設(shè)計(jì),如溫濕度傳感器,A/D轉(zhuǎn)換芯片,LCD1602等,第二部分主要是VB上位機(jī)的軟件設(shè)計(jì) 第三
14、章:總結(jié),對(duì)本次畢業(yè)設(shè)計(jì)過進(jìn)行總結(jié),并對(duì)系統(tǒng)的功能和存在的問題進(jìn)行分析,還陳述了可行的改進(jìn)方案。 第四、五、六章,分別為致謝,參考文獻(xiàn)和附錄。第2章 系統(tǒng)的軟件設(shè)計(jì)2.1單片機(jī)及其外圍電路軟件設(shè)計(jì)系統(tǒng)總體框圖設(shè)計(jì)該系統(tǒng)主要由以下功能塊構(gòu)成:中央控制處理器STC89C52RC;數(shù)據(jù)采集系統(tǒng)(包括溫度傳感器DS18B20,濕度傳感器HIH4010),顯示模塊,報(bào)警電路,鍵盤控制系統(tǒng)以及上位機(jī)顯示。系統(tǒng)總框圖如圖2-1所示: 圖2-1 基于DS18B20和HIH4010的糧倉溫濕度監(jiān)測(cè)系統(tǒng)方框圖主程序流程圖圖 2-2 系統(tǒng)流程圖2.1.3 DS18B20溫度傳感器DS1820數(shù)字化溫度傳感器是高度集
15、成的單總線式的,體積小、功耗低,抗干擾是它的優(yōu)點(diǎn)。所以本系統(tǒng)采用DS18B20測(cè)量糧倉溫度值。單片機(jī)的P2.4作為其控制口,與其DQ端口連接。根據(jù)DS18B20必須嚴(yán)格遵守其讀/寫時(shí)序的特點(diǎn),并且必須按照其單總線操作協(xié)議采集溫度數(shù)據(jù)。協(xié)議的流程為:DS18B20的初始化發(fā)送ROM操作命令處理數(shù)據(jù)。以下是DS18B20流程圖:圖2-3 DS18B20讀溫度流程圖2.1.4 HIH4010濕度傳感器本系統(tǒng)的濕度傳感器選用霍尼韋爾(Honeywell)公司生產(chǎn)的線性電壓輸出式集成濕度傳感器HIH4010,該傳感器內(nèi)部包括濕敏電容和信號(hào)處理功能電路,可完成將相對(duì)濕度值變換成電容值,再將電容值轉(zhuǎn)換成線性
16、電壓輸出的任務(wù)輸出電壓為:Vout=Vsupply×0.0062×sensorRH+0.16 (2-1) 在本系統(tǒng)中固定為+5V,其輸出電壓值與濕度測(cè)量值成正比。當(dāng)濕度傳感器把測(cè)量的濕度值轉(zhuǎn)換成電壓信號(hào)后,送入A/D轉(zhuǎn)換芯片TLC549,,將其轉(zhuǎn)換為數(shù)字量后送單片機(jī)I/O口。以下是在0、25、85時(shí),HIH4010的輸出電壓V out,與相對(duì)濕度(RH)的關(guān)系曲線:圖2-4 V out-RH關(guān)系圖由圖可知:在0時(shí)相對(duì)濕度與電壓的關(guān)系Vout=0.0357×sensorRH+0.8 (2-3)在25時(shí)相對(duì)濕度與電壓的關(guān)系Vout=0.0310×sensor
17、RH+0.8 (2-3)在85時(shí)相對(duì)濕度與電壓的關(guān)系 Vout=0.070×sensorRH+0.8 (2-4)2.1.5 TLC549 A/D轉(zhuǎn)換模塊所謂A/D轉(zhuǎn)換是指將模擬量轉(zhuǎn)換成數(shù)字量。A/D轉(zhuǎn)換器(簡(jiǎn)稱ADC)是數(shù)據(jù)采集中常用的A/D轉(zhuǎn)換元件,適用于測(cè)量系統(tǒng)及儀表。本系統(tǒng)采用HIH4010濕度傳感器采集濕度,其將采集到的濕度值轉(zhuǎn)換為線性電壓最終輸出,由于單片機(jī)只能處理數(shù)字信號(hào),所以必須使用A/D轉(zhuǎn)換芯片,將線性電壓轉(zhuǎn)換為數(shù)字型電壓。本系統(tǒng)選用一款常用的A/D轉(zhuǎn)換芯片TLC549,進(jìn)行濕度數(shù)據(jù)的轉(zhuǎn)換。A/D程序流程圖如下:圖2-5 TLC549流程圖程序設(shè)計(jì)時(shí),要將A/D轉(zhuǎn)換輸
18、出的數(shù)字量轉(zhuǎn)化成對(duì)應(yīng)的電壓值。設(shè):X為模擬電壓大小,Y為TLC549采集到的數(shù)字量,其中5V為電壓最大值(本系統(tǒng)為TLC549的基準(zhǔn)電壓值),255為5V對(duì)應(yīng)的數(shù)字量。根據(jù)公式: (2-5)得: (2-6)通過該式可得到Y(jié)值所對(duì)應(yīng)的模擬電壓的大小,再根據(jù)濕度傳感器的計(jì)算公式,算出濕度值。2.1.6 LCD1602顯示模塊本系統(tǒng)為糧倉溫濕度監(jiān)測(cè)系統(tǒng),需要將溫度、濕度以及溫濕度設(shè)置值顯示出來,供用戶使用。所以選用LCD1602作為顯示器件,P0口為數(shù)據(jù)口,P2口為控制口。液晶第一行顯示溫度濕度值,第二行顯示設(shè)置溫濕度值。以下是運(yùn)行時(shí)的圖形以及程序流程圖。圖2-6 運(yùn)行時(shí)的LCD1602
19、 圖2-7 LCD1602流程圖2.1.7按鍵模塊主程序開始,單片機(jī)將溫濕度報(bào)警線和當(dāng)前溫濕度數(shù)據(jù)顯示在1602液晶屏上。如果K2鍵按下,則進(jìn)入菜單1,光標(biāo)閃爍到溫度報(bào)警線。如果按下K0鍵,則溫度報(bào)警線加1,如果按下K0鍵,則溫度報(bào)警線加1;再次按下K2鍵,進(jìn)入菜單2,光標(biāo)閃爍到濕度報(bào)警線,如果按下K1鍵,則濕度報(bào)警線加1,如果按下K2鍵,則濕度報(bào)警線減1;再次按下K2,液晶屏正常顯示溫濕度。按鍵流程圖如下:圖2-8 按鍵流程圖2.1.8報(bào)警模塊當(dāng)溫度測(cè)量值超過溫度設(shè)定值時(shí),綠燈亮,蜂鳴器報(bào)警;當(dāng)濕度測(cè)量值超過濕度設(shè)定值時(shí),黃燈亮,蜂鳴器報(bào)警。根據(jù)硬件電路:當(dāng)P3.6=0,綠燈亮;當(dāng)P3.7=
20、0,黃燈亮。因?yàn)檫x擇的是有源蜂鳴器,所以當(dāng)P2.3=0時(shí),蜂鳴器報(bào)警。硬件電路圖如下:溫度報(bào)警燈: 濕度報(bào)警燈: 圖2-9 溫度報(bào)警燈電路圖 圖2-10 溫度報(bào)警燈電路圖蜂鳴器電路:圖2-11 溫度報(bào)警燈電路圖程序流程圖如下:圖2-12 報(bào)警流程圖2.1.9串口通信模塊在糧倉溫濕度監(jiān)測(cè)系統(tǒng)中單片機(jī)作為下位機(jī)需要把“溫度測(cè)量值”、“濕度測(cè)量值”、“溫度設(shè)定值”、“濕度測(cè)量值”四種數(shù)據(jù)發(fā)送到上位機(jī)。為了上位機(jī)處理數(shù)據(jù)的方便,在發(fā)送數(shù)據(jù)時(shí),將每個(gè)數(shù)據(jù)分為高低兩個(gè)字節(jié),按照“溫度測(cè)量值高字節(jié)”、“濕度測(cè)量值高字節(jié)”、“溫度設(shè)定值高字節(jié)”、“濕度測(cè)量值高字節(jié)”、“溫度測(cè)量值低字節(jié)”、“濕度測(cè)量值低字節(jié)”
21、、“溫度設(shè)定值低字節(jié)”、“濕度測(cè)量值低字節(jié)”的順序依次發(fā)送。同時(shí)由于單片機(jī)需要接收上位機(jī)傳送過來的“溫濕度設(shè)置值”,所以使用了串口接收中斷。以下分別是串口發(fā)送數(shù)據(jù)流程圖2-13,串口接收中斷流程圖2-14。軟件流程圖:圖 2-13 串口發(fā)送數(shù)據(jù)流程圖圖2-14 串口接收數(shù)據(jù)流程圖2.1.10小結(jié)本節(jié)主要介紹了單片機(jī)及其外圍電路的軟件設(shè)計(jì),DS18B20是數(shù)字型溫度傳感器,采集的信號(hào)可以直接送入單片機(jī),而HIH4010是集成型濕度傳感器,輸出的信號(hào)送入A/D轉(zhuǎn)換芯片TLC549,然后送入單片機(jī)。同時(shí)可以通過按鍵設(shè)定報(bào)警值,最終LCD1602將采集數(shù)據(jù)顯示出來。2.2上位機(jī)軟件設(shè)計(jì)本次設(shè)計(jì)主要是完
22、成糧倉溫濕度數(shù)據(jù)的采集,以及上位機(jī)顯示,所以需要串口通信的相關(guān)知識(shí)。用上位機(jī)顯示,就要設(shè)計(jì)顯示界面,因?yàn)閿?shù)據(jù)的數(shù)目較多,所以采用表格,為了直觀、具體同時(shí)繪成溫濕度曲線。為了分析采集到的數(shù)據(jù),需要建立數(shù)據(jù)庫保存溫濕度數(shù)據(jù),同時(shí)設(shè)計(jì)與數(shù)據(jù)庫相關(guān)的一系列模塊,比如“查詢模塊”、“數(shù)據(jù)庫模塊”、“報(bào)表模塊”。同時(shí)因?yàn)槭且粋€(gè)系統(tǒng),其必須具有完整的用戶服務(wù)功能,所以設(shè)計(jì)了“用戶登陸”、“注冊(cè)用戶”、“修改密碼”模塊。由于以上模塊的建立,使得本系統(tǒng)的上位機(jī)部分,具有了一般軟件的所具備的基本功能。上位機(jī)系統(tǒng)總體設(shè)計(jì)糧倉溫濕度監(jiān)控系統(tǒng)單片機(jī)采集檢測(cè)的溫濕度為上位機(jī)提供了數(shù)據(jù),糧倉溫濕度管理系統(tǒng)將實(shí)現(xiàn)對(duì)這些數(shù)據(jù)的
23、查詢、顯示、報(bào)表生成等處理功能,建立一個(gè)方便使用、便于管理的人機(jī)交互界面。 糧倉溫濕度監(jiān)測(cè)系統(tǒng)目的是對(duì)下位機(jī)檢測(cè)的數(shù)據(jù)進(jìn)行二次處理。主要包括以下功能:1.與溫濕度度監(jiān)控系統(tǒng)單片機(jī)進(jìn)行數(shù)據(jù)通信。2. 將測(cè)量數(shù)據(jù)存入數(shù)據(jù)庫。3. 實(shí)現(xiàn)溫濕度度信息庫的查詢、顯示、報(bào)表生成等處理功能。糧倉溫濕度監(jiān)測(cè)信息管理系統(tǒng)模塊框圖如下圖所示:圖2-15 糧倉溫濕度信息管理系統(tǒng)軟件總體框系統(tǒng)各個(gè)模塊 1.啟動(dòng)模塊運(yùn)行本系統(tǒng),首先出現(xiàn)啟動(dòng)窗體(frmsplsh)。向讀者顯示系統(tǒng)名稱,版本信息等。系統(tǒng)啟動(dòng)時(shí)單擊該窗體的任何一處,都將進(jìn)入下一步,登錄模塊。軟件設(shè)計(jì):在“工程”中添加窗體,在“新建”的列表中選擇“展示屏幕”
24、,并把“工程屬性”中的“啟動(dòng)對(duì)象”設(shè)置為frmsplsh窗體。將所需控件拖入窗體中,并設(shè)置屬性。編寫窗體代碼:當(dāng)卸載本窗體時(shí),返回登錄窗體Sub UnloadForm() Unload Me Frm_login.Show End Sub只要單擊窗體的任何部分或按下任何按鍵,都會(huì)用UnloadForm()過程,退出該窗體。Private Sub Form_Click() '單擊窗體 UnloadFormEnd SubPrivate Sub Form_KeyPress(KeyAscii As Integer) '按鍵 UnloadFormEnd SubPrivate Sub fra
25、Edge_Click() '單擊框架 UnloadFormEnd SubPrivate Sub imgLogo_Click() '單擊圖標(biāo) UnloadFormEnd SubPrivate Sub lblInfo_Click(Index As Integer) '單擊標(biāo)簽 UnloadFormEnd Sub窗體圖如下:圖2-16 啟動(dòng)窗體2.登陸模塊為了防止非法用戶的干擾,本系統(tǒng)只允許注冊(cè)用戶使用,并且當(dāng)?shù)卿浭〕^三次,系統(tǒng)將自動(dòng)退出。登錄模塊窗體如下圖:圖2-17 登錄窗體圖軟件設(shè)計(jì):(1)在“工程”中添加窗體,在“新建”的列表中選擇“展示屏幕”,并把“工程屬性”中
26、的“啟動(dòng)對(duì)象”設(shè)置為frmsplsh窗體。(2)將所需控件拖入窗體中,并設(shè)置屬性。(3)編寫窗體代碼:當(dāng)用戶名或密碼為空時(shí),點(diǎn)擊“確定”按鈕后會(huì)顯示提示信息“用戶名或密碼不能為空”如圖所示:圖2-18 提示信息圖當(dāng)用戶名或密碼輸入不正確時(shí),點(diǎn)擊“確定”按鈕后會(huì)顯示提示信息“對(duì)不起,無此用戶或密碼不正確!請(qǐng)重新輸入”如下圖所示:圖2-19 提示信息圖當(dāng)操作三次仍未輸入正確的用戶名或密碼時(shí),系統(tǒng)將提示“您無權(quán)操作本系統(tǒng)!”并且自動(dòng)關(guān)閉窗體,退出系統(tǒng)。如下圖所示:圖2-20 提示信息圖輸入正確的用戶名或密碼后,將顯示MDI主窗體。3.MDI主窗體本系統(tǒng)采用多文檔界面(Multi Document I
27、nterface,MDI),來組織系統(tǒng)中的多窗體。多文檔界面是一種Windows用戶界面標(biāo)準(zhǔn),它是由一個(gè)父窗體和多個(gè)子窗體構(gòu)成。MDI窗體如下:圖2-21 MDI窗體圖在“工程”中添加一個(gè)MDI窗體,將其(名稱)屬性設(shè)置為frmMain。它作為整個(gè)系統(tǒng)的框架和基礎(chǔ),包含“菜單欄”,”工具欄”,“狀態(tài)欄”和“子窗體”。界面設(shè)計(jì):(1)菜單欄:為了使用戶操作簡(jiǎn)便,一般都會(huì)加入在主窗體中“菜單欄”。 本 系統(tǒng)的 “菜單欄”中,設(shè)計(jì)了“系統(tǒng)功能”、”數(shù)據(jù)庫”、”查詢”、”顯示”、”報(bào)表”和”幫助”這六個(gè)主菜單。其中系統(tǒng)功能又包括“用戶管理”子菜單。(2)工具欄: 在系統(tǒng)開發(fā)時(shí),一般習(xí)慣將常用功能放在工
28、具欄上,以方便與用戶操作,當(dāng)需要使用這些功能時(shí),只要單擊“工具欄“上的相應(yīng)圖標(biāo)即可。這就避免了用戶在菜單欄中層層查找的麻煩。本系統(tǒng)中設(shè)計(jì)了”查詢”、”顯示”、”報(bào)表”、 ”退出”和”修改密碼”這幾個(gè)工具欄按鈕。(3)狀態(tài)欄: 狀態(tài)欄用于顯示當(dāng)前狀態(tài)下的系統(tǒng)的信息,本系統(tǒng)的狀態(tài)欄包括系 統(tǒng)名稱“糧倉溫濕度系統(tǒng)”,“設(shè)計(jì)者”,“指導(dǎo)老師”,“系統(tǒng)時(shí)間”4.注冊(cè)新用戶模塊為了用戶服務(wù)更加全面,本系統(tǒng)設(shè)計(jì)了“添加新用戶”模塊。登陸系統(tǒng),然后進(jìn)入MDI主窗體界面,在“系統(tǒng)功能”主菜單下,點(diǎn)擊“添加新用戶”的子菜單,便會(huì)彈出以下窗口。如下圖所示:圖2-22 添加新用戶圖(1)當(dāng)“用戶名”的TextBox為
29、空時(shí),單擊“確定”按鈕會(huì)彈出“請(qǐng)輸入用戶名”的消息框。來提醒用戶輸入。如下圖所示:圖2-23 信息提示圖(2)當(dāng)“密碼”的TextBox為空時(shí),單擊“確定”按鈕會(huì)彈出“請(qǐng)輸入密碼”的消息框。如下圖所示 圖2-24 信息提示圖(3)當(dāng)“用戶名”的TextBox的用戶名與數(shù)據(jù)庫中用戶信息表中的用戶名相同時(shí),按“確定”按鈕會(huì)彈出“用戶名已存在,請(qǐng)選擇其他用戶”的消息框。如下圖所示:圖2-25 信息提示圖 (4)為了保證密碼的正確性,本系統(tǒng)要求輸入兩次密碼,如果兩次輸入的密碼不同,按確定按鈕會(huì)彈出“兩次輸入的密碼不同,請(qǐng)重新輸入密碼”的消息框。如下圖所示:圖2-26 信息提示(5)本系統(tǒng)的密碼形式只允
30、許“數(shù)字”,所以當(dāng)輸入非數(shù)字型式的密碼時(shí),系統(tǒng)會(huì)彈出“密碼只能為數(shù)字”的消息框。如圖所示:圖2-27 信息提示(6)當(dāng)用戶名及“密碼”均輸入正確時(shí),系統(tǒng)會(huì)彈出“注冊(cè)成功,祝賀你”的消息框。如圖所示:圖2-28 信息提示5.修改密碼模塊 為了方便用戶使用,本系統(tǒng)具有修改密碼的功能。面,登陸系統(tǒng),然后進(jìn)入MDI主窗體界面,在“系統(tǒng)功能”主菜單下,點(diǎn)擊“修改密碼”的子菜單。將彈出“修改密碼”的窗體。如下圖所示:圖2-29 修改密碼窗體圖(1)為了用戶輸入密碼的準(zhǔn)確性,系統(tǒng)要求輸入兩次密碼,如果兩次輸入的密碼不一致,會(huì)彈出“密碼不一致”的消息框。如下圖所示:圖2-30 信息提示(2)本系統(tǒng)的密碼形式只
31、允許“數(shù)字”,所以當(dāng)輸入非數(shù)字型式的密碼時(shí),系統(tǒng)會(huì)彈出“密碼只能為數(shù)字”的消息框。如下圖所示:圖2-31 信息提示(3)當(dāng)沒有輸入密碼時(shí),系統(tǒng)會(huì)彈出“請(qǐng)輸入密碼”的消息框。如下圖所示圖2-32 信息提示(4)當(dāng)密碼輸入正確時(shí),會(huì)彈出“注冊(cè)成功”的對(duì)話框。如下圖所示:圖2-33 信息提示6.實(shí)時(shí)顯示模塊本模塊實(shí)現(xiàn)將單片機(jī)傳送的溫濕度數(shù)據(jù),通過MSFlexGrid表格實(shí)時(shí)顯示出來,并且利用Picture控件繪制實(shí)時(shí)曲線圖,同時(shí)還顯示有溫濕度數(shù)據(jù)的“最大值”、“最小值”,以及報(bào)警顯示,串口號(hào)等。本系統(tǒng)具有通過上位機(jī)向單片機(jī)發(fā)送設(shè)置溫濕度值的功能,按下“設(shè)置溫濕度”按鈕,便彈出“溫濕度值設(shè)定”的窗體,
32、在文本框中輸入設(shè)定值。按“退出”按鈕后,上位機(jī)發(fā)送數(shù)據(jù),單片機(jī)接收。幾秒后上位機(jī)又會(huì)重新收到單片機(jī)傳來的溫濕度設(shè)定值數(shù)據(jù),并顯示在上位機(jī)“設(shè)置溫度”,“設(shè)置濕度”的文本框中。顯示窗體如圖所示:圖2-34 顯示窗體圖溫濕度設(shè)置窗體如圖:圖2-35 設(shè)置窗體圖此系統(tǒng)的溫濕度設(shè)置值默認(rèn)為99和99%以下,當(dāng)輸入數(shù)據(jù)超出范圍時(shí),彈出以下窗體:圖2-36 警告窗體圖 圖2-37 設(shè)置值顯示圖(1) 串行通信控件MSCommVisual Basic 6.0是Microsoft公司推出的Visual Studio 6.0可視化程序中一種編程語言,擁有當(dāng)今世界主流的可視化編程技術(shù)。利用Visual Basic
33、 開發(fā)串口通信主要有兩種方法,一種通過MSComm控件,二是調(diào)用Window API函數(shù)。使用MSComm控件實(shí)現(xiàn)通信的方法比調(diào)用API函數(shù)更為簡(jiǎn)便、快速,并且用較少的代碼可以實(shí)現(xiàn)相同的功能,可以大大地提高編程效率,也可以減少因?yàn)榫幊滩划?dāng)而導(dǎo)致的系統(tǒng)不穩(wěn)定。本系統(tǒng)采用MSComm控件,實(shí)現(xiàn)與單片機(jī)的串口通信。其全稱為Microsoft Communications Control,是微軟公司提供的ActiveX控件,它不但可以進(jìn)行串口通信,而且也可以用來創(chuàng)建功能完備的、事件驅(qū)動(dòng)的高級(jí)通信工具。MSComm控件在串口編程時(shí)非常方便,設(shè)計(jì)人員不必花時(shí)間去了解較為繁雜的API函數(shù),而且可以在多種語言
34、中使用,比如:Visual Basic、Delphi 、Visual C+等。利用它可以建立與串行端口的連接,通過串行端口連接到其它通信設(shè)備(如調(diào)制解調(diào)器),發(fā)出命令,交換數(shù)據(jù),以及監(jiān)視和響應(yīng)串行連接中發(fā)生的事件和錯(cuò)誤。(2) MSComm控件的使用MSComm控件通信的流程圖如圖2-38所示。編寫程序時(shí),只需要按照下面流程圖,即可實(shí)現(xiàn)通信功能。圖2-38 MSComm控件通信的流程圖(3)PC機(jī)與單片機(jī)通信PC機(jī)與單片機(jī)之間的串行通信主要實(shí)現(xiàn)單片機(jī)(下位機(jī))的溫濕度數(shù)據(jù)的采集和傳輸。下位機(jī)程序用C語言編寫,固化在單片機(jī)中。單片機(jī)是糧倉監(jiān)測(cè)系統(tǒng)的溫濕度數(shù)據(jù)采集端,它主要完成對(duì)溫度傳感器DS18
35、B20以及濕度傳感器HIH4010的控制和溫濕度數(shù)據(jù)的讀取以及實(shí)現(xiàn)與上位機(jī)的數(shù)據(jù)通信。上位機(jī)軟件用VB編寫,主要完成通信參數(shù)設(shè)置和溫濕度數(shù)據(jù)的轉(zhuǎn)換,還有對(duì)下位機(jī)溫濕報(bào)警線的設(shè)置,以及實(shí)現(xiàn)與Access數(shù)據(jù)庫的連接。通信參數(shù)設(shè)置主要用來完成對(duì)系統(tǒng)通信參數(shù)的設(shè)置,包括設(shè)定通信端口、波特率、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位。溫度數(shù)據(jù)的轉(zhuǎn)換主要實(shí)現(xiàn)對(duì)接收到的溫濕度數(shù)據(jù)由十六進(jìn)制到十進(jìn)制的轉(zhuǎn)換,對(duì)下位機(jī)溫濕報(bào)警線的設(shè)置,是通過MSComm控件的output屬性發(fā)送數(shù)據(jù)到單片機(jī),設(shè)置溫濕度報(bào)警值。同時(shí)將下位機(jī)傳送的溫濕度數(shù)據(jù)存入Access數(shù)據(jù)庫。(4)通信協(xié)議為實(shí)現(xiàn)PC和單片機(jī)之間的正確的傳輸,本文采用通信協(xié)
36、議來規(guī)定數(shù)據(jù)的傳輸。通信協(xié)議如下:波特率:9600bit/s;數(shù)據(jù)格式:8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn);傳送方式:PC機(jī)和單片機(jī)均采用查詢方式收發(fā)數(shù)據(jù),數(shù)據(jù)格式為二進(jìn)制格式。為了上位機(jī)數(shù)據(jù)轉(zhuǎn)換的方便,將單片機(jī)采集的各種數(shù)據(jù)值擴(kuò)大十倍。各種數(shù)據(jù)均分為兩個(gè)字節(jié),一個(gè)為高字,一個(gè)為低字節(jié)。包括DS18B20測(cè)量出的溫度數(shù)據(jù),HIH4010濕度傳感器的濕度數(shù)據(jù),以及設(shè)置溫度值、設(shè)置濕度值。單片機(jī)一邊采集數(shù)據(jù),一邊發(fā)送數(shù)據(jù)到PC機(jī),PC機(jī)將采集到的數(shù)據(jù)繪成表格、實(shí)時(shí)曲線圖、并存入數(shù)據(jù)庫。7.查詢模塊本系統(tǒng)將采集到的溫濕度數(shù)據(jù)直接存入Access數(shù)據(jù)庫中,由于數(shù)據(jù)龐雜,如果直接打開數(shù)據(jù)庫查看,浪費(fèi)時(shí)間
37、和精力。所以本系統(tǒng)設(shè)計(jì)了查詢模塊,通過它用戶可以根據(jù)自己的需要,選擇查看數(shù)據(jù)庫中的數(shù)據(jù)。本系統(tǒng)的“查詢模塊”可以實(shí)現(xiàn)按“日期”查詢某一天的數(shù)據(jù),按“時(shí)間”查詢某一時(shí)刻的數(shù)據(jù),以及按”時(shí)間”和”日期”查詢某天某一時(shí)刻的數(shù)據(jù)。并且可以通過“刷新”按鈕查看所有數(shù)據(jù),利用“刪除”按鈕直接修改數(shù)據(jù)中的數(shù)據(jù)。 如下圖所示:圖2-39 查詢窗體圖(1)日期查詢:首先勾選“日期查詢“的復(fù)選框,再在Dtpicker控件中選擇具體日期,按”查詢“按鈕, DataGrid控件中便會(huì)顯示該天的溫濕度數(shù)據(jù)信息。(2)時(shí)間查詢:首先勾選“時(shí)間查詢“的復(fù)選框,再在Dtpicker控件中選擇具體時(shí)間,按”查詢“按鈕, Dat
38、aGrid控件中便會(huì)顯示該時(shí)刻的溫濕度數(shù)據(jù)信息。(3)日期時(shí)間查詢:首先勾選“時(shí)間查詢“及“日期查詢“的復(fù)選框,再在Dtpicker控件中選擇具體日期時(shí)間,按”查詢“按鈕, DataGrid控件中便會(huì)顯示該天該時(shí)刻的溫濕度數(shù)據(jù)信息。(4)如果未勾選“復(fù)選框,則彈出”請(qǐng)選擇查詢條件“的消息框,如下圖所示:圖2-40 信息提示圖(5)如果點(diǎn)擊“刪除“按鈕,則彈出“是否刪除指定記錄?“的消息框,點(diǎn)擊”確定“則刪除對(duì)象。如下圖所示:圖2-41 信息提示圖8.數(shù)據(jù)庫模塊數(shù)據(jù)庫是存放數(shù)據(jù)的倉庫,是以一定的組織方式存儲(chǔ)在計(jì)算機(jī)中相關(guān)數(shù)據(jù)的集合。它能以最佳方式、最少的重復(fù)、最大的獨(dú)立性為多種應(yīng)用提供共享服務(wù)。
39、糧倉溫濕度信息管理系統(tǒng)數(shù)據(jù)庫采用關(guān)系型數(shù)據(jù)庫。用VB自帶的Access數(shù)據(jù)庫是開發(fā),Access數(shù)據(jù)庫是適用于中小型數(shù)據(jù)庫的數(shù)據(jù)庫管理系統(tǒng),用VB創(chuàng)建數(shù)據(jù)庫既簡(jiǎn)便,又快捷,而且VB可以通過ADO 控件建立與Access類型數(shù)據(jù)庫的快速連接。為了保存采集到的數(shù)據(jù),便于后期的處理,本系統(tǒng)建立了Access數(shù)據(jù)庫。數(shù)據(jù)庫名:糧倉溫濕度,其中有兩個(gè)數(shù)據(jù)表,一個(gè)用于存放用戶信息,一個(gè)用于存放溫濕度數(shù)據(jù)。在Access數(shù)據(jù)庫中,表的作用是組織信息,所謂“表”就是數(shù)據(jù)以行和列的形式組織在一起,每一行代表一條記錄,每一列代表一個(gè)字段,描述它所含有的數(shù)據(jù)。根據(jù)該系統(tǒng)的需要,我設(shè)計(jì)了兩個(gè)表:用戶信息表和溫濕度信息
40、表。用戶信息表用于存儲(chǔ)用戶名和密碼,完成用戶登陸和密碼修改信息的驗(yàn)證;溫濕度信息表用于保存單片機(jī)傳送的測(cè)量信息,包含測(cè)量日期、測(cè)量時(shí)間、溫度、溫度報(bào)警信息、濕度、濕度報(bào)警信息。數(shù)據(jù)庫窗體如2-42圖所示: 圖2-42 數(shù)據(jù)庫窗體圖兩個(gè)表的結(jié)構(gòu)分別如表2-1、2-2所示。表2-1糧倉溫濕度度信息表字段名稱字段大小必填字段數(shù)據(jù)類型編號(hào)4是Long測(cè)量日期8是Date/Time測(cè)量時(shí)間8是Date/Time溫度50是Text溫度報(bào)警信息50是Text濕度50是Text濕度報(bào)警信息50是Text表2-2 用戶信息表字段名稱字段大小必填字段數(shù)據(jù)類型用戶名50是Text密碼50是Text由于單片機(jī)與上位機(jī)
41、傳送溫度、濕度數(shù)據(jù)時(shí)間很短,所以設(shè)定溫度、濕度信息傳送至上位機(jī)的日期和時(shí)間分別為測(cè)量的日期和時(shí)間。同時(shí)本系統(tǒng)設(shè)計(jì)了“刪除”功能,可以隨意刪除數(shù)據(jù),對(duì)數(shù)據(jù)庫進(jìn)行修改。當(dāng)按下“刪除”按鈕時(shí),會(huì)彈出提示框詢問是否刪除數(shù)據(jù)。如下圖所示:圖2-43 信息提示圖9.報(bào)表打印模塊在Visual Basic 6.0中,因?yàn)橛袛?shù)據(jù)報(bào)表設(shè)計(jì)器(Data Report Designer)模塊,使得報(bào)表的制作變得簡(jiǎn)便、快速。數(shù)據(jù)報(bào)表設(shè)計(jì)器是ActiveX Designer組中的一個(gè)成員,使用前需要執(zhí)行“工程”中的Data Report“命令”,將報(bào)表設(shè)計(jì)器加入到當(dāng)前工程中,產(chǎn)生一個(gè)Data Report對(duì)象。設(shè)計(jì)報(bào)表
42、模塊目的是便于儲(chǔ)存和匯總溫濕度信息,具有顯示糧倉溫濕度信息報(bào)表及打印功能。本系統(tǒng)的數(shù)據(jù)報(bào)表包含了數(shù)據(jù)庫中的全部信息,即編號(hào)、測(cè)量日期、測(cè)量時(shí)間、溫度值、溫度報(bào)警信息、濕度值、濕度報(bào)警信息,方便用戶打印和瀏覽,并在右上角標(biāo)有打印時(shí)間。創(chuàng)建好的數(shù)據(jù)報(bào)表界面如圖2-43所示。圖2-44 數(shù)據(jù)報(bào)表界面10.退出系統(tǒng)本系統(tǒng)有三種退出方式,一種在菜單欄“系統(tǒng)的功能”主菜單下,一種是工具欄的“退出“按鈕,還有就是點(diǎn)擊MDI主菜單右上角的“關(guān)閉”無論使用哪一種退出方式,當(dāng)點(diǎn)擊后都會(huì)出現(xiàn)如下圖的提示,以防誤操作,但點(diǎn)擊“是”的按鈕后,系統(tǒng)退出。如下圖所示:圖2-45 信息提示圖 小結(jié)本節(jié)主要介紹了糧倉溫濕度監(jiān)測(cè)
43、系統(tǒng)的上位機(jī)軟件部分,包括其模塊,功能等。上位機(jī)部分主要包括顯示,以及數(shù)據(jù)庫等。通過Visual Basic 6.0,將數(shù)據(jù)保存到數(shù)據(jù)庫中,實(shí)現(xiàn)數(shù)據(jù)的處理,是本系統(tǒng)特點(diǎn)。第3章 系統(tǒng)調(diào)試和結(jié)果分析3.1單片機(jī)調(diào)試及分析在調(diào)試程序的時(shí)候,給單片機(jī)燒入程序后,啟動(dòng)單片機(jī)進(jìn)行溫濕度測(cè)量,但是LCD1602沒有顯示,只是有二行黑框。對(duì)于這個(gè)問題,我們首先從程序源代碼方面開始檢查。但是檢查了整個(gè)源程序都沒有發(fā)現(xiàn)問題。然后我們把解決問題的重點(diǎn)放在硬件電路上。仔細(xì)檢查電路后發(fā)現(xiàn),有接線錯(cuò)誤。總結(jié)這個(gè)問題,我們解決問題的時(shí)候首先從軟件方面考慮,其實(shí)這種解決問題的思路有一定問題。因?yàn)閷?duì)于這個(gè)問題,檢查硬件電路的
44、錯(cuò)誤比檢查軟件錯(cuò)誤要簡(jiǎn)單和方便,所以我們一開始應(yīng)該首先從硬件考慮,確保硬件沒有錯(cuò)誤。另外一個(gè)問題是,在最初我們本來打算設(shè)計(jì)溫濕度控制模塊,即利用步進(jìn)電機(jī)拖動(dòng)風(fēng)扇來調(diào)節(jié)糧倉的溫濕度。但在最后的調(diào)試中發(fā)現(xiàn),電機(jī)轉(zhuǎn)速很慢,在查閱資料后,發(fā)現(xiàn)原來我們所選的四相五線步進(jìn)電機(jī)28BYJ-48是減速電機(jī),轉(zhuǎn)速本就不高。因?yàn)闀r(shí)間倉促,我們只能將這一部分去掉,這也是本次設(shè)計(jì)的遺憾。3.2上位機(jī)調(diào)試及分析在這次設(shè)計(jì)中,我們使用VB做上位機(jī)顯示,為了更具有實(shí)用性,我將上位機(jī)軟件做成了一個(gè)完整的系統(tǒng),具有登錄模塊,數(shù)據(jù)庫模塊,顯示模塊,查詢模塊等。起初我的設(shè)想是先把每個(gè)模塊單獨(dú)制作,最后在將其組合起來。因?yàn)閱为?dú)制作,
45、所以在每個(gè)模塊定義的變量名都不同,在最后的組合時(shí),浪費(fèi)了很多時(shí)間來修改。尤其是數(shù)據(jù)庫的連接,起初我為每個(gè)需要數(shù)據(jù)庫的模塊都建立了一個(gè)數(shù)據(jù)庫,但最終是要求統(tǒng)一到一個(gè)數(shù)據(jù)庫,為此,不僅要一個(gè)個(gè)修改界面中ADO控件與數(shù)據(jù)庫的綁定,還要修改程序中數(shù)據(jù)庫連接的目錄,非常繁瑣。總結(jié)以上問題,我們編程的時(shí)候,一定要有良好的編程習(xí)慣,不能一味求方便,要有邏輯、層次。第4章 總 結(jié)對(duì)于四年的大學(xué)生涯來說,畢業(yè)設(shè)計(jì)是一個(gè)重要的環(huán)節(jié),是把理論與實(shí)踐結(jié)合鍛煉我們自己的一次很好的體驗(yàn)。從最初的選題,開題到構(gòu)思、繪圖、編寫程序、仿真直到完成設(shè)計(jì)。每一步都包含著我的汗水。本論文題目是“糧倉溫濕度環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)”,系統(tǒng)以S
46、TC89C52RC單片機(jī)為核心,主要由LCD1602顯示電路、鍵盤控制、溫濕度采集模塊、報(bào)警系統(tǒng)。系統(tǒng)通過溫濕度傳感器采集環(huán)境的溫濕度,并將采集的數(shù)據(jù)送入單片機(jī)中。在STC89C52單片機(jī)中,對(duì)送過來的數(shù)據(jù)進(jìn)行處理和分析,并將數(shù)據(jù)通過LCD1602顯示電路顯示。若測(cè)定值超過設(shè)定值,則蜂鳴器會(huì)發(fā)出“滴滴”聲音報(bào)警,并實(shí)現(xiàn)單片機(jī)控制板對(duì)設(shè)定參數(shù)進(jìn)行控制。在設(shè)計(jì)中,也遇到很多問題。首先本系統(tǒng)需要串口通信,起初我們的單片機(jī)的晶振為12MHZ,串口可以通信,但是上位機(jī)顯示的數(shù)據(jù)不準(zhǔn)確。后來經(jīng)過我們的努力查找,發(fā)現(xiàn)當(dāng)波特率為12MHZ時(shí),波特率的設(shè)置會(huì)不標(biāo)準(zhǔn),會(huì)造成數(shù)據(jù)傳送錯(cuò)誤。應(yīng)該把單片機(jī)的晶振換成11
47、.0592MHZ。還有就是上位機(jī)的設(shè)計(jì),由于我從未學(xué)習(xí)過Visual Basic 6.0,所以設(shè)計(jì)時(shí)遇到不少問題,好在圖書館的藏書,非常豐富,從中我學(xué)習(xí)到不少知識(shí)。雖然整個(gè)設(shè)計(jì)已經(jīng)完成,但是也存在許多不足之處,因?yàn)樯衔粰C(jī)接收數(shù)據(jù)將其存入數(shù)據(jù)庫中,如果可以有歷史曲線的繪制,就會(huì)更加完美。 從系統(tǒng)測(cè)量的溫濕度值來看,整個(gè)系統(tǒng)達(dá)到了初期預(yù)想的效果,測(cè)量精度也較高。只是在控制方面顯得不足,希望以后能夠能有機(jī)會(huì)繼續(xù)完善。參考文獻(xiàn)1 柴鈺.單片機(jī)原理及應(yīng)用.西安電子科技大學(xué)出版社, 2009. 2 常健生等.檢測(cè)與轉(zhuǎn)換技術(shù).機(jī)械工業(yè)出版社, 20011. 3 陳雷等.C51單片機(jī)實(shí)訓(xùn).中國(guó)電力出版社, 2
48、006. 4 甕嘉民,等.單片機(jī)應(yīng)用開發(fā)技術(shù). 中國(guó)電力出版社, 2010. 5 李江全.現(xiàn)代測(cè)控系統(tǒng)典型應(yīng)用實(shí)例. 電子工業(yè)出版社, 2010. 6 老楊.51單片機(jī)工程師是怎樣煉成的. 電子工業(yè)出版社, 2011. 7 張靖武, 等. 單片機(jī)原理、應(yīng)用與Proteus仿真. 電子工業(yè)出版社, 20011. 8 李江全, 等. Visual Basic串口通信與測(cè)控. 人民郵電出版社, 2007. 9 莫衛(wèi)東, 等. Visual Basic高級(jí)編程技巧. 西安交通大學(xué)出版社, 2007. 10 求是科技. 單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航(第二版) .人民郵電出版社, 2008. 11 譚浩強(qiáng).
49、 C程序設(shè)計(jì)(第三版) .清華大學(xué)出版社, 2007. 12 胡小江等. 21天學(xué)通Visual Basic.電子工業(yè)出版社, 200913 郭琦. Visual Basic 數(shù)據(jù)庫系統(tǒng)開發(fā)技術(shù).人民郵電出版社, 2004: 14 饒運(yùn)濤, 等. 現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù).北京航空航天大學(xué)出版社. 2003 15 孫越. Visual Basic 數(shù)據(jù)庫開發(fā)自學(xué)教程. 北京: 人民郵電出版社, 2005: 16 吳春雷, 糧庫溫濕度智能檢測(cè)系統(tǒng)的研究D. 天津: 河北工業(yè)大學(xué);2006 17 湯慶, 基于單片機(jī)的糧庫溫度監(jiān)控系統(tǒng)設(shè)計(jì)D. 大連: 大連海事大學(xué);2004 18明日科技.Vis
50、ual Basic 控件參考大全.人民郵電出版社, 2006:致 謝本次畢業(yè)設(shè)計(jì)能夠按時(shí)完成,我要衷心地感謝我這次畢業(yè)設(shè)計(jì)的導(dǎo)師樂春峽老師。樂老師對(duì)我們進(jìn)行詳細(xì)而悉心的教導(dǎo),本著認(rèn)真負(fù)責(zé)的態(tài)度指導(dǎo)我們,雖然工作很忙,但都會(huì)抽出時(shí)間對(duì)我們進(jìn)行指導(dǎo),幫助我們解決問題以及督促我們完成任務(wù)。在這過程中,樂老師教會(huì)了我許多解決問題的辦法和思路,這些方法不僅使我解決了畢業(yè)設(shè)計(jì)的諸多問題,也是以后我工作中、學(xué)習(xí)中解決問題的寶貴經(jīng)驗(yàn)。感謝我的搭檔相征同學(xué),正是由于他負(fù)責(zé)的硬件電路模塊的按時(shí)完成,我才能把軟件結(jié)合起來對(duì)系統(tǒng)進(jìn)行調(diào)試,而且在軟件方面也給了我不少建議,給我出謀劃策,使我能夠按時(shí)完成任務(wù)。感謝電控學(xué)院
51、的其他老師和同學(xué)們給我提供的幫助和支持。在畢業(yè)設(shè)計(jì)過程中,我們需要用到一些儀器及設(shè)備,我們學(xué)院各個(gè)實(shí)驗(yàn)室的老師和同學(xué)都主動(dòng)給我們提供幫助。無論在解決理論還是實(shí)際問題上,學(xué)習(xí)優(yōu)秀的同學(xué)還有動(dòng)手能力強(qiáng)的同學(xué)都給予了我很大的幫助,使我增長(zhǎng)了理論知識(shí)的同時(shí),也學(xué)到了不少實(shí)際操作的經(jīng)驗(yàn)。在此論文完成之際,謹(jǐn)向所有曾給予我?guī)椭椭笇?dǎo)的老師、同學(xué)和朋友們致以衷心的感謝! 附錄1.仿真原理圖2硬件原理圖3.上位機(jī)顯示圖4.實(shí)物圖5.單片機(jī)程序#include <reg52.h> #include <math.h>#include <intrins.h>#define byte unsigned char#define uchar unsigned char#define uint unsigned intunsigned char dispbuf5=0; unsigned char temp5; unsigned char T0count; unsigned int timecount; bit flag; signed char RH;/濕度unsigned char Tset,Rset;/默認(rèn)的溫度報(bào)警線unsigned char menu;/菜單變量,0時(shí)正常,1時(shí)設(shè)置溫度,2時(shí)設(shè)置濕度sbit K0=P32;/定義鍵盤K0 sbit K1=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)協(xié)議的詳細(xì)分類與分析試題及答案
- 嵌入式技術(shù)在智能家居中的應(yīng)用試題及答案
- 公路工程可行性論證重點(diǎn)試題及答案
- 數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入導(dǎo)出試題及答案
- 計(jì)算機(jī)系統(tǒng)基礎(chǔ)知識(shí)試題及答案
- 學(xué)習(xí)輔助的計(jì)算機(jī)三級(jí)數(shù)據(jù)庫試題及答案
- 提升公路工程考試通過率試題及答案
- 河道整治與生態(tài)修復(fù)考核試卷
- 數(shù)據(jù)庫設(shè)計(jì)的可擴(kuò)展性分析試題及答案
- 網(wǎng)絡(luò)設(shè)備管理及優(yōu)化試題及答案
- 音樂治療自閉癥
- 山東省煙臺(tái)市萊州市一中2025屆高考數(shù)學(xué)押題試卷含解析
- 2024ESC心房顫動(dòng)管理指南解讀
- TDT1055-2019第三次全國(guó)國(guó)土調(diào)查技術(shù)規(guī)程
- 行政倫理學(xué)-終結(jié)性考核-國(guó)開(SC)-參考資料
- 《幼兒教育政策與法規(guī)》課件-單元4 幼兒園的保育和教育
- 廣告安裝施工及方案
- 應(yīng)急第一響應(yīng)人理論考試試卷(含答案)
- 【初中道法】樹立正確的人生目標(biāo)(課件)-2024-2025學(xué)年七年級(jí)道德與法治上冊(cè)(統(tǒng)編版2024)
- 叉車出租行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 綠化項(xiàng)目養(yǎng)護(hù)人員配備計(jì)劃及崗位實(shí)施方案
評(píng)論
0/150
提交評(píng)論