




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)校代碼 10126 學(xué)號(hào) 分 類 號(hào) 密級(jí) 本科畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)學(xué)院、系 電子信息工程系 專業(yè)名稱 自 動(dòng) 化 年 級(jí) 2008 屆 學(xué)生姓名 薛 金 朋 指導(dǎo)教師 王 俊 林 2012年2月22日原創(chuàng)性聲明本人聲明:所呈交的學(xué)位論文(畢業(yè)論文)是本人在導(dǎo)師的指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。論文中所含其他人已經(jīng)發(fā)表或撰寫過(guò)的研究成果已添加相應(yīng)注釋,而且不包含為獲得內(nèi)蒙古大學(xué)及其他教育機(jī)構(gòu)的學(xué)位或證書(shū)而使用過(guò)的材料。論文中所繪制電路圖、流程圖等均為本人個(gè)人所做。如有雷同,純屬巧合。 學(xué)位論文作者簽名: 指導(dǎo)教師簽名: 日 期: 日 期: 基于單片機(jī)的溫度控制系
2、統(tǒng)設(shè)計(jì)摘 要隨著人們?cè)谌粘I钪袑?duì)溫度控制的需求與日俱增,溫控系統(tǒng)的設(shè)計(jì)也需要簡(jiǎn)單化、人性化。筆者設(shè)計(jì)了基于STC89C52單片機(jī)和DS18B20溫度傳感器的溫度控制系統(tǒng),主要完成了通過(guò)DS18B20和LCD1602進(jìn)行溫度顯示、通過(guò)矩陣鍵盤設(shè)置目標(biāo)溫度、通過(guò)三極管放大電流控制調(diào)溫繼電器等功能。同時(shí),筆者設(shè)計(jì)了基于USB供電和DC供電系統(tǒng)的雙供電系統(tǒng)。關(guān)鍵詞:?jiǎn)纹瑱C(jī),溫度傳感器,LCD1602,矩陣鍵盤,繼電器Design of temperature control system based on MCUABSTRACTAlong with the people in the daily l
3、ife of the temperature control needs grow with each passing day, the design of the temperature control system also needs to be simple, human nature. In this paper, the author has designed based on STC89C52 MCU and DS18B20 temperature sensor temperature control system, mainly through the DS18B20 and
4、LCD1602 temperature display, set through the keyboard matrix target temperature, through the three transistor amplifier with current control thermostat relay function. At the same time, the author has designed based on USB power and DC power supply system of double power supply system.KEYWORDS: sing
5、le chip,temperature sensor,LCD1602,matrix keyboard,relay目 錄引言11. 系統(tǒng)概述22. 硬件模塊設(shè)計(jì)32.1 中央處理器32.2 供電模塊42.3 時(shí)鐘、復(fù)位及通訊模塊52.4 矩陣鍵盤模塊62.5 溫度檢測(cè)和控制模塊82.6 顯示模塊93. 軟件編程設(shè)計(jì)103.1 主程序103.2 設(shè)置子程序113.3 鍵盤掃描程序123.4 溫度傳感程序134. 系統(tǒng)評(píng)價(jià)及改進(jìn)144.1 系統(tǒng)優(yōu)點(diǎn)144.2 系統(tǒng)缺點(diǎn)144.3 系統(tǒng)改進(jìn)145. 結(jié)論156. 學(xué)習(xí)心得16參考文獻(xiàn)17致謝18附錄19附錄一:使用說(shuō)明19附錄二:源代碼19引言在現(xiàn)今生
6、活中,溫度控制已經(jīng)成為必不可少的元素,小到調(diào)節(jié)房間溫度的空調(diào),大到大型工業(yè)設(shè)備恒溫處理,粗到小小的保溫水壺,細(xì)到精準(zhǔn)的醫(yī)療設(shè)備,都會(huì)應(yīng)用到溫度控制系統(tǒng)。在經(jīng)濟(jì)與科技共同發(fā)展的今天,為滿足人們的需求,恒溫設(shè)備已經(jīng)是人們居家旅游必不可少的元素。人們關(guān)于溫度控制的研究也愈發(fā)成熟。而單片機(jī)由于體積小、性能完善,所以廣泛應(yīng)用于各個(gè)行業(yè)中。其中,STC89C52單片機(jī)與DS18B20溫度傳感器的配合使用方法也日趨完善。本文就是基于STC89C52單片機(jī)與DS18B20溫度傳感器的溫度控制系統(tǒng)設(shè)計(jì)。本系統(tǒng)中引入了矩陣鍵盤、LCD1602顯示、控制繼電器等模塊,使系統(tǒng)的功能相應(yīng)強(qiáng)大,可以完成溫度實(shí)時(shí)檢測(cè)、目標(biāo)
7、溫度設(shè)置、目標(biāo)溫度與實(shí)際溫度比較、控制升溫設(shè)備和降溫設(shè)備等功能,與此同時(shí),應(yīng)用也非常廣泛,因?yàn)橄到y(tǒng)中沒(méi)有集成固定的溫度控制設(shè)備,所以我們可以使用繼電器控制各種我們需要的溫控(升溫、降溫)設(shè)備,使得本系統(tǒng)的應(yīng)用范圍被大范圍擴(kuò)大。本系統(tǒng)設(shè)計(jì)時(shí)使用Keil C編程并聯(lián)合Proteus仿真。Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將
8、這些部分組合在一起。1Proteus嵌入式系統(tǒng)仿真與開(kāi)發(fā)平臺(tái)是由英國(guó)Labcenter公司開(kāi)發(fā)(授權(quán)風(fēng)標(biāo)科技公司為中國(guó)大陸的總代理)的,是目前世界上最先進(jìn)最完整的嵌入式系統(tǒng)設(shè)計(jì)與仿真平臺(tái)。Proteus可以實(shí)現(xiàn)數(shù)字電路、模擬電路及微控制器系統(tǒng)與外設(shè)的混合電路系統(tǒng)的電路仿真、軟件仿真、系統(tǒng)協(xié)同仿真和PCB設(shè)計(jì)等功能。1Proteus軟件包已有近20年的使用歷史,在全球擁有龐大的企業(yè)用戶群,是目前惟一能夠?qū)Ω鞣N處理器進(jìn)行實(shí)時(shí)仿真、調(diào)試與測(cè)試的EDA工具,真正實(shí)現(xiàn)了在沒(méi)有目標(biāo)原形時(shí)就可對(duì)系統(tǒng)進(jìn)行調(diào)試、測(cè)試與驗(yàn)證。Proteus軟件包大大提高了企業(yè)的開(kāi)發(fā)效率,降低了開(kāi)發(fā)風(fēng)險(xiǎn)。2 1. 系統(tǒng)概述本系統(tǒng)需
9、要完成串口通訊、供電、溫度設(shè)置、溫度采集、溫度顯示、控制繼電器等功能,所以,想要完成這些功能需要幾部分模塊共同組成。首先,系統(tǒng)需要工作,電源是必不可少的,本系統(tǒng)采用的是USB供電和DC供電的雙供電系統(tǒng)。其次,要想系統(tǒng)按照我們的要求來(lái)完成工作就一定要面向?qū)ο缶幊?,于是,向單片機(jī)燒錄程序的串行通訊口也是一定需要的,同時(shí)呢,單片機(jī)工作需要的晶振電路和復(fù)位電路等一樣不可或缺。再次,為了方便人性化地設(shè)置溫度,本系統(tǒng)集成了矩陣鍵盤部分。然而,溫度檢測(cè)和控制部分是系統(tǒng)的核心,當(dāng)然是必不可少的。最后,是對(duì)設(shè)置溫度以及現(xiàn)場(chǎng)溫度的顯示模塊。將上述眾多模塊融合到一起,便組成了本次設(shè)計(jì)的溫度控制系統(tǒng),經(jīng)過(guò)在引言中提到
10、的編程和仿真便可以制版生產(chǎn)了。系統(tǒng)原理圖如圖1.1所示:圖1.1 系統(tǒng)原理圖Fig 1.1 system diagram2. 硬件模塊設(shè)計(jì)為了完成系統(tǒng)功能,按前文(系統(tǒng)概述)所述的要求,系統(tǒng)需要設(shè)計(jì)各個(gè)模塊的硬件,下文為各模塊所需原件和電路。2.1 中央處理器本系統(tǒng)使用的中央控制芯片為STC89C52單片機(jī),如圖2.1所示:圖2.1 STC89C52單片機(jī)引腳圖Fig 2.1 STC89C52 microcontroller pin diagramSTC89C52單片機(jī)是STC公司生產(chǎn)的MCS-51系列單片機(jī)。MCS-51系列單片機(jī)中HMOS工藝制造的芯片采用雙列直插(DIP)封裝,有40個(gè)引
11、腳(圖中VCC引腳和GND引腳未畫出),CMOS工藝制造的低功耗芯片也有采用方形封裝的,但為44個(gè)引腳,其中4個(gè)引腳是不用的。STC89C52單片機(jī)是一塊芯片中集成了CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器和多功能I/O口等一臺(tái)計(jì)算機(jī)所需要的基本功能部件。它包括:1個(gè)8位CPU;4KB ROM或ERPOM;128字節(jié)RAM數(shù)據(jù)存儲(chǔ)器;21個(gè)特殊功能寄存器SFR;4個(gè)8位并行I/O口,其中P0、P2口為地址/數(shù)據(jù)線,可尋址64KB ROM和64KB RAM(需要注意的是大家熟悉的AT公司生產(chǎn)的51系列單片機(jī)的P0口沒(méi)有內(nèi)置上拉電阻,輸出電流僅有0.1mA,雖然本次設(shè)計(jì)使用的是STC公司生產(chǎn)的芯片,
12、但是為保證單片機(jī)I/O口的驅(qū)動(dòng)能力,需要添加10K的上拉電阻拉高總線中的電流);一個(gè)可編程全雙工串口;具有5個(gè)中斷源,兩個(gè)優(yōu)先級(jí),嵌套中斷結(jié)構(gòu);兩個(gè)16位定時(shí)器/計(jì)數(shù)器;1個(gè)片內(nèi)振蕩器及時(shí)鐘電路。32.2 供電模塊本系統(tǒng)使用的供電模塊為DC供電與USB供電5V雙供電系統(tǒng)。其中DC供電為正常工作供電,USB供電作為備用供電電源使用。兩電源之間使用單刀雙擲開(kāi)關(guān)切換。需要注意的是,兩電源在使用開(kāi)關(guān)切換供電時(shí)系統(tǒng)會(huì)斷電重新啟動(dòng),所以系統(tǒng)工作中輕易不要切換供電。供電模塊原理圖如下:圖2.2 供電模塊原理圖Fig 2.2 power supply module principle diagram2.3 時(shí)
13、鐘、復(fù)位及通訊模塊STC89C52單片機(jī)芯片內(nèi)部舍友一個(gè)反向放大器所構(gòu)成的振蕩器,XTAL1和XTAL2分別為振蕩電路的輸入端和輸出端,時(shí)鐘可以由內(nèi)部或外部產(chǎn)生。本系統(tǒng)使用的是內(nèi)部時(shí)鐘,如圖2.3所示。在XTAL1和XTAL2引腳上外接定時(shí)原件,內(nèi)部電路就會(huì)產(chǎn)生自激震蕩。定時(shí)原件及采用晶振和電容組成的并聯(lián)諧振回路。3本系統(tǒng)中晶振使用11.0592MHz晶振,電容使用30pF瓷片電容。對(duì)于STC89C52單片機(jī),通過(guò)某種方式使各寄存器的之變?yōu)槌跏紶顟B(tài)的操作就是復(fù)位。復(fù)位電路如圖2.3所示,在時(shí)鐘電路工作后工作后,在RESET端持續(xù)給出兩個(gè)機(jī)器周期(24個(gè)震蕩周期)的高電平就可以完成復(fù)位操作。復(fù)位
14、方式有兩種:上電復(fù)位和開(kāi)關(guān)復(fù)位。3而本系統(tǒng)復(fù)位電路采用開(kāi)關(guān)復(fù)位。本系統(tǒng)使用串行通信模塊來(lái)向單片機(jī)輸入程序使單片機(jī)工作。模塊使用的原件為DB-9串口。目前RS-232是PC機(jī)與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。RS-232被定義為一種在低速率串行通訊中增加通訊距離的單端標(biāo)準(zhǔn)。RS-232采取不平衡傳輸方式,即所謂單端通訊。4完成串行口與計(jì)算機(jī)的鏈接的是USB-串口數(shù)據(jù)線,需要在計(jì)算機(jī)中安裝驅(qū)動(dòng)才能正常使用。然而從串口中傳來(lái)的數(shù)據(jù)不能直接應(yīng)用在單片機(jī)中,所以還需要在系統(tǒng)中添加用于串口和單片機(jī)通訊的驅(qū)動(dòng)芯片。本系統(tǒng)使用在串口與單片機(jī)之間完成通訊的是MAX232驅(qū)動(dòng)芯片。該產(chǎn)品是由德州儀器公司(TI
15、)推出的一款兼容RS232標(biāo)準(zhǔn)的芯片。由于電腦串口RS232電平是-10V+10V,而一般的單片機(jī)應(yīng)用系統(tǒng)的信號(hào)電壓是TTL電平0+5V,MAX232就是用來(lái)進(jìn)行電平轉(zhuǎn)換的。該器件包含兩個(gè)驅(qū)動(dòng)器、兩個(gè)接收器和一個(gè)電壓發(fā)生器電路提供TIA/EIA-232-F電平。該器件符合TIA/EIA-232-F標(biāo)準(zhǔn),每一個(gè)接收器將TIA/EIA-232-F電平轉(zhuǎn)換成5V TTL/CMOS電平。每一個(gè)發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成TIA/EIA-232-F電平。5需要注意的是單片機(jī)內(nèi)置串行口同時(shí)也是I/O口(P3.0和P3.1)因?yàn)榇性O(shè)備的使用,這兩只I/O口便犧牲掉了。這也是為什么我們平時(shí)設(shè)計(jì)系統(tǒng)的時(shí)
16、候會(huì)盡量避開(kāi)I/O口中的P3口。時(shí)鐘、復(fù)位及通信模塊原理圖如下: 圖2.3 時(shí)鐘、復(fù)位及通信模塊原理圖Fig 2.3 Clock, reset and communication module diagram2.4 矩陣鍵盤模塊 由于系統(tǒng)使用時(shí)需要設(shè)置溫度,于是集成了矩陣鍵盤模塊。原理是先將單片機(jī)I/O口電平全部拉高,在將所有行線拉為低電平,掃描列線。當(dāng)識(shí)別到列線中不全為高電平時(shí)說(shuō)明有按鍵按下,接下來(lái)按列將電平拉低,掃描行。掃描到行信號(hào)如果沒(méi)有低電平,說(shuō)明不是此列有鍵按下,如果掃描到低電平說(shuō)明按下的按鍵在這一列,再根據(jù)低電平信號(hào)位置確定是那一行。當(dāng)按鍵位置行列確定之后再對(duì)應(yīng)按鍵采取相應(yīng)的動(dòng)作。
17、矩陣鍵盤共有十六只按鍵。分別是:09數(shù)字鍵;“+”、“-”符號(hào)鍵;“加”、“減”控制鍵;小數(shù)點(diǎn);確認(rèn)鍵。十六只按鍵的分布順序如表2.1所示:789加456減123小數(shù)點(diǎn)正0負(fù)確認(rèn)表2.1 矩陣鍵盤Table 2.1 matrix keyboard矩陣鍵盤原理圖如圖2.4所示:圖2.4 矩陣鍵盤原理圖Fig 2.4 Matrix keyboard schematic diagram2.5 溫度檢測(cè)和控制模塊 本系統(tǒng)中,溫度檢測(cè)模塊使用的是DS18B20溫度傳感器。在傳統(tǒng)的模擬信號(hào)遠(yuǎn)距離溫度測(cè)量系統(tǒng)中,需要很好的解決引線誤差補(bǔ)償問(wèn)題、多點(diǎn)測(cè)量切換誤差問(wèn)題和放大電路零點(diǎn)漂移誤差問(wèn)題等技術(shù)問(wèn)題,才能夠
18、達(dá)到較高的測(cè)量精度。另外一般監(jiān)控現(xiàn)場(chǎng)的電磁環(huán)境都非常惡劣,各種干擾信號(hào)較強(qiáng),模擬溫度信號(hào)容易受到干擾而產(chǎn)生測(cè)量誤差,影響測(cè)量精度。因此,在溫度測(cè)量系統(tǒng)中,采用抗干擾能力強(qiáng)的新型數(shù)字溫度傳感器是解決這些問(wèn)題的有效方案,新型數(shù)字溫度傳感器DS18B20 具有體積更小、精度更高、適用電壓更寬、采用單總線、可組網(wǎng)等優(yōu)點(diǎn),在實(shí)際應(yīng)用中取得了良好的測(cè)溫效果。6而溫度的控制是采用控制繼電器的方式,在繼電器的勵(lì)磁端需要加穩(wěn)壓二極管保護(hù)電路,通過(guò)單片及I/O口給出的低電平信號(hào),經(jīng)過(guò)PNP型三極管將電壓放大驅(qū)動(dòng)繼電器和指示燈(LED)。溫度檢測(cè)和控制模塊原理圖如圖2.5所示:圖2.5 溫度檢測(cè)和控制模塊原理圖Fi
19、g 2.5 Temperature detection and control module diagram2.6 顯示模塊 本系統(tǒng)中使用的顯示模塊為L(zhǎng)CD1602液晶顯示屏。1602液晶模塊的讀寫操作,屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。7在本系統(tǒng)中LCD1602是使用P0口驅(qū)動(dòng),前文中已經(jīng)提到需要在P0口加上拉電阻,所以,LCD1602顯示模塊原理圖如圖2.6:圖2.6 顯示模塊原理圖Fig 2.6 shows
20、module principle diagram3. 軟件編程設(shè)計(jì)本章中主要介紹主程序、設(shè)置子程序、鍵盤掃描程序、溫度傳感程序,由于其它部分的程序十分簡(jiǎn)單,所以不加以介紹。其它部分的程序和注釋已經(jīng)添加到程序附錄中。本系統(tǒng)設(shè)計(jì)使用的是C語(yǔ)言。C語(yǔ)言是計(jì)算機(jī)高級(jí)語(yǔ)言,采用自頂向下編程邏輯。它是1972年由美國(guó)貝爾實(shí)驗(yàn)室的D.M.Ritchie研制成功的。它不是為初學(xué)者設(shè)計(jì)的,而是為計(jì)算機(jī)專業(yè)人員設(shè)計(jì)的。大多數(shù)系統(tǒng)軟件和許多應(yīng)用軟件都是用C語(yǔ)言編寫的。 83.1 主程序本系統(tǒng)中,主程序主要分兩部分,分別是設(shè)置部分和工作部分。設(shè)置部分需要調(diào)用設(shè)置子程序,工作時(shí)需要調(diào)用顯示屏初始化、鍵盤掃描、錯(cuò)誤檢驗(yàn)、
21、溫度讀取、顯示、繼電器控制、延時(shí)子程序。主程序流程圖如圖3.1所示:圖3.1 主程序流程圖Fig 3.1 main program flow chart因?yàn)橄到y(tǒng)開(kāi)始工作時(shí)需要先設(shè)置目標(biāo)溫度,所以需要設(shè)置子程序。目標(biāo)溫度設(shè)置好之后可以在工作中微調(diào)。工作時(shí)首先要將顯示屏初始化,這樣才能保證顯示屏的工作。因?yàn)樾枰⒄{(diào),所以除了設(shè)置子程序之外,主程序也需要調(diào)用鍵盤掃描和錯(cuò)誤檢驗(yàn)程序。之后,需要顯示目標(biāo)溫度和實(shí)際溫度的比較,于是需要從傳感器讀取溫度值,即溫度讀取子程序。讀到溫度之后,需要將兩個(gè)溫度顯示出來(lái),于是需要調(diào)用顯示子程序。當(dāng)然,因?yàn)橐刂粕郎亟禍卦O(shè)備,所有還需要繼電器控制子程序。最后,延時(shí),否則
22、屏幕會(huì)持續(xù)閃動(dòng)系統(tǒng)無(wú)法正常使用。3.2 設(shè)置子程序設(shè)置子程序的功能是開(kāi)系統(tǒng)開(kāi)始工作的時(shí)候識(shí)別按鍵,根據(jù)按鍵內(nèi)容譯碼設(shè)置溫度,在將溫度編碼為顯示字符串供顯示。與此同時(shí),需要預(yù)讀取傳感器中的溫度以便開(kāi)始工作時(shí)直接可以顯示現(xiàn)場(chǎng)溫度。設(shè)置子程序流程圖如圖3.2: 圖3.2 設(shè)置子程序流程圖Fig 3.2 Setting subroutine flow chart3.3 鍵盤掃描程序鍵盤掃描程序分為三個(gè)步驟,首先檢測(cè)是否有按鍵按下,當(dāng)檢測(cè)到有按鍵按下之后,再檢測(cè)具體是那一只按鍵被按下,最后再進(jìn)一步采取相應(yīng)的動(dòng)作。前文中已經(jīng)提到,十六只按鍵的列、行分別連在單片機(jī)P2口的高四位和低四位上,所以我們將P2口賦
23、值為0xf0即可以令每一只按鍵的兩腳分別為高、低電平。當(dāng)這只按鍵按下后,兩只引腳連在一起,導(dǎo)致高電平引腳被拉低。這時(shí)單片機(jī)P2口讀數(shù)據(jù)。當(dāng)讀到的數(shù)據(jù)不是0xf0時(shí),說(shuō)明有按鍵被按下了。識(shí)別到有按鍵被按下之后,P2口將列線拉高并依次將行線拉低,同時(shí)掃描列線,根據(jù)掃描結(jié)果判斷是那只按鍵被按下。例如,如果P2口給出oxfe,即將第一行拉低了,這時(shí)掃描P2口,如果掃描結(jié)果為0xfe,說(shuō)明按下的按鍵沒(méi)有沒(méi)有在第一行,再掃描下一行。如果掃描結(jié)果不是0xfe,說(shuō)明被按下的按鍵就在這一行,再根據(jù)掃描到的結(jié)果來(lái)判斷是在那一列。當(dāng)行、列都確定之后,即計(jì)算機(jī)知道使用者按下的是那一只按鍵了,這時(shí)會(huì)返回一個(gè)相應(yīng)的鍵值。
24、系統(tǒng)根據(jù)返回的鍵值讓計(jì)算機(jī)采取相應(yīng)的動(dòng)作作為對(duì)按鍵按下的響應(yīng)。鍵盤掃描程序流程圖如下:圖3.3 鍵盤掃描程序流程圖Fig 3.3 Keyboard scanning process flow chart3.4 溫度傳感程序本系統(tǒng)使用的溫度傳感器DS18B20是單總線原件,所以單片機(jī)與之通訊需要遵循嚴(yán)格的時(shí)序邏輯。一般情況下,我們可以大概將DS18B20溫度讀取函數(shù)的步驟歸納為幾點(diǎn):首先,DS18B20 開(kāi)始轉(zhuǎn)換:DS18B20 復(fù)位;寫入跳過(guò)ROM 的字節(jié)命令,0xCC;寫入開(kāi)始轉(zhuǎn)換的功能命令,0x44;延遲大約750900 毫秒。其次,DS18B20 讀暫存數(shù)據(jù):DS18B20 復(fù)位;寫入跳
25、過(guò)ROM 的字節(jié)命令,0xCC;寫入讀暫存的功能命令,0xBE;讀入第0 個(gè)字節(jié)LS Byte,轉(zhuǎn)換結(jié)果的低八位;讀入第1 個(gè)字節(jié)MS Byte,轉(zhuǎn)換結(jié)果的高八位;DS18B20 復(fù)位,表示讀取暫存結(jié)束。最后,數(shù)據(jù)求出十進(jìn)制:整合LS Byte 和MS Byte 的數(shù)據(jù);判斷正負(fù)數(shù)(可選);求得十進(jìn)制值;十進(jìn)制的“個(gè)位”求出。根據(jù)這個(gè)步驟,我們可以得到溫度傳感程序的流程圖如下:圖3.4 溫度傳感程序流程圖Fig 3.4 Temperature sensing program flow diagram4. 系統(tǒng)評(píng)價(jià)及改進(jìn)4.1 系統(tǒng)優(yōu)點(diǎn) 本系統(tǒng)簡(jiǎn)單可行,所用原件均為市場(chǎng)主流原件,造價(jià)低廉并能準(zhǔn)確
26、完成我們需要的對(duì)溫度的顯示和控制等功能。并且通過(guò)LCD液晶顯示明確直觀地將目標(biāo)溫度和現(xiàn)場(chǎng)實(shí)際溫度顯示出來(lái),便于我們觀察和記錄。本系統(tǒng)采用DC供電和USB供電雙供電系統(tǒng)。這樣可以使我們的單片機(jī)最小系統(tǒng)脫離計(jì)算機(jī)單獨(dú)使用,這使得本系統(tǒng)的機(jī)動(dòng)性和實(shí)用性大大提高。對(duì)于系統(tǒng)本身,沒(méi)有集成相應(yīng)的升溫、降溫設(shè)備,而是通過(guò)繼電器控制,這樣我們的系統(tǒng)應(yīng)用范圍將更加廣泛,只要目標(biāo)溫度在可控范圍(-55攝氏度至+100攝氏度)內(nèi),我們便可加以控制。4.2 系統(tǒng)缺點(diǎn)本系統(tǒng)按鍵控制反應(yīng)并非實(shí)時(shí)反應(yīng)。每次掃描鍵盤需要完成溫度測(cè)量與顯示等功能,所以,有時(shí)候按鍵將會(huì)給人“不靈敏”的錯(cuò)覺(jué)。在系統(tǒng)設(shè)計(jì)的時(shí)候沒(méi)有考慮防水等因素。所
27、以對(duì)水下作業(yè)或者其他特殊環(huán)境本系統(tǒng)無(wú)能為力。本系統(tǒng)屬于恒溫控制系統(tǒng),不能使環(huán)境溫度按照某種我們需要的規(guī)律變化。4.3 系統(tǒng)改進(jìn)如果我們將硬件設(shè)計(jì)中添加中斷源或者在軟件編程中增加鍵盤掃描頻率,按鍵“不靈敏”的問(wèn)題將會(huì)得到進(jìn)一步的解決。在后期的完善中,如果我們可以將防水等特殊處理做好,將會(huì)使本系統(tǒng)的應(yīng)用范圍進(jìn)一步擴(kuò)大。有需要的話,我們可以通過(guò)對(duì)軟件(程序)的更改來(lái)達(dá)到變溫控制的目的。5. 結(jié)論經(jīng)過(guò)硬件設(shè)計(jì)和軟件編程,該系統(tǒng)完全能夠?qū)崿F(xiàn)預(yù)期的功能。設(shè)置一個(gè)目標(biāo)溫度并實(shí)時(shí)檢測(cè)現(xiàn)場(chǎng)實(shí)際溫度,將兩個(gè)溫度顯示出來(lái)并通過(guò)比較控制升溫或者降溫繼電器來(lái)進(jìn)一步控制溫度控制設(shè)備工作來(lái)達(dá)到控制環(huán)境溫度的目的。我們的系統(tǒng)
28、的功能如下:當(dāng)系統(tǒng)供電,電源指示燈發(fā)光,顯示屏亮起顯示歡迎界面,同時(shí)提示設(shè)置目標(biāo)溫度,使用者將溫度設(shè)置好之后按下確定按鈕,系統(tǒng)開(kāi)始正常工作。LCD屏幕兩行分別顯示目標(biāo)溫度和現(xiàn)場(chǎng)實(shí)際溫度。此時(shí)還可以通過(guò)鍵盤上的“加”、“減”按鈕微調(diào)設(shè)置溫度,如果設(shè)置溫度在測(cè)溫范圍之外,系統(tǒng)會(huì)提示錯(cuò)誤并要求系統(tǒng)重啟。系統(tǒng)正常工作的時(shí)候如果現(xiàn)場(chǎng)實(shí)際溫度不同于我們?cè)O(shè)置好的設(shè)置溫度,系統(tǒng)會(huì)自動(dòng)通過(guò)升溫、降溫繼電器控制相應(yīng)的溫控設(shè)備來(lái)調(diào)整現(xiàn)場(chǎng)實(shí)際溫度。如果現(xiàn)場(chǎng)溫度與設(shè)置溫度相符,說(shuō)明溫度控制成功,溫控繼電器斷開(kāi),使環(huán)境恒溫。就當(dāng)今市場(chǎng)而言,溫控系統(tǒng)的研究已經(jīng)日趨完善??墒潜鞠到y(tǒng)造價(jià)低廉、應(yīng)用范圍較廣、使用方法簡(jiǎn)單且人性化
29、等優(yōu)點(diǎn)也同樣可以占領(lǐng)一部分市場(chǎng)。6. 學(xué)習(xí)心得本次系統(tǒng)設(shè)計(jì)介紹了使用STC89C52單片機(jī)最小系統(tǒng)完成了溫度采集顯示以及實(shí)時(shí)控制等功能。通過(guò)這次設(shè)計(jì),我更加深刻的了解了STC89C52單片機(jī)的內(nèi)部結(jié)構(gòu)和LCD1602、DS18B20等原件的使用方法和工作原理,熟悉了一些常用的指令使用,增強(qiáng)了處理混亂邏輯關(guān)系的能力,尤其是對(duì)單總線元件嚴(yán)格地時(shí)序系統(tǒng)的理解更加深刻。通過(guò)這次課題設(shè)計(jì),我對(duì)單片機(jī)的工作原理有了更深一步的了解,對(duì)于I/O工作方式更加明確,并且在應(yīng)用上掌握了不少方法。在與同學(xué)們交流中,也發(fā)現(xiàn)不少問(wèn)題,并且及時(shí)的做出相應(yīng)的更改,還有一些應(yīng)用巧妙的方法,這些使我對(duì)單片機(jī)技術(shù)能更靈活的應(yīng)用。完
30、成本次課題設(shè)計(jì)之后,我對(duì)于Keil和Proteus的聯(lián)合仿真使用得更加純熟了,對(duì)單片機(jī)的C語(yǔ)言編程也更加熟練。參考文獻(xiàn)1Keil書(shū)中丁、hpcyj、潘昊等 百度百科2基于PROTEUS的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真周潤(rùn)景 北京航空航天大學(xué)出版社3單片機(jī)原理及接口技術(shù)余錫存 曹國(guó)華 西安電子科技大學(xué)出版社4DB9和DB25的常用信號(hào)腳說(shuō)明;RS232接口針腳定義百度文庫(kù)5MAX232中文資料百度文庫(kù)6溫度傳感器DS18B20 資料 傳誠(chéng)科技7LCD1602中文資料百度文庫(kù)8C+面向?qū)ο蟪绦蛟O(shè)計(jì) 譚浩強(qiáng) 清華大學(xué)出版社致謝本研究及論文是在我的導(dǎo)師王俊林老師的親切關(guān)懷和悉心指導(dǎo)下完成的。他嚴(yán)肅的科學(xué)態(tài)
31、度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。從課題的選擇到項(xiàng)目的最終完成,王老師都始終給予我細(xì)心的指導(dǎo)和不懈的支持。王老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時(shí)還在思想、生活上給我以無(wú)微不至的關(guān)懷,在此謹(jǐn)向王老師致以誠(chéng)摯的謝意和崇高的敬意。 在此,我還要感謝在本系統(tǒng)的設(shè)計(jì)過(guò)程中給予我無(wú)私地幫助的各位同學(xué)們,正是由于他們的幫助和支持,我才能克服一個(gè)個(gè)的困難、解開(kāi)一個(gè)個(gè)疑惑,直至本文的順利完成。在論文即將完成之際,我的心情無(wú)法平靜,從開(kāi)始進(jìn)入課題到論文的順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無(wú)言的幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意!最后我還要感謝培養(yǎng)我長(zhǎng)大含辛茹苦的父母,謝謝你們!附
32、錄附錄一:使用說(shuō)明 使用本系統(tǒng)時(shí),需要按以下步驟使用:首先,當(dāng)系統(tǒng)上電之后顯示屏顯示的是歡迎界面和提示設(shè)置溫度的界面,在設(shè)置溫度的時(shí)候需要注意的是要小心。設(shè)置溫度錯(cuò)誤只能使用“加”、“減”按鍵微調(diào),微調(diào)的分度是0.01攝氏度。設(shè)置溫度時(shí)一定要注意記得按下小數(shù)點(diǎn),否則,當(dāng)設(shè)置溫度高于+99.99攝氏度或者低于-55.00攝氏度時(shí)系統(tǒng)會(huì)提示錯(cuò)誤并要求重啟。其次,當(dāng)溫度設(shè)置好之后按下“確定”鍵。系統(tǒng)通過(guò)顯示屏顯示實(shí)際溫度和之前設(shè)置好的溫度。此時(shí)如果想更改溫度,仍可以通過(guò)“加”、“減”按鍵微調(diào)。如果經(jīng)過(guò)微調(diào)的溫度超過(guò)系統(tǒng)工作溫度范圍,系統(tǒng)也會(huì)報(bào)錯(cuò)并要求重啟。最后,如果我們需要重新設(shè)置目標(biāo)溫度,而目標(biāo)溫
33、度與當(dāng)前目標(biāo)溫度相差太遠(yuǎn),此時(shí)應(yīng)該重新啟動(dòng)系統(tǒng),重新按鍵設(shè)置目標(biāo)溫度。附錄二:源代碼/* 初始化*/#include #include #define uchar unsigned char#define uint unsigned intsbit rs = P10; /LCD1602功能引腳sbit rw = P11; /LCD1602功能引腳sbit ep = P12; /LCD1602功能引腳sbit up = P13; /升溫繼電器控制端sbit down = P14; /降溫繼電器控制端sbit DS=P17; /DS18B20總線bit flagn,flags; /定義“+”、“”
34、標(biāo)志位long int as=0,an,x,temp; /定義長(zhǎng)整型全局變量 char Ts7,Tn7; /定義長(zhǎng)度為7的字符串unsigned char code Ws = T set up=; /定義顯示字符串unsigned char code Wc = welecome!; /定義顯示字符unsigned char code Er = Error!; /定義顯示字符unsigned char code Pr = Please Reboot!; /定義顯示字符unsigned char code Wn = T now =; /定義顯示字符uchar HSM,LJC,tmp,keyvalu
35、e; /定義字符型全局變量/* 延時(shí)子程序*/delay(unsigned char ms)unsigned char i; /定義局域變量while(ms-) /ms不為0循環(huán)for(i = 0; i 250; i+) /i從0加到250 _nop_(); /空操作_nop_(); /空操作_nop_(); /空操作 _nop_(); /空操作 /* 按鍵掃描子程序*/uchar keyscan()P2=0xf0; /行掃描為低電平,列線為高電平LJC=P2&0xf0; /第一次讀列檢測(cè)狀態(tài)if(LJC!=0xf0) /若有鍵盤被按下delay(2); /鍵盤消抖LJC=P2&0xf0; /
36、第二次讀取列檢測(cè)狀態(tài)if(LJC!=0xf0) /若有閉合鍵,則逐行掃描HSM=0xfe; /掃描碼為0xfe、0xfd、0xfb、0xf7while(HSM&0x10)!=0) /若掃描碼為0xef,則結(jié)束掃描P2=HSM; /輸出行掃描碼LJC=P2&0xf0; /讀列檢測(cè):0xe0、0xd0、0xb0、0x70if(LJC!=0xf0) /如果有按鍵閉合keyvalue=(HSM)+(LJC|0x0f); /計(jì)算鍵盤值P2=0xf0; /測(cè)試按鍵是否松開(kāi)while(P2!=0xf0); /進(jìn)入死循環(huán)直至按鍵松開(kāi)return(keyvalue); /返回鍵值else HSM=(HSM0;i-) /循環(huán)八次DS = 0; /總線拉低dat=1; /dat右移一位DS = 1; /總線拉高if(DS)dat|=0x80; /若DS18B20有響應(yīng),讀一個(gè)字節(jié)tmpDelay(4); /延時(shí)return(dat); /返回dat值/* DS18B20寫字節(jié)子程序*/void Write(uchar dat)uch
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋰云母焙燒隧道窯碼窯結(jié)構(gòu)優(yōu)化及預(yù)熱帶氣幕擾流裝置數(shù)值模擬
- 社交媒體與時(shí)間管理的關(guān)系探討
- 大麻紗線企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 平茬和不同水分處理對(duì)四翅濱藜生理及生長(zhǎng)特性的影響
- 勃拉姆斯鋼琴小品Op. 76的藝術(shù)特色與演奏技法分析
- 滑雪服企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 科技企業(yè)如何實(shí)施有效的管理戰(zhàn)略
- 女性健康新藥行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 基于CPU-FPGA的光伏電站實(shí)時(shí)仿真研究
- 酒店購(gòu)置合同范本
- Illustrator設(shè)計(jì)教案(第一講)課件
- 我國(guó)的雙重國(guó)籍問(wèn)題研究 邊防管理專業(yè)
- 廣東義務(wù)教育標(biāo)準(zhǔn)化學(xué)校
- 全電發(fā)票樣式
- (完整)藥劑學(xué)教案
- 提案改善課件全員版
- 2022年全國(guó)新高考Ⅰ卷:馮至《江上》
- 銅陵油庫(kù)重油罐區(qū)工藝設(shè)計(jì)
- 質(zhì)量手冊(cè)CCC認(rèn)證完整
- DB51∕T 2767-2021 安全生產(chǎn)風(fēng)險(xiǎn)分級(jí)管控體系通則
- 反興奮劑考試試題與解析
評(píng)論
0/150
提交評(píng)論