




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、桂林電子科技大學(xué)實(shí)訓(xùn)說(shuō)明書(shū)用紙編號(hào): 實(shí)訓(xùn)(論文)說(shuō)明書(shū)33摘 要為適應(yīng)當(dāng)今社會(huì)的需求,我高校積極培養(yǎng)學(xué)生動(dòng)手能力和實(shí)踐創(chuàng)新能力。通過(guò)實(shí)訓(xùn)使學(xué)生學(xué)到電子產(chǎn)品的工藝設(shè)計(jì)知識(shí),并通過(guò)真刀真槍的電子產(chǎn)品制作,使學(xué)生了解電子產(chǎn)品制造過(guò)程、熟悉電子產(chǎn)品工藝,掌握制作電子產(chǎn)品的操作技能,為進(jìn)一步學(xué)習(xí)和應(yīng)用奠定基礎(chǔ)。它不僅能讓學(xué)生鞏固模電、數(shù)電以及單片機(jī)三大技術(shù),更能把動(dòng)手實(shí)踐糅合在一起,真正實(shí)現(xiàn)培養(yǎng)“高素質(zhì)、高層次、多樣化、創(chuàng)造性的人才培養(yǎng)目標(biāo)。本次實(shí)訓(xùn)采用數(shù)字溫度儀DS18B20和單片機(jī)AT89S52組成的測(cè)溫電路,通過(guò)程序來(lái)實(shí)現(xiàn)溫度的測(cè)量是本制作數(shù)字溫度計(jì)的設(shè)計(jì)理念。本文介紹了美國(guó)DALLAS公司生產(chǎn)
2、的一線式數(shù)字溫度傳感器DS18B20的內(nèi)部結(jié)構(gòu)以及它的工作原理,并給出了以DS18B20與單片機(jī)為核心設(shè)計(jì)的測(cè)溫系統(tǒng)的電路設(shè)計(jì)方法,以及程序的設(shè)計(jì)思想、源程序分析。實(shí)驗(yàn)證明了該測(cè)溫系統(tǒng)測(cè)溫準(zhǔn)確、測(cè)量精度可以達(dá)到小數(shù)點(diǎn)后四位,即測(cè)量的分辨率可以達(dá)到0.0625度、并具有上下限溫度警報(bào)提示以及溫度值的保存顯示功能。為了提高對(duì)傳感器的認(rèn)識(shí)和了解,尤其是對(duì)溫度傳感器的深入研究以及其用法與用途,基于實(shí)用、廣泛和典型的原則而設(shè)計(jì)了本系統(tǒng)。本設(shè)計(jì)應(yīng)用性比較強(qiáng),設(shè)計(jì)系統(tǒng)可以作為生物培養(yǎng)液溫度監(jiān)控系統(tǒng),如果稍微改裝可以做熱水器溫度調(diào)節(jié)系統(tǒng)、實(shí)驗(yàn)室溫度監(jiān)控系統(tǒng)等等。課題主要任務(wù)是完成環(huán)境溫度檢測(cè),利用單片機(jī)實(shí)現(xiàn)溫
3、度調(diào)節(jié)并通過(guò)計(jì)算機(jī)實(shí)施溫度監(jiān)控。設(shè)計(jì)后的系統(tǒng)具有操作方便,控制靈活等優(yōu)點(diǎn)。關(guān)鍵詞: MSC-AT89S51單片機(jī);DS18B20 溫度傳感器;溫度控制器AbstractFor orientation the societys need,university develop the student begin ability and practice innovation ability.passing practice to make the student learn an electronics product of technological design knowledge, and
4、passing true knife true gun of electronics product creation, make student understanding electronics product manufacturing process, acquaint with an electronics product craft, control creation electronics product of operation technical ability, is further study and application lay foundation. It not
5、only let the student enhance mold electricity, number electricity and list slice the machine be three greatest techniques, more ability begin of university practice the Rou match together, real realization development Gao character, key figures time, diversification, create sex of talented person de
6、velopment target.The combination of practical useing a digital temperature bomb DS18B20 and a monolithic integrated circuit AT89S52 composition temperature measurement electric circuit, realizes the temperature survey through the procedure is this manufacture numeral thermometer design idea. This ar
7、ticle introduces a type numeral temperature sensor DS18B20 internal structure of American DALLAS Corporation produces as well as its principle of work, and have given DS18B20 and the monolithic integrated circuit as the core design temperature measurement system circuit design method, as well as pro
8、cedure design concept, source program analysis. The experiment had proven this temperature measurement system temperature measurement accurate, the measuring accuracy may achieve decimal point latter four, namely the survey resolution may achieve 0.0625 degree, and have the bound temperature buzzer
9、prompt as well as the temperature value preserved demonstration function. In order to improve awareness and understanding of the sensor, especially for in-depth study of the temperature sensor and its usage and uses, based on practical, extensive, and the principle of a typical design of the system.
10、The design applied relatively strong, design systems can be used as bio-culture medium temperature control system, a slight modification can be done if the water heater temperature control system, laboratory temperature monitoring systems, etc. The main task is the completion of the subject ambient
11、temperature testing, the use of SCM implementation of temperature control and temperature monitoring by computer. After the design of the system is easy to operate, the advantages of flexible control. Key word: MSC-AT89S51; DS18B20 thermometer; temperature controller目 錄引言11 溫度控制簡(jiǎn)介21.1 主要功能41.2 主要器件及
12、介紹21.2.1主控模塊21.2.2顯示模塊31.2.3溫度檢測(cè)模塊.31.2.3光照檢測(cè)模塊.52 電路圖及原理62.1 電路原理原理圖72. 電路原理原理圖7.2.1基本的檢測(cè)過(guò)程及原理.7222鍵盤(pán)掃描設(shè)置溫度上下限.8223報(bào)警電路.9224光照檢測(cè)及繼電器控制電路.93 電路板的制作與調(diào)試113.1 布線及PCB113.2 按照原理圖進(jìn)行電路的制作與調(diào)試113.3 整機(jī)調(diào)試123.4 板的參數(shù)測(cè)試124 程序設(shè)計(jì)124.1 程序流程圖124.2 具體程序124.3 程序設(shè)計(jì)145 結(jié)論13謝 辭15參考文獻(xiàn)16附 錄117附 錄231引言隨著“信息時(shí)代”的到來(lái),作為獲取信息的手段傳感
13、器技術(shù)得到了顯著的進(jìn)步,其應(yīng)用領(lǐng)域越來(lái)越廣泛,對(duì)其要求越來(lái)越高,需求越來(lái)越迫切。傳感器技術(shù)已成為衡量一個(gè)國(guó)家科學(xué)技術(shù)發(fā)展水平的重要標(biāo)志之一。因此,了解并掌握各類傳感器的基本結(jié)構(gòu)、工作原理及特性是非常重要的。由于傳感器能將各種物理量、化學(xué)量和生物量等信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào),使得人們可以利用計(jì)算機(jī)實(shí)現(xiàn)自動(dòng)測(cè)量、信息處理和自動(dòng)控制,但是它們都不同程度地存在溫漂和非線性等影響因素。傳感器主要用于測(cè)量和控制系統(tǒng),它的性能好壞直接影響系統(tǒng)的性能。因此,不僅必須掌握各類傳感器的結(jié)構(gòu)、原理及其性能指標(biāo),還必須懂得傳感器經(jīng)過(guò)適當(dāng)?shù)慕涌陔娐氛{(diào)整才能滿足信號(hào)的處理、顯示和控制的要求,而且只有通過(guò)對(duì)傳感器應(yīng)用實(shí)例的原理和智
14、能傳感器實(shí)例的分析了解,才能將傳感器和信息通信和信息處理結(jié)合起來(lái),適應(yīng)傳感器的生產(chǎn)、研制、開(kāi)發(fā)和應(yīng)用。另一方面,傳感器的被測(cè)信號(hào)來(lái)自于各個(gè)應(yīng)用領(lǐng)域,每個(gè)領(lǐng)域都為了改革生產(chǎn)力、提高工效和時(shí)效,各自都在開(kāi)發(fā)研制適合應(yīng)用的傳感器,于是種類繁多的新型傳感器及傳感器系統(tǒng)不斷涌現(xiàn)。溫度傳感器是其中重要的一類傳感器。其發(fā)展速度之快,以及其應(yīng)用之廣,并且還有很大潛力。為了提高對(duì)傳感器的認(rèn)識(shí)和了解,尤其是對(duì)溫度傳感器的深入研究以及其用法與用途,基于實(shí)用、廣泛和典型的原則而設(shè)計(jì)了本系統(tǒng)。本次實(shí)訓(xùn)利用單片機(jī)結(jié)合傳感器技術(shù)而開(kāi)發(fā)設(shè)計(jì)了這一溫度監(jiān)控系統(tǒng)。并且詳細(xì)地講述了利用熱敏電阻作為熱敏傳感器探測(cè)環(huán)境溫度的過(guò)程,以及
15、實(shí)現(xiàn)熱電轉(zhuǎn)換的原理過(guò)程。本設(shè)計(jì)應(yīng)用性比較強(qiáng),設(shè)計(jì)系統(tǒng)可以作為生物培養(yǎng)液溫度監(jiān)控系統(tǒng),如果稍微改裝可以做熱水器溫度調(diào)節(jié)系統(tǒng)、實(shí)驗(yàn)室溫度監(jiān)控系統(tǒng)等等。課題主要任務(wù)是完成環(huán)境溫度檢測(cè),利用單片機(jī)實(shí)現(xiàn)溫度調(diào)節(jié)并通過(guò)計(jì)算機(jī)實(shí)施溫度監(jiān)控。設(shè)計(jì)后的系統(tǒng)具有操作方便,控制靈活等優(yōu)點(diǎn)。1 溫度控制器簡(jiǎn)介1.1 主要功能本次實(shí)訓(xùn)能實(shí)現(xiàn)的基本功能如下:1、本電路為溫度控制器。2、通過(guò)LCD1602顯示兩路溫度值和溫度上下限及關(guān)照強(qiáng)度。3、測(cè)量溫度范圍在-55°到-125°,精度為0.5度。4、能通過(guò)按鍵設(shè)置溫度上下限。5、根據(jù)溫度上下限設(shè)置,控制繼電器輸出,當(dāng)溫度低于設(shè)置的下限時(shí)能進(jìn)行加熱實(shí)現(xiàn)恒
16、溫控制。6、 能在同一個(gè)IO中連接2個(gè)或2個(gè)以上的DS18b20,通過(guò)18B20中獨(dú)特的序列號(hào)進(jìn)行識(shí)別和檢測(cè)溫度。7、能檢測(cè)現(xiàn)場(chǎng)關(guān)照強(qiáng)度。1.2 主要器件及介紹1.2.1主控模塊AT89S52是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比
17、的解決方案。 AT89S52具有如下特點(diǎn):40個(gè)引腳,8k Bytes Flash片內(nèi)程序存儲(chǔ)器,256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89S52設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。如圖1-1所示。(1)AT89S52單片機(jī)的引腳如圖1-1所
18、示。(2)AT89S52單片機(jī)的引腳功能說(shuō)明40個(gè)引腳封裝的雙列直接DIP結(jié)構(gòu)。下圖是它們的引腳配置:40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。8051的時(shí)鐘有兩種方式,一種是片內(nèi)時(shí)鐘振蕩方式,但需在18和19腳外接石英晶體(2-12MHz)和振蕩電容,振蕩電容的值一般取10p-30p。另外一種是外部時(shí)鐘方式,即將XTAL1接地,外部時(shí)鐘信號(hào)從XTAL2腳輸入。圖1-1 AT89S52引腳1.2.2顯示模塊采用LCD1602液晶顯示。LCD1602是工業(yè)字符型液晶,能夠同時(shí)顯示16x02(16列2行)即32個(gè)字符。由接收電路,
19、緩存電路,控制邏輯,掃描等組成。運(yùn)用LCD1602進(jìn)行顯示能將題目要求的顯示部分同時(shí)顯示,能一目了然,但其程序要求比數(shù)碼管顯示復(fù)雜,驅(qū)動(dòng)程序比較繁瑣,要求有嚴(yán)格的時(shí)序控制,寫(xiě)數(shù)據(jù)、寫(xiě)命令都要有相應(yīng)的命令,作者必須對(duì)其有比較深入的了解,才能按照其所編寫(xiě)的程序進(jìn)行顯示。如圖1-2所示。圖1-2 LCD1602模塊1.2.3溫度檢測(cè)模塊Dallas半導(dǎo)體公司的數(shù)字化傳感器DS1820是世界上第一片支持“一線總線”接口的溫度傳感器,即單總線器件。一線總線獨(dú)特而且具有線路簡(jiǎn)單,體積小的特點(diǎn),使用戶可輕松地組建傳感網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。現(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)
20、的抗干擾性,適合于惡劣的現(xiàn)場(chǎng)溫度測(cè)量。如:環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫消費(fèi)電子產(chǎn)品等。(1) DS18B20的引腳介紹(如圖1-3)GND:地信號(hào)。DQ:數(shù)據(jù)輸入/輸出引腳。開(kāi)漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。VDD:可選擇的VDD引腳。圖1-3 DS18B20的引腳介紹(2)DS18B20的優(yōu)點(diǎn) :供電范圍擴(kuò)大為3.0-5.5V,具有電源反接保護(hù)電路。溫度分辨力可編程,轉(zhuǎn)換速率有很大提高,體積減小一半。內(nèi)部存儲(chǔ)器映射關(guān)系發(fā)生變化。獨(dú)特的單線接口僅需一個(gè)端口引腳進(jìn)行通訊,在DS18B20中的每個(gè)器件上都有獨(dú)一無(wú)二的序列號(hào)。溫度分辨力可編程,內(nèi)部有溫度上、下限告警設(shè)
21、置,內(nèi)部存儲(chǔ)器映射關(guān)系發(fā)生變化。具有電源反接保護(hù)電路,體積減小一半。對(duì)我們使用來(lái)說(shuō)最大的不同就是DS18B20可以程序設(shè)定912位的分辨率數(shù)字值,而DS1820為固定的9位數(shù)字值,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s減為750ms。(3)DS18B20的使用方法DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。由于DS18B20采用的是1Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對(duì)AT89S51單片機(jī)來(lái)說(shuō),硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì)DS18B20芯片的訪問(wèn)。由于D
22、S18B20是在一根I/O線上讀寫(xiě)數(shù)據(jù),因此,對(duì)讀寫(xiě)的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫(xiě)時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫(xiě)時(shí)序開(kāi)始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫(xiě)命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。(4)電路的接法(如圖1-4)圖1-4 DS18B20電路的接法(4)實(shí)際操作的具體實(shí)現(xiàn):DS18B20是單總線器件,通訊協(xié)議包括幾種單線信號(hào)類型:復(fù)位脈沖、存在脈沖、寫(xiě)0、寫(xiě)1、讀0、讀
23、1。所有這些信號(hào),除存在脈沖外,其余都是由總線控制器(單片機(jī))發(fā)出的。根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成一次操作經(jīng)過(guò)三個(gè)步驟:要對(duì)DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。(5)總線上有多個(gè)器件當(dāng)總線上僅有一個(gè)DS18B20器件時(shí),可以用skip ROM操作(即跳過(guò)ROM匹配)命令來(lái)代替64位序列號(hào)的匹配過(guò)程,這點(diǎn)也是使用單個(gè)DS18B20器件的系統(tǒng)常用的方法。當(dāng)總線上接有多個(gè)DS18B20時(shí),需要使用匹配ROM命令,后跟64位ROM序列,讓總線控制器在多點(diǎn)總線上定位一只特定的DS18B
24、20只有和64位ROM序列完全匹配的DS18B20才能響應(yīng)隨后的存儲(chǔ)器操作命令。所有和64位ROM序列埠匹配的從機(jī)都將等待復(fù)位脈沖。這條命令在總線上有單個(gè)或多個(gè)器件時(shí)都可以使用。(6)溫度轉(zhuǎn)換DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/LSB形式表達(dá),其中S為符號(hào)位。1.2.4關(guān)照檢測(cè)模塊由于光照強(qiáng)度的不同,光敏電阻兩端的電壓值會(huì)改變,光照越電壓越小,通過(guò)ADC0832來(lái)檢測(cè)光敏電阻兩端的電壓值和顯示關(guān)照的強(qiáng)度。ADC0832 是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一種8 位分辨率、雙通道A/D轉(zhuǎn)換芯片。由于它體積小,兼容性,
25、性價(jià)比高而深受單片機(jī)愛(ài)好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。學(xué)習(xí)并使用ADC0832 可是使我們了解A/D轉(zhuǎn)換器的原理,有助于我們單片機(jī)技術(shù)水平的提高。如圖1-5。圖1-5 光敏電阻及ADC0832引腳圖2 電路圖及原理2.1 電路原理圖圖2-1 電路原理圖圖2-2 繼電器控制及恒溫控制2.2 主要原理上圖為本電路的基本原理圖,主要是通過(guò)單片機(jī)控制并計(jì)算溫度傳感器DS18B20的數(shù)字信息量,通過(guò)LCD1602來(lái)顯示現(xiàn)場(chǎng)溫度。四個(gè)按鍵式用來(lái)設(shè)置溫度上下限,超過(guò)上限或下限都能通過(guò)蜂鳴器報(bào)警。通過(guò)控制繼電器來(lái)實(shí)現(xiàn)恒溫控制,當(dāng)溫度高于設(shè)置的溫度上限時(shí),停止加熱,否則進(jìn)行加熱。電路中的ADC0832
26、負(fù)責(zé)采集光敏電阻兩端的電壓值通過(guò)LCD1602來(lái)顯示光照強(qiáng)度。P1.4接DS18B20的單總線,P2口接LCD1602的數(shù)據(jù)端,P1.0接蜂鳴器,P1.1接ADC0832的CLK端,P1.2接ADC0832的DI/O端,P1.3接ADC0832的CS端,P3.2接繼電器,P0.0到P0.3接四個(gè)按鍵,兩個(gè)用來(lái)選擇模式,另外兩個(gè)用來(lái)加減溫度上下限。2.2.1基本的測(cè)量過(guò)程及原理DS18B20采用的是外接電源供電法,管腳VDD接到外部的VCC上,數(shù)據(jù)信號(hào)引腳DQ則連到AT89S52單片機(jī)的P1.4上和進(jìn)行單片機(jī)通信。DS18B20把外界的溫度(非電量)轉(zhuǎn)換成電量的形式傳輸給單片機(jī)。根據(jù)擴(kuò)展的要求,
27、電路實(shí)現(xiàn)了能在同一個(gè)IO中連接2個(gè)或2個(gè)以上的DS18B20,通過(guò)18B20中獨(dú)特的序列號(hào)進(jìn)行識(shí)別和檢測(cè)溫度,這是本次實(shí)訓(xùn)中最難實(shí)現(xiàn)的。DS18B20是支持“一線總線”接口的溫度傳感器,即單總線器件。一線總線獨(dú)特而且具有線路簡(jiǎn)單,體積小的特點(diǎn)。但是也由于其時(shí)序復(fù)雜,大大加大了編寫(xiě)程序的難度。當(dāng)總線上僅有一個(gè)DS18B20器件時(shí),可以用skip ROM操作(即跳過(guò)ROM匹配)命令來(lái)代替64位序列號(hào)的匹配過(guò)程,這點(diǎn)也是使用單個(gè)DS18B20器件的系統(tǒng)常用的方法。當(dāng)總線上接有多個(gè)DS18B20時(shí),需要使用匹配ROM命令,后跟64位ROM序列,讓總線控制器在多點(diǎn)總線上定位一只特定的DS18B20只有和
28、64位ROM序列完全匹配的DS18B20才能響應(yīng)隨后的存儲(chǔ)器操作命令。所有和64位ROM序列埠匹配的從機(jī)都將等待復(fù)位脈沖。這條命令在總線上有單個(gè)或多個(gè)器件時(shí)都可以使用。本電路采用DS18B20的12位分辨率,即溫度時(shí)間為750ms。而DS18B20每次,每一步的工作都是從它的復(fù)位開(kāi)始,并且DS18B20只有一根I/O線,因此它工作必須嚴(yán)格遵守總線協(xié)議,嚴(yán)格遵守時(shí)序,此時(shí)單片機(jī)復(fù)位脈沖給DQ,此過(guò)程至少經(jīng)過(guò)480us,最后DQ會(huì)回復(fù)一個(gè)信號(hào)到P3.6上,當(dāng)信號(hào)是0的時(shí)候表明初始化成功,反之,則初始化沒(méi)成功。當(dāng)復(fù)位成功之后就表明DS18B20已經(jīng)做好了測(cè)溫的準(zhǔn)備。接著單片機(jī)必須發(fā)出SKIP ROM
29、(CCH)命令來(lái)訪問(wèn)總線上DS18B20,并且每次也必須先發(fā)出此命令單片機(jī)才能控制它進(jìn)行溫度轉(zhuǎn)換并把溫度寫(xiě)進(jìn)DS18B20,接著才可以讀取溫度值到單片機(jī)上。其中DS18B20測(cè)溫流程如圖2-3所示。溫度值在DS18B20內(nèi)是個(gè)2個(gè)字節(jié)的數(shù)據(jù),因此每次讀溫度,和寫(xiě)溫度則必須進(jìn)行兩次,并且先得到的數(shù)是存在低8位的,后得到的數(shù)據(jù)是后8位。初始化DS18B20ROM匹配溫度變換延時(shí) 跳過(guò)ROM匹配讀暫存器轉(zhuǎn)換成顯示碼數(shù)碼管顯示圖2-3 測(cè)溫流程圖測(cè)出的溫度值是個(gè)以16位二進(jìn)制形式來(lái)表示的數(shù),其中高5位是符號(hào)位,當(dāng)為1的時(shí)候表示溫度是負(fù)的;反之,為正值。而當(dāng)單片機(jī)發(fā)出讀命令的時(shí)候也就是把這16位數(shù)據(jù)讀到
30、單片機(jī)內(nèi),接著把這個(gè)數(shù)(正數(shù))乘以0.0625就可以轉(zhuǎn)換成實(shí)際的溫度值,而當(dāng)溫度為負(fù)的時(shí)候則必須把這個(gè)數(shù)取反再加1接著再乘以0.0625才可以轉(zhuǎn)換成實(shí)際的溫度值。通過(guò)程序把這個(gè)數(shù)分成整數(shù)和小數(shù)部分進(jìn)行處理顯示,接著通過(guò)除整和取余來(lái)分別來(lái)顯示各位上的數(shù)。在最左邊的那個(gè)數(shù)碼管是顯示符號(hào)的。具體程序如下:ds18b20_init(); write_byte(0xcc); write_byte(0x44); /啟動(dòng)溫度轉(zhuǎn)換delay(700);match_rom(ds18b20_romA); /匹配第一路write_byte(0xbe); /讀溫度match_rom(ds18b20_romB); /匹
31、配第二路 write_byte(0xbe); /讀溫度2.2.2鍵盤(pán)掃描設(shè)置溫度上下限K1和K4鍵用來(lái)進(jìn)行模式轉(zhuǎn)換,按下K1鍵選擇設(shè)置溫度下限,K2鍵選擇設(shè)置溫度上限,K2用來(lái)加,K3用來(lái)減。具體程序如下:voidkeyscan()while(K4=0) while(K1=0)delay(60);delay(60);while(K4=0);while(K1=0);flag=1;flag=0;while(K2=0)&&(flag=1)while(K2=0)&&(flag=0)delay(60);delay(60);while(K2=0);while(K2=0);T
32、EM_min+;TEM_max+;while(K3=0)&&(flag=1)while(K3=0)&&(flag=0)delay(60);delay(60);while(K3=0);while(K3=0);TEM_min-;TEM_max-;2.2.3報(bào)警電路當(dāng)測(cè)量溫度值高于溫度上限或低于溫度下限,蜂鳴器報(bào)警。程序如下:while(TEM_min<=-55) TEM_min=-55;while(TEM_min>=TEM_max) TEM_min=TEM_max;while(TEM_max>=125) TEM_max=125;if(TEM_min
33、>temp4)|(TEM_max<temp5) FMQ=0; delay(30);else FMQ=1;2.2.4關(guān)照檢測(cè)及繼電器控制電路由于光照強(qiáng)度的不同,光敏電阻兩端的電壓值會(huì)改變,光照越電壓越小,通過(guò)ADC0832來(lái)檢測(cè)光敏電阻兩端的電壓值以此來(lái)顯示關(guān)照的強(qiáng)度。當(dāng)溫度低于設(shè)置的溫度上限時(shí),繼電器接通,外界加熱裝置工作,當(dāng)溫度高于設(shè)置的溫度上限時(shí),繼電器斷開(kāi),外界加熱裝置停止工作,這樣來(lái)實(shí)現(xiàn)恒溫控制。電路接法如圖2-4:圖2-4 ADC0832接法具體程序如下:uint Adc0832(unsigned char channel) ADCLK=0;_nop_();_nop_()
34、;uchar i=0;ADDI=1;/控制命令結(jié)束,接受數(shù)據(jù)uchar j;_nop_();_nop_();uint dat=0;ADDI=0;/channel&0x01uchar ndat=0;_nop_();_nop_();ADCS=1;ADCLK=0;ADCLK=0;/拉低CLK端,用于選擇通道if(channel=0)channel=2;_nop_();_nop_();if(channel=1)channel=3;ADCLK=1;/拉高CLK端ADDI=1;ADDI=1;/(channel>>1)&0x1;_nop_();_nop_();dat=0;ADCS
35、=0;/拉低CS端for(i=0;i<8;i+)_nop_();_nop_();dat|=ADDO;/收數(shù)據(jù)ADCLK=1;/拉高CLK端ADCLK=1;_nop_();_nop_();_nop_(); _nop_();ADCLK=0;ADCLK=0;/形成一次時(shí)鐘脈沖/拉低CLK端,啟動(dòng)轉(zhuǎn)換_nop_(); _nop_();_nop_();_nop_();dat<<=1;if(i=7)dat|=ADDO; if(i<7)ndat>>=1;for(i=0;i<8;i+)/進(jìn)行數(shù)據(jù)校驗(yàn)ADCLK=0;/拉低CLK端j=0;ADDO=1;/拉高數(shù)據(jù)端,回到
36、初始狀態(tài)j=j|ADDO;/收數(shù)據(jù)dat<<=8;ADCLK=1;dat|=ndat;_nop_();_nop_();return(dat); /返回ad值A(chǔ)DCLK=0;/形成一次時(shí)鐘脈沖 _nop_();_nop_(); j=j<<7; ndat=ndat|j;3 電路板的制作與調(diào)試3.1 布線及PCB圖3-1 PCB圖3.2 按照原理圖進(jìn)行電路的制作與調(diào)試進(jìn)行電路板焊接時(shí),注意元器件的管腳不要焊反。焊接的時(shí)候要注意不要把不相連的點(diǎn)掛接。焊接的時(shí)候烙鐵的溫度不要太高,焊接的時(shí)間不要太長(zhǎng),以免焊盤(pán)脫落和在焊接的時(shí)候就把器件燒壞。焊接完后好對(duì)電路圖進(jìn)行檢測(cè),看是否所有器
37、件都是好的,位置都是正確的,看是否有掛接和虛焊的。在接電之前應(yīng)該線測(cè)電源跟地是否短接,和檢測(cè)電路是否有不該接的地方接到了一起。用萬(wàn)用表檢測(cè)是否有線斷路。接上電后應(yīng)該檢測(cè)各個(gè)器件的的電源跟地腳的電平是否正確。接上電后要觸摸芯片查看是否有發(fā)燙現(xiàn)象,若有則應(yīng)立即關(guān)掉電源。硬件沒(méi)有問(wèn)題后結(jié)合軟件調(diào)試。3.3 整機(jī)調(diào)試將單片機(jī)燒錄好程序,接上電源,將兩個(gè)DS18B20靠得很近,檢查是否溫度相差不大。再將兩個(gè)置于不同的環(huán)境中,檢查溫度值是否不同。再檢測(cè)按鍵和報(bào)警電路,按下按鍵,檢測(cè)其是否和預(yù)期的變化一致,將溫度上限設(shè)為低于(或溫度下限高于)DS18B20讀出的溫度值,檢測(cè)蜂鳴器是否會(huì)響。當(dāng)現(xiàn)場(chǎng)溫度低于設(shè)置
38、的溫度下限時(shí),檢測(cè)單片機(jī)是否能驅(qū)動(dòng)繼電器工作從而實(shí)現(xiàn)恒溫控制。檢測(cè)光照強(qiáng)度時(shí),只需讓現(xiàn)場(chǎng)的光照強(qiáng)度改變,檢測(cè)讀出的光照指數(shù)是否改變就可以了。3.4 板的參數(shù)測(cè)試表3-1 參數(shù)測(cè)試實(shí)際溫度(V)14.319.222.217.818.5測(cè)量結(jié)果(V)14.720.121.918.619.14 程序設(shè)計(jì)4.1 程序流程圖(見(jiàn)附錄2)4.2 具體程序(見(jiàn)附錄1)4.3 程序設(shè)計(jì)(1)LCD1602的驅(qū)動(dòng)程序:可根據(jù)其具體的資料,按照嚴(yán)格的時(shí)序來(lái)進(jìn)行寫(xiě)數(shù)據(jù)和寫(xiě)命令。(2)延時(shí)子程序:由于有按鍵抖動(dòng),要加入延時(shí)去除抖動(dòng)。該子程序主要一個(gè)for循環(huán)來(lái)實(shí)現(xiàn)延時(shí),通過(guò)軟件測(cè)試,該子程序執(zhí)行的時(shí)間約為1us。在寫(xiě)
39、LCD1602及DS18B0的時(shí)序時(shí)也需要延時(shí)子程序。(3)DS18B20初始化函數(shù):所有與DS18B20的通信首先必須初始化。根據(jù)初始化的時(shí)序要求,要先拉低總線,再加入延時(shí)以保持DQ為低至少480us,隨后使DQ=1,拉高總線等待單片機(jī)應(yīng)答信號(hào)。(4)讀函數(shù):根據(jù)讀時(shí)序,讀函數(shù)首先使DQ=0,拉低總線至少1us,然后使DQ=1釋放總線,在總線上傳送數(shù)據(jù)。每次通過(guò)右移讀一位數(shù)據(jù),通過(guò)for循環(huán)實(shí)現(xiàn)8次右移,從而讀出一個(gè)字節(jié)的數(shù)據(jù)。所有讀時(shí)序必須持續(xù)至少60us,因此要加入延時(shí)以完成一次讀時(shí)序。(5)寫(xiě)函數(shù):根據(jù)寫(xiě)時(shí)序,要將總線拉低(DQ=0)開(kāi)始寫(xiě)時(shí)序,拉低總線15us內(nèi)釋放總線。DS18B2
40、0在單片機(jī)發(fā)出寫(xiě)時(shí)序后的 15us60us的時(shí)間窗口內(nèi)采樣總線。通過(guò)實(shí)現(xiàn)8次循環(huán)的for語(yǔ)句及右移操作,實(shí)現(xiàn)寫(xiě)入一個(gè)字節(jié)的數(shù)據(jù)。(6)主程序:主程序中首先設(shè)調(diào)用初始化程序, 發(fā)MACTH ROM命令,讀序號(hào)列號(hào)的操作發(fā)轉(zhuǎn)換溫度命令,再進(jìn)行溫度轉(zhuǎn)換。每次執(zhí)行循環(huán)時(shí)都判斷各個(gè)按鍵的狀態(tài),當(dāng)有按鍵按下時(shí),則執(zhí)行相應(yīng)的語(yǔ)句以實(shí)現(xiàn)按鍵控制功能。在循環(huán)中,將讀取出的溫度高字節(jié)和低字節(jié)通過(guò)移位及邏輯與語(yǔ)句,將兩個(gè)字節(jié)合并成一個(gè)16位數(shù),該16位數(shù)的前5位為符號(hào)位。當(dāng)溫度大于0時(shí),該16位數(shù)乘上0.0625即為實(shí)際溫度值,當(dāng)溫度小于0時(shí),該16位數(shù)取反加1再乘上0.0625即得到實(shí)際溫度值。在死循環(huán)中將實(shí)際溫
41、度的整數(shù)部分和小數(shù)部分分開(kāi),并以LCD1602顯示。5 結(jié)論本次實(shí)訓(xùn)是老師給任務(wù)同學(xué)自己選擇項(xiàng)目。我選擇的是基于DS18B20溫度控制。學(xué)完單片機(jī)的理論知識(shí)之后,我已經(jīng)對(duì)系統(tǒng)的設(shè)計(jì)有了一定的信心。本次實(shí)訓(xùn)時(shí)間為三周,主要分三個(gè)內(nèi)容:查詢、設(shè)計(jì)電路圖以及電路圖的仿真;畫(huà)原理圖及PCB圖;硬件的制作與調(diào)試。第一步是電路的仿真,實(shí)訓(xùn)第一周,選完題目后,我就開(kāi)始著手查找資料,因?yàn)橹坝袑W(xué)過(guò)一點(diǎn)LCD1602的知識(shí),這次想運(yùn)用到實(shí)際中來(lái),故在顯示部分選擇了液晶顯示。在弄懂了LCD1602和DS18B20及ADC0832的原理后,我開(kāi)始做仿真,仿真過(guò)程中遇到了很多問(wèn)題,關(guān)于LCD1602的驅(qū)動(dòng)程序和DS1
42、8B20的時(shí)序問(wèn)題和讀寫(xiě)命令及ADC0832的時(shí)序和原理問(wèn)題。但都一一解決了。第二步是PCB的排版,這次的設(shè)計(jì)用到的芯片比較多,可是在不線的過(guò)程中我學(xué)到了很多技巧,比如,在布局的時(shí)候要注意芯片的擺放位置,這樣會(huì)給布線帶來(lái)很大的方便。而且要注意元件擺放的間距,避免由于空間太小元件擺放不下。第三步就是打印腐蝕電路板打孔和焊接了。這步也是成功的關(guān)鍵,在印制電路板時(shí)要注意印制的質(zhì)量,如果效果不好,要用油性筆把不清楚的或者斷的線補(bǔ)上。腐蝕的時(shí)間不能太短,太長(zhǎng)也會(huì)導(dǎo)致斷線。在這步中,最重要的應(yīng)該是焊接,有了前面的焊接基礎(chǔ),在這次焊接中我沒(méi)有出現(xiàn)什么問(wèn)題,還提高了自己的焊接技術(shù)了。在一本次制作中,最主要的就
43、是接下來(lái)的第五步了。第四步是電路的調(diào)試。在調(diào)試在本次調(diào)試過(guò)成中,我在前面學(xué)習(xí)的基礎(chǔ)上,學(xué)會(huì)了更加靈活地用軟件來(lái)調(diào)試硬件,把硬件調(diào)試好后用硬件來(lái)調(diào)試軟件。在調(diào)試過(guò)程中,我遇到了許多意想不到的問(wèn)題,可謂是花樣百出,調(diào)試過(guò)程中發(fā)現(xiàn)原來(lái)仿真的的時(shí)序和實(shí)際中的時(shí)序得到的結(jié)果不一樣,經(jīng)過(guò)反復(fù)修改才正確讀出了溫度。最讓我苦惱的是實(shí)現(xiàn)擴(kuò)展程序的能在同一個(gè)IO中連接2個(gè)或2個(gè)以上的DS18b20,通過(guò)18B20中獨(dú)特的序列號(hào)進(jìn)行識(shí)別和檢測(cè)溫度。由于每個(gè)DS18B20都有一個(gè)獨(dú)特的序列號(hào),如何讀出其中的序列號(hào)是實(shí)現(xiàn)功能的關(guān)鍵。經(jīng)過(guò)百般的思索終于將序列號(hào)讀出來(lái)了,這也是實(shí)訓(xùn)過(guò)程中最引以自豪的事。讀出序列號(hào)以后,如何
44、進(jìn)行匹配也是一個(gè)問(wèn)題,但經(jīng)過(guò)我的女里都一一解決了。由于上學(xué)期用單片機(jī)做了數(shù)字電壓表,我對(duì)ADC0832的了解比較多,因此在做光照強(qiáng)度檢測(cè)室比較順利。調(diào)試的過(guò)程中,能再次熟知用C語(yǔ)言編程,對(duì)時(shí)序的讀取也進(jìn)一步了解了。第六步就是整理數(shù)據(jù)了。以上都是我在本次制作中學(xué)到和鞏固的東西。在本次實(shí)驗(yàn)中,自己還覺(jué)得有一些遺憾。就是開(kāi)始的時(shí)候我對(duì)DS18B20和LCD1602的了解不夠,導(dǎo)致在設(shè)計(jì)的過(guò)程中出現(xiàn)了單片機(jī)無(wú)法控制DS18B20的工作這樣的情況。我花了比較多的時(shí)間去改正這個(gè)錯(cuò)誤。還有由于對(duì)編程不是很了解,所以在軟件調(diào)試的過(guò)程也花了比較多的時(shí)間??墒且惨?yàn)檫@些,使我在本次實(shí)訓(xùn)中學(xué)到了很多的東西。謝 辭經(jīng)
45、過(guò)三個(gè)星期的努力,我終于完成了單片機(jī)實(shí)訓(xùn)。在這個(gè)過(guò)程中,有過(guò)快樂(lè)也有過(guò)煩惱,但更多的是收獲了知識(shí)。首先,感謝應(yīng)用科技學(xué)院為我們安排了這次單片機(jī)實(shí)訓(xùn)。讓我們有更多的機(jī)會(huì)加強(qiáng)理論知識(shí),給我們提供了這個(gè)鍛煉的平臺(tái)。本次實(shí)訓(xùn)中所用到的一些器件是比較貴的,而且只有在實(shí)驗(yàn)室才能找到,非常感謝學(xué)院領(lǐng)導(dǎo)和老師給我們提供硬件條件和在理論知識(shí)方面的幫助。還要感謝符老師、卜老師和嚴(yán)老師的授課和實(shí)訓(xùn)操作指導(dǎo),為我們解答我們所遇到的問(wèn)題。特別感謝他們?cè)谡麄€(gè)實(shí)訓(xùn)過(guò)程中對(duì)我們嚴(yán)格要求,耐心指導(dǎo),反復(fù)為講解要點(diǎn),給與我們極大的幫助以及鼓勵(lì)。感謝我的同學(xué),在我遇到難題時(shí),能犧牲自己的課余時(shí)間來(lái)幫助我。溫度控制器完成了,但學(xué)術(shù)研
46、究需要的是深入思考鍥而不舍,特別要與時(shí)俱進(jìn),挖掘吸取最新信息資源。此中甘苦,非親身經(jīng)歷者不得而知。也許我們現(xiàn)在還存在許多問(wèn)題,但我相信,在今后的學(xué)習(xí)過(guò)程中,我一定會(huì)更努力的去解決問(wèn)題。參考文獻(xiàn) 1 張?chǎng)?單片機(jī)原理及應(yīng)用M.北京:電子工業(yè)出版社,2005:14244 2 譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)M.北京:清華大學(xué)出版社,2004:423083 莫榮. MCS-51單片機(jī)系統(tǒng)設(shè)計(jì)指導(dǎo)書(shū)M. 桂林:桂林電子科技大學(xué),2006:1304 張培仁. MCS-51單片機(jī)原理與應(yīng)用M.北京:清華大學(xué)出版社,2006:2682775 王建校,楊建國(guó),危建國(guó)等. 51系列單片機(jī)及C51程序設(shè)計(jì)M. 北京:科學(xué)出
47、版社,2002:17226附 錄1#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint intsbitRS=P06;/定義LCD端口sbitRW=P05;sbitE=P07;sbitDQ=P14;/定義單總線端口sbitK1=P00;sbitK4=P01;sbitK2=P02;sbitK3=P03;sbitFMQ=P10;sbitADCS=P13; /ADC0832 使能sbitADCLK=P11; /ADC0832 時(shí)鐘信號(hào)sbitADDI=P12; /ADC0832 數(shù)
48、據(jù)輸入sbitADDO=P12; /ADC0832 數(shù)據(jù)輸出sbit DELAY=P32;/繼電器uchar LCD_3,LCD_2,LCD_1,LCD_0;uchar temp1,temp2,temp3,temp4,temp5,flag,light;uint TEM_max=30,TEM_min=5,min,max,temp,light1;/兩個(gè)DS18B20的64位ROM地址uchar ds18b20_romA8=0xcb,0x00,0x00,0x02,0x5c,0xae,0x73,0x28;/2873ae5c020000cbuchar ds18b20_romB8=0x43,0x00,0x
49、00,0x02,0x5c,0xb5,0xf1,0x28;/28f1b55c02000043uchar code LCDData ="0123456789" uchar code dot_tab ="0112334456678899" uchar first_line16="A:000.0 B:000.0 " /LCD第一行顯示緩存數(shù)組uchar second_line16="L= H= L: %" /LCD第二行顯示緩存數(shù)組/*/延時(shí)程序/*void delay(unsigned int N) unsigned i
50、nt i; for(i=0;i<N;i+);/*/LCD1602寫(xiě)命令/*void write_command(uchar tempdata) E=0;_nop_();_nop_();RS=0;_nop_();_nop_();RW=0;P2=tempdata;_nop_();_nop_();E=1;_nop_();_nop_(); E=0;_nop_();delay(250);/*/LCD1602寫(xiě)數(shù)據(jù)/*void write_data(uchar tempdata) E=0;_nop_();_nop_();RS=1;_nop_();_nop_();RW=0;P2=tempdata;_nop_();_nop_();E=1;_nop_();_nop_(); E=0;_nop_();dela
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年公交優(yōu)先戰(zhàn)略與城市交通擁堵治理協(xié)同發(fā)展研究報(bào)告
- 安全管理考證試題及答案
- ppp項(xiàng)目培訓(xùn)課件下載
- 電動(dòng)貨車培訓(xùn)課件圖片
- 周末收心班會(huì)課件
- 中國(guó)動(dòng)漫繪畫(huà)課件下載
- 超聲引導(dǎo)下穿刺技術(shù)應(yīng)用規(guī)范
- 中國(guó)刺繡課件英語(yǔ)
- 創(chuàng)意美術(shù)水果房子
- 中國(guó)農(nóng)大葡萄酒課件
- QData數(shù)據(jù)庫(kù)一體機(jī)方案介紹
- 化工倉(cāng)儲(chǔ)管理系統(tǒng)方案
- 2021-2022學(xué)年貴州省黔東南州高一下學(xué)期期末文化水平測(cè)試數(shù)學(xué)試題【含答案】
- 北師大版小學(xué)數(shù)學(xué)四年級(jí)下冊(cè)《優(yōu)化》同步練習(xí)附答案
- (精心整理)初三數(shù)學(xué)幾何的動(dòng)點(diǎn)問(wèn)題專題練習(xí)及答案
- 高血壓腦出血外科治療臨床路徑
- 核電工程施工隱患排查專項(xiàng)培訓(xùn)課件
- Q_SLB0402-2005 產(chǎn)品鋼印及標(biāo)記移植
- 勞動(dòng)者個(gè)人職業(yè)健康監(jiān)護(hù)檔案(樣板)
- 小學(xué)數(shù)學(xué)教師業(yè)務(wù)能力測(cè)試試題
- 空客A320-IPC手冊(cè)使用介紹
評(píng)論
0/150
提交評(píng)論