版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
江蘇理工學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)頁(yè)共43頁(yè)第1章緒論1.1課題意義和目的溫度與濕度是衡量室內(nèi)環(huán)境的一個(gè)重要指標(biāo),我們需要對(duì)這兩個(gè)指標(biāo)進(jìn)行實(shí)時(shí)監(jiān)控。通過對(duì)溫濕度的監(jiān)控,我們可以及早發(fā)現(xiàn)一些問題并及時(shí)的處理,比如說在一些溫室,花草的成長(zhǎng),和溫濕度是離不開的,它們只有在適宜的環(huán)境下,在適宜的濕度和溫度下,才能成長(zhǎng)的更快,我們才能獲得更大的效益。我們需要一種造價(jià)低廉、使用方便且測(cè)量準(zhǔn)確的溫濕度測(cè)量?jī)x,因此根據(jù)課題設(shè)計(jì)出了能夠自動(dòng)檢測(cè)多個(gè)測(cè)點(diǎn)溫濕度并根據(jù)設(shè)定值進(jìn)行報(bào)警的系統(tǒng)。1.2課題研究?jī)?nèi)容本設(shè)計(jì)課題是基于單片機(jī)的室內(nèi)環(huán)境監(jiān)控系統(tǒng),其主要研究?jī)?nèi)容為:1、以單片機(jī)、溫濕度傳感器、LCD顯示模塊等為核心器件組成室內(nèi)環(huán)境監(jiān)控系統(tǒng)。2、根據(jù)課題要求采購(gòu)各種元器件并完成軟硬件電路設(shè)計(jì),完成焊接和調(diào)試工作。3、完成該設(shè)計(jì)的程序設(shè)計(jì),提交程序設(shè)計(jì)框圖及源程序清單。4、完成硬件與軟件的綜合調(diào)試,實(shí)現(xiàn)基本功能和主要技術(shù)指標(biāo)。1.3課題任務(wù)要求設(shè)計(jì)制作一個(gè)利用單片機(jī)作為核心的室內(nèi)環(huán)境監(jiān)測(cè)報(bào)警系統(tǒng),具體要求為:1.設(shè)計(jì)一個(gè)利用溫濕度傳感器監(jiān)測(cè)室內(nèi)環(huán)境中的溫濕度數(shù)據(jù)并根據(jù)設(shè)定的上下限值進(jìn)行聲光報(bào)警的系統(tǒng)。2.該系統(tǒng)共有兩個(gè)監(jiān)測(cè)點(diǎn),分別監(jiān)測(cè)當(dāng)前室內(nèi)溫濕度,要求系統(tǒng)可以分別清晰地顯示兩個(gè)測(cè)量點(diǎn)的溫濕度值。3.設(shè)計(jì)的系統(tǒng)可以通過按鍵調(diào)節(jié)溫濕度上下限,當(dāng)監(jiān)測(cè)的溫濕度超過設(shè)定的上下限時(shí)就會(huì)進(jìn)行報(bào)警。(例如當(dāng)設(shè)置的溫度上下限分別為40攝氏度和10攝氏度時(shí),如監(jiān)測(cè)到的溫度超過40攝氏度或者低于10攝氏度,此時(shí)就會(huì)報(bào)警)
第2章系統(tǒng)方案設(shè)計(jì)課題的目的以及需要實(shí)現(xiàn)的功能已經(jīng)明確,接下來根據(jù)課題的具體要求制定設(shè)計(jì)方案,經(jīng)過對(duì)各個(gè)模塊的仔細(xì)分析最終選擇可行的方案。2.1系統(tǒng)方案構(gòu)思溫濕度監(jiān)控系統(tǒng)具有可以對(duì)數(shù)據(jù)進(jìn)行采集和處理、顯示采集到的數(shù)據(jù)、進(jìn)行串口通信、輸出控制信號(hào)等多種功能。本系統(tǒng)由溫濕度檢測(cè)模塊、LCD顯示模塊、單片機(jī)控制模塊、按鍵模塊、聲光報(bào)警模塊等6個(gè)主要模塊電路組成。該監(jiān)測(cè)系統(tǒng)具有實(shí)時(shí)采集室內(nèi)溫濕度并對(duì)采集到的數(shù)據(jù)進(jìn)行實(shí)時(shí)比較和分析,當(dāng)超過設(shè)定要求的上下限時(shí)進(jìn)行聲光報(bào)警的功能。(1)方案一:系統(tǒng)原理圖如圖2-1所示。本方案采用溫濕度傳感器采集溫濕度信息經(jīng)過A/D轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)發(fā)送給FPGA中,再通過LED數(shù)碼管顯示出來。按鍵電路是用來設(shè)置采集溫濕度數(shù)據(jù)的上下限值。當(dāng)顯示的溫濕度數(shù)據(jù)超過設(shè)置的上限值或低于設(shè)置的下限值時(shí),聲光報(bào)警電路開始工作。圖2-1方案一電路原理框圖(2)方案二:系統(tǒng)原理圖如圖2-2所示。本方案使用溫濕度傳感器采集2個(gè)監(jiān)測(cè)點(diǎn)的溫濕度數(shù)據(jù),并將采集到的數(shù)據(jù)發(fā)送到單片機(jī)中進(jìn)行處理,處理完畢后再由LCD1602顯示器顯示。按鍵電路是用來設(shè)置采集的溫濕度的數(shù)據(jù)的上下限值。當(dāng)采集到的數(shù)據(jù)不在設(shè)置的上下限范圍內(nèi)時(shí),監(jiān)測(cè)系統(tǒng)開始報(bào)警。圖2-2方案二電路原理框圖2.2方案的選擇與論證2.2.1方案比較與論證1.控制器選擇控制器主要有FPGA和單片機(jī)兩種選擇。FPGA相對(duì)于單片機(jī)來說I/O口較多,擴(kuò)展電路相對(duì)比較簡(jiǎn)單,而且FPGA的抗干擾性能和速度比單片機(jī)要好,但是單片機(jī)與FPGA相比價(jià)格較低,且功耗低,對(duì)于這種較簡(jiǎn)單的控制系統(tǒng)來說單片機(jī)的功能已經(jīng)足夠可以符合該系統(tǒng)的設(shè)計(jì)要求。而且相比于FPGA,單片機(jī)只需4個(gè)端口中的2個(gè)就能滿足系統(tǒng)的設(shè)計(jì)需要,并且可以用干電池供電,適合像本次設(shè)計(jì)一樣的小型系統(tǒng)。所以綜合考慮,本系統(tǒng)選擇單片機(jī)作為控制器。2.傳感器選擇傳感器部分主要有模擬傳感器和數(shù)字傳感器兩種選擇。模擬傳感器采集的數(shù)據(jù)需要經(jīng)過A/D轉(zhuǎn)換器才能轉(zhuǎn)換成數(shù)字信號(hào),精度受到A/D轉(zhuǎn)換器的影響,\t"F:/迅雷下載/report_bf759f51_2015-5-30-15-57-16/PaperPass-VIP專業(yè)版-檢測(cè)報(bào)告/htmls/detail_report/right"若選用精度較高的轉(zhuǎn)換器費(fèi)用方面就會(huì)提高,而數(shù)字傳感器具有精度高,費(fèi)用低的優(yōu)點(diǎn),所以選擇數(shù)字模擬器(DHT11)。3.顯示器選擇顯示器部分主要有LED數(shù)碼管和LCD顯示屏兩種選擇。由于本次設(shè)計(jì)要求顯示的數(shù)據(jù)較多,但是數(shù)碼管顯示出的數(shù)據(jù)并不容易觀察,而LCD顯示屏可以很直觀的顯示出收集到的數(shù)據(jù),所以本次設(shè)計(jì)選擇LCD顯示屏。綜上所述,考慮到設(shè)計(jì)經(jīng)費(fèi)、電路功耗和硬件制作工序以及其他各方面的因素,本次設(shè)計(jì)選擇方案二。2.2.2系統(tǒng)結(jié)構(gòu)框圖本次設(shè)計(jì)使用3節(jié)干電池作為電源,采用數(shù)字溫濕度傳感器將采集到的溫濕度數(shù)據(jù)送入STC89C52單片機(jī)中,再用LCD1602液晶顯示器顯示出來。按鍵電路是用來設(shè)置溫濕度采集數(shù)據(jù)的上下限值。當(dāng)顯示的數(shù)據(jù)超過設(shè)置的上限值或低于設(shè)置的下限值時(shí),聲光報(bào)警電路開始工作,對(duì)不在范圍內(nèi)的數(shù)據(jù)報(bào)警。圖2-3電路原理框圖
第3章系統(tǒng)硬件電路設(shè)計(jì)根據(jù)系統(tǒng)方案設(shè)計(jì)要求,進(jìn)行多點(diǎn)溫濕度監(jiān)測(cè),其主要電路包括以下七個(gè)模塊:溫濕度測(cè)量模塊、單片機(jī)控制模塊、按鍵選擇模塊、顯示模塊、報(bào)警電路模塊、時(shí)鐘模塊和復(fù)位模塊。3.1單片機(jī)簡(jiǎn)介STC89C52單片機(jī)是一款功耗低、性能優(yōu)秀、工作可靠的微處理器,此單片機(jī)的片內(nèi)有4k字節(jié)的存儲(chǔ)器,可以支持重復(fù)編程和快速擦除寫入程序,能重復(fù)寫入、擦除上千次。本次設(shè)計(jì)采用STC89C52是因?yàn)檫@款單片機(jī)在執(zhí)行指令方式和引腳上與51系列單片機(jī)幾乎一致,而且相比51系列單片機(jī),STC89C52具有更多的使用功能。STC89C52可構(gòu)成單片機(jī)最小應(yīng)用系統(tǒng),這樣可以提升系統(tǒng)的穩(wěn)定性,降低成本。編程時(shí)可以使用5V的電壓,不易對(duì)器件造成損壞,需要改寫程序時(shí)也不用取下芯片,并且擦除時(shí)間僅需10毫秒,比51系列單片機(jī)快很多,適合很多嵌入式領(lǐng)域。引腳介紹:VCC:供電電壓GND:接地P0口:P0口是由P0.0—P0.7這8個(gè)雙向I/O口組成的,每個(gè)引腳可以接收8個(gè)TTL門電流。當(dāng)對(duì)片內(nèi)FLASH進(jìn)行編程時(shí),P0口作為接收命令的端口,而在檢驗(yàn)程序時(shí),P0口用來輸出命令P1口:P1口既可以作為輸入口又可以作為輸出口,當(dāng)它被內(nèi)部上拉為高電平時(shí)為輸入口,而當(dāng)它被拉為低電平時(shí)作為輸出口。P2口:P2口一般作為雙向I/O端口使用或者作為高8位地址總線輸出引腳P3口:P3口由8個(gè)引腳組成,能作為雙向I/O端口使用但是一般會(huì)使用其第二功能RST:復(fù)位輸入ALE/PROG:作為地址鎖存允許信號(hào)輸出引腳或編程脈沖輸入引腳PSEN:片外ROM讀選通信號(hào)輸出引腳XTAL1:接入晶體振蕩器的引腳XTAL2:另一個(gè)接入晶體振蕩器的引腳圖3-1STC89C52單片機(jī)引腳示意圖3.2時(shí)鐘電路時(shí)鐘電路能產(chǎn)生基準(zhǔn)時(shí)鐘信號(hào),為單片機(jī)和整個(gè)硬件電路提供運(yùn)行時(shí)鐘,可控制PC機(jī)的工作節(jié)奏,如果沒有時(shí)鐘電路來產(chǎn)生時(shí)鐘信號(hào)驅(qū)動(dòng)單片機(jī),單片機(jī)是無法工作的。CPU完成各種不同的命令也需要有復(fù)雜的時(shí)序。如時(shí)鐘電路的輸出為0或時(shí)鐘頻率超過單片機(jī)的工作頻率,單片機(jī)也不能工作。STC89C52的時(shí)鐘信號(hào)產(chǎn)生方式有兩種:一種是利用芯片內(nèi)部的震蕩電路來產(chǎn)生時(shí)鐘信號(hào),另一種是從外部直接引入時(shí)鐘信號(hào)。圖3-2時(shí)鐘電路3.3復(fù)位電路復(fù)位電路的作用是初始化程序計(jì)數(shù)器(PC),它的作用除了可以使系統(tǒng)進(jìn)入正常的初始化,還可以在系統(tǒng)發(fā)生錯(cuò)誤鎖死時(shí)起到重啟系統(tǒng)的作用。圖3-3復(fù)位電路3.4按鍵電路用5個(gè)鍵來控制,Key1鍵是使界面返回到最初的的主界面,Key2鍵是用來由主界面切換到修改溫濕度上下限界面,Key3鍵用來切換具體希望修改的某個(gè)溫濕度上下限,Key4鍵用來增加溫濕度上下限,Key5鍵是用來減小溫濕度上下限。圖3-4按鍵電路3.5溫濕度檢測(cè)電路DHT11溫濕度傳感器是一款可以對(duì)信號(hào)進(jìn)行自動(dòng)校準(zhǔn)輸出的數(shù)字型傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有測(cè)量精度高,穩(wěn)定性強(qiáng)等特點(diǎn)。因此DHT11具有穩(wěn)定性高、抗干擾能力強(qiáng)、數(shù)據(jù)測(cè)量精確、產(chǎn)品價(jià)格低廉等優(yōu)點(diǎn)。每個(gè)DHT11傳感器都經(jīng)過實(shí)驗(yàn)室嚴(yán)格測(cè)試以確保其測(cè)量精度。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在OTP內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。這些特性使DHT11成為了各類產(chǎn)品及設(shè)計(jì)中的首選。產(chǎn)品為4針單排引腳封裝。DHT11的供電電壓僅需3.3v到5.5v左右,完全可以用干電池供電,而能測(cè)量的濕度范圍為百分之20到百分之90RH,能測(cè)量的溫度范圍為0攝氏度到50攝氏度。對(duì)于像本設(shè)計(jì)一樣的小型系統(tǒng)來說,DHT11的這些特性都極為適合。從STC89C52單片機(jī)接受到開始信號(hào)后,DHT11傳感器開始工作,在主機(jī)的開始信號(hào)結(jié)束后,DHT11發(fā)出響應(yīng)信號(hào)并開始進(jìn)行數(shù)據(jù)采集。只有當(dāng)DHT11傳感器接收到由主機(jī)發(fā)送的開始指令時(shí)它才會(huì)開始采集數(shù)據(jù),當(dāng)沒有接收到開始信號(hào)時(shí)DHT11傳感器處于低速狀態(tài)。接收一次數(shù)據(jù)包含40bit,它分別由8bit的濕度整數(shù)數(shù)據(jù)加上8bit的濕度小數(shù)數(shù)據(jù)和8bit的溫度整數(shù)數(shù)據(jù)和8bit的溫度小數(shù)數(shù)據(jù)組成。當(dāng)數(shù)據(jù)正確接收時(shí)會(huì)顯示4個(gè)數(shù)據(jù)之和的末八位。圖3-5溫濕度檢測(cè)電路3.6顯示電路1602LCD的特性:+3.3V電壓,對(duì)比度可調(diào),內(nèi)含復(fù)位電路,可以提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能,有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM,內(nèi)建有192個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM,8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM,并且其功耗小、體積小、顯示內(nèi)容豐富、超薄輕巧,適合在一些小型儀器中使用。圖3-6顯示電路3.7報(bào)警電路本電路使用四個(gè)報(bào)警指示燈,一個(gè)蜂鳴器和LCD1602液晶顯示共同實(shí)現(xiàn)報(bào)警,四個(gè)燈的作用是可以清楚看出是哪個(gè)節(jié)點(diǎn)的報(bào)警,與蜂鳴器組成聲光報(bào)警系統(tǒng)。使用LCD1602可以清楚的觀察測(cè)到的溫濕度上下限。當(dāng)報(bào)警時(shí),通過四個(gè)指示燈可以清楚地看出是哪個(gè)節(jié)點(diǎn)溫度和濕度超限,如果想進(jìn)一步知道是溫度還是濕度報(bào)警,是超上限還是超下限報(bào)警,可以通過液晶清楚地看出來,因?yàn)樵谲浖幊虝r(shí),在液晶是適當(dāng)?shù)奈恢昧袅丝瘴挥脕盹@示超上限還是超下限,設(shè)計(jì)電路時(shí)采用的思想是當(dāng)溫度超過上限時(shí)讓液晶在適當(dāng)?shù)奈恢蔑@示+,超下限時(shí)顯示-,同樣濕度也一樣。這樣就可以清楚地看出是溫度超限還是濕度超限。圖3-7報(bào)警電路
第4章系統(tǒng)軟件設(shè)計(jì)根據(jù)已設(shè)計(jì)好的硬件功能來編寫相應(yīng)的軟件,C語言是我這四年主要學(xué)習(xí)的編程語言,所以在本次畢業(yè)設(shè)計(jì)中我選用C語言進(jìn)行軟件設(shè)計(jì)。經(jīng)過查閱資料分別完成子程序和主程序的設(shè)計(jì),并在完成程序編寫后進(jìn)行測(cè)試,確保程序達(dá)到功能要求。4.1軟件設(shè)計(jì)總體思路整個(gè)系統(tǒng)功能的實(shí)現(xiàn)需要軟硬件之間相互的配合,當(dāng)硬件功能確定時(shí)就應(yīng)該著手編寫可以實(shí)現(xiàn)這些功能的軟件。編寫的軟件包括主程序和主程序,主程序是所有程序中最重要的部分,編的時(shí)候需要格外留心,因?yàn)橹鞒绦蛑饕?fù)責(zé)調(diào)用各個(gè)子程序,如果主程序出錯(cuò)將會(huì)影響到整個(gè)程序的運(yùn)行。子程序主要用來實(shí)現(xiàn)各種功能,例如數(shù)據(jù)顯示、數(shù)據(jù)通訊、數(shù)據(jù)測(cè)量等。4.2主程序流程圖設(shè)計(jì)圖4-1主程序流程圖4.3子程序流程圖設(shè)計(jì)4.3.1按鍵電路子程序流程圖用5個(gè)鍵來控制,Key1鍵是使界面返回到最初的的主界面,Key2鍵是用來由主界面切換到修改溫濕度上下限界面,Key3鍵用來切換具體希望修改的某個(gè)溫濕度上下限,Key4鍵用來增加溫濕度上下限,Key5鍵是用來減小溫濕度上下限。圖4-2按鍵電路子程序流程圖4.3.2溫濕度測(cè)量子程序流程圖溫濕度監(jiān)測(cè)系統(tǒng)主要是采用DHT11傳感器實(shí)現(xiàn)。DHT11在執(zhí)行命令時(shí)對(duì)時(shí)序的要求很高,所以必須按照DHT11要求的時(shí)序來編寫程序這樣才能達(dá)到任務(wù)要求。DHT11會(huì)讀進(jìn)來12位高位在后低位在前的數(shù),其中有7位整數(shù)、4位小數(shù)、一位符號(hào)。具體的設(shè)計(jì)如下:圖4-3溫濕度測(cè)量子程序流程圖4.3.3顯示模塊子程序流程圖本設(shè)計(jì)通過LCD1602顯示實(shí)時(shí)的溫濕度測(cè)量結(jié)果,LCD1602顯示屏可以同時(shí)顯示多組數(shù)據(jù)并且清晰直觀,器件成品低,適合運(yùn)用在本次設(shè)計(jì)上,具體軟件設(shè)計(jì)如下:圖4-4顯示模塊子程序流程圖4.3.4報(bào)警模塊子程序流程圖電路的具體報(bào)警用LED燈和蜂鳴器來指示,溫濕度超過上下限,相應(yīng)的指示燈會(huì)點(diǎn)亮,并且蜂鳴器響。圖4-5報(bào)警模塊子程序流程圖
第5章系統(tǒng)調(diào)試與數(shù)據(jù)分析在完成了軟硬件設(shè)計(jì)的基礎(chǔ)上,根據(jù)任務(wù)書上的功能對(duì)整個(gè)監(jiān)測(cè)系統(tǒng)進(jìn)行整體調(diào)試及檢查,并對(duì)發(fā)現(xiàn)的問題進(jìn)行及時(shí)處理,完善整個(gè)系統(tǒng)的功能、穩(wěn)定性和實(shí)用性。5.1硬件電路調(diào)試5.1.1硬件電路功能與測(cè)試通電前先進(jìn)行靜態(tài)調(diào)試,因?yàn)楸鞠到y(tǒng)采用的電路板為PCB印制板,元器件大多使用貼片元器件,首先用萬用表測(cè)量元器件焊接是否有短路、虛焊的情況。確保各器件焊接正確后通電測(cè)量。(1)單片機(jī)最小系統(tǒng)電路在單片機(jī)外圍接一個(gè)發(fā)光二極管,寫一個(gè)簡(jiǎn)單的程序,把程序下載到單片機(jī),看能否正常工作,如果可以說明單片機(jī)時(shí)鐘電路沒有問題。在電路工作時(shí)按下復(fù)位電路的控制按鍵,通過觀察發(fā)光二極管工作情況,可以看出復(fù)位電路是否正常工作。由此來檢查單片機(jī)最小系統(tǒng)是否工作正常。(2)LCD1602顯示電路焊接好LCD1602電路模塊后,將一個(gè)簡(jiǎn)單的顯示測(cè)試程序下載到單片機(jī)中,觀察LCD1602是否亮起,如果亮起說明顯示模塊電路焊接無誤。(3)溫濕度測(cè)量電路接上DHT11溫濕度監(jiān)測(cè)電路,嚴(yán)格按照DHT11的工作時(shí)序來編寫程序,將編寫好的程序下載到單片機(jī)STC89C52中,通過觀察DHT11是否進(jìn)行測(cè)量工作來確定電路是否正確。(4)按鍵掃描電路按鍵電路的檢測(cè)主要是通過萬用表進(jìn)行測(cè)量。(5)報(bào)警電路報(bào)警電路由四個(gè)發(fā)光二極管,蜂鳴器和LCD1602顯示電路構(gòu)成,確保各個(gè)模塊能正常工作的前提下,把編寫好的程序下載到單片機(jī)里,使DHT11進(jìn)行溫濕度采集,當(dāng)溫濕度超過或低于預(yù)先設(shè)置好的上下限時(shí),對(duì)應(yīng)的發(fā)光二極管就會(huì)亮起,蜂鳴器響。5.1.2存在問題及解決方法(1)焊好后發(fā)現(xiàn)LCD1602不亮,初步猜想是可能存在虛焊或者各個(gè)端口與程序編寫的不一致。經(jīng)過檢查發(fā)現(xiàn)是LCD1602的A、K引腳未連接,連接好后LCD正常。(2)鍵盤焊好后發(fā)現(xiàn)按下相應(yīng)的鍵盤沒有正常跳轉(zhuǎn),首先我用萬用表依次檢查每個(gè)按鍵是否都有效,將5個(gè)按鍵檢測(cè)一下,看鍵盤接口與軟件是否匹配。結(jié)果發(fā)現(xiàn)是軟件消抖不理想。(3)整個(gè)系統(tǒng)焊接好后發(fā)現(xiàn)單片機(jī)不能正常工作,我依次檢查了單片機(jī)各個(gè)引腳的接線,以及電源與地是否都接正確了。最后發(fā)現(xiàn)是接觸不良,重新調(diào)整單片機(jī)與卡座的連接,單片機(jī)可以正常工作了。硬件調(diào)試后排除了那些硬件問題,硬件能正常工作了,達(dá)到室內(nèi)環(huán)境監(jiān)測(cè)系統(tǒng)的要求。LCD1602屏幕上能顯示當(dāng)前溫濕度,可以通過5個(gè)按鍵來進(jìn)行溫濕度上下限的調(diào)節(jié),Key1鍵是使界面返回到最初的的主界面,Key2鍵是用來由主界面切換到修改溫濕度上下限界面,Key3鍵用來切換具體希望修改的某個(gè)溫濕度上下限,Key4鍵用來增加溫濕度上下限,Key5鍵是用來減小溫濕度上下限。當(dāng)溫濕度超過按鍵設(shè)置的上下限,蜂鳴器響,且LED指示燈能指示出具體是哪一個(gè)溫濕度傳感器的哪個(gè)值不在上下限區(qū)間內(nèi)。5.2軟件調(diào)試由于已經(jīng)進(jìn)行了硬件調(diào)試,所以軟件調(diào)試主要是軟件的編譯和功能的仿真。在進(jìn)行功能調(diào)試前必須用KEILC軟件對(duì)所有程序進(jìn)行編譯,編譯成功產(chǎn)生可執(zhí)行的.hex文件后方可進(jìn)行硬件仿真。進(jìn)行軟件調(diào)試時(shí)不在PCB板上調(diào)試,而是用51單片機(jī)開發(fā)板,用LED燈模擬子程序是否工作正常。5.2.1程序編寫與測(cè)試軟件方面主要包括按鍵模塊子程序編寫、溫濕度檢測(cè)模塊子程序編寫、顯示模塊子程序編寫、報(bào)警模塊子程序編寫等幾個(gè)子程序設(shè)計(jì),采取分模塊設(shè)計(jì),用KEIL軟件進(jìn)行程序編寫,并分別將各個(gè)子程序在51單片機(jī)開發(fā)板上做軟件調(diào)試。按鍵模塊程序編寫在KEIL軟件上編寫按鍵模塊子程序,按下按鍵,相應(yīng)的指示燈亮起,以此來測(cè)試按鍵模塊子程序是否正確。溫濕度檢測(cè)程序編寫在KEIL軟件上編寫溫濕度檢測(cè)子程序,采集溫濕度傳感器的接收信號(hào),采集其中的一個(gè)溫度參數(shù)顯示在數(shù)碼管上,為了測(cè)試程序是否正確,增加了當(dāng)前溫度,經(jīng)過觀察發(fā)現(xiàn)數(shù)碼管上溫度上升了,說明程序編寫基本無誤。顯示模塊程序編寫在KEIL軟件上編寫LCD1602顯示子程序,先編寫靜態(tài)顯示程序,顯示一串字符串,顯示正常后再將溫濕度傳感器檢測(cè)到數(shù)據(jù)顯示到LCD屏幕上,經(jīng)過觀察可以正確顯示傳感器檢測(cè)到的數(shù)據(jù)。報(bào)警模塊程序編寫在KEIL軟件上編寫一個(gè)小程序,讓蜂鳴器響,指示燈依次點(diǎn)亮,以此來檢測(cè)程序是否正確以及蜂鳴器是否能正常工作。(5)上述子程序都成功后,將各個(gè)子程序整合,編寫主程序,然后整體調(diào)試。5.2.2存在問題及改進(jìn)措施由于本系統(tǒng)是模塊化程序設(shè)計(jì)的,所以調(diào)試時(shí)要對(duì)各個(gè)模塊的子程序進(jìn)行調(diào)試。調(diào)試從最簡(jiǎn)單的模塊開始,一步一步的進(jìn)行調(diào)試。先進(jìn)行顯示模塊的調(diào)試,調(diào)試LCD是否可以正常顯示。然后依次對(duì)數(shù)據(jù)處理、加操作、減操作等子程序進(jìn)行調(diào)試,將鍵盤程序燒入進(jìn)行調(diào)試。然后將傳感器部分接入,看是否和預(yù)想的一樣,最后所有模塊子程序都檢驗(yàn)沒有錯(cuò)誤以后,編寫主程序連接各個(gè)子程序進(jìn)行整體的軟硬件系統(tǒng)調(diào)試。調(diào)試結(jié)果如下:按鍵按下不靈敏,這是軟件上按鍵消抖的問題,本設(shè)計(jì)采用的是延時(shí)消抖,所以按下按鍵時(shí)需要長(zhǎng)按。LCD顯示會(huì)閃爍,經(jīng)過對(duì)程序的檢測(cè)發(fā)現(xiàn)這主要是顯示中延時(shí)的長(zhǎng)短設(shè)置問題,通過改變延時(shí)時(shí)間,可以讓LCD屏幕在肉眼看的時(shí)候不閃爍。傳感器接受信號(hào)反應(yīng)慢,這個(gè)一方面是傳感器本身的原因,另一方便是程序中需要改進(jìn),經(jīng)過對(duì)程序的修改,發(fā)現(xiàn)縮短延時(shí),精簡(jiǎn)語句可以解決傳感器接受信號(hào)反應(yīng)慢的問題。5.3測(cè)試結(jié)果分析本系統(tǒng)通過單片機(jī)能夠完成實(shí)時(shí)室內(nèi)環(huán)境的監(jiān)測(cè),能夠接收命令和發(fā)送室內(nèi)環(huán)境參數(shù)信息值傳給單片機(jī),單片機(jī)接收到數(shù)據(jù)后也可以進(jìn)行處理并驅(qū)使顯示模塊進(jìn)行數(shù)據(jù)顯示以及觸發(fā)報(bào)警。硬件的制作已達(dá)到要求,軟件也能達(dá)到任務(wù)書上的要求,但是整個(gè)系統(tǒng)還是存在一些不足之處的。首先在LCD1602顯示數(shù)據(jù)方面,一開始我采用4位顯示,溫濕度值不能同屏顯示,不能達(dá)到直觀顯示結(jié)果的目的,而電路板上也沒有足夠的位置讓我再加4位顯示,于是我從軟件下手,用T代表溫度,H代表濕度,這樣就能溫濕度同屏顯示了。其次我發(fā)現(xiàn)了按鍵并不靈敏,有時(shí)按下有反應(yīng),有時(shí)則會(huì)失靈,通過查閱資料,我知道了這是由于按鍵自身構(gòu)造的關(guān)系,由于按鍵中有彈簧,導(dǎo)致了按下的過程中電路不會(huì)馬上接通而是產(chǎn)生一系列的信號(hào)而產(chǎn)生按鍵被按下多次的效果。因?yàn)榘存I比較多所以我從軟件出發(fā),采用了軟件消抖的方法,解決了這個(gè)問題。室內(nèi)環(huán)境監(jiān)測(cè)系統(tǒng)測(cè)試結(jié)果如下:LCD1602顯示屏上能正常顯示兩個(gè)監(jiān)測(cè)點(diǎn)的溫濕度,能通過切換按鍵更改溫濕度上下限。當(dāng)溫濕度超過范圍時(shí),報(bào)警燈亮,蜂鳴器響,基本達(dá)到設(shè)計(jì)要求。
第6章總結(jié)與展望本次我設(shè)計(jì)的是一個(gè)以STC89C52為核心的室內(nèi)環(huán)境監(jiān)測(cè)系統(tǒng),該系統(tǒng)可以實(shí)時(shí)檢測(cè)室內(nèi)的溫濕度數(shù)據(jù)并且反應(yīng)在LCD屏幕上,此外還可以對(duì)溫濕度值上下限值進(jìn)行設(shè)定,讓其在溫濕度不在設(shè)定的范圍內(nèi)時(shí)進(jìn)行報(bào)警,使我們可以及時(shí)采取應(yīng)對(duì)措施。本次系統(tǒng)設(shè)計(jì)完成了電源電路、顯示電路、按鍵電路、復(fù)位電路、報(bào)警電路的軟硬件設(shè)計(jì),經(jīng)過理論上的分析和實(shí)際的操作,基本完成設(shè)計(jì)目標(biāo)。雖然排除了很多問題,但本設(shè)計(jì)最終實(shí)現(xiàn)還是存在一些不足,例如翻頁(yè)顯示存儲(chǔ)內(nèi)容時(shí),不能顯示每?jī)擅氪鎯?chǔ)的時(shí)間。通過這次室內(nèi)環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)與制作,讓我在編寫程序方面有了很大的進(jìn)步,也讓我了解了關(guān)于溫濕度的原理與設(shè)計(jì)理念,要焊接硬件電路一定要先確保整個(gè)電路的連線無誤。但連線無誤并成功焊接好硬件電路不代表最后的實(shí)物就能實(shí)現(xiàn)所有功能,因?yàn)楹附訉?shí)物時(shí)有時(shí)難以避免出現(xiàn)各種問題,可能會(huì)出現(xiàn)各種短路或斷路的情況。而且在仿真時(shí)用的連線接法在實(shí)際情況中不一定通用。所以在制作實(shí)物時(shí)應(yīng)該仔細(xì)制定焊接方案,選擇最簡(jiǎn)單可行的設(shè)計(jì)方法。并且在這為期一個(gè)學(xué)期的學(xué)習(xí)中讓我對(duì)我的學(xué)科有了新的了解。所以說想要更好的加深鞏固自己所學(xué)的專業(yè)知識(shí)就一定要勤于自己動(dòng)手操作。在這一學(xué)期中我明白了查閱資料的重要性,也看到了自己知識(shí)量和經(jīng)驗(yàn)的不足,通過查閱資料讓我對(duì)我的學(xué)科的專業(yè)知識(shí)有了更深的了解。比如在焊接時(shí)我因?yàn)椴皇煜HT11的構(gòu)造把它的1和3腳焊反了,導(dǎo)致DHT11在工作時(shí)發(fā)燙,不能正常測(cè)量數(shù)據(jù),后經(jīng)過查找資料才糾正了這個(gè)錯(cuò)誤。另外,我還深刻體會(huì)到了理論結(jié)合實(shí)際的重要性,要學(xué)會(huì)把學(xué)校學(xué)習(xí)到的知識(shí)運(yùn)用到現(xiàn)實(shí)生活中去,做到學(xué)以致用,對(duì)單機(jī)片機(jī)的學(xué)習(xí)也是一樣,只有經(jīng)常自己編寫程序才能提高水平,這就是我在這次課程設(shè)計(jì)中的最大收獲。經(jīng)過這次畢業(yè)設(shè)計(jì)我對(duì)單片機(jī)的興趣更加濃厚了,我學(xué)會(huì)了用Keil,PROTEUS,Altiumdesigner等專業(yè)軟件,學(xué)會(huì)了調(diào)試系統(tǒng)電路的方法,可以運(yùn)用所學(xué)知識(shí)分析并選擇正確的元器件制作硬件電路,調(diào)試時(shí)可以獨(dú)立發(fā)現(xiàn)電路或軟件中的問題并解決,學(xué)會(huì)了如何閱讀各種元器件手冊(cè)及如何編寫論文
參考文獻(xiàn)[1]夏繼強(qiáng).單片機(jī)實(shí)驗(yàn)與實(shí)踐教程[M].北京:北京航空航天大學(xué)出版社,2001.[2]高鋒.單片微型計(jì)算機(jī)原理與接口技術(shù)[M].北京:科學(xué)出版社,2003.[3]何立民.單片機(jī)高級(jí)教程[M].北京:北京航空航天大學(xué)出版社,2001.[4]鄧力.PROTEUS51單片機(jī)的電路仿真[J].中國(guó)科技信息,2006,(14):90-92.[5]唐穎.EDA技術(shù)與單片機(jī)系統(tǒng)[J].現(xiàn)代電子技術(shù),2001(3):31-32.[6]戴仙金.51單片機(jī)及其C語言程序開發(fā)實(shí)例.北京:清華大學(xué)出版社,1993.[7]譚浩強(qiáng).C語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2001.[8]李朝青.PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù)[M].北京:北京航空航天大學(xué)出版社,2000.[9]孫玉艷.實(shí)現(xiàn)PC機(jī)與單片機(jī)的數(shù)據(jù)通信與控制[J].廣東白云職業(yè)技術(shù)學(xué)院學(xué)報(bào),2002,(4):33-34.[10]張培仁.基于C語言編程MCS-51單片機(jī)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2013.[11]沈紅衛(wèi).基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2005.[12]張為民.溫濕度測(cè)控系統(tǒng)中的智能控制器研制[J].西北民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2004(02):32-33.[13]倪天龍.單總線傳感器DHT11在溫濕度測(cè)控中的應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(06):58-61.[14]李長(zhǎng)有,王文華.基于DHT11的溫濕度測(cè)控系統(tǒng)設(shè)計(jì)[J].機(jī)床與液壓,2013,41(13):21-23.[15]杜宇芳.基于nRF905和DHT11的無線溫濕度采集器[J].信息技術(shù),2012,(8):25-26.[16]XUTai-zhong,ZOUGao-Ping.Lowpowerdesignofportableelectronicsystem[J].ApplicationofMCUandEmbeddedSystem,2001,(8):11-13.
致謝充實(shí)而又短暫的四年大學(xué)生活就快結(jié)束了,我們也即將告別學(xué)習(xí)生涯踏入社會(huì),對(duì)于這所再熟悉不過的校園,我的心中充滿了留戀。走出校園,我們的人生將有一番新的旅途,要把我們?cè)趯W(xué)校學(xué)到的各種知識(shí)運(yùn)用到接下來的工作中去本次畢業(yè)設(shè)計(jì)是對(duì)我大學(xué)四年求學(xué)生涯最好的檢驗(yàn)。經(jīng)過這為期一學(xué)期的畢業(yè)設(shè)計(jì),讓我對(duì)大學(xué)四年所學(xué)的知識(shí)得到了鞏固及升華,也讓我明白了與人交流的重要性,既培養(yǎng)了我的學(xué)習(xí)能力,又鍛煉了我的交流合作能力。在做畢業(yè)設(shè)計(jì)期間,多虧了同學(xué)及老師的幫助我才能順利解決一個(gè)個(gè)難題。在他們的幫助下我才能順利完成這次畢業(yè)設(shè)計(jì)。首先要感謝帶我畢業(yè)設(shè)計(jì)的吳建明老師,在畢業(yè)設(shè)計(jì)中遇到的問題,都能得到老師的認(rèn)真指導(dǎo)和幫助,在設(shè)計(jì)遇到瓶頸的時(shí)候,老師為我們留在學(xué)校指導(dǎo)畢業(yè)設(shè)計(jì),為我們找到突破口。通過這個(gè)畢業(yè)設(shè)計(jì),我對(duì)單片機(jī)有了更深入的了解,更重要的是讓我學(xué)會(huì)了待人處事的道理以及不管在生活還是學(xué)習(xí)上都應(yīng)具備的個(gè)人素質(zhì)。其次我還要感謝我的同學(xué)特別是舍友,感謝他們不厭其煩地在我遇到難題時(shí)給予我?guī)椭?,以及在日常生活中?duì)我的種種關(guān)照,因?yàn)橛兴麄兊拇嬖诓攀刮业拇髮W(xué)生活充滿樂趣,我也把他們當(dāng)成競(jìng)爭(zhēng)的目標(biāo),這使我在學(xué)習(xí)上得到了很大的進(jìn)步。同時(shí)我要感謝所有在學(xué)習(xí)或者生活中幫助過我的老師。
最后,我要感謝我的父母,正是因?yàn)橛辛怂麄冃量酂o私的奉獻(xiàn),我才能全心全意的完成這大學(xué)四年的學(xué)習(xí)。
附錄1電路原理圖
附錄2PCB圖附錄3實(shí)物圖附錄4程序#include<reg52.h>//頭文件#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintucharcodetable1[13]="T1:T2:H1:H2:%";ucharcodetable2[11]="0123456789";//字碼uchardis_buf[3];//數(shù)值顯示緩沖區(qū)ucharTU1=30,TD1=20,HU1=60,HD1=35; //節(jié)點(diǎn)1報(bào)警值ucharTU2=30,TD2=20,HU2=60,HD2=35; //節(jié)點(diǎn)2報(bào)警值sbitRS=P2^7;sbitRW=P2^6;sbitOE=P2^5;sbitDT1=P3^2;sbitDT2=P3^3;sbitk1=P1^0;sbitk2=P1^1;sbitk3=P1^2;sbitk4=P1^3;sbitk5=P1^4;sbitL2=P2^0;sbitL1=P2^1;uintaa=0,bb=0,cc=0,dd=0,key; //延時(shí)1mSvoiddelay_ms(unsignedcharms) { uinti,j; for(i=0;i<ms;i++) for(j=0;j<280;j++) ;}voiddelay_s(signedchari) //較長(zhǎng)延時(shí)約1s{ while(i--) { delay_ms(255); delay_ms(255); }}//1602voidwrite_com(ucharcom){ OE=0; //寫命令 RS=0; P0=com; delay_ms(2); OE=1; delay_ms(2); OE=0; }voidwrite_dat(uchardat){ OE=0; RS=1; //寫數(shù)據(jù) P0=dat; delay_ms(2); OE=1; delay_ms(2); OE=0;}voidLCD_Init(){ RW=0; write_com(0x38); //顯示模式 write_com(0x0c); //開顯示光標(biāo)和閃爍設(shè)置 write_com(0x06); //地址自動(dòng)加一 write_com(0x01); //清屏 delay_ms(100);}voidshu_dis(unsignedcharnum)//將顯示數(shù)據(jù)十位、各位拆分開{signedchari=0;for(i=0;i<3;i++)//拆分bcd{dis_buf[i]=num%10;;num=num/10;}for(i=2;i>0;i--)//滅零{if(dis_buf[i]==0)dis_buf[i]=10;elsebreak;}for(i=2;i>=0;i--)//逐個(gè)顯示{write_dat(table2[dis_buf[i]]);}}//DHT11voiddelay_us() //1us{unsignedchari=7;if(i)i--;}//鍵盤unsignedcharkey_event()//取鍵值函數(shù),并將鍵值通過key_value返回{ unsignedcharkey_value; if(k1==0)key_value=1; else {if(k2==0) {key_value=2;aa++; if(aa==3)aa=0; delay_ms(255);} else {if(k3==0){key_value=3;bb++; delay_ms(255);} else {if(k4==0) {key_value=4;cc++; delay_ms(255);} else {if(k5==0){key_value=5;dd++; delay_ms(255);} } } }}returnkey_value;}unsignedcharkey_check()//按鍵檢測(cè)函數(shù),有鍵按下時(shí)置返回1,無鍵按下返回0{bitflag; P1=0xff;if(P1!=0xff)//按鍵消抖{delay_ms(20);if(P1!=0xff){flag=1;}elseflag=0;}elseflag=0;returnflag;}voidread_th1()//讀取DHT11采樣數(shù)據(jù){ unsignedchari,j,N=0,teml; unsignedcharbuf[5]; DT1=0;//響應(yīng)信號(hào)’1’有效 delay_ms(30); DT1=1; delay_us(); delay_us(); delay_us(); delay_us(); DT1=1; if(DT1==0) //是否響應(yīng)信號(hào) { while(DT1==0); //跳過80usDHT響應(yīng)信號(hào) while(DT1==1); //跳過80usDHT拉高信號(hào) //準(zhǔn)備接受溫濕度數(shù)據(jù) for(i=0;i<5;i++) { for(j=0;j<8;j++) { N=0; while(DT1==0);//bit數(shù)據(jù)頭 while(DT1==1) { delay_us();//適當(dāng)延時(shí) N++; } buf[i]<<=1; if(N>3)buf[i]++; } } DT1=1; teml=buf[0]+buf[1]+buf[2]+buf[3]; if(teml==buf[4]) { if((buf[0]<HD1)||(buf[0]>HU1)||(buf[2]<TD1)||(buf[2]>TU1))//判斷采集的溫濕度是否在設(shè)置的上下限內(nèi) {L1=0; if(buf[0]<HD1){write_com(0x80+0x0b);write_dat('-');}//小于下線,顯示‘-’ elseif(buf[0]>HU1){write_com(0x80+0x0b);write_dat('+');}//大于上線,顯示‘+’ else{write_com(0x80+0x0b);write_dat('');}//沒有超過上下限不顯示顯示 if(buf[2]<TD1){write_com(0x80+0x02);write_dat('-');}//同上 elseif(buf[2]>TU1){write_com(0x80+0x02);write_dat('+');} else{write_com(0x80+0x02);write_dat('');}} else{L1=1;} write_com(0x80+0x03); shu_dis(buf[2]); write_dat(0xdf); write_com(0x80+0x0c); shu_dis(buf[0]); write_dat(table1[12]); } }}voidread_th2(){ unsignedchari,j,N=0,teml; unsignedcharbuf[5]; DT2=0; delay_ms(30); DT2=1; delay_us(); delay_us(); delay_us(); delay_us(); DT2=1; if(DT2==0) //是否響應(yīng)信號(hào) { while(DT2==0); //跳過80usDHT響應(yīng)信號(hào) while(DT2==1); //跳過80usDHT拉高信號(hào) //準(zhǔn)備接受溫濕度數(shù)據(jù) for(i=0;i<5;i++) { for(j=0;j<8;j++) { N=0; while(DT2==0);//bit數(shù)據(jù)頭 while(DT2==1) { delay_us();//適當(dāng)延時(shí) N++; } buf[i]<<=1; if(N>3)buf[i]++; } } DT2=1; teml=buf[0]+buf[1]+buf[2]+buf[3]; if(teml==buf[4]) { if((buf[0]<HD2)||(buf[0]>HU2)||(buf[2]<TD2)||(buf[2]>TU2)) {L2=0; if(buf[0]<HD2){write_com(0x80+0x40+0x0b);write_dat('-');} elseif(buf[0]>HU2){write_com(0x80+0x40+0x0b);write_dat('+');} else{write_com(0x80+0x40+0x0b);write_dat('');} if(buf[2]<TD2){write_com(0x80+0x40+0x02);write_dat('-');} elseif(buf[2]>TU2){write_com(0x80+0x40+0x02);write_dat('+');} else{write_com(0x80+0x40+0x02);write_dat('');}} else{L2=1;} write_com(0x80+0x40+0x03); shu_dis(buf[2]); write_dat(0xdf); write_com(0x80+0x40+0x0c); shu_dis(buf[0]); write_dat(table1[12]); } }}voidsearch1() //顯示節(jié)點(diǎn)1設(shè)置界面{ ucharvalue; LCD_Init();//LCD初始化 write_com(0x80);//對(duì)應(yīng)位置顯示字符串 write_dat('T'); write_dat('1'); write_dat(':'); shu_dis(TD1); write_dat(''); write_dat('-'); shu_dis(TU1); write_dat(0xdf); write_com(0x80+0x40);//換行 write_dat('H'); write_dat('1'); write_dat(':'); shu_dis(HD1); write_dat(''); write_dat('-'); shu_dis(HU1); write_dat('%'); while(1) //一直循環(huán) { if(key_check()==1) //按鍵檢測(cè)有按鍵按下 {value=key_event(); //判斷哪個(gè)鍵按下 if(aa==1) { if(value==1){bb=0;return;} switch(bb) //判斷k3鍵按幾下 { case5:bb=1;break; case1:{write_com(0x80+4);write_com(0x0c); //溫度下限調(diào)節(jié) TD1=TD1+cc;TD1=TD1-dd;cc=0;dd=0; shu_dis(TD1); }break; case2:{write_com(0x80+8);write_com(0x0c); //溫度上限調(diào)節(jié) TU1=TU1+cc;TU1=TU1-dd;cc=0;dd=0; shu_dis(TU1); }break; case3:{write_com(0x80+0x40+4);write_com(0x0c); //濕度上限調(diào)節(jié) HD1=HD1+cc;HD1=HD1-dd;cc=0;dd=0; shu_dis(HD1); }break; case4:{write_com(0x80+0x40+8);write_com(0x0c); //濕度下限調(diào)節(jié) HU1=HU1+cc;HU1=HU1-dd;cc=0;dd=0; shu_dis(HU1); }break; } } elsereturn; }}}voidsearch2()//顯示節(jié)點(diǎn)2設(shè)置界面{ ucharvalue; LCD_Init(); write_com(0x80); write_dat('T'); write_dat('2'); write_dat(':'); shu_dis(TD2); write_dat(''); write_dat('-'); shu_dis(TU2); write_dat(0xdf); write_com(0x80+0x40); write_dat('H'); write_dat('2'); write_dat(':'); shu_dis(HD2); write_dat(''); write_dat('-'); shu_dis(HU2); write_dat('%'); while(1) { if(key_check()==1) {value=key_event(); if(aa==2) { if(value==1){bb=0;return;} switch(bb) { case5:bb=1;break; case1:{write_com(0x80+4);write_com(0x0c); TD2=TD2+cc;TD2=TD2-dd;cc=0;dd=0; shu_dis(TD2); }break; case2:{write_com(0x80+8);write_com(0x0c); TU2=TU2+cc;TU2=TU2-dd;cc=0;dd=0; shu_dis(TU2); }break; case3:{write_com(0x80+0x40+4);write_com(0x0c); HD2=HD2+cc;HD2=HD2-dd;cc=0;dd=0; shu_dis(HD2); }break; case4:{write_com(0x80+0x40+8);write_com(0x0c); HU2=HU2+cc;HU2=HU2-dd;cc=0;dd=0; shu_dis(HU2); }break; }} elsereturn; } }}voidmain(){ uchari; LCD_Init(); //lcd顯示 write_com(0x80);//LCD地址 for(i=0;i<2;i++)//數(shù)據(jù)顯示 { write_dat(table1[i]); } write_com(0x80+0x09); for(i=6;i<8;i++) { write_dat(table1[i]); } write_com(0x80+0x40); for(i=3;i<5;i++) { write_dat(table1[i]); } write_com(0x80+0x49); for(i=9;i<11;i++) { write_dat(table1[i]); } while(1) //沒有按鍵按下 { read_th1(); delay_ms(200); //延遲0.2s read_th2(); delay_ms(200); if(key_check()==1) //有按鍵按下 {key_event(); //取鍵值函數(shù) if(aa==1) //設(shè)置節(jié)點(diǎn)1 { search1(); //搜索節(jié)點(diǎn)1的原始設(shè)置值 LCD_Init(); write_com(0x80); for(i=0;i<2;i++) { write_dat(table1[i]); } write_com(0x80+0x09); for(i=6;i<8;i++) { write_dat(table1[i]); } write_com(0x80+0x40); for(i=3;i<5;i++) { write_dat(table1[i]); } write_com(0x80+0x49); for(i=9;i<11;i++) { write_dat(table1[i]); } } if(aa==2) //設(shè)置節(jié)點(diǎn)2 { search2(); LCD_Init(); write_com(0x80); for(i=0;i<2;i++) { write_dat(table1[i]); } write_com(0x80+0x09); for(i=6;i<8;i++) { write_dat(table1[i]); } write_com(0x80+0x40); for(i=3;i<5;i++) { write_dat(table1[i]); } write_com(0x80+0x49); for(i=9;i<11;i++) { write_dat(table1[i]); } } }}}目錄TOC\o"1-2"\h\z\u12767前言 1159991總論 1289051.1編制依據(jù) 1215641.2環(huán)境影響識(shí)別和評(píng)估因子篩選 5287341.3評(píng)估標(biāo)準(zhǔn) 7269351.4評(píng)估范圍 10313601.5區(qū)域環(huán)境概況 14267461.6主要環(huán)境保護(hù)目標(biāo) 28137501.7橋西區(qū)污水處理廠 29211092項(xiàng)目政策相符性分析 30207522.1規(guī)劃及產(chǎn)業(yè)政策符合性分析 30287112.2環(huán)境管理政策相符性分析 31137833建設(shè)項(xiàng)目工程概況 37247943.1工程概況 37HYP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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īng)急預(yù)案
- 餐飲公司績(jī)效考核制度
- 雨水收集系統(tǒng)出水口圍堰實(shí)施方案
- 公司安全管理人員安全培訓(xùn)試題答案歷年考題
- 機(jī)場(chǎng)建設(shè)監(jiān)理組織方案
- 廉潔文化建設(shè)培訓(xùn)
- 小學(xué)傳統(tǒng)文化活動(dòng)
- 特殊教育學(xué)校疫苗接種制度
- 車間職工安全培訓(xùn)試題及答案基礎(chǔ)題
- 農(nóng)業(yè)基地蟲害防治及消殺預(yù)案
- GB/T 20638-2023步進(jìn)電動(dòng)機(jī)通用技術(shù)規(guī)范
- 四年級(jí)作文-記一次活動(dòng)之有趣的搶凳子游戲(課堂PPT)
- 國(guó)企領(lǐng)導(dǎo)人員管理暫行規(guī)定
- 高校學(xué)生干部培訓(xùn)會(huì)新聞稿
- 人教版九年級(jí)物理全一冊(cè)課件【全冊(cè)】
- 顱內(nèi)動(dòng)脈瘤栓塞術(shù)課件
- 《鄉(xiāng)土中國(guó)》非連續(xù)性文本閱讀試題模擬練-2023屆高考語文備考復(fù)習(xí)
- 《國(guó)畫》課程標(biāo)準(zhǔn)
- 學(xué)校傳染病控制
- 建筑工程初中級(jí)職稱考試法律法規(guī)復(fù)習(xí)題(含答案)
- 運(yùn)動(dòng)鞋服領(lǐng)域:貴人鳥企業(yè)組織結(jié)構(gòu)及部門職責(zé)
評(píng)論
0/150
提交評(píng)論