版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)Prepared on 24 November 2020基于單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)摘要:本文設(shè)計(jì)了一種基于單片機(jī)控制的數(shù)字溫本設(shè)計(jì)度計(jì),本設(shè)計(jì)所介紹的數(shù)字溫 度計(jì)與傳統(tǒng)溫度計(jì)相比,具有讀數(shù)方便.測(cè)溫范圍廣,輸出溫度采用數(shù)字顯示。該設(shè) 計(jì)控制器使用單片機(jī)AT89s51,測(cè)溫傳感器使用DS18B20,用共陽(yáng)極LED數(shù)碼管顯 示,能夠準(zhǔn)確達(dá)到要求。溫度計(jì)電路設(shè)計(jì)控制器采用單片機(jī)AT89s51,具有低電壓供電和體積小等特點(diǎn),溫 度傳感器采用DS18B20, DS18B20溫度傳感器是美國(guó)最新推出的一種溫度傳感器,它 能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)讀數(shù)
2、方式,僅需要一 個(gè)端口引腳進(jìn)行通信,內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦 除的EERAM.顯示電路采用LED動(dòng)態(tài)顯示方式。關(guān)鍵詞:?jiǎn)纹瑱C(jī);DS18B20 ;超限報(bào)警;LED顯示;前言隨著人們生活水平的不斷提高.單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它所給人帶 來(lái)的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對(duì)它的要求越 來(lái)越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技 術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。溫度是曰常生活、工業(yè)、醫(yī)學(xué)、環(huán)境保護(hù)、化工、石油等領(lǐng)域最常用到的一個(gè)物理 量。測(cè)量溫度的基本方法是使用溫度計(jì)直接讀取溫
3、度。最常見(jiàn)到得測(cè)量溫度的工具是各 種各樣的溫度計(jì),例如:水銀玻璃溫度計(jì),酒精溫度計(jì),熱電偶或熱電阻溫度計(jì)等。它 們常常以刻度的形式表示溫度的高低,人們必須通過(guò)讀取刻度值的多少來(lái)測(cè)量溫度。利 用單片機(jī)和溫度傳感器構(gòu)成的電子式智能溫度計(jì)就可以直接測(cè)量溫度”得到溫度的數(shù)字 值.既簡(jiǎn)單方便,有直觀準(zhǔn)確,1總體方案設(shè)計(jì)設(shè)計(jì)方案論證針對(duì)本課題的設(shè)計(jì)任務(wù).進(jìn)行分析得到:本次設(shè)計(jì)用溫度傳感器進(jìn)行溫度的測(cè)量, 轉(zhuǎn)化了的溫度信號(hào)由傳感器直接得到了數(shù)字信號(hào)。該數(shù)字溫度計(jì)的設(shè)計(jì),在總體上大致 可分為以下幾個(gè)部分組成:1.單片機(jī)控制電路;2.溫度傳感器;3.開(kāi)關(guān)控制電路;顯示 電路。方案一由于本設(shè)計(jì)是測(cè)溫電路,可以使用
4、熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被 測(cè)溫度變化的電壓或電流采集過(guò)來(lái),進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理.在顯示電路上,就可以將被測(cè)溫度顯示出來(lái),這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感 溫電路比較麻煩。方案二進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是 非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接 讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。從以上兩種方案,很容易看出,采用方案二,電路比較簡(jiǎn)單,軟件設(shè)計(jì)也比較簡(jiǎn) 單.故采用了方案二。硬件構(gòu)成I f-1 -XfcA- 1 I _1_框圖討器2個(gè)數(shù)據(jù)指針,3個(gè) I片內(nèi)
5、晶振及時(shí)鐘電系統(tǒng)原理框圖如圖1所示。主控制器AT89C51具有以下標(biāo)準(zhǔn)功能:8K字節(jié)FLASH彳#此 16位定時(shí)器、計(jì)數(shù)器,一,3|叼寫(xiě)路。pon : P0 口是一個(gè)8位漏極開(kāi)路的雙向I/O 口。作為輸出口,每位能驅(qū)動(dòng)8個(gè) TTL邏輯電平。對(duì)P0 口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器 時(shí),P0也被作為低8位地址/數(shù)據(jù)使用。在這種模式下,P0具有內(nèi)部上拉電阻。在 FLASH編程時(shí),P0 口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn) 時(shí),需要外部上拉電阻。P1 口: P1 口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O 口,P1輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL邏輯電平。
6、對(duì)P1端口寫(xiě)T時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口 使用。作為輸入口使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。P2 口 : P2 口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O 口,P2 口輸出緩沖器驅(qū)動(dòng)4 個(gè)TTL邏輯電平。對(duì)P2端口寫(xiě)1時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口 使用,作為輸入口使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。數(shù)碼管顯示顯示電路采用共陽(yáng)LED數(shù)碼管,從P3 口 RXD.TXD串口輸出段碼。溫度傳感器DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度 傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀
7、出被測(cè)溫度.并且可根據(jù)實(shí)際 要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9 1 2位的數(shù)字值讀數(shù)方式。DS18B20的性能特點(diǎn)如下:a.獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;b .多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;c.無(wú)須外部器件;d .可通過(guò)數(shù)據(jù)線供電,電壓范圍為V ;e.零待機(jī)功耗;f.溫度以9或12位數(shù)字;g.用戶可定義報(bào)警設(shè)置;h.報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件;i.負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作;DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存R AM和一個(gè)非易失性的可 電擦除的EERAM。高速暫存RAM
8、的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖3所示。頭2 個(gè)字節(jié)包含測(cè)得的溫度信息.第3和第4字節(jié)TH和T L的拷貝,是易失的,每次上電 復(fù)位時(shí)被刷新。第5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨 率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定 義如圖3所示。低5位一直為1 , TM是工作模式位,用于設(shè)置DS18B20在工作模式 還是在測(cè)試模式,DS18B20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),R1和RO決定溫 度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。圖2 DS18B2O字節(jié)定義DS18B2O溫度轉(zhuǎn)換的時(shí)間比 溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在 權(quán)衡考慮。高速暫存R
9、AM的第6、7、 1o第9字節(jié)讀出前面所有8字節(jié) 而保證通信數(shù)據(jù)的正確性。當(dāng)DS18B20接收到溫度轉(zhuǎn)換 后的溫度值就以16位帶符號(hào)擴(kuò)展溫度LSB較長(zhǎng),而且分辨率越高,所需要的 實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間8字節(jié)保留未用,表現(xiàn)為全邏輯 的CRC碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從命令后,開(kāi)始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成 的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存溫度MSBTH用戶字節(jié)1TL用戶字節(jié)2配置寄存器保留保留保留CRC存儲(chǔ)器的第1、2字節(jié)。單片機(jī)可以通過(guò)單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先.高位在后,數(shù)據(jù)格式以C/LSB形式表示。當(dāng)符號(hào)位s = 0時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn) 制;當(dāng)符號(hào)位S
10、=1時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn) 制數(shù)值。表2是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。DS18B20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與RAM中的TH、TL字節(jié)內(nèi)容作比 較。若T >TH或T<TL,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主機(jī)發(fā)出的報(bào)警搜索命 令作出響應(yīng)。因此,可用多只DS18B20同時(shí)測(cè)量溫度并進(jìn)行報(bào)警搜索。在64位ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余檢驗(yàn)碼(CRC)。主機(jī)ROM的前56 位來(lái)計(jì)算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否 正確nDS18B20的測(cè)溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻
11、率受溫度的影響 很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1;高溫度系數(shù)晶振隨溫度變化其 振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入。器件中還有一個(gè)計(jì)數(shù) 門(mén),當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完 成溫度測(cè)量。計(jì)數(shù)門(mén)的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將- 55co所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器1、溫度寄存器中,計(jì)數(shù)器1和溫度寄存器 被預(yù)置在- 55C0所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù).當(dāng)減法計(jì)數(shù)器1的 預(yù)置值減到。時(shí),溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減
12、法計(jì) 數(shù)器1重新開(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ù)器門(mén)仍未關(guān)閉就重復(fù)上述過(guò)程,直到溫度寄 存器值大致被測(cè)溫度值。2硬件電路設(shè)計(jì)主控制器單片機(jī)AT89s51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿 足電路系統(tǒng)的設(shè)計(jì)需要”很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。AT89c51是一種低功耗,高性能的8位微控制器,具有8K在系統(tǒng)可編程FLASH 存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和
13、 引腳完全兼容。片上FLASH允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單 芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程FLASH.使得AT89S52為眾多嵌入式控 制應(yīng)用系統(tǒng)提供高靈活,超有效的解決方案。顯示電路顯示電路采用集成的數(shù)碼管,為共陽(yáng)極結(jié)構(gòu),采用動(dòng)態(tài)顯示,P1 口作為輸出編碼 端,到作為位選控制端,其中P1做輸出端口需要上拉電阻,通過(guò)設(shè)置不同的段碼可以 顯示溫度.可以對(duì)溫度進(jìn)行實(shí)時(shí)檢測(cè)。圖4顯示電路數(shù)據(jù)采集電路DS18B20的內(nèi)部結(jié)構(gòu)主要包括:寄生電源,溫度傳感器,64位激光ROM和單總線接、定溫度上下限值得TH和TL觸發(fā) 如心小 L口,存放中間數(shù)據(jù)的高速暫存器RA'
14、器,存儲(chǔ)和邏輯控制,8位循環(huán)冗余DS18B20測(cè)量溫度時(shí)使用特有產(chǎn)曲皿應(yīng)幺_巧心則溫度轉(zhuǎn)換成數(shù)值信號(hào),測(cè)量 結(jié)果將存入溫度寄存器中。_澗中日行、膽 II舉匚 松町衛(wèi)柞由似報(bào)警電路讀取溫度當(dāng)溫度超過(guò)設(shè)定的上下限溫度時(shí),蜂鳴器全發(fā)出聲響,下圖為報(bào)警電路。理一3軟件設(shè)計(jì) I :主程序設(shè)計(jì)汨系統(tǒng)的主程序主要用來(lái)初始化此二將 就nsfO的品置數(shù)據(jù)進(jìn)行一系列的設(shè) 定。另外對(duì)DS18B2O的狀態(tài)不斷4 4啞尸溫度值,并對(duì)溫度進(jìn)行處理,溫度值的BCD碼處理后,將其段碼送顯示緩掃描服務(wù)程序處理。圖7主程序流程圖溫度轉(zhuǎn)換程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行
15、溫度數(shù)據(jù)的改寫(xiě)。其程序流程圖如下所示。圖8溫度轉(zhuǎn)換流程圖NY軟件調(diào)試本次設(shè)計(jì)采用的是keil仿真器:可以開(kāi)發(fā)應(yīng)用軟件,以及對(duì)硬埠Ikr瓶件電路進(jìn)行診斷、調(diào)試等。它的具體功能是;,以進(jìn)仃 Mu仿真,可以單步、跟蹤、斷 點(diǎn)和全速運(yùn)行,而且,程序的編譯過(guò)邛軟件進(jìn)行自診斷,并自動(dòng)給出故 障原因。同時(shí)用戶調(diào)試程序時(shí).,可以止步巴半J器的工作狀況,以便及時(shí)發(fā)現(xiàn)和排除編程中可能出現(xiàn)的錯(cuò)誤。I軟件的調(diào)試是利用keil軟件,模fl巾曰、過(guò)觀察存儲(chǔ)單元數(shù)據(jù)的變化,查找 I FD FH -7TT r并解決程序的語(yǔ)法和邏輯錯(cuò)誤,具體的福不驟如公:1 .把系統(tǒng)的各個(gè)模塊在仿真軟件中逐個(gè)調(diào)試,如數(shù)據(jù)采集模塊、顯示模塊等。
16、2 .對(duì)各個(gè)需要賦值模塊調(diào)試時(shí),賦入初值,單步調(diào)試,觀察數(shù)據(jù)窗口,看輸出結(jié)果 是否為設(shè)計(jì)時(shí)想要的結(jié)果。3 .把各個(gè)模塊組合起來(lái),全速運(yùn)行,看程序是否能流暢的,是否能實(shí)現(xiàn)設(shè)計(jì)的系統(tǒng) 的所有功能。4.1軟硬聯(lián)調(diào)本設(shè)計(jì)是采用Proteus軟件實(shí)現(xiàn)電路圖設(shè)計(jì)和仿真的,Proteus軟件與Keil軟件聯(lián) 合使用,實(shí)現(xiàn)設(shè)計(jì)要求。在Keil軟件中創(chuàng)建新文件,輸入所編寫(xiě)的c語(yǔ)言程序并保存,在編譯源程序無(wú)誤 后,會(huì)產(chǎn)出相應(yīng)的“ HEX”文件;將所生成的”.HEX”文件加載到已繪制好的Proteus原理 圖中,使Proteus與Keil真正連接起來(lái),實(shí)現(xiàn)聯(lián)合調(diào)試。調(diào)試結(jié)果下15所示。、圖11仿真測(cè)試圖5結(jié)論及進(jìn)一
17、步設(shè)想根據(jù)實(shí)驗(yàn)結(jié)果,本設(shè)計(jì)基本完成了設(shè)計(jì)要求,但上下限閾值的設(shè)置過(guò)于繁瑣,在原 有結(jié)構(gòu)的基礎(chǔ)上,可以更簡(jiǎn)化。本課程設(shè)計(jì)的主要任務(wù)是設(shè)計(jì)一個(gè)89C51單片機(jī)為核 心的數(shù)字溫度計(jì)。從確定課設(shè)題目,到查閱質(zhì)料確定總體方案設(shè)計(jì),硬件電路仿真的設(shè) 計(jì),硬件電路的優(yōu)化,軟件的設(shè)計(jì),軟件的優(yōu)化,檢驗(yàn)仿真電路,調(diào)試軟件程序,到最 后的軟硬件聯(lián)調(diào),都是我努力去完成的。在最后的仿真電路圖中達(dá)到了我想要的結(jié)果, 并且對(duì)串口通訊有了更一步的認(rèn)識(shí)。對(duì)單片機(jī)也有了更加深刻的了解。對(duì)以后很好的應(yīng) 用單片機(jī)打下了深刻的基礎(chǔ)。參考文獻(xiàn)1劉復(fù)華.單片機(jī)及其應(yīng)用系統(tǒng).北京:清華大學(xué)出版社,19922韓志軍.單片機(jī)系統(tǒng)設(shè)計(jì)與應(yīng)用實(shí)例
18、.北京:機(jī)械工業(yè)出版社,20103余永全.ATMEL89系列單片機(jī)應(yīng)用技術(shù).北京:北京航空航天大學(xué)出版社,20024馬中梅.單片機(jī)的C語(yǔ)言程序設(shè)計(jì).北京:北京航空航天大學(xué)出版社,19995胡汗才.單片機(jī)原理及系統(tǒng)設(shè)計(jì).北京:清華大學(xué)出版社,20026李華.MCS-51單片機(jī)實(shí)用接口技術(shù).北京:北京航空航天出版社大學(xué),19997方彥軍,孫建.智能儀器技術(shù)及其應(yīng)用.北京:化學(xué)工業(yè)出版社,20038孫傳友.測(cè)控系統(tǒng)原理與設(shè)計(jì).北京:北京航空航天大學(xué)出版社,20029劉守義等.單片機(jī)應(yīng)用技術(shù).西安:西安電子科技大學(xué)出版社,200210何立民.單片機(jī)高級(jí)教程.北京:北京航空航天大學(xué)出版社,2000課設(shè)體
19、會(huì)經(jīng)過(guò)了兩個(gè)星期的課設(shè),讓我對(duì)以前學(xué)的理論知識(shí)有了較深的體會(huì),要用理論指導(dǎo) 實(shí)踐,在實(shí)踐中發(fā)現(xiàn)自己的不足之處,不斷完善自己。這一周的課程設(shè)計(jì)讓我體會(huì)到很 多東西,不僅僅是知識(shí)本身的,更多的是自己動(dòng)手能力和邏輯思維能力的鍛煉,同時(shí), 也知道自己還有許多要學(xué)的東西。在社會(huì)實(shí)踐中,單片機(jī)是一個(gè)熱門(mén)的話題.所以我要認(rèn)真學(xué)習(xí)單片機(jī)的知識(shí),這對(duì) 我們找工作是很有幫組的,遇到問(wèn)題并不可怕關(guān)鍵是我們要找到方法去解決問(wèn)題,一定 要勤于動(dòng)手,這樣自己才會(huì)有提高。當(dāng)然在這次寶貴的課程設(shè)計(jì)活動(dòng)中,經(jīng)驗(yàn)才是對(duì)于 我們最大的收獲,而且還增強(qiáng)了自身對(duì)未知問(wèn)題以及對(duì)知識(shí)的深化認(rèn)識(shí)的能力,用受益 匪淺這個(gè)詞語(yǔ)來(lái)概括這次難忘的活
20、動(dòng)我覺(jué)得再合適不過(guò)了。但是,光是完成了作品還是 不可以自我滿足的,在從一開(kāi)始的時(shí)候就懷著將作品制作得更加人性化,更加令人滿 意,更加地使功能完美又方便地被應(yīng)用領(lǐng)域這個(gè)最終目的下,隨著對(duì)單片機(jī)這門(mén)學(xué)科的 認(rèn)識(shí)加深,到達(dá)了拓展的程度,我想這個(gè)目的將在不遠(yuǎn)的時(shí)期內(nèi)被實(shí)現(xiàn)。最后感謝老師及同學(xué)在這兩個(gè)星期對(duì)我的幫助。附錄1電路原理圖附錄2元件清單兀件名稱型號(hào)數(shù)量單片機(jī)AT89C511溫度傳感器DS18B20數(shù)碼管7SEG-MPX8-CA1按鍵BUTTON16電阻RES10三極管2N29261蜂鳴器SOUNDER1附錄3程序源#inckide<>#define uchar unsigned c
21、har#define uint unsigned intuchar codetable=Oxfc,0x60,Oxda0xf2,Ox66,Oxb6,Oxbe,OxeO,Oxfe,Oxf6,Oxee,Ox3e,Ox9c,Ox7a,0x9 e50x8e);uchar code address=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf0x7f);sbit DQ=P3A0;sbit dot=PlA0;sbit fm=P3A5;uchar a,i,temp 1 ,temp2,c,H ,t2,yz 1 ,yz2;bit flag,flag 1;uint temp;void del
22、ay(uint m)while(m-);uchar i=0;DQ=1;delay(8);DQ=0;delay(80);DQ=1;delay(14);i=DQ;delay(20);)uchar read_byte()uchar byte=O;for (i=0;i<8;i+) 先傳低位(DQ=0;byte»= 1;DQ=I;if(DQ)bytel=0x80;delay (4);)return(byte);)void write_byte(uchar byte)for (i=0;i<8;i+) 先傳低位DQ=O;byte»= I;DQ=CY;delay ; DQ=1;
23、)void read_temp()(write_byte(Oxcc);/ Skip ROMwrite_byte(0x44);/ 啟動(dòng)溫度轉(zhuǎn)換delay(lO);write_byte(Oxcc); /Skip ROM write_byte(Oxbe);讀取溫度寄存器temp l=read_byte();低位temp2=read_byte();高位)void ds()(read_temp();temp=temp 1 &OxOf;if(temp2>127)(flag=l;templ=-templ;temp2=temp2;temp=temp 1 &OxOf;temp+=0x01;
24、1tenip=temp*625;temp 1 =temp 1 &OxfO; 取整數(shù)部分templ=templ/16;temp2=temp2*16;tenipl+=temp2;if(flag)tempi+=0x01;void xs()for(i=0;i<4;i+)顯示小數(shù)部分(P2=addressi;P l=tableteinp% 10;delay(750);temp/= 10;P2=0xef;顯示整數(shù)部分P l=tabletemp l%10;dot=l;delay(750);if(temp 1 /1 OOIItemp 1/10) 高位去 0(P2=0xdf;P l=tablete
25、nip 1 /10% 10;delay(750);if(templ/100) /高位去 0P2=0xbf;P l=tabletenip 1 /100% 10; delay(800);Iif(flag)加負(fù)號(hào)(P2=0x7f;Pl=0x02;delay(750); flag=0;)void bj()fm=l;delay(lOO);fm=0;delay(lOO);)void jp()(uchar t,tempt,p;P0=0xfe;tempt=P0: tempt=tempt&OxfO;if(tempt!=OxfO)(switch(tempt)case(OxeO):flag 1 =O;fla
26、g=O;p= 1 ;break; /shangxiancase(OxdO):flag 1 =O;flag= 1 ;p=2;break; /xiaxian case(OxbO):flagl=O;a+;t=l ;break;case(0x70):flagl=0;a+;t=2;break;while(temp!=OxfO)tempt=PO:tempt=tempt&OxfO;)PO=Oxfd;tempt=PO;tempt=tempt&OxfO;if(tempt!=OxfO)(switch(tempt)case(OxeO):flagl=O;a+:t=3;break;case(0xd0):flagl=0;a+:t=4;break;case(OxbO):flagl=O;a+;t=5:break;case(0x70):flagl=0;a+:t=6:break;)while(tempt!=OxfO)tempt=PO:tempt=tempt&OxfO;PO=O
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 體育產(chǎn)業(yè)賽事組織合作合同
- 寵物服務(wù)行業(yè)寄養(yǎng)服務(wù)及意外傷害免責(zé)協(xié)議
- 2024年版企業(yè)法人職業(yè)經(jīng)理人聘用協(xié)議范例版B版
- 2024年茶葉生產(chǎn)設(shè)備租賃及購(gòu)買(mǎi)合同
- 二零二五年度共有產(chǎn)權(quán)住房買(mǎi)賣(mài)及共有份額管理合同3篇
- 2025年辣椒苗育種項(xiàng)目合作合同范本3篇
- 高新技術(shù)企業(yè)產(chǎn)品供應(yīng)協(xié)議
- 農(nóng)業(yè)種植技術(shù)服務(wù)合同協(xié)議
- 2024年車(chē)輛抵押借款合同樣本
- 二零二五年度新型住宅水暖系統(tǒng)安裝及售后服務(wù)合同模板2篇
- 2024年執(zhí)業(yè)藥師繼續(xù)教育專業(yè)答案
- 小學(xué)三年級(jí)下冊(cè)英語(yǔ)(牛津上海一起點(diǎn))全冊(cè)語(yǔ)法知識(shí)點(diǎn)總結(jié)
- 2024秋期國(guó)家開(kāi)放大學(xué)《建筑工程項(xiàng)目管理》一平臺(tái)在線形考(作業(yè)1至4)試題及答案
- 臨床5A護(hù)理模式
- 2025屆高考英語(yǔ)一輪復(fù)習(xí)讀后續(xù)寫(xiě)說(shuō)課課件
- 潔柔形象升級(jí)與整合內(nèi)容營(yíng)銷(xiāo)方案
- 2025屆高考數(shù)學(xué)一輪復(fù)習(xí)建議 概率與統(tǒng)計(jì)專題講座
- 廣東省公務(wù)員考試筆試真題及答案
- 風(fēng)險(xiǎn)分級(jí)管控和隱患排查治理體系培訓(xùn)考試題參考答案
- 信息科技課程標(biāo)準(zhǔn)測(cè)(2022版)考試題庫(kù)及答案
- 部編版二年級(jí)下冊(cè)語(yǔ)文第四單元教學(xué)設(shè)計(jì)含語(yǔ)文園地四
評(píng)論
0/150
提交評(píng)論