溫度測(cè)量顯示電路設(shè)計(jì)與制作課程設(shè)計(jì)報(bào)告_第1頁(yè)
溫度測(cè)量顯示電路設(shè)計(jì)與制作課程設(shè)計(jì)報(bào)告_第2頁(yè)
溫度測(cè)量顯示電路設(shè)計(jì)與制作課程設(shè)計(jì)報(bào)告_第3頁(yè)
溫度測(cè)量顯示電路設(shè)計(jì)與制作課程設(shè)計(jì)報(bào)告_第4頁(yè)
溫度測(cè)量顯示電路設(shè)計(jì)與制作課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課 程 設(shè) 計(jì) 課程名稱 測(cè)控電路 題目名稱 溫度測(cè)量顯示電路設(shè)計(jì)與制作 學(xué)生學(xué)院 信息工程學(xué)院 專業(yè)班級(jí)測(cè)控技術(shù)與儀器(計(jì)算機(jī)測(cè)控技術(shù)方向)0601班學(xué) 號(hào) 3206002638 學(xué)生姓名 盧秋岑 指導(dǎo)教師 鄧耀華、岳克寧 2009年 1月8日廣東工業(yè)大學(xué)本科生課程設(shè)計(jì)(論文)任務(wù)書題目名稱溫度測(cè)量顯示電路設(shè)計(jì)與制作學(xué) 院信息工程學(xué)院專業(yè)班級(jí)06級(jí)計(jì)算機(jī)測(cè)控1班姓 名盧秋岑學(xué) 號(hào)3206002638一、課程設(shè)計(jì)(論文)的內(nèi)容模塊一(設(shè)計(jì)為主型):1、設(shè)計(jì)內(nèi)容: (1)系統(tǒng)原理框圖設(shè)計(jì)與分析(包括傳感器的選擇與確定);(2)系統(tǒng)方案設(shè)計(jì)、比較及選定(給出兩種以上的方案比較);(3)系統(tǒng)原理圖設(shè)

2、計(jì)(包含測(cè)量電路、放大電路、A/D轉(zhuǎn)換及顯示電路等);(4)確定原理圖中元器件參數(shù)(給出測(cè)量電路、放大電路計(jì)算公式與數(shù)據(jù));2、運(yùn)用protel軟件繪出系統(tǒng)原理電路圖(鼓勵(lì)能完成印刷電路板圖的繪制)。模塊二(制作為主型):1、設(shè)計(jì)內(nèi)容: (1)系統(tǒng)原理框圖設(shè)計(jì)與分析(包括傳感器的選擇與確定);(2)系統(tǒng)方案設(shè)計(jì)、比較及選定(給出兩種以上的方案比較);(3)系統(tǒng)原理圖設(shè)計(jì)(包含測(cè)量電路、放大電路、A/D轉(zhuǎn)換及顯示電路等);(4)確定原理圖中元器件參數(shù)(給出測(cè)量電路、放大電路計(jì)算公式與數(shù)據(jù));2、根據(jù)系統(tǒng)原理圖所設(shè)計(jì)的元件及參數(shù),購(gòu)買相應(yīng)元器件,并利用實(shí)驗(yàn)室現(xiàn)有“電路實(shí)驗(yàn)插件板”完成安裝、調(diào)試及測(cè)

3、試。二、課程設(shè)計(jì)(論文)的要求與數(shù)據(jù)1、任務(wù)分為設(shè)計(jì)為主和制作為主的兩個(gè)重點(diǎn)內(nèi)容不同的模塊;2、完成一個(gè)溫度范圍為0-50 0C的溫度測(cè)量顯示電路的設(shè)計(jì)與制作;3、討論、分析與總結(jié)、提交設(shè)計(jì)報(bào)告。三、課程設(shè)計(jì)(論文)應(yīng)完成的工作1、傳感器的選擇;2、電路方案比較;3、系統(tǒng)工作原理分析;4、電路原理圖繪制(模塊一);5、電路制作、調(diào)試(模塊二);6、撰寫設(shè)計(jì)報(bào)告四、課程設(shè)計(jì)(論文)進(jìn)程安排序號(hào)設(shè)計(jì)(論文)各階段內(nèi)容地點(diǎn)起止日期1布置設(shè)計(jì)安排;講授設(shè)計(jì)內(nèi)容;說(shuō)明設(shè)計(jì)要求教3-10920090105(提前布置任務(wù))2方案設(shè)計(jì)、分析,比較 實(shí)驗(yàn)樓1-406學(xué)生宿舍200901053確定方案和電路參數(shù),

4、理論計(jì)算與分析實(shí)驗(yàn)樓1-406學(xué)生宿舍200901064繪制電路原理圖(模塊一);電路制作、調(diào)試(模塊二);實(shí)驗(yàn)樓1-406實(shí)驗(yàn)樓1513200901075繪制電路原理圖(模塊一)、撰寫設(shè)計(jì)報(bào)告;電路制作、調(diào)試(模塊二)、撰寫設(shè)計(jì)報(bào)告;實(shí)驗(yàn)樓1-406實(shí)驗(yàn)樓1513200901086答辯、成績(jī)?cè)u(píng)定實(shí)驗(yàn)樓1-406200901 9五、應(yīng)收集的資料及主要參考文獻(xiàn)1、 張國(guó)雄等編。測(cè)控電路,機(jī)械工業(yè)出版社,2001.82、 趙負(fù)圖主編,現(xiàn)代傳感器集成電路,人民郵電出版社,2000.13、 劉征宇主編,線性放大器應(yīng)用手冊(cè),福建科學(xué)技術(shù)出版社,2005.14、 蔡錦福等編,運(yùn)算放大器原理與應(yīng)用,科學(xué)出版

5、社,2005.75、 自編,測(cè)控電路設(shè)計(jì)型實(shí)驗(yàn)任務(wù)書發(fā)出任務(wù)書日期:2009 年 1 月 4 日 指導(dǎo)教師簽名:計(jì)劃完成日期: 2009 年 1 月 4 日 專業(yè)責(zé)任人簽名:主管院長(zhǎng)簽名:目 錄一摘 要5二 設(shè)計(jì)目的與意義6三 方案論證與確定73.1系統(tǒng)方案的確定73.1.1方案一73.1.2方案二83.1.3方案三83.2傳感器方案的確定83.2.1方案一83.2.2方案二93.3測(cè)量顯示方案的確定93.3.1方案一93.3.2方案二9四 系統(tǒng)工作原理分析104.1微控制器原理104.2傳感器原理114.2.1DS18B20簡(jiǎn)介114.2.2DS18B20內(nèi)部結(jié)構(gòu)114.2.3DS18B20

6、測(cè)溫原理144.3溫度數(shù)值分析14五 電路制作與軟件調(diào)試155.1硬件制作155.2軟件調(diào)試155.2.1主程序流程155.2.2子程序流程16六 附錄206.1課程設(shè)計(jì)心得體會(huì)206.2系統(tǒng)電路原理圖216.3PCB圖226.4數(shù)字溫度計(jì)實(shí)物圖226.5程序代碼23七 參考文獻(xiàn)30八 致謝31一摘 要在現(xiàn)今科技高速發(fā)展的時(shí)代,各行各業(yè)對(duì)控制和測(cè)量的要求越來(lái)越高,其中,溫度測(cè)量和控制在很多行業(yè)中都有比較重要的應(yīng)用,尤其在工業(yè)上,如煉鋼時(shí)對(duì)溫度高低的控制。要控制好溫度,測(cè)量是前提,測(cè)量的精度影響著后續(xù)工序的進(jìn)行,因此溫度測(cè)量的方法和選取就顯得相當(dāng)重要了。針對(duì)各種溫度測(cè)量方案的討論分析后,我們組決

7、定以AT89S52為核心,采用DS18B20溫度傳感器進(jìn)行溫度信號(hào)的檢測(cè),并通過(guò)LCD液晶顯示測(cè)量所得溫度,外加紅外遙控調(diào)節(jié)設(shè)置溫度測(cè)量的上下限數(shù)值(默認(rèn)溫度上下限為1024),在所測(cè)溫度到達(dá)所設(shè)上下限數(shù)值時(shí),蜂鳴器啟動(dòng)報(bào)警提示。本報(bào)告是我們組所設(shè)計(jì)的數(shù)字溫度計(jì)的說(shuō)明書,包括方案論證選取、工作原理、所用元件介紹和設(shè)計(jì)電路原理圖、調(diào)試程序等。關(guān)鍵詞:AT89S52、DS18B20、LCD液晶顯示、紅外遙控2 設(shè)計(jì)目的與意義隨著電子技術(shù)的高速發(fā)展,對(duì)電子方面人才的要求越來(lái)越高,不僅要求其具備相關(guān)的專業(yè)理論知識(shí),還要求其具有較強(qiáng)的設(shè)計(jì)、制作等實(shí)踐動(dòng)手能力。此次課程設(shè)計(jì)無(wú)疑是對(duì)從事測(cè)控專業(yè)的人的一次很

8、好的鍛煉和考驗(yàn),是培養(yǎng)測(cè)控技術(shù)的人才的一次良好的機(jī)會(huì),為其提供了一個(gè)理論知識(shí)與實(shí)踐相結(jié)合的平臺(tái)。通過(guò)本次課程設(shè)計(jì),引導(dǎo)學(xué)生結(jié)合所學(xué)的測(cè)控電路理論知識(shí),思考設(shè)計(jì)方案,以小組合作方式,分工完成各個(gè)部分,從而掌握相關(guān)的測(cè)量顯示電路的設(shè)計(jì)和調(diào)試技術(shù),一方面提高了學(xué)生的實(shí)踐動(dòng)手和協(xié)作能力,另一方面培養(yǎng)了學(xué)生綜合運(yùn)用所學(xué)理論知識(shí)進(jìn)行工程設(shè)計(jì)的能力。通過(guò)此次課程設(shè)計(jì),可以培養(yǎng)學(xué)生的工程設(shè)計(jì)能力,包括動(dòng)手能力、獨(dú)立思考設(shè)計(jì)能力、解決實(shí)際設(shè)計(jì)過(guò)程中遇到的問(wèn)題以及團(tuán)隊(duì)協(xié)作能力等,為今后的專業(yè)學(xué)習(xí)和工程實(shí)踐打下堅(jiān)實(shí)的基礎(chǔ)。3 方案論證與確定3.1系統(tǒng)方案的確定3.1.1方案一該方案為ICL7107 A/D轉(zhuǎn)換&am

9、p;譯碼方案。常見(jiàn)A/D轉(zhuǎn)換器的轉(zhuǎn)換方式有非積分式和積分式兩類,如逐次逼近比較式A/D轉(zhuǎn)換、斜坡電壓式A/D轉(zhuǎn)換等屬于非積分式,其特點(diǎn)是轉(zhuǎn)換速度快,但抗干擾能力差。電壓反饋型V-F變換、雙積分式A/D轉(zhuǎn)換則屬于積分式,其特點(diǎn)是抗干擾能力強(qiáng)、測(cè)量精度高,但轉(zhuǎn)換速度低,在轉(zhuǎn)換速度要求不太高的情況下,獲得廣泛應(yīng)用。工作方框圖如圖1所示:圖1 方案一工作框圖電路原理圖如圖2所示:圖2 方案一電路原理圖3.1.2方案二該方案利用AVR單片機(jī)對(duì)輸入信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換輸出數(shù)字信號(hào)控制數(shù)碼管顯示溫度值。并且可以通過(guò)編寫程序?qū)斎胄盘?hào)進(jìn)行分段線性化處理,使得測(cè)量精度大大提高,而且該電路無(wú)須外接譯碼器,結(jié)構(gòu)簡(jiǎn)單。工

10、作框圖如圖3所示:圖3 方案二工作框圖3.1.3方案三該方案以AT89S52為控制器,采用DS18B20溫度傳感器檢測(cè)溫度信號(hào),利用紅外遙控設(shè)置溫度測(cè)量的上下限數(shù)值,并通過(guò)LCD液晶顯示。工作框圖如圖4所示:圖4 方案三工作框圖經(jīng)過(guò)綜合研究分析,考慮整個(gè)設(shè)計(jì)和成本,方案三成本低,測(cè)量溫度方便簡(jiǎn)單,故此次數(shù)字溫度計(jì)課程設(shè)計(jì)選取方案三。3.2傳感器方案的確定3.2.1方案一該方案采用熱敏電阻。熱敏電阻價(jià)格比較便宜、靈敏度比較好,在實(shí)際應(yīng)用的時(shí)候線性度較差,另外調(diào)試比較困難。不適合使用。故不使用熱敏電阻。3.2.2方案二該方案采用AD590。AD590擁有良好的線性關(guān)系,靈敏度較高、使用簡(jiǎn)單方便。但

11、是這種傳感器的價(jià)格比其他的兩種都貴很多。故不選用。方案三:DS18B20數(shù)字溫度傳感器DS18B20是美國(guó)DALLAS半導(dǎo)體公司智能溫度傳感器,他能夠直接讀出被測(cè)溫度并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來(lái)源于數(shù)據(jù)總線,使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)單,可靠性更高。他在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面擁有很大優(yōu)勢(shì),給用戶帶來(lái)了更方便的使用和更令人滿意的效果。經(jīng)過(guò)上述三種方案的論證比較,綜合考慮成本、性能等因素,最終選取方案三。3.3測(cè)量顯示方案的確定3.3.1方

12、案一該方案采用LED顯示。LED數(shù)碼顯示中每一個(gè)像素單元就是一個(gè)發(fā)光二極管,如果是單色,一般是紅色發(fā)光二級(jí)管。如果是彩色,一般是三個(gè)三原色小二極管組成的一個(gè)大二級(jí)管。這些二級(jí)管組成的矩陣由數(shù)碼控制實(shí)時(shí)顯示文字或者圖像,造價(jià)相對(duì)低廉,組成的顯像面積大。3.3.2方案二該方案采用LCD液晶顯示。液晶顯示器是一種被動(dòng)式的顯示器,即液晶本身并不發(fā)光,而是利用液晶經(jīng)過(guò)處理后能改變光線通過(guò)方向的特性,而達(dá)到白底黑字或黑底白字顯示的目的。LCD液晶的像素單元是整合在同一塊液晶版當(dāng)中分隔出來(lái)的小方格。通過(guò)數(shù)碼控制這些極小的方格進(jìn)行顯像。造價(jià)高但是顯示非常細(xì)膩。經(jīng)過(guò)研究分析,選擇方案二。4 系統(tǒng)工作原理分析本系

13、統(tǒng)由溫度傳感器DS18B20、AT89S52、LCD顯示電路、軟件構(gòu)成。DS18B20輸出表示攝氏溫度的數(shù)字量,然后用51單片機(jī)進(jìn)行數(shù)據(jù)處理、譯碼、顯示、報(bào)警等,系統(tǒng)框圖如圖5所示:圖5 系統(tǒng)框圖4.1微控制器原理AT89S52是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含8K Bytes ISP的可反復(fù)擦寫100000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,其具有如下特點(diǎn):40個(gè)引腳,8K Bytes Flash片內(nèi)程序存儲(chǔ)器,256 b

14、ytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器,32個(gè)外部雙向輸入/輸出口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗電路,片內(nèi)時(shí)鐘振蕩器。單片機(jī)引腳如圖6所示:圖6 單片機(jī)引腳圖4.2傳感器原理4.2.1DS18B20簡(jiǎn)介DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)位的數(shù)字值讀數(shù)方式。DS18B20元件圖如圖7所示:DS18B20的性能特點(diǎn)如下:獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)

15、多點(diǎn)組網(wǎng)功能;無(wú)須外部器件;可通過(guò)數(shù)據(jù)線供電,電壓范圍為3.05.5;零待機(jī)功耗;溫度以或位數(shù)字;用戶可定義報(bào)警設(shè)置;報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件; 圖7 DS18B20元件圖負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作; 4.2.2DS18B20內(nèi)部結(jié)構(gòu)DS18B20采用腳PR35封裝或腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖8所示。C64 位ROM和單線接口高速緩存存儲(chǔ)器與控制邏輯溫度傳感器高溫觸發(fā)器TH低溫觸發(fā)器TL配置寄存器8位CRC發(fā)生器Vdd 圖8 DS18B20內(nèi)部結(jié)構(gòu)圖64位ROM的結(jié)構(gòu)開(kāi)始位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一

16、的序號(hào),共有48位,最后位是前面56位的CRC檢驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器和,可通過(guò)軟件寫入戶報(bào)警上下限。DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖9所示。頭個(gè)字節(jié)包含測(cè)得的溫度信息,第和第字節(jié)和的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖3所示。低位一直為,是工作模式位,用于設(shè)置DS18B20在工作模式還是在

17、測(cè)試模式,DS18B20出廠時(shí)該位被設(shè)置為,用戶要去改動(dòng),R1和0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。溫度 LSB溫度 MSBTH用戶字節(jié)1TL用戶字節(jié)2配置寄存器保留保留保留CRC圖9 DS18B20字定義由表1可見(jiàn),DS18B20溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。表1 DS18B20溫度轉(zhuǎn)換時(shí)間表高速暫存的第、字節(jié)保留未用,表現(xiàn)為全邏輯。第字節(jié)讀出前面所有字節(jié)的CRC碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開(kāi)始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)

18、制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第、字節(jié)。單片機(jī)可以通過(guò)單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625LSB形式表示。當(dāng)符號(hào)位時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表2是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。溫度/二進(jìn)制表示十六進(jìn)制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.500

19、00 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H表2一部分溫度對(duì)應(yīng)值表 DS18B20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與RAM中的TH、T字節(jié)內(nèi)容作比較。若TH或TTL,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。因此,可用多只DS18B20同時(shí)測(cè)量溫度并進(jìn)行報(bào)警搜索。在64位ROM的最高有效字

20、節(jié)中存儲(chǔ)有循環(huán)冗余檢驗(yàn)碼(CRC)。主機(jī)ROM的前56位來(lái)計(jì)算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。DS18B20的測(cè)溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開(kāi)時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將55所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器、溫度寄存器中,計(jì)數(shù)器和溫度寄存器

21、被預(yù)置在55所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器的預(yù)置值減到時(shí),溫度寄存器的值將加,減法計(jì)數(shù)器的預(yù)置將重新被裝入,減法計(jì)數(shù)器重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過(guò)程,直到溫度寄存器值大致被測(cè)溫度值。 另外,由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)發(fā)R

22、OM功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。4.2.3DS18B20測(cè)溫原理DS18B20低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入。當(dāng)計(jì)數(shù)門打開(kāi)時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將-55 所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55 所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置

23、值減到0時(shí)溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。此外,用斜率累加器補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過(guò)程,直至溫度寄存器值達(dá)到被測(cè)溫度值,4.3溫度數(shù)值分析利用的單片機(jī)的一個(gè)IO口,讀取DS18B20的溫度高位,溫度低位。由上面的分析可知:溫度高位的高5位的符號(hào)位、低3位是整數(shù)部分的高四位(整數(shù)部分的最高位永遠(yuǎn)為0),溫度低溫的高四位為整數(shù)部分的低四位,溫度地位的低四

24、位是小數(shù)部分用以下公式計(jì)算: 整數(shù)部分溫度低位/16溫度高位×16 小數(shù)部分十分位(溫度低位&0x0f)×10/16由于DS18B30的集成度很高,使得設(shè)計(jì)的原理還是比較簡(jiǎn)單,設(shè)計(jì)的關(guān)鍵是了解DS18B20的時(shí)序,準(zhǔn)確地獲得溫度高位和溫度低位。5 電路制作與軟件調(diào)試5.1硬件制作本次設(shè)計(jì)應(yīng)用Protel DXP繪制電路原理圖,生成PCB圖,然后用雕刻機(jī)刻板,焊接電路元件,最后用程序調(diào)試系統(tǒng)功能。硬件電路主要由單片機(jī)最小系統(tǒng)、DS18B20為核心的傳感器電路、液晶顯示電路、報(bào)警電路、紅外遙控電路和供電電路組成。單片機(jī)最小系統(tǒng):提供一個(gè)上電復(fù)位高電平,和12MHZ時(shí)鐘振

25、蕩。DS18B20傳感器電路:加電即可工作,DATA端加4.7K電阻作上拉電阻保證有足夠大的灌拉電流。液晶顯示電路:報(bào)警電路:利用5V蜂鳴器作報(bào)警提示。供電電路:利用7805組成線性穩(wěn)壓電源為整個(gè)系統(tǒng)供電。具體電路連接見(jiàn)附錄SCH電路原理圖,硬件接線正確,單片機(jī)能構(gòu)正常工作,硬件調(diào)試成功。5.2軟件調(diào)試首先用Proteus進(jìn)行仿真,調(diào)試程序,然后在制作好的電路板上調(diào)試程序。測(cè)溫精度可取到小數(shù)點(diǎn)后三位。5.2.1主程序流程主程序說(shuō)明:小于10度,亮黃色LED,表示較涼,開(kāi)蜂鳴器; 大于24度,亮綠色LED,表示溫度較熱,開(kāi)蜂鳴器; 遙控遠(yuǎn)程控制,改變上下限報(bào)警溫度。主程序流程圖如圖10所示: 開(kāi)

26、始溫度讀取數(shù)值送顯示判定按鍵攝氏變?nèi)A氏< 10度開(kāi)黃燈報(bào)警> 24度遙控信號(hào)初始化開(kāi)綠燈報(bào)警改變上下限溫度是否是是否否圖10 主程序流程圖 5.2.2子程序流程DS18B20工作流程圖如圖11所示;計(jì)算溫度流程圖如圖12、圖13所示;溫度讀取流程圖如圖14所示。Y發(fā)DS18B20復(fù)位命令發(fā)跳過(guò)ROM命令發(fā)讀取溫度命令讀取操作,CRC校驗(yàn)9字節(jié)完?CRC校驗(yàn)正?確?移入溫度暫存器結(jié)束NNY初始化調(diào)用顯示子程序0.5 S到?初次上電讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開(kāi)始命令NYNY圖11 DS18B20工作流程圖 開(kāi)始溫度零下?溫度值取補(bǔ)碼置“”標(biāo)志計(jì)算小數(shù)位溫度BCD值 計(jì)

27、算整數(shù)位溫度BCD值 結(jié)束置“+”標(biāo)志NY 圖12 計(jì)算溫度流程圖溫度數(shù)據(jù)移入顯示寄存器十位數(shù)0?百位數(shù)0?十位數(shù)顯示符號(hào)百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)(不顯示符號(hào)) 結(jié)束NNYY圖13 顯示數(shù)據(jù)刷新流程圖圖14 溫度讀取流程圖溫度讀取程序開(kāi)始復(fù)位DS18B20,等待大于480us發(fā)送避開(kāi)ROM信息指令發(fā)送轉(zhuǎn)換命令,開(kāi)始轉(zhuǎn)換延時(shí)等待轉(zhuǎn)換完成發(fā)送讀取指令開(kāi)始讀取溫度,保存溫度進(jìn)制處理,化為十進(jìn)制溫度讀取程序結(jié)束6 附錄6.1課程設(shè)計(jì)心得體會(huì)本次課程設(shè)計(jì),我們組成功完成了數(shù)字溫度計(jì)的設(shè)計(jì)、制作與調(diào)試。三天的時(shí)間里,我們分工合作,組長(zhǎng)全瑞負(fù)責(zé)寫程序,我和景存負(fù)責(zé)電路部分(主要繪制電路、焊接電路),安榮負(fù)

28、責(zé)刻板、包裝。最后的調(diào)試工作我們共同參與,遇到了不少問(wèn)題,大家從電路、程序中尋找出錯(cuò)的原因(負(fù)責(zé)檢查自己負(fù)責(zé)的那部分,并作相應(yīng)修改),經(jīng)過(guò)討論、思考找到解決的方法,使得最終用程序調(diào)試電路顯示成功。在這里,很感謝與我共同奮斗的我們組的成員,尤其是景存,在我繪制電路原理圖和PCB圖時(shí)給予我很多幫助。這次課程設(shè)計(jì),我嘗試用Protel DXP繪制電路圖,因?yàn)槲覀冊(cè)谟懻摲桨甘谴_定了電路制作方面采用刻板方式。雖然以前有學(xué)過(guò)Protel 99,但從未接觸過(guò)DXP,所以還是去圖書館借了相關(guān)的書籍,邊學(xué)邊繪制。這次用DXP而不用99,主要是考慮到對(duì)以后學(xué)習(xí)FPGA等會(huì)有更大的幫助。繪制電路圖的過(guò)程中,的確遇到

29、了不少問(wèn)題。雖然這次設(shè)計(jì)的電路并不復(fù)雜,(主要由單片機(jī)最小系統(tǒng)、DS18B20測(cè)溫電路、液晶顯示電路、紅外遙控電路、報(bào)警電路和供電電路組成),但里面的元件查找和封裝很繁瑣,導(dǎo)入PCB后有些封裝太大,要做相應(yīng)的替換。通過(guò)這次繪制電路,認(rèn)識(shí)了不少元件的各種封裝,更學(xué)會(huì)了刻板時(shí)用到的相關(guān)參數(shù)的設(shè)置,例如焊盤、布線等參數(shù)的設(shè)置。因?yàn)槭堑谝淮慰贪?,在設(shè)置這些參數(shù)時(shí)還請(qǐng)教了我們513實(shí)驗(yàn)室的師兄,在這里非常感謝他們給予的幫助。導(dǎo)入PCB后,更頭痛的是布局。剛開(kāi)始嘗試用自動(dòng)布局功能,但是出來(lái)的效果不是很理想,有不少跳線,所以還是用手動(dòng)布局。對(duì)應(yīng)著電路原理圖,初步調(diào)整元件的位置,在盡量避免線路的交叉。在布局過(guò)

30、程中,景存和我一起思考討論布局方案,可是第一次自動(dòng)布線后,還是有不少跳線。我們研究自動(dòng)布線時(shí)線路的走向,討論怎樣移動(dòng)一下元件的位置能讓這里的跳線消除,讓線路有空間繞過(guò)去而不必跳線。另外結(jié)合刻板的實(shí)際(例如雕刻機(jī)的刀有些鈍),線的大小和焊盤孔徑的大小的修改也相當(dāng)考驗(yàn)我。當(dāng)安榮把第一塊板刻出來(lái)時(shí),發(fā)現(xiàn)線太細(xì),有些幾乎要斷了,孔徑太小,根本無(wú)法鉆孔。就這樣,我結(jié)合師兄給予的建議和實(shí)際出來(lái)的效果修改了相關(guān)參數(shù),最后終于有所成效。出來(lái)自己負(fù)責(zé)的繪制電路原理圖和PCB圖外,我還學(xué)會(huì)了雕刻電路板(例如如何定位雕刻刀、如何調(diào)整進(jìn)刀的大小等),在電路調(diào)試中更是深有感慨。一個(gè)作品無(wú)論大小、復(fù)雜或簡(jiǎn)單,在軟硬件相結(jié)

31、合的過(guò)程中總會(huì)出現(xiàn)一些問(wèn)題,要我們?nèi)フ{(diào)試,去檢查,才能使結(jié)果更精確。而且調(diào)試時(shí)讓我著實(shí)體會(huì)到前期電路制作部分很重要,電路制作得好,會(huì)減少調(diào)試中出現(xiàn)問(wèn)題的可能性。這次課程設(shè)計(jì)我受益匪淺,也是進(jìn)實(shí)驗(yàn)室以來(lái)的又一次不錯(cuò)的經(jīng)歷。團(tuán)隊(duì)協(xié)作做出來(lái)的作品,每一部分都不可或缺,既要分工又要合作,這樣才能有更佳的效果。6.2系統(tǒng)電路原理圖 6.3PCB圖6.4數(shù)字溫度計(jì)實(shí)物圖6.5程序代碼*LCD1602模塊*/#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit rs=P27;/液晶使能端口sbit r

32、w=P26;sbit e=P25;sbit P3_6=P36;sbit P1_0=P10;sbit P1_1=P11;/sbit P1_0 = P10;/sbit P1_1 = P11;void delay_ms(uchar ms) /延時(shí) uint i,j; for(i=0;i<ms;i+) for(j=0;j<120;j+);void lcd_wcmd(uchar cmd) /液晶寫指令rs=0;rw=0;e=0;P0=cmd;e=1;e=0;delay_ms(5);void lcd_wdat(uchar dat) /液晶寫數(shù)據(jù)rs=1;rw=0;e=0;P0=dat;e=1;

33、e=0;delay_ms(5);void lcd_dis(uchar post,uchar *p)lcd_wcmd(0x80 | post);/設(shè)置數(shù)據(jù)地址指針顯示while(*p!='0')lcd_wdat(*p+);uchar code def_char0=0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00; /字符void lcd_wcgram(uchar adress,uchar tmp)uchar i;for(i=0;i<8;i+)lcd_wcmd(adress+i);lcd_wdat(tmpi);void lcd_inti()del

34、ay_ms(15);lcd_wcmd(0x38);/16X2字符,5X7點(diǎn)陣,8位數(shù)據(jù)接口lcd_wcmd(0x38);lcd_wcmd(0x08);/關(guān)閉顯示lcd_wcmd(0x01);/清屏lcd_wcmd(0x06);/設(shè)置光標(biāo)工作方式lcd_wcmd(0x0c);/開(kāi)顯示,設(shè)置光標(biāo)顯示方式lcd_wcgram(0x48,def_char0); /載入用戶自定義字符sbit DQ=P37; /18B20數(shù)據(jù)管腳/*ds18b20延遲子函數(shù)(晶振12MHz )*/ void delay_18B20(unsigned int i)while(i-);void reset() uchar x

35、=0; DQ = 1; /DQ復(fù)位 delay_18B20(8); /稍做延時(shí) DQ = 0; /單片機(jī)將DQ拉低 delay_18B20(80); /精確延時(shí) 大于 480us DQ = 1; /拉高總線 delay_18B20(14); x=DQ; /稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗 delay_18B20(20); unsigned char rbyte()uchar i=0;uchar dat = 0;for (i=8;i>0;i-) DQ = 0; / 給脈沖信號(hào) dat>>=1; DQ = 1; / 給脈沖信號(hào) if(DQ) dat|=0x8

36、0; delay_18B20(4); return(dat); void wbyte(uchar dat) uchar i=0; for (i=8; i>0; i-) DQ = 0; DQ = dat&0x01; delay_18B20(5); DQ = 1; dat>>=1; uchar rTempetuare(uchar tmp)uchar a=0,b=0,temp,decimal;uint uival;reset();wbyte(0xCC); /跳過(guò)讀序號(hào)列號(hào)的操作wbyte(0x44); /啟動(dòng)溫度轉(zhuǎn)?reset();wbyte(0xCC); /跳過(guò)讀序號(hào)列號(hào)

37、的操作wbyte(0xBE); /讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)就是溫度a=rbyte(); /讀取溫度值低位b=rbyte(); /讀取溫度值高位temp=b;temp&=0xf0;if(temp) /負(fù)溫if(a=0)a=a+1; /bit7向bit8位產(chǎn)生進(jìn)位b=b+1; else a=a+1; b=b;tmp0='-'elsetmp0=' 'temp=(b<<4)|(a>>4); /組合decimal=a&0x0f; /將小數(shù)點(diǎn)后的數(shù)據(jù)提取出來(lái)uival=decimal*625; tmp0='

38、T'tmp1='='tmp2=0x20; /空格 tmp3=temp/100 | 0x30; /取百位tmp4=temp%100/10 | 0x30; /取十位tmp5=temp%100%10 | 0x30; /取個(gè)位tmp6=0x2e; /小數(shù)點(diǎn)tmp7=uival/1000 | 0x30; /十分位tmp8=uival%1000/100 | 0x30; /百分位tmp9=uival%1000%100/10 | 0x30; /千分位tmp10=uival%1000%100%10 | 0x30; /萬(wàn)分位tmp11=0x20; /空格tmp12=0x01; /字符tmp

39、13='0'return temp; /十進(jìn)制溫度/*紅外解碼模塊*/#define c(x) (x*110592/120000)sbit Ir_Pin=P32; /紅外數(shù)據(jù)管腳unsigned char Ir_Buf4; /用于保存解碼結(jié)果/=unsigned int Ir_Get_Low() /計(jì)數(shù)器1,用于解碼延時(shí)TL1=0;TH1=0;TR1=1;while(!Ir_Pin && (TH1&0x80)=0);TR1=0;return TH1*256+TL1;/=unsigned int Ir_Get_High() /計(jì)數(shù)器1,用于解碼延時(shí)TL1=

40、0;TH1=0;TR1=1;while(Ir_Pin && (TH1&0x80)=0);TR1=0;return TH1*256+TL1;char jianche() /解碼程序char i,j;uint temp;restart:while(Ir_Pin);temp=Ir_Get_Low();if(temp<c(8500) | temp>c(9500) goto restart;/引導(dǎo)脈沖低電平9000temp=Ir_Get_High();if(temp<c(4000) | temp>c(5000) goto restart;/引導(dǎo)脈沖高電平4

41、500for(i=0;i<4;i+) /4個(gè)字節(jié)for(j=0;j<8;j+) /每個(gè)字節(jié)8位temp=Ir_Get_Low();if(temp<c(200) | temp>c(800) goto restart;temp=Ir_Get_High(); if(temp<c(200) | temp>c(2000) goto restart;Ir_Bufi>>=1;if(temp>c(1120) Ir_Bufi|=0x80;return Ir_Buf2&0x0f; /所得碼/*時(shí)鐘模塊*/extern uchar minTX; /最小報(bào)警溫度extern uchar maxTX; /最大報(bào)警溫度uchar storeT14; /實(shí)際溫度的顯示長(zhǎng)度uchar wendu; void t0ISR() interrupt 1 /T0中斷(50ms),中斷讀溫度static uchar timeC = 0;TH0=0x3c;TL0=0xb0;if(10=+timeC) / (50*N)毫秒timeC=0;wendu=rTempetuare(storeT);lcd_dis(0

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論