溫濕度波形及其動態(tài)波形顯示_第1頁
溫濕度波形及其動態(tài)波形顯示_第2頁
溫濕度波形及其動態(tài)波形顯示_第3頁
溫濕度波形及其動態(tài)波形顯示_第4頁
溫濕度波形及其動態(tài)波形顯示_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、安徽農(nóng)業(yè)大學(xué)畢業(yè)論文(設(shè)計(jì))論文題目溫濕度采集及其動態(tài)波形顯示姓 名 學(xué) 號 1110院 系信息與計(jì)算機(jī)學(xué)院專 業(yè) 電子信息工程指導(dǎo)教師 職 稱 副教授中國.合肥二。一五年五月安徽農(nóng)業(yè)大學(xué)學(xué)士學(xué)位論文(設(shè)計(jì))開題報(bào)告課題名稱溫濕度采集及其動態(tài)波形顯示課題來源導(dǎo)師指定學(xué)生姓名專業(yè)電子信息工程學(xué)號指導(dǎo)教師姓名職稱副教授研 究 內(nèi) 容一、對溫濕度米集原埋和動態(tài)波形顯示程序的理解與運(yùn)用;二、數(shù)字溫濕度傳感器(dht1)的設(shè)計(jì)與制作;三、通過單片機(jī)將采集的溫濕度數(shù)據(jù)進(jìn)行處理并使具在lcd顯示出其動態(tài)波形;研 究計(jì) 劃2015年1-2月 查閱相關(guān)的資料文獻(xiàn),理解課題以及相關(guān)模塊的原理;2015年3月運(yùn)用相

2、關(guān)的電子設(shè)計(jì)技術(shù)和程序編輯技術(shù)完成系統(tǒng)的硬件和軟件設(shè)計(jì)和初期制作;2015年4月進(jìn)行論文初稿,同時在對設(shè)計(jì)的系統(tǒng)進(jìn)行完善;2015年5月結(jié)合導(dǎo)師指導(dǎo)對設(shè)計(jì)進(jìn)行修改和改進(jìn);2015年5月底 完成論文,準(zhǔn)備答辯。特色與創(chuàng)新1、 以stc12c5a60s2單片機(jī)為控制核心,控制 dht11采集數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)換成信號進(jìn)行處理,再控tft-lcd將其波形進(jìn)行顯示2、 最主要的特色就是對采集的溫濕度數(shù)據(jù)在lcd上進(jìn)行動態(tài)波形顯示;指 導(dǎo) 教 師息 見教 研 室息 見院系息主要領(lǐng)導(dǎo)簽名:1引言 12軟件工具介紹 22.1 c語言 22.2 protel 99se 23系統(tǒng)方案的總體設(shè)計(jì) 33.1 本次設(shè)計(jì)

3、的功能要求 33.2 設(shè)計(jì)思路 33.3 設(shè)計(jì)中元器件選擇 33.3.1 溫濕度傳感器選擇 33.2.2 單片機(jī)選擇 63.2.3 顯示屏選擇 94整體硬件設(shè)計(jì) 104.1 主控模塊設(shè)計(jì) 104.2 傳感器模塊設(shè)計(jì) 114.3 lcd顯示模塊設(shè)計(jì) 125軟件設(shè)計(jì) 145.1 主程序框圖: 145.2 tft-lcd顯示屏顯示框圖: 155.3 dht11采集框圖: 166結(jié)束語 17參考文獻(xiàn) 17致謝 19附錄1 20附錄2 21溫濕度波形及其動態(tài)波形顯示學(xué)生:,指導(dǎo)教師:(安徽農(nóng)業(yè)大學(xué)信息與計(jì)算機(jī)學(xué)院合肥230036)摘要:在工作生活中,環(huán)境會對我們產(chǎn)生很大的影響,當(dāng)在一個優(yōu)質(zhì)的環(huán)境里, 我

4、們的工作效率也會相應(yīng)的提高很大, 這對于現(xiàn)在工作生活的快節(jié)奏來說, 是很 有必要的。而溫濕度就是環(huán)境中一個很重要的要素, 因此,我們需要隨時隨地的 了解所處環(huán)境的溫濕度數(shù)值,并且知道它的變化情況。所以我準(zhǔn)備制作一個溫濕 度的檢測器,在這個檢測器中,它可以顯示環(huán)境中溫濕度的實(shí)時動態(tài)波形。 這樣, 我們就可以及時的了解所需要的數(shù)據(jù),然后根據(jù)這些數(shù)據(jù)來及時的調(diào)節(jié)我們的工 作生活方式,使我們在一個舒適的環(huán)境里進(jìn)行工作生活。 這個設(shè)計(jì),分為系統(tǒng)的 硬件設(shè)計(jì)和軟件設(shè)計(jì)。它是基于stm片機(jī)的,通過溫濕度傳感器dht1俅采集 環(huán)境中的實(shí)時溫濕度數(shù)據(jù),在 tft-lcd彩屏上顯示出即時的溫濕度動態(tài)波形。關(guān)鍵詞:

5、tft-lcd,stc12c5a60s匆態(tài)波形,溫濕度1引言如今人們的生活水平提高,導(dǎo)致其生活中用品的質(zhì)量也隨之提高, 同時對環(huán) 境要求高的人們也是越來越多了,環(huán)境的質(zhì)量也就成為了生活質(zhì)量的一個重要標(biāo) 準(zhǔn),也是習(xí)主席提出的和諧社會的重要部分。 而現(xiàn)在生活節(jié)奏越來越快了,亞健 康的現(xiàn)象也越來越普遍,溫濕度時人們生活環(huán)境的重要指標(biāo)之一, 所以說對其的 測量也就越來越重要了。而為了達(dá)到人們生活的最適宜的溫度和濕度,我們需要 研究出一種便于提醒人們并且控制溫濕度的裝置。 這樣,人們就可以根據(jù)不同季 節(jié)以及個人的需要來隨時改變自己的生活和工作環(huán)境, 以此來達(dá)到最佳的居住工 作環(huán)境,這是人們對環(huán)境的要求進(jìn)

6、步了,也說明了人類現(xiàn)代文明的程度也越來越 高了。溫濕度和人類的工作生活有著非常緊密的關(guān)系,同時它也是工業(yè)生產(chǎn)過程中 最基礎(chǔ)和最重要的參數(shù),例如在機(jī)械、電子、化工等各行各業(yè)中都需要對溫濕度 進(jìn)行數(shù)據(jù)的檢測與控制。并且人們生活水平在提高,他們對自己的生活工作環(huán)境 也是越來越關(guān)注了。溫濕度在空氣中的變化會對人體的舒適度產(chǎn)生最直接的影 響,同時也會影響人們工作生活的心情, 所以溫濕度的檢測對人們來說,還是很 有必要的。隨著國民經(jīng)濟(jì)的快速發(fā)展和科學(xué)技術(shù)的普及, 高科技設(shè)備,對溫度和濕度的 要求越來越多的企業(yè)也越來越多。傳統(tǒng)數(shù)據(jù)測量模式是基于溫度和濕度測試以人 為本,依靠手工班,人工觀游等方式來測量和記錄

7、的環(huán)境狀態(tài)信息。 這種模式不 僅效率低下的不利充分利用人力資源, 缺乏科學(xué)的,在近年來一些重大事故是由 人為因素,缺乏完整的人工維護(hù)管理系統(tǒng)引起的。為了更有效地提高人們的生活環(huán)境和舒適度,同時也為了使人們的生活更健 康,在家庭中引進(jìn)了智能化,并迅速傳播到世界范圍并快速發(fā)展, 然而如今的自 然環(huán)境污染已經(jīng)愈發(fā)變得嚴(yán)重,城市人口也在不斷的增加等問題,宜居的溫濕度 越來越難以滿足的人們要求,氣候的南北差異,特別是北方冬季干燥,南方的氣 候卻是寒冷和潮濕,對于我們而言,怎樣在有效的時間里做出相對應(yīng)的措施一直 是難以把握的,故我們必須采取相應(yīng)的措施,來滿足人們對于溫濕度方面的要求。2軟件工具介紹2.1

8、c語言c語言是以函數(shù)形式提供給用戶的,這些函數(shù)的調(diào)用,并有結(jié)構(gòu)化的控制語 言(if.else,switch,while,for ),方便程序?qū)崿F(xiàn)模塊化的設(shè)計(jì)。 c語言的程 序書寫形式是很自由的,其中僅有 32個關(guān)鍵字和9種控制語句。同時c語言可 以對硬件進(jìn)行操作,它雖然是與硬件無關(guān)的通用程序設(shè)計(jì)語言, 但它可以進(jìn)行許 多機(jī)器級函數(shù)控制而不用匯編語言,通過c語言庫函數(shù)的調(diào)用,可實(shí)現(xiàn)i/o操作, 因而程序簡介,編譯程序體積小。c語言具有豐富的數(shù)據(jù)類型,還設(shè)有各種構(gòu)造 類型,并引入了指針概念,利用這些數(shù)據(jù)類型可以實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)結(jié)構(gòu),如堆棧、隊(duì)列和鏈表等。在c語言中,一共有34種運(yùn)算符,就可以組成更多

9、樣的程序, 使得c語言的表現(xiàn)和處理能力非常強(qiáng)大,也使得大量的算法變得更加容易實(shí)現(xiàn)。 而且c語言還有兩個優(yōu)點(diǎn),一個是其可移植性好,用c語言編寫的程序不必修改 或只要做少量的修改就可在各種型號的計(jì)算機(jī)獲各種操作系統(tǒng)上運(yùn)行,例如,在使用windows操作系統(tǒng)的計(jì)算機(jī)上編寫的c語言程序,不必修改或做少量的修改 就可以成功移植到使用linux操作系統(tǒng)的計(jì)算機(jī)上;另一個優(yōu)點(diǎn)是c語言經(jīng)過編 譯后生成的目標(biāo)程序在運(yùn)行速度和存儲空間都很優(yōu)質(zhì),這也就是說它的代碼質(zhì)量高,對于程序執(zhí)行方面的效率很高。2.2 protel 99se對于該設(shè)計(jì)的原理圖及其 pcbs計(jì)是使用protel公司的protel 99se來實(shí) 現(xiàn)

10、的。protel 99se是一個功能強(qiáng)大的電路板設(shè)計(jì)與仿真軟件,它將幫助我們解 決如何合理規(guī)劃電路板、如何有效地利用電路板空間對元器件進(jìn)行布局并對電路 板布線等問題,并能夠輔助用戶完成從電路原理圖到印制電路板的一系列設(shè)計(jì)工 作,它采用與windows資源管理器很相似的窗口界面,可以輕松實(shí)現(xiàn)各種文件的 管理。protel設(shè)計(jì)系統(tǒng)是由5個大的功能模塊組成的,他們分別是:1、電路繪制模塊(schematic):此模塊主要是包括設(shè)計(jì)原理圖的原理圖編輯器, 用于管理原件的元件庫和各種報(bào)表的生成器。2、印制電路板模塊(pcb :此模塊主要英語設(shè)計(jì)電路板的電路板編輯器,用于 管理原件封裝、制作等的元件庫和報(bào)

11、表生成器。3、電路信號仿真模塊(sim):在這個模塊主要是進(jìn)行電路的軟件仿真及其驗(yàn)證。4、可編程邏輯單元模塊(pld :在此環(huán)境下,可以進(jìn)行pld可編程邏輯原件的 設(shè)計(jì)工作。5、人機(jī)接口模塊:用來對每一個服務(wù)程序及其共享資源的使用情況進(jìn)行觀察和 檢測的。3系統(tǒng)方案的總體設(shè)計(jì)3.1 本次設(shè)計(jì)的功能要求1、使用dht11溫濕度傳感器對數(shù)據(jù)進(jìn)行采集,然后傳輸給 stc12c5a60s2 片機(jī);2、stc12c5a60s2片機(jī)對收到的信號進(jìn)行分析處理,并把采集到的溫濕度 數(shù)據(jù)傳輸給tft-lcw屏;3、在tft-lcd夜晶彩屏上將溫濕度動態(tài)波形顯示出來。3.2 設(shè)計(jì)思路整個電路分為dht11數(shù)據(jù)采集部

12、分、核心控制部分和 tft-lcd顯示部分, 并用stc12c5a60s2片機(jī)組成的最小系統(tǒng)作為核心來控制整個電路, 控制dht11 傳感器采集溫濕度數(shù)據(jù),控制tft-lcw屏的顯示。由軟件來完成彩屏的動態(tài)波 形顯示,由dht11溫濕度傳感器來完成采集數(shù)據(jù)的功能。這是一個數(shù)字溫濕度傳 感器,內(nèi)置數(shù)模轉(zhuǎn)換,是可以直接連接單片機(jī)的。將tft-lcw屏和dht11傳感 器按照原理圖與stc12c5a60s2片機(jī)相連接。通過dht11將采集到的溫濕度實(shí) 時數(shù)據(jù),再經(jīng)過單片機(jī)把數(shù)據(jù)處理后傳輸?shù)?tft-lcd1晶彩屏,顯示出溫濕度實(shí) 時動態(tài)波形。3.3 設(shè)計(jì)中元器件選擇3.3.1 溫濕度傳感器選擇溫濕度

13、傳感我選擇了 dht1附濕度傳感器,而不是ds18b2w度傳感器來測 量溫度、hs1101電容式濕度傳感器來測量濕度,這是因?yàn)閐ht11是一款集成型溫濕度傳感器,它可以同時采集溫度和濕度的數(shù)據(jù), 可以保證做出來的設(shè)計(jì)可以 長久都能夠測量出較為準(zhǔn)確的數(shù)據(jù),dht11包括一個電阻式感濕元件和一個 ntc測溫元件。dht1侈用于空調(diào)、除濕器、各類溫濕度檢測設(shè)備、汽車、自動控制 設(shè)備、溫濕度數(shù)據(jù)記錄器、氣象站、家電、醫(yī)療等各種溫濕度測量設(shè)備。同時dht11反應(yīng)速度快、抗干擾能力強(qiáng)且價格不高,性價比高,測量范圍百分之二十 到九十(rh), 0度至ij50度之間。測溫誤差在2c以內(nèi),測濕誤差在5%rhz內(nèi)

14、。 完全符合本次畢業(yè)設(shè)計(jì)的要求,所以選用dht11溫濕度傳感器。dht11數(shù)字溫濕度傳感器性能說明參數(shù)條什mintypjfax單位)濕度分辨率111%rh8bit囊復(fù)性1 :%rh精度25x24%rh050c士5%rh互換性可完全互換量程范圍or3090書rh25七 _ 20 _90%rh50七20 n80%rh響庾時間lm/s空氣61016s遲滯1%rh長期趨定他典型值1%rh yr溫度分辨率111v888bit重或性1v精度12量程范圍050響應(yīng)時1可1/c(63%)e30q圖3-1 dht11數(shù)字溫濕度傳感器性能dht11實(shí)物圖如下圖3-2 dht11實(shí)物圖dht11接口說明當(dāng)接線長度不

15、到20m時,接5k的電阻,當(dāng)超過大于20米時,需要根據(jù)情況 使用合適的電阻作為上拉電阻,當(dāng)使用 3.3v電壓對dht11進(jìn)行供電時,此時連 接線的長度不能超過100cm,否則線路壓降會使傳感器供電不夠,造成測量誤差。其典型應(yīng)用電路如下圖:mcu d -3dht11gnd圖3-3 dht11典型應(yīng)用電路dht11的引腳說明:pin名稱注釋1vdd供電3-5.5v2data串行數(shù)據(jù),單總線3nc空腳,懸空4gnd接地,電源負(fù)極表3-1 dht11引腳電源引腳:dht1假用的電壓為3 -5.5vo當(dāng)傳感器通電后,需要等待1s ,這是為了 跳過不穩(wěn)定的狀態(tài),在此期間不需要發(fā)送任何指令。為了去耦濾波,可

16、以在電源 引腳之間添一個電容,大小為100nf。串行接口(單向雙線)單總線說明dht11是采用被簡化的單總線來進(jìn)行通信的。單總線就是只用一根數(shù)據(jù)線來進(jìn)行數(shù)據(jù)交換和控制,從而完成整個系統(tǒng)。為了讓其它設(shè)備使用總線,主機(jī)或者從機(jī)是通過一個三態(tài)端口連接到這個數(shù)據(jù)線, 從而允許該設(shè)備就算不發(fā)送數(shù)據(jù)也是能夠釋放總線;單總線在正常情況下是要外接一個5.1k q左右的上拉電阻,當(dāng)總線處于閑置狀態(tài)時,是在高電平的。因?yàn)樗鼈兌际侵鲝慕Y(jié)極結(jié)構(gòu),所以只有 主機(jī)呼叫從機(jī)時,從機(jī)才能應(yīng)答,故當(dāng)主機(jī)訪問器件時,如果序列發(fā)生混亂,器 件就不會響應(yīng)主機(jī)。單總線傳送數(shù)據(jù)的定義dat聞i腳是用于單片機(jī)stc12c5a60s2溫濕度

17、傳感器dht11之間的數(shù)據(jù)傳 輸,是采用單總線數(shù)據(jù)的格式,每次傳送 40位數(shù)據(jù),從高位開始傳輸。數(shù)據(jù)時序圖該主機(jī)發(fā)出啟動信號,將dht11從低功耗轉(zhuǎn)化為高速運(yùn)行模式,當(dāng)主機(jī)發(fā)出的開 始信號結(jié)束后,dht11發(fā)出響應(yīng)信號,同時將40bit的數(shù)據(jù)發(fā)出,并發(fā)出一次信每次主機(jī)從dht11上讀取的數(shù)據(jù)是前一次溫濕度的測量值,如果兩次測量的時間 間隔很長,就需要連續(xù)進(jìn)行兩次測量,再以第二次測得的值為此時溫濕度的數(shù)據(jù)。 要想獲取實(shí)時動態(tài)數(shù)據(jù),需要連續(xù)采集讀取兩次,但是最好不要連續(xù)進(jìn)行連續(xù)測 量的次數(shù)過多,每次讀取傳感器的時間間隔要超過 5秒鐘,這樣就可以獲得較為 準(zhǔn)確的數(shù)據(jù)。3.2.2 單片機(jī)選擇一般單片機(jī)

18、的內(nèi)存劃分為數(shù)據(jù)存儲器 ra防口程序存儲器rom這次我要實(shí)現(xiàn) 溫濕度的數(shù)據(jù)采集和動態(tài)波形顯示,所要的控制程序較大,常用的51單片機(jī)的 ro則能不夠大,所以我選擇stc12c5a60s2列的單片機(jī),它是stc生產(chǎn)的一款 單時鐘機(jī)器周期的單片機(jī),并具有運(yùn)行速率快、功耗低、抗干擾能力超強(qiáng)等優(yōu)點(diǎn),是新一代的8051單片機(jī),完全兼容傳統(tǒng)8051的指令代碼,單速度快8-12倍 其引腳圖如下:cijcout2adco/ploadc1/p1.1rkd/ec】adc*l2txducppd adc31plsss/cpp1/adc4l4m0spadc3/fl5mis。adcafllssclk:mx:-.pl7p4,

19、7/rstintkxd-f3.0 txd.p3,lint0jp3.2pm;p33cucouto int to/p3.4clkoutl歐 tl/p里5逑旅里6to/p3.7xtal2xtaltgnd0987 6 54 321098765 43 2 1 中 3 3 3 .33.3 j ? 3 3 2 2 2 工 2 2 7- 2 2-nnmnnnnmnnnnmnnepoo p0.1 p0.2p03p04po.5p0.6f0 7ex_lvdr6 r3t2ari.p4.5nap4.4p2.7,a15p2.6.a14p2.5/a13p2.4/ai2p2.3/a1p2z-a10 口 lap圖 3-5 st

20、c12c5a60s2 引腳圖stc12c5a60s2片機(jī)各管腳功能:i/o引腳:p0 口 :可作通用的i/o 口,地址總線的低8位、數(shù)據(jù)總接口。p1 口:可做i/o 口,也可以作為 a/d輸入口。p1 口的其他功能:7引腳符號功能pl.0cle0ut2作為獨(dú)立派特率發(fā)生器的時鐘輸出引擎pl. 2作為串行接口2的數(shù)據(jù)接收端ecipca計(jì)數(shù)器的外部脈沖輸入端fl, 3tkd2作為串行接口 2的數(shù)據(jù)發(fā)遞點(diǎn)ccropc總模塊0的外部捕獲觸發(fā)信號輸入和脈沖輸出以及p曬輸出fl,4ss1sfi同步庠行接口的叢集選擇信號端ccp1pc月模塊1的外部捕獲觸發(fā)信號輸人和脈沖輸出以及pim輸出pl. emisos

21、pi同步串行接口的主人從出pl. 6mos工spi同步串行接口的主人從出pl, 7sclkspi同步串行接口的時鐘信號圖3-6 p1 其他功能p2 口:可以作為通用的i/o 口,可以在訪問外部擴(kuò)展電路或者數(shù)據(jù)存儲器時作 為地址總線的高8位;p3 口:除了作為正規(guī)的i/o 外,還具有其他的功能,p3 的其他功能:引腳符號jup3.0rsd串行接口1薊據(jù)接收端p3.1tkd串行接口1數(shù)據(jù)發(fā)送瑞?31ijtto外部中斷。觸發(fā)端1低電平或者下降沿有效p3.3iht1外削中斷1觸發(fā)端j低電平或者不修沿有效p3.4to定時/計(jì)數(shù)器m工作在技術(shù)狀態(tài)時外部信號輸入兼clkouto時鐘輸入端int3外部引腳下降

22、沿觸發(fā)中斷也5t1定時/計(jì)數(shù)器t1工作在技術(shù)狀態(tài)時外部信號徜入站clkout1時鐘輸入端int丁工外部引腳下降沿觸發(fā)中斷p3.6訪問外部擴(kuò)展接口電路時的與控制信號,低電平有效p3.7rd訪問外部擴(kuò)展接口電路時的罵控制信號,低電平有效xtal1:該引腳作為內(nèi)部時鐘電路反相放大器的輸入端,是與外部晶振的一個引 腳相連接的,當(dāng)直接使用外部時鐘源的時候,該引腳是作為外部市中院的輸入端;xtal2該引腳作為內(nèi)部時鐘電路反相放大器的輸出端,連接著外部晶振的另外 一個引腳,直接將其當(dāng)做外部時鐘源時,該引腳是懸空著或者通過一個 大的電阻接入地下的,此時是將 xtal1輸入的時鐘信號輸出出來的;vcc電源的正極

23、;gnd電源的負(fù)極。3.2.3 顯示屏選擇對于顯示屏,我選擇的是 tft-lcd的2.4寸彩屏。tft屏,即thin film transistor,是薄膜晶體管型液晶顯示屏,其每一個像素點(diǎn)都是由薄膜晶體管來驅(qū)動的,它集成在顯示屏的后面,用這個薄膜晶體管 來成像不僅提高了顯示屏的響應(yīng)速度,也提高了顯示色階的精度,所以 tft-lcd 成像更加逼真。tft-lcd屏主要是由背光源、導(dǎo)光板、偏光板、玻璃基板液晶材料和薄膜晶體管等組成的。而tft-lcg驅(qū)動控制器集成在一起就形成了 tft-lcd真塊。tft-lcd的優(yōu)點(diǎn)有很多,相比與其他的顯示屏 12864、1602等,它不僅可以 顯示數(shù)字、中英

24、文字符,還可以顯示圖案,還可以顯示彩色的動畫,并且相比與 這些顯示屏,它的分辨率也比較高。同時由于tft-lcd的成本日益下降,并且人 們也越來越渴望看到更清晰的界面,所以 tft-lcd設(shè)計(jì)的使用率越來越高了。tft-lcd中是采用1個十六位二進(jìn)制數(shù)來表示一個成像點(diǎn)的,是以 5 (紅)-6 (綠)-5 (藍(lán))的格式。.一 紅色 一i 綠色 藍(lán)色5位6位5位r4r3r2r1r0g5g4g3g2g1gob4b3b2b1b0高8彳立j/氐必立圖3-8 tft-lcd顏色成像圖9常用的一些顏色碼表:紅:0xf800綠:0x07e0黃:0xffe0青:0x07ff藍(lán):0x001f紫:0xf81f黑:0

25、x0000白:oxffff灰:0x7bef4整體硬件設(shè)計(jì)單片機(jī)是整個系統(tǒng)的中央處理器,是由它協(xié)調(diào)管理各個外圍器件的正常工作,從而達(dá)到整個系統(tǒng)的特定目標(biāo)。 硬件上我是采用了模塊化的設(shè)計(jì)方案, 將整 個系統(tǒng)分為主控模塊、傳感器模塊和 lcd顯示模塊,每個模塊完成其既定目標(biāo), 最后再將幾個模塊連接到一起,這樣既降低了系統(tǒng)設(shè)計(jì)的復(fù)雜度,也方便了檢測 電路的問題和漏洞。4.1 主控模塊設(shè)計(jì)本次硬件設(shè)計(jì)就是以stc12c5a60s隼片機(jī)為核心,其他的外圍電路都是圍 繞著它進(jìn)行設(shè)計(jì)的,dht11的datah連接單片機(jī)stc12c5a60s2 p3.0 口,lcd 顯示電路就是把tft-lc叫單片機(jī)p0 口分

26、別相連。絕大部分用到單片機(jī)的電路,都需要先組成單片機(jī)的最小系統(tǒng)。單片機(jī)的最小系 統(tǒng)是由晶振電路、復(fù)位電路和電源組成。晶振電路一般由一個晶振和兩個電容組 成,其分別接到單片機(jī)的xtal1和xtal2兩端。晶振電路用來產(chǎn)生電路所需要的 基準(zhǔn)時鐘信號,從而在單片機(jī)中產(chǎn)生各模塊所需的控制信號,晶振電路是單片機(jī)最小系統(tǒng)的核心部分。復(fù)位電路接到單片機(jī)的rs礎(chǔ),它使單片機(jī)回到最開始工 作的狀態(tài),使得單片機(jī)的程序能從頭開始執(zhí)行。電源對于任何電路都是必不可少 的,它為電路提供了能量,單片機(jī)的電源一般是由直流+5v提供。其最小系統(tǒng)電路圖如下:圖4-1最小系統(tǒng)電路圖其中關(guān)于復(fù)位電路:當(dāng)時鐘頻率未達(dá)到12m赫茲時,就

27、讓r1接1k電阻,并接到gnd當(dāng)時鐘頻率超出12m赫茲時,就需要使用其中第二復(fù)位功能的引腳。關(guān)于晶振電路:如果外部時鐘的頻率超過33m赫茲時,就最好使用外部有源晶振;如果使用內(nèi)部振蕩器時鐘,xtal1和xtal2弓唧浮空,但是當(dāng)外部時鐘頻率 超過27mhzi勺時候,那么使用的標(biāo)稱頻率就是基本頻率的晶體,而不是三泛音的晶體,否則就又可能振在基頻,這個時候的標(biāo)稱頻率就只有實(shí)際頻率的三倍,或者就使用外部有源晶振,從 xtal1引腳輸入時鐘信號,然后將 xtal2懸空放置。4.2 傳感器模塊設(shè)計(jì)dht11初始化,就是溫濕度傳感器在主機(jī)喚醒之前處于低功耗的模式。當(dāng) dht11k備采集數(shù)據(jù)的時候,單片機(jī)就

28、會發(fā)出一個啟動信號,傳感器就從低功耗 進(jìn)入高速運(yùn)行模式,同時啟動信號發(fā)送結(jié)束之后,傳感器就會發(fā)送響應(yīng)信號,將 40bit的數(shù)據(jù)發(fā)送出去,并進(jìn)行一次信號采集,如果主機(jī)發(fā)送的啟動信號沒有被接收到,那么傳感器就不會主動去進(jìn)行采集溫濕度數(shù)據(jù),當(dāng)其采集完溫濕度數(shù)據(jù)就會在此回到低速模式。具體的過程為:1、總線在空閑的時候是高電平;2、主機(jī)拉低總線并等待溫濕度傳感器的響應(yīng)。并且拉低總線的時間一定要大于 18ms保證傳感器能夠檢測到啟動信號;3、溫濕度傳感器檢測到啟動信號后,再等待該信號結(jié)束后,再發(fā)送80us的低電 平信號,作為響應(yīng)信號;4、啟動信號發(fā)送結(jié)束后,再經(jīng)過 20到40us之后,再溫濕度傳感器的響應(yīng)

29、信號 進(jìn)行讀??;當(dāng)所有的數(shù)據(jù)傳輸結(jié)束以后,傳感器將總線再拉低50us后,總線經(jīng)過上拉電阻拉高,從而進(jìn)入空閑狀態(tài)。傳感器部分的電路圖為:圖4-2傳感器部分電路圖4.3 lcd顯示模塊設(shè)計(jì)由p4svw存器設(shè)置(na/p4.4, ale/p4.5, ex_lvd/p4 三個端口的第二功能mnemonicaddname76543210resetvaluep4swbbhport-4switchlvd_p4.6ale_p4.5na_p4.4x000, xxxx表4-1na_p4.4:0,復(fù)位后,p4sw.4勺值為0, na/p4.4引腳是沒有功能,處于弱上拉狀態(tài);1,將p4sw.4武值為1,把na/p4.

30、4引腳屬性更改為i/0 口;13ale_p4.5: 0,復(fù)位后,p4sw.5i勺值為0, ale/p4.5引腳的定義是 ale信號,只 有當(dāng)movxf令訪問片外擴(kuò)展器器件的時候才會有信號輸出;1,將p4sw.5武值為1,把a(bǔ)le/p4.5引腳屬性更改為i/o 口;lvd_p4.6: 0,復(fù)位后p4sw.6i勺值為0, ex_lvd/p4.6弓i腳是可用查詢或更改為 中斷的方式來檢測;1,將p4sw.6武值為1,把ex_lvd/p4.6引腳屬性更改為i/o 口。在isp燒錄程序的時候?qū)st/p4.7的第二功能進(jìn)行定義的,如果是定義成p4.7 口,就必須要使用外部時鐘。顯示模塊的電路圖如下:圖4

31、-3顯示模塊電路圖#5軟件設(shè)計(jì)5.1主程序框圖:圖5-15.2 tft-lcd顯示屏顯示框圖:開始硬件初始化讀取按鍵值濕 度 采溫度采集lcd上曲線繪制結(jié)束圖5-2175.3 dht11采集框圖圖5-36結(jié)束語經(jīng)過這幾個月的學(xué)習(xí)努力,我的溫濕度采集及其動態(tài)波形顯示論文終于 完成了,在整個設(shè)計(jì)制作過程中,曾經(jīng)有過許多各種各樣的難題,當(dāng)然最后都在 老師和朋友的幫助下成功的解決了,在這個過程中個我認(rèn)識到:做設(shè)計(jì)、寫論文是一個認(rèn)真學(xué)習(xí)不斷努力的過程,最初我剛開始做設(shè)計(jì)時對溫濕度動態(tài)波形的設(shè)計(jì)的認(rèn)識是完全模糊, 到最后能夠成功完成設(shè)計(jì)和論文,我 明白了實(shí)踐對于學(xué)習(xí)是非常重要的, 以前的我只是知道書本上的

32、知識,而對于怎 么運(yùn)用它們不很不擅長的,而經(jīng)過這次的設(shè)計(jì),我明白了知識是要與實(shí)踐相結(jié)合 才可以的??傊?,通過此次的設(shè)計(jì)和論文的書寫,我真正了解到要完整的做好一件事, 不僅僅需要有相關(guān)的知識,還要有系統(tǒng)的嚴(yán)謹(jǐn)?shù)乃季S和正確的方法, 以及對事耐 心的態(tài)度。同時我們也要善于運(yùn)用一切可利用的資源來充實(shí)自己。最終才能不斷 的進(jìn)步,不斷地完善自己。參考文獻(xiàn)1趙景波、張莉、常江.電路設(shè)計(jì)與制板protel99se從入門到精通m.機(jī)械 工業(yè)出版社,2005: 12-18.2林伸茂.8051單片機(jī)徹底研究(實(shí)習(xí)版)m.人民郵電出版社,2002: 15-18.3孫力.c語言程序設(shè)計(jì)m.中國農(nóng)業(yè)出版社,2008:22

33、-244賈立新、王涌、陳怡.電子系統(tǒng)設(shè)計(jì)與實(shí)踐(第 3版)m.清華大學(xué)出版社,2007: 364-3685神舟51+armi片機(jī)開發(fā)板用戶手冊20130923.j,廣州佳佳計(jì)算機(jī)科技有 限公司,2014: 33-376 dht11中文資料及c例程.j,電子發(fā)燒友論壇,2015: 2-77 xu yi - min .the design for stepping motor of scm control systemj. heilongjiang science and technology institute.2005:55-688analo gdevices.the technology o

34、f at89c51eb/ol.white paper,2000:78-83英文摘要temperature and humidity waveform and its dynamic waveform displaystudentwangcheninstructor: jiang zhaohui(school of information & computer, anhui agricultural university, hefei 230036) summary: in working life, the environment we will have a huge impact, whe

35、n in a quality environment, the efficiency of our work will be a corresponding increase a lot, which is now a fast-paced work life, it is necessary a. the temperature and humidity of the environment is a very important point, therefore, we need to understand the temperature and humidity values where

36、ver their environment and know its changes. in this regard, i am ready to make a temperature and humidity detector, so that we can timely understanding of what we need to know the data. then work to adjust our lives based on these data in a timely manner, thereby enabling us out of a environment to

37、work life. this design, that the systems hardware and software design. it is based on scms stc, dht11 by temperature and humidity sensors to collect environmental data in real-time temperature and humidity in the tft-lcd color screen shows the real-time temperature and humidity dynamic waveform.key

38、words: tft-lcd,stc12c5160s2, dynamic waveform, temperature and humidity致謝大學(xué)四年美好的生活即將到了尾聲,而我的畢業(yè)設(shè)計(jì)及論文也就將要完成, 在這里,我想對那些曾近幫助我的老師和朋友表示衷心的感謝。首先,我要感謝我的母校一一安徽農(nóng)業(yè)大學(xué),是她給我提供了這么好的學(xué)習(xí) 生活環(huán)境,在大學(xué)這四年的生活很愉快,學(xué)習(xí)也是非常充實(shí)的,這些都是我人生 中美好的記憶,也是我這一生中難以忘記的經(jīng)歷。然后,我要感謝我的導(dǎo)師和大學(xué)里專業(yè)課的各個老師,感謝他們教會我這么 多與專業(yè)相關(guān)的知識。同時,導(dǎo)師江老師對我的耐心指導(dǎo),還讓我學(xué)會了對待學(xué) 術(shù)是要

39、以嚴(yán)謹(jǐn)?shù)那髮W(xué)態(tài)度和精益求精的工作思想。當(dāng)然還是要感謝全體電子1班和已經(jīng)大一大二時的那個電氣 1、2、3班的這 兩個團(tuán)體,同窗這些年,我們一起哭一起笑,一起贏得榮譽(yù)。這些都是我一輩子都難以忘懷的,我會永遠(yuǎn)記住這四年的的生活學(xué)習(xí),以及 你們對我的幫助和鼓勵。學(xué)無止境,我會更加認(rèn)真學(xué)習(xí),成就一個更好的明天。在論文最后完成之前,讓我再一次感謝你們,老師,同學(xué),朋友,當(dāng)然還有 我的父母,謝謝你們,感謝這么多年你們的關(guān)心照顧!附錄2整體設(shè)計(jì)電路圖設(shè)計(jì)pcb圖21主程序解析#include stdio.h#include string.h#include stc12c5a.h#include lcd_dri

40、ver.h#include gui.h#include uart.h#include dhtll.h#include key.h#include timero.h/文字顯示(0),1 - 2 曲線顯示 char systemflag = 0;/數(shù)據(jù)采集得到的變量溫度濕度/本畫面的時間(200s)/上一個點(diǎn)的x位置/上一個點(diǎn)的y位置標(biāo)識上一個點(diǎn)是否存在unsigned char humi = 0,temp = 0; /unsigned int t = 0;unsigned char last_point_x;unsigned int last_point_y;unsigned char last

41、_point_exist = 0; / /*清空相關(guān)變量*/void dataclear()t = 0;last_point_exist = 0;last_point_x = 0;last_point_y = 0; 一 一/正常顯示數(shù)據(jù)void data_collection()./讀取溫濕度if(0 = dht11_read_data(&temp,&humi)一 一temp = temp%100;humi = humi%100;uart_sendstr(溫度:);uart_putnum(temp,10);uart_sendstr( cn);uart_sendstr(溫度:);uart_put

42、num(humi,10);uart_sendstr( %rhn); else temp = 0;humi = 0;/*繪制溫度曲線顯示背影界面*/void drawtempbackcolor()unsigned int x,y ;gui_clearscreen(0);/ 清屏gui_box(0,0,239,15,0x001f);gui_putstring(100,5,溫度”,red,blue);/ 顯示溫度標(biāo)題/*用比較暗的顏色畫出所有非整十橫刻度線*/for(y = 25; y = 275; y = y+10)if (y-25)%50!=0)/*判斷是否整十刻度線位置*/gui_hline(

43、28, y, 201,0x000f); /* 否,畫比較暗的橫刻度線 */ /*用比較暗的顏色畫出所有非整十縱刻度線*/ for(x=28;x=228;x=x+10)if (x-28)%50!=0)/*判斷是否整十刻度線位置*/gui_rline(x, 25, 251,0x000f); /* 否,畫比較暗的縱刻度線 */ /*用比較亮的顏色畫出所有整十橫刻度線*/ for(y=25;y=275;y=y+50)gui_hline(28, y, 201,0x001f); /*畫比較亮的橫刻度線 */#/*用比較亮的顏色畫出所有整十縱刻度線*/ for(x=28;x,black,white);/顯示

44、箭頭gui_line(25,280,225,280,black);gui_putstring(50,300, 濕度:rh”, blue,white); / 顯示濕度標(biāo)題 /*顯示默認(rèn)的工作界面*/void drawdefaultbackcolor()gui_clearscreen(white);/ 示默認(rèn)背景界面gui_putstring(40,50,溫度:c,red,white);gui_putstring(40,80,“濕度:rh”,red,white);/*主程序*/ void main()char keyvalue = -1;unsigned char tmp10 = 0;unsign

45、ed int lightbuf3 = 0;unsigned char count = 0;static unsigned char x = 0,y = 0;struct timer secondtimer;timer_set(&secondtimer,clock_second);uart_init();/ 用口 初始化25uart_sendstr(hello world);lcd_init();/ lcd控制器初始化gui_clearscreen(red);/ 刷屏gui_clearscreen(white);gui_clearscreen(black);gui_clearscreen(whi

46、te);timer0_init();drawdefaultbackcolor();while(1)keyvalue = key_get();/switch(keyvalue) case -1:break;case 1:systemflag = +systemflag % 3;/switch(systemflag) case 0:drawdefaultbackcolor(); break; case 1:/dataclear();drawtempbackcolor(); break; case 2:/讀取按鍵值切換顯示界面顯示溫度顯示濕度 break;dataclear();drawhumiba

47、ckcolor(); break;if( timer_expired(&secondtimer) ./工作模式0以文字的形式顯示出變量的值(默認(rèn)) if(systemflag = 0)/數(shù)據(jù)采集data_collection();/將溫度數(shù)值轉(zhuǎn)化為字符串顯示memset(tmp,0,sizeof(tmp);tmp0 = temp/10 + 0x30;tmp1 = temp%10 + 0x30;tmp2 = 0;gui_putstring(100,50, tmp,blue,white);/ m濕度數(shù)值轉(zhuǎn)化為字符串顯示memset(tmp,0,sizeof(tmp);tmp0 = humi/10

48、+ 0x30;tmp1 = humi%10 + 0x30;tmp2 = 0;gui_putstring(100,80, tmp,blue,white);/顯示模式1,顯示溫度曲線else if(systemflag = 1)/讀取溫濕度if(0 = dht11_read_data(&temp,&humi)一 一temp = temp%100;humi = humi%100;tmp0 = temp/10 + 0x30;tmp1 = temp%10 + 0x30;tmp2 = 0;gui_putstring(65,302, tmp,blue,white); / 把溫濕 度數(shù)值顯示出來y = 275 - temp*5;/ 得到顯示的y坐標(biāo)/如果上一個點(diǎn)存在就連線if (last_point_exist = 1) 一 一gui_line(last_point_x,last_point_y,t+28,y,red);-last_point_x = t + 28;/ 更新上一個點(diǎn)的坐標(biāo)last_point_y

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論