溫濕度傳感器的設(shè)計_第1頁
溫濕度傳感器的設(shè)計_第2頁
溫濕度傳感器的設(shè)計_第3頁
溫濕度傳感器的設(shè)計_第4頁
溫濕度傳感器的設(shè)計_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、重慶郵電大學(xué)本科畢業(yè)設(shè)計(論文)摘 要SHT11是貼片封裝型的數(shù)字溫濕度傳感器??梢栽谝粔K微型電路板上同時集成傳感元件和信號處理電路,并且輸出的數(shù)字信號是完全標(biāo)定。產(chǎn)品的可靠性和穩(wěn)定性很強。傳感器包括一個電容性聚合體測濕敏感元件、一個用能隙材料制成的測溫元件,并在同一芯片上無縫連接了14位的A/D轉(zhuǎn)換器以及串行接口電路。因此,該產(chǎn)品具有品質(zhì)卓越、響應(yīng)迅速、抗干擾能力強、性價比高等優(yōu)點。AT89C51單片機是最常用的51單片機,并且在日常生活中也有很多的使用,在學(xué)習(xí)中的電子制作方面,在工業(yè)上的機電控制方面都能見到其身影,用AT89C51單片機作為溫濕度傳感器的控制部分也是十分的方便實用。使用AT

2、89C51單片機的優(yōu)點在于性價比高,易于掌握和學(xué)習(xí),并且能實現(xiàn)溫濕度的測量與控制。使用AT89C51單片機設(shè)計溫濕度控制系統(tǒng),可以準(zhǔn)確及時的反應(yīng)出室內(nèi)的溫濕度,還可以反映出溫濕度的變化,并能以直觀的數(shù)值形式反應(yīng)在液晶顯示屏上。本系統(tǒng)可以用來對溫度和濕度進行監(jiān)控?!娟P(guān)鍵詞】 AT89C51 SHT11 溫濕度傳感器 性價比高ABSTRACTSHT11 is a SMD package digital temperature and humidity sensors. Can be simultaneously integrated in a micro- sensor circuit board

3、 and the signal processing circuit, and outputs the digital signal is complete standard. Product has a strong reliability and stability. Sensor includes a capacitive polymer humidity measuring sensor, a temperature measurement used by devices band gap material, and seamless connectivity on the same

4、chip 14 -bit A / D converter and a serial interface circuit. Therefore, the product has excellent quality, fast response, anti-interference ability and highly cost-effective. AT89C51 microcontroller is the most common 51 microcontroller, and used in everyday life, there are many uses in electronics

5、manufacturing in learning, in industrial electromechanical control could be seen, use AT89C51 microcontroller for the control temperature and humidity sensor the control section is also very convenient and practical. The advantage of using AT89C51 microcontroller is highly cost-effective, easy to gr

6、asp and learn, and be able to achieve measurement and control of temperature and humidity. Using AT89C51 microcontroller design temperature and humidity control system, can accurate and timely responses indoor temperature and humidity, and also can reflect changes in temperature and humidity, are ab

7、le to react intuitively numerical form on the LCD screen. The system can be used to monitor temperature and humidity.【Key words】AT89C51 SHT11 Temperature and humidity sensor Highly cost-effective目 錄前 言1第一章 總體設(shè)計概述3第一節(jié) 系統(tǒng)實現(xiàn)的主要功能3第二節(jié) 系統(tǒng)工作原理3第三節(jié) 總體設(shè)計介紹3一、總體設(shè)計框圖3二、總體設(shè)計方法與流程4第四節(jié) 本章小結(jié)5第二章 系統(tǒng)模塊設(shè)計6第一節(jié) 主要控制部分

8、設(shè)計6一、單片機的基本特性6二、單片機的引腳介紹6三、時鐘電路介紹7第二節(jié) 傳感器部分設(shè)計8一、SHT11溫濕度傳感器介紹8二、 SHT11傳感器電路設(shè)計11第三節(jié) 液晶顯示部分設(shè)計12一、 LCD1602液晶顯示屏介紹12二、 LCD1602液晶顯示屏電路設(shè)計15第四節(jié) 本章小結(jié)16第三章 系統(tǒng)程序設(shè)計17第一節(jié) 總體程序構(gòu)架17第二節(jié) 主控制模塊設(shè)計17一、 主函數(shù)介紹17二、 顯示函數(shù)介紹18三、 計算函數(shù)介紹18第二節(jié) LCD1602顯示模塊設(shè)計20一、 液晶屏初始化函數(shù)介紹20二、 液晶屏寫入指令函數(shù)介紹21三、 液晶屏寫入數(shù)據(jù)函數(shù)介紹21第三節(jié) SHT11傳感器模塊設(shè)計22一、 溫

9、濕度測量函數(shù)介紹22二、 溫濕度處理函數(shù)介紹23第四節(jié) 本章小結(jié)23第四章 系統(tǒng)仿真與調(diào)試24第一節(jié) 系統(tǒng)仿真24一、 仿真軟件介紹24二、 電路圖的連接與程序?qū)?4三、 系統(tǒng)仿真26第二節(jié) 系統(tǒng)調(diào)試26第三節(jié) 所遇問題與解決方法29第四節(jié) 本章小結(jié)30結(jié) 論31致 謝32參考文獻33附 錄34一、英文原文:34二、英文翻譯:45三、工程設(shè)計圖紙:53四、源程序:54 - 66 -前 言溫度和濕度與人們的生活有著密切的聯(lián)系。在一些地方對溫度和濕度的要求很高,必須進過精確的測量和控制,比如在工、農(nóng)業(yè)的生產(chǎn)方面,氣象、環(huán)保的探測,還有科研部門都有著嚴(yán)格的要求,在制藥和食品加工方面也對溫濕度有特殊

10、的要求。人們常用的溫度計是水銀溫度計,它的優(yōu)點是結(jié)構(gòu)簡單、價錢低,但缺點是精度不高而且不宜讀數(shù)。常用的濕度計的原理是干濕球顯示法,溫度計是用的水銀,不僅復(fù)雜而且測量精度不高。在這方面單片機就體現(xiàn)出了優(yōu)勢,用單片機控制進行溫濕度的測量,就會使測量變得更簡單、靈活,控制上也更方便,還對溫濕度控制的技術(shù)指標(biāo)有大幅提升。用LCD顯示器來顯示溫濕度的數(shù)值,看起來更加直觀。為了達到生產(chǎn)和生活的需要,從古代開始人們就想過很多方法來測量和改變環(huán)境的溫濕度。在古代的時候人們通過扇子、雨傘、毛巾等試圖去改變和控制溫度和濕度,而當(dāng)今人們也通過高科技手段發(fā)明出許多控制和改變溫濕度的工具,如風(fēng)扇、空調(diào)、加熱器等,這充分

11、反映出人們非常希望能改變溫度和濕度這兩個對人們生活生產(chǎn)十分關(guān)鍵的環(huán)境因數(shù)。隨著現(xiàn)代科技的發(fā)展,人們將傳感器和單片機應(yīng)用在了溫濕度測量和控制上,使得系統(tǒng)的測量精度和自動化程度有了很大程度的提高,并取得了良好的效果。 以前人們對溫濕度的控制方法都是人工的,采取溫度計和濕度計測量溫濕度,并用人工讀數(shù),然后通過控制一些設(shè)備如:升、降溫,增加、降低濕度的設(shè)備來實現(xiàn)溫濕度的控制,但是這樣做的精確性不高,操作人員的勞動強度很大,而且實時性很差。在有些地方使用半導(dǎo)體二極管作為溫濕度傳感器,由于沒有達到很好的互換性能,在測量中效果也不是很理想。并且在一些對溫濕度要求很高的行業(yè)中,很有可能因為溫濕度的超標(biāo)從而產(chǎn)生

12、危險引發(fā)事故。比如在大型電力系統(tǒng)中,就會由于溫度和濕度的過高和過低發(fā)生漏電或短路的情況,這就會產(chǎn)生事故,危機操作人員的生命安全,就需要加裝自動控制溫濕度的裝置。在溫濕度的測量中起關(guān)鍵作用的是溫濕度傳感器。以前測量溫濕度都是分開進行的,隨著科技的進步,人們發(fā)明了一體式傳感器,可以同時測量溫度和濕度。溫度傳感器的發(fā)展大概經(jīng)歷了3個階段,分別是:傳統(tǒng)的分立式溫度傳感器、模擬集成溫度傳感器、智能集成溫度傳感器?,F(xiàn)在,溫度傳感器正從模擬向數(shù)字方向發(fā)展并且有逐漸取代模擬器件的可能,向智能化、網(wǎng)絡(luò)化發(fā)展SHTXX 系列溫濕度傳感器是一款高度 集成的溫濕度傳感器芯片,是現(xiàn)今國內(nèi)外用的最廣泛的,全程都是數(shù)字標(biāo)量

13、輸出。產(chǎn)品具有很高的穩(wěn)定性和可靠性。其包括一個電容性聚合體濕度敏感元件和一個用能隙材料制成的溫度敏感元件,并與一個14位的A/D轉(zhuǎn)換器以及一個串行接口電路設(shè)計集成。SHTXX系列傳感器有許多方面的優(yōu)勢,比如:品質(zhì)卓越、響應(yīng)超快、抗干擾能力強、極高的性價比。每個傳感器芯片在制作過程中都是在極其精確的溫濕度下經(jīng)行標(biāo)定的。通過將標(biāo)定得到的校準(zhǔn)系數(shù)以儲存在其OTP內(nèi)存中。接口配置很簡單,只需通過兩線制的串行接口就可調(diào)整內(nèi)部電壓,使外圍系統(tǒng)集成變得快速、簡單、體積微小、極低功耗等,因此,該類產(chǎn)品成為各類應(yīng)用中的首選。整體而言,其如下優(yōu)點:全標(biāo)定輸出、卓越的長期穩(wěn)定性、無需額外電路、低能耗、超小尺寸、自動

14、休眠、超快響應(yīng)時間等。在SHTXX系列溫濕度傳感器中,此次設(shè)計選用比較熟悉的SHT11數(shù)字溫濕度傳感器,該芯片在PROTEUS中具有仿真原型,同時選用最常用和簡單的單片機AT89C51,這款傳感器與單片機連接的外圍電路比較簡便。所以本次設(shè)計采用的測量的傳感器為SHT11數(shù)字溫濕度傳感器,核心控制芯片采用AT89C51,再輔助外圍電路,構(gòu)建一套溫濕度測量系統(tǒng)。第一章 總體設(shè)計概述第一節(jié) 系統(tǒng)實現(xiàn)的主要功能這個系統(tǒng)所要實現(xiàn)的主要功能是:實現(xiàn)溫度、濕度的測量與顯示。整體設(shè)計工作的流程如下:通過SHT11數(shù)字溫濕度傳感器采集當(dāng)前環(huán)境下的溫濕度數(shù)據(jù),然后送入單片機進行數(shù)據(jù)處理,進而控制LCD1602的顯

15、示時序,將采集到的數(shù)據(jù)顯示出來。第二節(jié) 系統(tǒng)工作原理從總體角度來說這個設(shè)計主要涉及有溫度、濕度的測量,顯示以及簡單的控制。分為三個部分,即AT89C51單片機為主控部分、SHT11溫濕度傳感器部分、LCD1602顯示屏顯示部分。還需要加一些外圍的驅(qū)動電路。主控部分主要用的是AT89C51單片機,在后面會有對單片機的介紹。在這部分還有時鐘電路。傳感器部分是使用的SHT11數(shù)字溫濕度傳感器。通過SHT11傳感器檢測當(dāng)前環(huán)境下的溫濕度,然后把測得的數(shù)據(jù)送入單片機進行處理,提供給后續(xù)的部分使用。顯示部分是使用的LCD1602液晶顯示器,顯示分為兩行,上面一行顯示濕度,下面一行顯示溫度,后面顯示濕度的百

16、分比和溫度的單位。第三節(jié) 總體設(shè)計介紹一、總體設(shè)計框圖如圖1-1所示為總體設(shè)計框圖,是根據(jù)上述部分模塊與設(shè)計理念畫出來的。并且在保證功能實現(xiàn)的基礎(chǔ)上,盡可能的簡化電路,減少元器件從而降低成本。圖1-1 總體設(shè)計框圖從圖中可以看出有單片機處理模塊,傳感器模塊,液晶顯示器模塊,外圍電路還有時鐘電路。整個系統(tǒng)以AT89C51單片機為核心,實現(xiàn)溫濕度的采集和溫濕度具體數(shù)值的顯示。二、總體設(shè)計方法與流程從上一步可以看出,這次設(shè)計分3個部分。首先需要做的就是搞懂AT89C51單片機,學(xué)習(xí)單片機的引腳、端口,功能等基本內(nèi)容。這是一款十分常見的51單片機,可以查到很多資料。然后就是開始學(xué)習(xí)LCD1602液晶顯

17、示屏,學(xué)習(xí)顯示屏的使用方法,連接方法。最后還要對SHT11數(shù)字溫濕度傳感器進行研究,通過查資料、看文獻學(xué)習(xí)傳感器的使用。在這3個部分掌握了后,再開始學(xué)習(xí)Proteus仿真軟件。最后進行程序的編寫和系統(tǒng)的仿真。整個流程圖如圖1-2所示。圖1-2 總體設(shè)計流程圖第四節(jié) 本章小結(jié)在這章中主要介紹了這次畢業(yè)設(shè)計要實現(xiàn)的主要功能,和這次畢業(yè)設(shè)計的設(shè)計方案的大體流程,并對設(shè)計的總體設(shè)計方法和系統(tǒng)的工作原理做了個簡單的介紹。提出了這次設(shè)計的總體思路,在后續(xù)的工作中將按照這個流程把后續(xù)的系統(tǒng)設(shè)計完成,達到預(yù)期的效果。第二章 系統(tǒng)模塊設(shè)計第一節(jié) 主要控制部分設(shè)計 這次畢業(yè)設(shè)計的核心控制部分采用的是AT89C51

18、單片機,其中接口連接如下:將單片機的P0口作為數(shù)據(jù)傳輸口,P0.0P0.7分別與LCD1602液晶顯示屏的D0D7端口相連;P2.0P2.2分別作為液晶屏的RS、R/W和E,并與液晶屏的相應(yīng)端口相連接,以控制液晶顯示;P2.6和P2.7分別與SHT11的SCK和DATA端口相連。一、單片機的基本特性 AT89C51單片機是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器,也是高性能CMOS8位微處理器,這種儲存器俗稱單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器

19、組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器1。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 與MCS-51兼容 4K字節(jié)可編程閃爍存儲器;壽命:1000寫/擦循環(huán);數(shù)據(jù)保留時間:10年全靜態(tài)工作:0Hz-24Hz三級程序存儲器鎖定128*8位內(nèi)部RAM32可編程I/O線兩個16位定時器/計數(shù)器5個中斷源可編程串行通道低功耗的閑置和掉電模式 二、單片機的引腳介紹VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器

20、,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高2。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故3。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和

21、校驗時接收高八位地址信號和控制信號4。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。三、時鐘電路介紹設(shè)計用的AT89C51單片機有兩種產(chǎn)生時鐘的方法,一種是內(nèi)部電路產(chǎn)生的方法,還有一種是用外加外圍電路產(chǎn)生。內(nèi)部產(chǎn)生方法就是利用單片機芯片內(nèi)部的振蕩電路產(chǎn)生時鐘。在這次畢業(yè)設(shè)計中,采用的是外部振蕩的方法,其目的是為了簡化電路,也是從實際出發(fā)。對于AT89C51單片機來說,要形成時鐘,需要有外接元件。所以在實際設(shè)計的電路中,振蕩時鐘電路的外接部分就是晶振和電容C1、C2構(gòu)成的

22、并聯(lián)諧振電路,并接在放大器的反饋回路中。在電容和晶振的選擇上并沒有嚴(yán)格的要求。一般要考慮電容的大小和振蕩頻率的高低,還有振蕩器的穩(wěn)定性、起振反應(yīng)速度和溫度等特性。大概晶振頻率在1.2MHZ12MHZ之間選擇,而兩個電容的值一般選取在20pf100pf之間。在本次設(shè)計中,考慮到計算和其他方面因素晶振選取頻率為12MHZ,電容值選擇為20pf。圖2-1 時鐘晶振電路圖圖2-2晶振頻率選擇第二節(jié) 傳感器部分設(shè)計一、SHT11溫濕度傳感器介紹SHT11數(shù)字溫濕度傳感器是溫濕度傳感器家族中的貼片封裝系列。傳感器將傳感元件和信號處理電路集成在一塊微型電路板上,輸出完全標(biāo)定的數(shù)字信號。傳感器采用專利的CMO

23、Sens® 技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電容性聚合體測濕敏感元件、一個用能隙材料制成的測溫元件,并在同一芯片上,與14 位的A/D 轉(zhuǎn)換器以及串行接口電路實現(xiàn)無縫連接5。因此,該產(chǎn)品具有品質(zhì)卓越、響應(yīng)迅速、抗干擾能力強、性價比高等優(yōu)點。每個傳感器芯片都在極為精確的濕度腔室中進行標(biāo)定,校準(zhǔn)系數(shù)以程序形式儲存在OTP 內(nèi)存中,用于內(nèi)部的信號校準(zhǔn)。兩線制的串行接口與內(nèi)部的電壓調(diào)整,使外圍系統(tǒng)集成變得快速而簡單6。微小的體積、極低的功耗,使SHT11 成為各類應(yīng)用的首選。1、傳感器的電學(xué)特性傳感器的電學(xué)特性如表2-1所示。表2-1傳感器電學(xué)特性參數(shù)條件Mi

24、nTypMax單位供電電壓2.43.35.5V功耗休眠狀態(tài)25W測量狀態(tài)3mW平均150W2、傳感器接口介紹傳感器的各接口如圖2-3所示。圖2-3 傳感器接口介紹(1)、串行時鐘輸入(SCK)SCK 用于微處理器與SHT11 之間的通訊同步。由于接口包含了完全靜態(tài)邏輯,因而不存在最小SCK 頻率。(2)、串行數(shù)據(jù) (DATA)DATA 引腳為三態(tài)結(jié)構(gòu),用于讀取傳感器數(shù)據(jù)。當(dāng)向傳感器發(fā)送命令時, DATA 在SCK 上升沿有效且在SCK 高電平時必須保持穩(wěn)定,DATA 在SCK 下降沿之后改變。為確保通訊安全,DATA 的有效時間在SCK 上升沿之前和下降沿之后應(yīng)該分別延長至 TSU and T

25、HO 參見圖2-4。 當(dāng)從傳感器讀取數(shù)據(jù)時, DATA TV 在 SCK 變低以后有效,且維持到下一個SCK 的下降沿7。圖2-4 串行數(shù)據(jù)狀態(tài)圖注:上圖中加重的DATA線由傳感器控制,普通的DATA 線由單片機控制。 有效時間依據(jù)SCK 的時序。請注意數(shù)據(jù)讀取的有效時間為前一個切換的下降沿。其中縮寫詞解釋見表2-2。表2-2 縮寫詞解釋FSCKTSCKxTR/TFTFOTROTVTSUTHOSCK 頻率SCK 高/低 時間SCK 上升/下降時間DATA 下降時間DATA 上升時間DATA 有效時間DATA 設(shè)置時間DATA 保持時間3、傳感器通信用一組“啟動傳輸”時序,來完成數(shù)據(jù)傳輸?shù)某跏蓟?/p>

26、。它包括:當(dāng)SCK 時鐘高電平時DATA 翻轉(zhuǎn)為低電平,緊接著SCK 變?yōu)榈碗娖剑S后是在SCK 時鐘高電平時DATA 翻轉(zhuǎn)為高電平。參見圖2-5。圖 2-5 傳感器“啟動傳輸”后續(xù)命令包含三個地址位(目前只支持000”),和五個命令位。SHT11 會以下述方式表示已正確地接收到指令:在第8 個SCK 時鐘的下降沿之后,將DATA 下拉為低電平(ACK 位)。在第9 個SCK 時鐘的下降沿之后,釋放DATA(恢復(fù)高電平)8。命令見下表。表2-3 SHT11命令集命令代碼預(yù)留0000x溫度測量00011濕度測量00101讀狀態(tài)寄存器00111寫狀態(tài)寄存器00110預(yù)留0101x-1110x4、溫

27、濕度測量發(fā)布一組測量命令(00000101表示相對濕度RH,00000011表示溫度T)后,控制器要等待測量結(jié)束。這個過程需要大約20/80/320ms,分別對應(yīng)8/12/14bit 測量。確切的時間隨內(nèi)部晶振速度,最多可能有-30%的變化。SHT11 通過下拉DATA 至低電平并進入空閑模式,表示測量的結(jié)束。控制器在再次觸發(fā)SCK 時鐘前,必須等待這個“數(shù)據(jù)備妥”信號來讀出數(shù)據(jù)。檢測數(shù)據(jù)可以先被存儲,這樣控制器可以繼續(xù)執(zhí)行其它任務(wù)在需要時再讀出數(shù)據(jù)。接著傳輸2個字節(jié)的測量數(shù)據(jù)和1 個字節(jié)的CRC 奇偶校驗(可選擇讀?。C 需要通過下拉DATA 為低電平,以確認每個字節(jié)。所有的數(shù)據(jù)從MSB

28、 開,右值有效(例如:對于12bit 數(shù)據(jù),從第5個SCK 時鐘起算作MSB;而對于8bit 數(shù)據(jù),首字節(jié)則無意始義)。在收到CRC 的確認位之后,表明通訊結(jié)束。如果不使用CRC-8 校驗,控制器可以在測量值LSB 后,通過保持ACK高電平終止通訊9。在測量和通訊完成后,SHT11 自動轉(zhuǎn)入休眠模式。二、 SHT11傳感器電路設(shè)計SHT11傳感器連接AT89C51單片機的電路圖還是比較簡單的,調(diào)用出Protues里現(xiàn)成的SHT11傳感器模塊,再把時鐘端SCK和數(shù)據(jù)端DATA與單片機對應(yīng)的端口相連。圖2-6 SHT11傳感器電路圖第三節(jié) 液晶顯示部分設(shè)計一、 LCD1602液晶顯示屏介紹LCD1

29、602是工業(yè)字符型液晶顯示屏,可以同時顯示32個字符(16列2行)。1602顯示屏可以用來顯示字母、數(shù)字、符號等點陣類型的液晶模塊。液晶顯示器在工業(yè)和生活中用的很多,如手表、計算器、電子稱等地方都有使用,在單片機學(xué)習(xí)中也經(jīng)常用到液晶顯示器,常用來顯示數(shù)字、字母等,在這些顯示器中LCD1602是用的最多、最基本、最容易上手液晶顯示屏,在這個畢業(yè)設(shè)計中就正是采用LCD1602液晶顯示屏來顯示溫度和濕度的數(shù)值。1、顯示器的主要技術(shù)參數(shù)顯示容量:16×2個字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(W

30、15;H)mm2、顯示器的引腳說明這里采用的是LCD1602標(biāo)準(zhǔn)的14腳無背光顯示器,各引腳說明如下表。表2-4 LCD1602 顯示器引腳說明符號引腳說明符號引腳說明VSS電源地D1數(shù)據(jù)VDD電源正極D2數(shù)據(jù)VL液晶顯示偏壓D3數(shù)據(jù)RS數(shù)據(jù)/命令選擇D4數(shù)據(jù)R/W讀/寫選擇D5數(shù)據(jù)E使能信號D6數(shù)據(jù)D0數(shù)據(jù)D7數(shù)據(jù)具體解釋:VSS腳:VSS為地電源。VDD腳:VDD接5V正電源。VL腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度10。RS腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇

31、指令寄存器。R/W腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng)RS和R/W共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時可以讀取信號,當(dāng)RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。E腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。D0-D7腳:D0D7為8位雙向數(shù)據(jù)線。3、顯示器的指令說明LCD1602液晶顯示屏的內(nèi)部控制有11條控制指令,見下表。表2-5 LCD1602液晶屏控制指令序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示

32、開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容詳細解釋:1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置, I/D:光標(biāo)移動方向,高電平右移,低

33、電平左移; S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示; C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo); B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍11。指令5:光標(biāo)或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標(biāo)。指令6:功能設(shè)置命令,DL:高電平時為4位總線,低電平時為8位總線; N:低電平時為單行顯示,高電平時雙行顯示;F:低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符12。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令

34、9:讀忙信號和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。4、顯示器的標(biāo)準(zhǔn)字符表LCD1602液晶顯示器內(nèi)部的字符儲存器存儲了160個不同的點陣類型的字符、圖形,有阿拉伯?dāng)?shù)字、常用符號、日語中的平假名片假名。每個字符都有一個對應(yīng)的固定代碼,只要調(diào)用代碼,顯示器就能把對應(yīng)的字符顯示出來。代碼與字符的對應(yīng)表見圖2-7。圖2-7 顯示屏代碼與字符對應(yīng)圖二、 LCD1602液晶顯示屏電路設(shè)計上文已經(jīng)介紹了LCD1602液晶顯示屏的基本內(nèi)容和使用方法,這次畢業(yè)設(shè)計的顯示部分就是用這個顯示屏來實現(xiàn)的。將顯示屏的RS、RW

35、、E三個端口接到單片機對應(yīng)設(shè)定的端口,D0-D7為數(shù)據(jù)傳輸端口也接到單片機的數(shù)據(jù)傳輸端并加上個10K的排阻,因為單片機P0口內(nèi)部沒有上拉電阻,排阻在這里起上拉電阻的作用,就是給P0口提供電流,否則會顯示就會異常。顯示電路的設(shè)計電路圖見圖2-8。圖2-8 顯示器設(shè)計電路圖第四節(jié) 本章小結(jié)在本章中,重點對系統(tǒng)各個模塊的設(shè)計做了介紹,分別對控制、顯示、傳感三個組成模塊的線路圖與電路連接方法作了闡述。對所用到的單片機、傳感器、顯示屏的使用環(huán)境,工作電壓和各引腳的連接與使用做了詳細解釋。在傳感器部分,說明了傳感器要如何去測量溫濕度、傳感器的初始化、傳感器的信號和數(shù)據(jù)的傳輸?shù)霓k法。在顯示屏部分,說明了顯示

36、器的使用方法,簡單介紹了下顯示器的命令與字符表。第三章 系統(tǒng)程序設(shè)計第一節(jié) 總體程序構(gòu)架 在對要設(shè)計的東西有一個了解后,先建立一個總體框圖和流程圖,然后分塊進行設(shè)計,逐個模塊的設(shè)計并實現(xiàn)功能,最后再把各個模塊連接起來,形成總程序。流程如圖3-1。圖3-1 主程序流程圖 總體構(gòu)架的思路就是:檢測溫濕度,溫濕度的計算,溫濕度的補償,溫濕度的處理,最后還要將處理后的值發(fā)送給顯示器,實現(xiàn)顯示器的數(shù)值顯示。第二節(jié) 主控制模塊設(shè)計 在主控制部分,主要有一個主函數(shù)和一個顯示程序。主函數(shù)中包括液晶屏初始化函數(shù)、溫濕度計算函數(shù)、溫度和濕度補償函數(shù)。設(shè)計圖如圖3-2。圖3-2 主控程序流程圖一、 主函數(shù)介紹主函數(shù)

37、是一個循環(huán)函數(shù),目的是一直進行溫濕度測量并計算,在進行溫濕度補償,主函數(shù)如下: void main()lcd_init(); /調(diào)用液晶屏初始化子函數(shù)while(1) /無限循環(huán)下面的語句: text_jishuan_temp11(); TEM0=xianzhi_t+10;/修正溫度補償 HUM0=xianzhi_h-30;/修正濕度補償 display();/定時中斷 顯示一次改變的數(shù)據(jù) 二、 顯示函數(shù)介紹后面跟上一個液晶顯示屏的顯示數(shù)據(jù)函數(shù),并設(shè)定從指定地方開始顯示,還要將得到的數(shù)據(jù)分開成十位數(shù)據(jù)和個位數(shù)據(jù),在從指定地方開始顯示,函數(shù)如下:void display() write_1602

38、com(yh+12);/ 顯示從第一行第12個位置之后開始顯示 write_1602dat(HUM0/100+0X30); /0X30:“0”字符的ask碼 write_1602dat(HUM0/10%10+0X30); write_1602com(er+12); /數(shù)據(jù)顯示寫入位置,從第12個位置后開始顯示write_1602dat(TEM0/100+0X30); write_1602dat(TEM0/10%10+0X30); 在上述兩個主函數(shù)中都調(diào)用到了許多自己定義的函數(shù),這些函數(shù)有些是用來顯示的,有些是用來計算數(shù)據(jù)的,還有的是測量用的,這些函數(shù)后面都會有所介紹13。三、 計算函數(shù)介紹 在

39、主控函數(shù)里還調(diào)用了一個計算函數(shù),這個函數(shù)是用來計算溫濕度的。因為傳入單片機的溫度和濕度的數(shù)據(jù)是分兩次傳入的,分為高八位和低八位傳入的,這里要將數(shù)據(jù)進行重新整合,并對數(shù)據(jù)進行處理,最后給出提供給顯示器的顯示值。1、溫度計算溫度計算函數(shù)如下:void text_jishuan_temp() float aa=0,bb=0,temp_zi;int abcd=0;aa=(float)temp_h*256+(float)temp_LL; /把高八位和低八位和在一起 temp_zi=0.01*aa-40;/ if (temp_zi<0) temp_zi=0; temp_zi=temp_zi*10;

40、xianzhi_t=(int)temp_zi;/給顯示值2、濕度計算濕度計算函數(shù)如下:void text_jishuan_humi() float aa=0,bb=0,humi_zi;int abcd=0; aa=(float)temp_h*256+(float)temp_LL; bb=aa*aa*2.8/1000000; aa=0.0405*aa; aa=aa-4-bb; humi_zi=aa; / humi_zi=humi_zi*10; xianzhi_h=(int)humi_zi; 第二節(jié) LCD1602顯示模塊設(shè)計在設(shè)計顯示器的程序時,在初始化時首先設(shè)計恒定顯示的溫度、濕度單詞和單位符

41、號,確定要變化的那4位,然后定義寫入指令,再定義寫入數(shù)據(jù),最后就能顯示了。設(shè)計流程如下圖。圖3-3 LCD1602顯示屏程序流程圖在顯示模塊的設(shè)計中主要用到了3個函數(shù):一個液晶屏初始化函數(shù),一個液晶屏寫入指令函數(shù),一個液晶屏寫入數(shù)據(jù)函數(shù)一、 液晶屏初始化函數(shù)介紹液晶屏初始化函數(shù),用處是初始化液晶屏,定義溫濕度表示符號,溫濕度的單位符號,并確定它們的顯示位置和哪些位置用來顯示溫濕度的數(shù)值,程序如下:lcd_init()/*液晶初始化函數(shù)*write_1602com(0x38);/設(shè)置液晶工作模式,意思:16*2行顯示,5*7點陣,8位數(shù)據(jù)write_1602com(0x0c);/開顯示不顯示光標(biāo)

42、write_1602com(0x06);/整屏不移動,光標(biāo)自動右移write_1602com(0x01);/清顯示write_1602com(yh+0);/溫度顯示固定符號從第一行第1個位置之后開始顯示for(a=0;a<16;a+)write_1602dat(tab1a);write_1602com(er+0);/濕度顯示固定符號寫入位置,從第0個位置后開始顯示for(a=0;a<16;a+)write_1602dat(tab2a);二、 液晶屏寫入指令函數(shù)介紹寫入指令函數(shù)的作用是發(fā)給顯示器一個指令告訴顯示器要顯示數(shù)據(jù),準(zhǔn)備接收數(shù)據(jù),并確定把數(shù)據(jù)顯示在哪個位置。大體程序如下:wr

43、ite_1602com(uchar com)/*液晶寫入指令函數(shù)* /在哪寫rs=0;/數(shù)據(jù)/指令選擇置為指令rw=0; /讀寫選擇置為寫P0=com;/送入數(shù)據(jù)delay(1);en=1;/拉高使能端,為制造有效的下降沿做準(zhǔn)備delay(1);en=0;/en由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令三、 液晶屏寫入數(shù)據(jù)函數(shù)介紹寫入數(shù)據(jù)函數(shù)的作用是告訴顯示屏顯示的具體數(shù)據(jù)是啥,傳輸數(shù)據(jù)給顯示屏,程序如下:write_1602dat(uchar dat)/*液晶寫入數(shù)據(jù)函數(shù)* /寫啥rs=1;/數(shù)據(jù)/指令選擇置為數(shù)據(jù)rw=0; /讀寫選擇置為寫P0=dat;/送入數(shù)據(jù)delay(1);en=1; /e

44、n置高電平,為制造下降沿做準(zhǔn)備delay(1);en=0; /en由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令第三節(jié) SHT11傳感器模塊設(shè)計SHT11數(shù)字溫濕度傳感器是這次設(shè)計選用的傳感器,在啟動和初始化傳感器后,使用傳感器測量溫濕度,再將測量的數(shù)據(jù)分為高8位和低8為傳入單片機,并進行溫濕度值的補償計算,流程圖如圖3-4。圖3-4 SHT11傳感器流程圖傳感器的模塊設(shè)計有初始化函數(shù)、驅(qū)動函數(shù)、溫濕度測量函數(shù)、溫濕度處理函數(shù)、傳輸函數(shù)14。下面對其中幾個函數(shù)進行簡單介紹。一、 溫濕度測量函數(shù)介紹溫濕度測量函數(shù)的作用是測量溫度或濕度,并返回校驗值,程序如下:void text_a(unsigned cha

45、r ml) unsigned int i; start_sht11(); /啟動 write(ml);/寫入測溫度 if (ack=1) sht_rest() ;/復(fù)位 write(ml);/寫入測溫度 for (i=0;i<55535;i+) if(DATA=0) break; read();/讀溫度二、 溫濕度處理函數(shù)介紹溫濕度處理函數(shù)主要是調(diào)用的前面所設(shè)計過的計算函數(shù),對測量的溫濕度值進行處理,主要程序如下:void text_jishuan_temp11() error=0; ack=0; sht_rest() ;/復(fù)位 text_a(TEMP_ML); text_jishuan

46、_temp(); text_a(HUMI_ML); text_jishuan_humi(); 第四節(jié) 本章小結(jié)在這一章中主要對這次設(shè)計的軟件部分做了介紹,軟件部分的設(shè)計分為了三大模塊,其中也有些函數(shù)在幾大模塊中都有使用到。本章中也對用到的基本函數(shù)程序做了介紹,在下一章將會把這些代碼導(dǎo)入單片機中,進行系統(tǒng)的仿真。第四章 系統(tǒng)仿真與調(diào)試第一節(jié) 系統(tǒng)仿真一、 仿真軟件介紹這次畢業(yè)設(shè)計使用的仿真軟件是Proteus,Proteus是著名的EDA工具,軟件可以將代碼調(diào)試與原理電路圖協(xié)同起來再加上單片機和外圍電路實現(xiàn)仿真,并可以經(jīng)行PCB軟件設(shè)計,也支持51系類的單片機的仿真15。是最實用、最簡單的單片機

47、仿真軟件,也很容易上手。 在軟件安裝完成后,就可以進入軟件主界面,如圖4-1。圖4-1 仿真軟件界面二、 電路圖的連接與程序?qū)朐谲浖行陆üこ?、文件,然后就開始畫電路,在軟件中找到所需的元器件,包括:AT89C51單片機、SHT11數(shù)字溫濕度傳感器、LCD1602液晶顯示屏、排阻、電容、電阻、晶振,在用導(dǎo)線將元器件按需要的電路連接起來,并加上高電位和接地。連接好的電路圖如圖4-2所示。圖4-2 系統(tǒng)連接電路圖連接好后在Keil中生成能為Proteus仿真使用的文件如圖4-3。圖4-3 生成程序仿真文件然后再進入Proteus里,雙擊單片機模塊,將仿真用的程序文件導(dǎo)入到系統(tǒng)里(見圖4-4),到

48、此,仿真的前期準(zhǔn)備就都完成了。圖4-4 仿真程序?qū)肴?系統(tǒng)仿真電擊左下角的開始按鈕,軟件開始仿真,可以看見電路圖中的管腳處出現(xiàn)了表示高低電位的紅藍點,SHT11有了顯示,LCD1602上也顯示出了溫濕度,系統(tǒng)出現(xiàn)效果,如圖4-5。圖4-5 仿真效果第二節(jié) 系統(tǒng)調(diào)試在仿真出效果后,現(xiàn)在對系統(tǒng)進行測試,看是否如設(shè)計的一樣能實時的反應(yīng)溫濕度的數(shù)值變化。對SHT11模塊進行調(diào)節(jié),用來模擬外接溫濕度變化傳感器的反應(yīng)。用鼠標(biāo)點擊SHT11左下角的兩個按鈕可以對數(shù)值大小進行調(diào)節(jié)(左邊是減少,右邊是增加),右下角的那個按鈕是切換調(diào)節(jié)的數(shù)值是溫度還是濕度。現(xiàn)在將SHT11調(diào)節(jié)到溫度調(diào)節(jié),可以看見有一個紅箭頭

49、指向溫度的數(shù)值,點擊溫度增加按鈕,可以看見每點一下,SHT11顯示的溫度就增加一度,如圖4-6。圖4-6 溫度調(diào)節(jié)在溫度調(diào)節(jié)的過程中觀察LCD1602液晶顯示屏的變化,可以看到顯示屏管腳的紅藍色點顏色在變化,并且屏上temperature后面顯示的溫度數(shù)值也一直在變化(見圖4-7),通過觀察發(fā)現(xiàn)顯示屏上的溫度值與傳感器上的溫度值是一樣,并且保持同步的變化。進過驗證溫度測量成功,系統(tǒng)能成功實現(xiàn)溫度的實時測量與顯示。圖4-7 溫度變化同理,將SHT11傳感器的調(diào)節(jié)按鈕選定為濕度,用同樣的方法進行濕度變化,并觀察顯示屏。發(fā)現(xiàn)濕度測量也實現(xiàn)了實時、準(zhǔn)確的變化并顯示出數(shù)值(見圖4-8)。再多次變化溫濕度

50、觀察變化(見圖1-10,圖4-11)。到此為止,系統(tǒng)成功實現(xiàn)設(shè)定功能,成功的實現(xiàn)對溫濕度的實時變化的測量并顯示,設(shè)計仿真取得成功。圖4-8 濕度變化調(diào)節(jié)與顯示圖4-9 溫濕度變化調(diào)節(jié)第三節(jié) 所遇問題與解決方法在這次畢業(yè)設(shè)計中也遇到了許多問題,其中有軟件編程方面的,也有仿真方面的。在編程方面就遇到了函數(shù)沒定義等問題,由于要調(diào)用的自定義函數(shù)很多,順序又放的不是很整齊,就會碰到一編譯就彈出錯誤說有哪些函數(shù)沒定義就直接調(diào)用了;在仿真時遇到過Keil軟件無法生成能供Proteus使用的程序文件。這些問題后來都在查閱資料,請教老師和同學(xué)的幫助下完成了。第四節(jié) 本章小結(jié)在本章中詳細的介紹了系統(tǒng)的仿真過程,和

51、仿真結(jié)果,變化初始條件檢測系統(tǒng)的實時性與準(zhǔn)確性。通過仿真系統(tǒng)達到了最初要求的設(shè)計功能,實現(xiàn)了溫濕度的實時測量與數(shù)字化顯示。也對遇到的問題做了反思與修改。結(jié) 論測量溫濕度對人們的生產(chǎn)生活是十分重要的,在農(nóng)業(yè)上的恒溫恒濕蔬菜大棚,工業(yè)上的恒溫恒濕,還有很多高精尖的實驗室對溫濕度的要求也是很嚴(yán)格的。隨著經(jīng)濟的發(fā)展,人們生活水平的提高和電子技術(shù)的應(yīng)用。已經(jīng)不能像原來一樣使用老式的人工讀數(shù)溫度、濕度計,這即浪費了時間也不方便電子自動化控制。在這個信息和計算機飛速發(fā)展的時代,要把傳感器數(shù)字化,這樣才能方便與電子系統(tǒng)聯(lián)系,才能方便后續(xù)的自動化管理。而這次的畢業(yè)設(shè)計所做正是溫濕度傳感器,也是一個很貼近生活的題

52、目。在這段做畢業(yè)設(shè)計的時間里所得到的最大感觸就是“紙上得來終覺淺,絕知此事要躬行”。剛開始看看書認為還不算難,但是經(jīng)過自己動手做之后才發(fā)現(xiàn)平時學(xué)習(xí)知識中的不足之處,看著都會的東西,自己一做就會被很多小問題卡住,以為沒問題的程序結(jié)果運行就報錯,在設(shè)計方面也會遇到些平時不注意的細節(jié)。經(jīng)過這一段時間的努力,從確定題目,到查閱資料,學(xué)習(xí)基礎(chǔ)理論知識,查看并了解芯片、傳感器、顯示器的使用方法和功能,學(xué)習(xí)編程并調(diào)試程序,這都使我的理論知識和動手能力有了很大的提升。也對單片機的功能和運用有了更深一步的掌握,同時,對一些外圍的設(shè)備和電路,如:傳感器、顯示屏、時鐘電路也有了一定的了解。最后也仿真成功,達到預(yù)期設(shè)定目的,完成了畢業(yè)設(shè)計所要求的仿真實現(xiàn)的要求。但我知道這畢竟不是實物,離實物的實現(xiàn)還是有一段距離,想要完成實物并

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論