測(cè)控系統(tǒng)綜合訓(xùn)練課程設(shè)計(jì)基于AT89C52單片機(jī)的溫度測(cè)量_第1頁(yè)
測(cè)控系統(tǒng)綜合訓(xùn)練課程設(shè)計(jì)基于AT89C52單片機(jī)的溫度測(cè)量_第2頁(yè)
測(cè)控系統(tǒng)綜合訓(xùn)練課程設(shè)計(jì)基于AT89C52單片機(jī)的溫度測(cè)量_第3頁(yè)
測(cè)控系統(tǒng)綜合訓(xùn)練課程設(shè)計(jì)基于AT89C52單片機(jī)的溫度測(cè)量_第4頁(yè)
測(cè)控系統(tǒng)綜合訓(xùn)練課程設(shè)計(jì)基于AT89C52單片機(jī)的溫度測(cè)量_第5頁(yè)
已閱讀5頁(yè),還剩19頁(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、 基于基于 at89c52at89c52 單片機(jī)的溫度測(cè)量單片機(jī)的溫度測(cè)量 學(xué)院名稱: 電氣信息工程學(xué)院 專 業(yè): 測(cè)控技術(shù)與儀器 班 級(jí): 08 測(cè)控 2 班 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 2011 年 12 月 j ji ia an ng gs su u t te ea ac ch he er rs s u un ni iv ve er rs si it ty y o of f t te ec ch hn no ol lo og gy y 測(cè)測(cè) 控控 系系 統(tǒng)統(tǒng)綜綜 合合 訓(xùn)訓(xùn) 練練 課課 程程 設(shè)設(shè) 計(jì)計(jì) 綜合實(shí)訓(xùn)論文 第 2 頁(yè) 共 24 頁(yè) 2 摘摘 要要 隨著時(shí)代的進(jìn)步和發(fā)展,單

2、片機(jī)技術(shù)已經(jīng)普及到我們生活、工作、科 研、各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù), 本文主要介紹了一個(gè)基于 89s51 單片機(jī)的測(cè)溫系統(tǒng),詳細(xì)描述了利用數(shù)字溫度傳感器 ds18b20 開(kāi)發(fā) 測(cè)溫系統(tǒng)的過(guò)程,重點(diǎn)對(duì)傳感器在單片機(jī)下的硬件連接,軟件編程以及各 模塊系統(tǒng)流程進(jìn)行了詳盡分析,對(duì)各部分的電路也一一進(jìn)行了介紹,該系 統(tǒng)可以方便的實(shí)現(xiàn)實(shí)現(xiàn)溫度采集和顯示,并可根據(jù)需要任意設(shè)定上下限報(bào) 警溫度,它使用起來(lái)相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、 功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度測(cè)量,也可 以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。 ds18b20 與

3、 at89c51 結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,抗干 擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。 綜合實(shí)訓(xùn)論文 第 3 頁(yè) 共 24 頁(yè) 3 目目 錄錄 1 引言引言.3 2 數(shù)字溫度計(jì)的總體方案設(shè)計(jì)及論證數(shù)字溫度計(jì)的總體方案設(shè)計(jì)及論證.4 3 系統(tǒng)器件的具體選擇系統(tǒng)器件的具體選擇.5 3.1 單片機(jī)的選擇單片機(jī)的選擇.5 3.2 溫度傳感器的選擇溫度傳感器的選擇.6 3.2.1 ds18b20 的簡(jiǎn)單介紹的簡(jiǎn)單介紹.7 3.2.2 ds18b20 的外形和內(nèi)部結(jié)構(gòu)的外形和內(nèi)部結(jié)構(gòu).7 3.2.3 ds18b20 的測(cè)溫原理的測(cè)溫原理.8 3.2.4 ds18b

4、2 的外部電路圖的外部電路圖.9 4 硬件電路的總體設(shè)計(jì)硬件電路的總體設(shè)計(jì).10 5軟件軟件 總體設(shè)計(jì)總體設(shè)計(jì).11 6調(diào)試調(diào)試.14 6.1軟件調(diào)試軟件調(diào)試.14 6.2系統(tǒng)調(diào)試系統(tǒng)調(diào)試.15 總結(jié)總結(jié).15 參考文獻(xiàn)參考文獻(xiàn).16 附件一源程序附件一源程序.16 附件二附件二 proteus 仿真完成圖仿真完成圖.22 附件三附件三 元器件清單元器件清單.23 綜合實(shí)訓(xùn)論文 第 4 頁(yè) 共 24 頁(yè) 4 1 1 引言引言 信息科學(xué)和微電子技術(shù)的飛速發(fā)展給控制領(lǐng)域帶來(lái)了巨大的飛躍,控制技術(shù)更加 趨向自動(dòng)化和智能化,為無(wú)數(shù)的使用者帶來(lái)了方便。在控制領(lǐng)域里,溫度是一個(gè)常見(jiàn) 的名詞,然而它所帶來(lái)的

5、技術(shù)問(wèn)題和所起的作用卻是非同一般的。在控制領(lǐng)域中,對(duì) 溫度的控制有著舉足輕重的作用。例如陶瓷的燒烤,只有控制住溫度的適度,才能制 作出一件完美的藝術(shù)品,否則只是一件廢品;還有如釀酒的過(guò)程,也需要對(duì)溫度進(jìn)行 控制??梢?jiàn),在生活的許多方方面面都有著對(duì)溫度進(jìn)行感知和控制的需要。 溫度是一個(gè)十分重要的物理量,對(duì)它的測(cè)量與控制有十分重要的意義。隨著現(xiàn)代 工農(nóng)業(yè)技術(shù)的發(fā)展及人們對(duì)生活環(huán)境要求的提高,人們也迫切需要檢測(cè)與控制溫度。 在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無(wú)論你生活在哪里,從事什么工 作,無(wú)時(shí)無(wú)刻不在與溫度打著交道。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等等行 業(yè),可以說(shuō)幾乎 80%的工

6、業(yè)部門都不得不考慮著溫度的因素。溫度對(duì)于工業(yè)如此重要, 由此推進(jìn)了溫度傳感器的發(fā)展。 測(cè)量溫度的基本方法是使用溫度計(jì)直接讀取溫度。最常見(jiàn)到的測(cè)量溫度的工具是 各種各樣的溫度計(jì),例如,水銀玻璃溫度計(jì),酒精溫度計(jì),熱電偶或熱電阻溫度計(jì)等。 它們常常以刻度的形式表示溫度的高低,人們必須通過(guò)讀取刻度值的多少來(lái)測(cè)量溫度。 而在傳統(tǒng)的模擬信號(hào)溫度測(cè)量系統(tǒng)中,測(cè)溫電路的電磁環(huán)境非常惡劣,各種干擾信號(hào) 較強(qiáng),模擬溫度信號(hào)容易受到干擾而產(chǎn)生測(cè)量誤差,影響測(cè)量精度,不能滿足數(shù)字化 時(shí)代的需求。利用單片機(jī)和溫度傳感器構(gòu)成的電子式智能溫度計(jì)精度高、抗干擾能力 強(qiáng),可擴(kuò)展性強(qiáng)、集成方便得到了廣泛的應(yīng)用。而且可以直接測(cè)量

7、溫度,得到溫度的 數(shù)字值,既簡(jiǎn)單方便,又直觀準(zhǔn)確,新型數(shù)字溫度傳感器是溫度計(jì)設(shè)計(jì)的最有效方案。 本課題就是一個(gè)對(duì)溫度進(jìn)行檢測(cè),采集和顯示的溫度檢測(cè)系統(tǒng)。它以單片機(jī) (at89s51)為主要控制器件,ds18b20 為溫度傳感器,并通過(guò) lcd 液晶 1602 直接顯示 所測(cè)溫度的新型數(shù)字溫度計(jì)。由于本人所學(xué)知識(shí)有限,設(shè)計(jì)過(guò)程中難免會(huì)出現(xiàn)錯(cuò)誤, 還請(qǐng)各位老師指正。 綜合實(shí)訓(xùn)論文 第 5 頁(yè) 共 24 頁(yè) 5 2 2 數(shù)字溫度計(jì)的總體方案設(shè)計(jì)及論證數(shù)字溫度計(jì)的總體方案設(shè)計(jì)及論證 根據(jù)系統(tǒng)設(shè)計(jì)的功能,本時(shí)鐘溫度系統(tǒng)的設(shè)計(jì)必須采用單片機(jī)軟件系統(tǒng)實(shí)現(xiàn),用 單片機(jī)的自動(dòng)控制能力來(lái)測(cè)量、顯示溫度數(shù)值。 初步

8、確定設(shè)計(jì)系統(tǒng)由單片機(jī)主控模塊、測(cè)溫模塊、顯示模塊、報(bào)警模塊共 4 個(gè)模 塊組成,電路系統(tǒng)框圖如圖 1.1 所示。 對(duì)于單片機(jī)的選擇,如果用8051系列,由于它沒(méi)有內(nèi)部ram,系統(tǒng)又需要一定的內(nèi) 存存儲(chǔ)數(shù)據(jù)。at89s52是一個(gè)低功耗、高性能cmos 8位的單片機(jī),片內(nèi)含8k bytes isp 的可反復(fù)擦寫(xiě)1000次的flash只讀程序存儲(chǔ)器,兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及80c51引腳 結(jié)構(gòu),功能強(qiáng)大的at89s52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。而 at89s52與at89c51相比,外型管腳完全相同,at89c51的hex程序無(wú)須任何轉(zhuǎn)換可直接 在at89s52運(yùn)行,且

9、at89s52比at89c51新增了一些功能,相比較后,在本設(shè)計(jì)中選用 at89s52更能很好的實(shí)現(xiàn)溫度計(jì)控制功能。 測(cè)溫電路可以使用熱敏電阻之類的器件,利用其感溫效應(yīng),將被測(cè)溫度變化的電 壓或電流采集過(guò)來(lái),進(jìn)行 a/d 轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)處理。但是這種感溫 電路比較復(fù)雜,且采用熱敏電阻精度低,重復(fù)性、可靠性都比較差。 如果采用溫度傳感器 ds18b20 可以減少外部硬件電路,而且可以很容易直接讀取 被測(cè)溫度值,進(jìn)而轉(zhuǎn)換,還可以在高溫報(bào)警,且成本低、易使用,可以很好的滿足設(shè) 計(jì)要求。所以本文采用傳感器 ds18b20 代替?zhèn)鹘y(tǒng)的測(cè)溫電路。 溫度的顯示可以采用 led 數(shù)碼管來(lái)顯示,

10、led 亮度高、醒目,但是電路復(fù)雜, 占用資源多且信息量小。而采用液晶顯示器有明顯的優(yōu)點(diǎn):工作電流比 led 小幾個(gè) 綜合實(shí)訓(xùn)論文 第 6 頁(yè) 共 24 頁(yè) 6 數(shù)量級(jí),功耗低;尺寸小,厚度約為 led 的 1/3;字跡清晰、美觀、使人舒服;壽 命長(zhǎng),使用方便,可得性強(qiáng)。故本設(shè)計(jì)采用 lcd 來(lái)顯示溫度。 3 3 系統(tǒng)器件的具體選擇系統(tǒng)器件的具體選擇 3.13.1 單片機(jī)的選擇單片機(jī)的選擇 本次設(shè)計(jì)采用的是單片機(jī) at89c52。 at89c52 是一個(gè)低電壓,高性能 cmos 8 位單片機(jī),片內(nèi)含 8k bytes 的可反復(fù)擦寫(xiě) 的 flash 只讀程序存儲(chǔ)器和 256 bytes 的隨機(jī)存

11、取數(shù)據(jù)存儲(chǔ)器(ram),器件采用 atmel 公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) mcs-51 指令系統(tǒng),片內(nèi)置通 用 8 位中央處理器和 flash 存儲(chǔ)單元,at89c52 單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。 圖 3.1 pdip 封裝的 at89c52 引腳圖 at89c52 為 8 位通用微處理器 ,采用工業(yè)標(biāo)準(zhǔn)的 c51 內(nèi)核,在內(nèi)部功能及管 腳排布上與通用的 8xc52 相同,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。 功能包括對(duì)會(huì)聚主 ic 內(nèi)部寄存器、數(shù)據(jù) ram 及外部接口等功能部件的初始化, 會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)ir 的接收解碼及與主板 cpu 通 信

12、等。 綜合實(shí)訓(xùn)論文 第 7 頁(yè) 共 24 頁(yè) 7 主主要要管管腳腳有:xtal1(19 腳)和 xtal2(18 腳)為振蕩器輸入輸出端口,外 接 12mhz 晶振。rst/vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。 vcc(40 腳)和 vss(20 腳)為供電端口,分別接 +5v 電源的正負(fù)端。 p0p3 為 可編程通用 i/o 腳,其功能用途由軟件定義,在本設(shè)計(jì)中, p0 端口(3239 腳) 被定義為 n1 功能控制端口,分別與 n1 的相應(yīng)功能管腳相連接, 13 腳定義為 ir 輸入端,10 腳和 11 腳定義為 i2c 總線控制端口,分別連接 n1 的 sdas(

13、18 腳) 和 scls(19 腳)端口,12 腳、27 腳及 28 腳定義為握手信號(hào)功能端口,連接主 板 cpu 的相應(yīng)功能端,用于當(dāng)前制式的檢測(cè)及會(huì)聚調(diào)整狀態(tài)進(jìn)入的控制功能。 3.23.2 溫度傳感器的選擇溫度傳感器的選擇 3.2.13.2.1 ds18b20ds18b20 的簡(jiǎn)單介紹的簡(jiǎn)單介紹 ds18b20 溫度傳感器是一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件 相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn) 912 位的數(shù) 字值讀數(shù)方式。ds18b20 的性能特點(diǎn)如下: 獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信; 多個(gè) ds18b20 可以并聯(lián)在惟一的三線

14、上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能; 無(wú)須外部器件; 可通過(guò)數(shù)據(jù)線供電,電壓范圍為 3.05.5; 零待機(jī)功耗; 溫度以或位數(shù)字; 用戶可定義報(bào)警設(shè)置; 報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件; 負(fù)電壓特性,電極接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,只是不能正常工作。 3.2.23.2.2 ds18b20ds18b20 的外形和內(nèi)部結(jié)構(gòu)的外形和內(nèi)部結(jié)構(gòu) ds18b20 內(nèi)部結(jié)構(gòu)主要由四部分組成:64 位光刻 rom、溫度傳感器、非揮發(fā)的 溫度報(bào)警觸發(fā)器 th 和 tl、配置寄存器。 ds18b20 的管腳排列、各種封裝形式如圖 3.3 所示,dq 為數(shù)據(jù)輸入/輸出引腳。 開(kāi)漏單總線接口引腳。

15、當(dāng)被用著在寄生電源下,也可以向器件提供電源;gnd 為地信號(hào); vdd 為可選擇的 vdd 引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。 綜合實(shí)訓(xùn)論文 第 8 頁(yè) 共 24 頁(yè) 8 圖 3.2 外部封裝形式 圖 3.3 ds18b20 的電路 ds18b20 采用 3 腳 pr35 封裝或 8 腳 soic 封裝,其內(nèi)部結(jié)構(gòu)框圖如圖 3-4 所示。 i/o c 64 位 rom 和 單 線 接 口 高 速 緩 存 存儲(chǔ)器與控制邏 輯 溫度傳感器 高溫觸發(fā)器 th 低溫觸發(fā)器 tl 配置寄存器 8 位 crc 發(fā)生器 vdd 圖 3-4 ds18b20 內(nèi)部結(jié)構(gòu) 64 位 rom 的結(jié)構(gòu)開(kāi)始 8

16、位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共 有 48 位,最后 8 位是前面 56 位的 crc 檢驗(yàn)碼,這也是多個(gè) ds18b20 可以采用一線進(jìn) 行通信的原因。溫度報(bào)警觸發(fā)器 th 和 tl,可通過(guò)軟件寫(xiě)入戶報(bào)警上下限。 ds18b20 溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存 ram 和一個(gè)非易失性的可電 擦除的 eeram。高速暫存 ram 的結(jié)構(gòu)為 9 字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖 3-8 所示。頭 2 個(gè)字 節(jié)包含測(cè)得的溫度信息,第 3 和第 4 字節(jié) th 和 tl 的拷貝,是易失的,每次上電復(fù)位 時(shí)被刷新。第 5 個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。

17、 綜合實(shí)訓(xùn)論文 第 9 頁(yè) 共 24 頁(yè) 9 ds18b20 工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖 3-8 所示。低 5 位一直為 1,tm 是工作模式位,用于設(shè)置 ds18b20 在工作模式還是在測(cè) 試模式,ds18b20 出廠時(shí)該位被設(shè)置為 0,用戶要去改動(dòng),r1 和 r0 決定溫度轉(zhuǎn)換的精 度位數(shù),來(lái)設(shè)置分辨率。 3.2.33.2.3 ds18b20ds18b20 的測(cè)溫原理的測(cè)溫原理 ds18b20 的溫度值的位數(shù)因分辨率不同而不同,溫度轉(zhuǎn)換時(shí)的最大延時(shí)為 750ms。 ds18b20 測(cè)溫原理如圖 3.5 所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很

18、小,用 于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器 1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改 變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器 2 的脈沖輸入。計(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ù)置值減到 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ù)器 1 的預(yù) 置值。 圖 3

19、.5 ds18b20 測(cè)溫原理 綜合實(shí)訓(xùn)論文 第 10 頁(yè) 共 24 頁(yè) 10 3.2.43.2.4 ds18b2ds18b2 的外部電路圖的外部電路圖 根據(jù)設(shè)計(jì)要求,傳感器的硬件電路圖如圖 3.6 所示。 圖 3.6 ds18b20 外部電路圖 3.33.3 顯示及報(bào)警模塊選擇顯示及報(bào)警模塊選擇 在本設(shè)計(jì)中溫度測(cè)量范圍為0125,精度為0.5,因此只需要液晶 smc1602a就可以完成相關(guān)的顯示功能,報(bào)警器可以用有源蜂鳴器配合三極管來(lái)代 替,本設(shè)計(jì)則直接使用led發(fā)光二極管帶代替。 4 4 硬件電路的總體設(shè)計(jì)硬件電路的總體設(shè)計(jì) 溫度計(jì)電路設(shè)計(jì)原理圖如圖4.1所示,控制器使用單片機(jī)at89c2

20、052,溫度計(jì)傳 感器使用ds18b20,用液晶實(shí)現(xiàn)溫度顯示。 本溫度計(jì)大體分三個(gè)工作過(guò)程。首先,由ds18820溫度傳感器芯片測(cè)量當(dāng)前的 溫度,并將結(jié)果送入單片機(jī)。然后,通過(guò)89c2052單片機(jī)芯片對(duì)送來(lái)的測(cè)量溫度讀 數(shù)進(jìn)行計(jì)算和轉(zhuǎn)換,井將此結(jié)果送入液晶顯示模塊。最后,smc1602a芯片將送來(lái) 的值顯示于顯示屏上。 由圖4.1可看到,本電路主要由dsl8820溫度傳感器芯片、smcl602a液晶顯示 模塊芯片和89c2052單片機(jī)芯片組成。其中,dsi8b20溫度傳感器芯片采用“一線 制”與單片機(jī)相連,它獨(dú)立地完成溫度測(cè)量以及將溫度測(cè)量結(jié)果送到單片機(jī)的工 作。 綜合實(shí)訓(xùn)論文 第 11 頁(yè)

21、共 24 頁(yè) 11 圖4.1 溫度計(jì)電路設(shè)計(jì)仿真圖 5 5軟件軟件 總體設(shè)計(jì)總體設(shè)計(jì) 系統(tǒng)程序主要包括主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計(jì)算溫度子 程序、顯示數(shù)據(jù)刷新子程序。 綜合實(shí)訓(xùn)論文 第 12 頁(yè) 共 24 頁(yè) 12 主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯 示、讀出并處理 ds18b20 的測(cè)量溫度值。溫 度測(cè)量每 1s 一次。 圖 5.1 ds18b20 溫度計(jì)主程序流程圖 讀出溫度子程序的主要功能是讀出 ram 中 的 9 字節(jié)。在讀出時(shí)須進(jìn)行 crc 校驗(yàn),校驗(yàn)有 錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě)。 圖 5.2 讀出溫度子程序流程圖 綜合實(shí)訓(xùn)論文 第 13 頁(yè) 共 24 頁(yè) 13 計(jì)

22、算溫度子程序?qū)?ram 中讀取值進(jìn) 行 bcd 碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值 正 負(fù)的判定。 圖 5.3 計(jì)算溫度子程序 顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯 示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高數(shù)據(jù)顯示位為零時(shí), 將符號(hào)顯示位移入下一位 綜合實(shí)訓(xùn)論文 第 14 頁(yè) 共 24 頁(yè) 14 圖 5.4 顯示數(shù)據(jù)刷新子程序流程圖 圖5.5警模塊子程序流程圖 6 6調(diào)試調(diào)試 6.16.1軟件調(diào)試軟件調(diào)試 根據(jù)流程圖編寫(xiě)程序軟件。本次設(shè)計(jì)系統(tǒng)的調(diào)試以程序的調(diào)試為主。 程序的調(diào)試我們采用eil c51keil c51 軟件是眾多單片機(jī)應(yīng)用開(kāi)發(fā)的優(yōu)秀軟 件之一,它集編輯,編譯,仿真于一體,支持匯編,plm 語(yǔ)言和

23、 c 語(yǔ)言的程序設(shè)計(jì), 界面友好,易學(xué)易用。 綜合實(shí)訓(xùn)論文 第 15 頁(yè) 共 24 頁(yè) 15 6.26.2系統(tǒng)調(diào)試系統(tǒng)調(diào)試 軟硬件分別調(diào)試完成以后,將程序下載入單片機(jī)中,電路板接上電源,電源指示 燈亮,按下開(kāi)關(guān)按鈕,lcd 顯示當(dāng)前溫度。用手去碰觸溫度傳感器,溫度顯示值出現(xiàn)變 化,顯示當(dāng)前手的溫度值。 當(dāng)溫度高于我們所設(shè)定的最高溫度37度時(shí),警報(bào)紅燈亮。 完成了我們預(yù)期的要求。 總結(jié)總結(jié) 本次綜合實(shí)訓(xùn)是針對(duì) mcs-51 系列的單片機(jī)芯片 stc89c52 來(lái)設(shè)計(jì)一個(gè)數(shù)字溫度計(jì), 該設(shè)計(jì)充分利用了溫度傳感器 ds18b20 功能強(qiáng)大的優(yōu)點(diǎn),如 ds18b20 可以直接讀出被 測(cè)溫度值,進(jìn)行轉(zhuǎn)換

24、;而且采用三線制與單片機(jī)相連,減少了外部的硬件電路,具有 低成本和易使用的特點(diǎn),大大簡(jiǎn)化了硬件電路,也使得該數(shù)字溫度計(jì)不僅具有結(jié)構(gòu)簡(jiǎn) 單、成本低廉、精確度較高、反應(yīng)速度較快、數(shù)字化顯示和不易損壞等特點(diǎn),而且性 能穩(wěn)定,適用范圍廣,因此特別適用于對(duì)測(cè)溫要求比較準(zhǔn)確的場(chǎng)所。 在這次設(shè)計(jì)中,熟悉了制作一個(gè)產(chǎn)品的總體流程,能熟練使用一些必要的設(shè)計(jì)工 具和仿真工具等。通過(guò)選認(rèn)元件,連線,調(diào)試檢測(cè)等過(guò)程,鍛煉自己的理論聯(lián)系實(shí)際 的能力和實(shí)際操作能力,從而綜合性地鞏固所學(xué)的知識(shí),為將來(lái)的工作做一次實(shí)戰(zhàn)演 習(xí)。 經(jīng)過(guò)將近 4 周的綜合實(shí)訓(xùn),終于完成了我的數(shù)字溫度計(jì)的設(shè)計(jì),雖然沒(méi)有完全達(dá) 到設(shè)計(jì)要求,但從心底里

25、說(shuō),還是高興的, 從這次的課程設(shè)計(jì)中,我真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際, 把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫(xiě) 與讀的過(guò)程中才能提高,這就是我在這次實(shí)訓(xùn)中的最大收獲。 綜合實(shí)訓(xùn)論文 第 16 頁(yè) 共 24 頁(yè) 16 參考文獻(xiàn)參考文獻(xiàn) 1 余澤輝等基于單片機(jī)的數(shù)字溫度計(jì)的研究與設(shè)計(jì)儀器儀表用戶,2004,14 (2):911 2 張紅潤(rùn) 張亞凡單片機(jī)原理及應(yīng)用北京:清華大學(xué)出版社,2005 3 張?jiān)?王建軍.單片機(jī)開(kāi)發(fā)技術(shù)實(shí)例教程.北京:機(jī)械工業(yè)出版社,2010.8 4 雷伏容 張小林 崔浩.51單片機(jī)常用模塊設(shè)計(jì)查詢手冊(cè).北京:清華大學(xué)

26、出版社,2010 5 凌玉華.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì).長(zhǎng)沙:中南大學(xué)出版社,2006.4 6 皮大能 南光群 劉金華.單片機(jī)課程設(shè)計(jì)指導(dǎo)書(shū).北京:北京理工大學(xué)出版社,2010 7 付佳才.單片機(jī)控制工程實(shí)踐技術(shù).北京:化學(xué)工業(yè)出版社,2004 附件一源程序附件一源程序 #include #include #include #define uchar unsigned char #defineuint unsigned int sbit dq =p20; sbit rs =p35; sbit rw =p36; sbit e =p37; uchar temp_data_l,temp_data_h

27、; uchar code lcddata10=0 x30,0 x31,0 x32,0 x33,0 x34,0 x35,0 x36,0 x37,0 x38,0 x39; uchar code ditab16=0 x30,0 x31,0 x31,0 x32,0 x33,0 x33,0 x34,0 x34,0 x35,0 x36,0 x36,0 x37,0 x38,0 x38,0 x39,0 x39; uchar code table216=0 x74,0 x65,0 x6d,0 x70,0 x65,0 x72,0 x61,0 x74,0 x75,0 x72,0 x65,0 x20,0 x6 9,0

28、 x53,0 x20,0 x3a; uchar display7=0 x00,0 x00,0 x00,0 x2e,0 x00,0 xdf,0 x43; /延時(shí) void delay(uint n) uint i; for(i=0;in;i+); 綜合實(shí)訓(xùn)論文 第 17 頁(yè) 共 24 頁(yè) 17 /初始化 ds18b20 bit resetpulse (void) dq=0; delay(40); dq=1; delay(4); return(dq); void ds18b20_init(void) while(1) if(!resetpulse() dq=1; delay(40); break;

29、 else resetpulse(); uchar read_bit(void) dq=0; _nop_(); _nop_(); dq=1; delay(2); return(dq); uchar read_byte(void) uchar i,shift,temp; shift=1; temp=0; for (i=0;i8;i+) if(read_bit() temp=temp+(shift i); delay(7); 綜合實(shí)訓(xùn)論文 第 18 頁(yè) 共 24 頁(yè) 18 return(temp); void write_bit(uchar temp) dq=0; if (temp =1) dq=

30、1; delay(5); dq=1; void write_byte(uchar val) uchar i,temp; for(i=0;ii; temp=temp write_bit(temp); delay(5); void read_t(void) ds18b20_init(); write_byte(0 xcc); write_byte(0 x44); delay(500); ds18b20_init(); write_byte(0 xcc); write_byte(0 xbe); temp_data_l=read_byte(); temp_data_h=read_byte(); voi

31、d check_busy(void) while(1) p1=0 xff; e=0; _nop_(); rs=0; _nop_(); _nop_(); 綜合實(shí)訓(xùn)論文 第 19 頁(yè) 共 24 頁(yè) 19 rw=1; _nop_(); _nop_(); e=1; _nop_(); _nop_(); _nop_(); _nop_(); if (p1 e=0; void write_command(uchar tempdata) e=0; _nop_(); _nop_(); rs=0; _nop_(); _nop_(); rw=0; p1=tempdata; _nop_(); _nop_(); e=1; _nop_(); _nop_(); e=0; _nop_(); check_busy(); void write_data(uchar tempdata) e=0; _nop_(); _nop_(); rs=1; _nop_(); _nop_(); r

溫馨提示

  • 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)論