【正文】
, describes has design making a full of digital thermometer needs do of prepared and making process, through a time of efforts making, from just began thorough understands topics requirements and the by to design of products of the performance function, then think using single tablets machine as control kernel, second main of is temperature sensor DS18B20, and the other important part circuit of tie Xia design out a full of hardware system, and the it of soul software system. Are based on single chip digital thermometers, thermometers are multipurpose thermometer, you can set the upper and lower alarm temperature, when the temperature when you are not within the set range, can be alarming. Digital thermometer and described this design than traditional thermometers, with readings, wide temperature range and accuracy of temperature measurement and the output temperature with digital display, the design of controller with MCU AT89S51, temperature sensor DS18B20, with 4bit mon anode LED digital tube serial ports to transfer data, temperature display, can accurately meet the above requirements. KEY WORDS: Singlechip, digital control, thermometers, DS18B20, AT89S51 山東英才學(xué)院畢業(yè)論文設(shè)計 5 第 1 章 .數(shù)字溫度計總體設(shè)計方案 :熱敏電阻 由于本設(shè)計是測溫電路,可以使用 熱敏電阻 之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行 A/D 轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到 A/D 轉(zhuǎn)換電路,感溫電路比較麻煩。如下圖: 熱敏電阻 方案二 :溫度傳感器 DS18B20 (1).進(jìn)而考慮到用 溫度傳感器 ,在設(shè)計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器 DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計要求。 主要功能特性: 128x8bit 內(nèi)部 ram 雙數(shù)據(jù)寄存器指針 DS18B20 DS18B20溫度傳感器是美國 DALLAS 半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式。 圖 2 DS18B20 內(nèi)部結(jié)構(gòu) 64位 ROM 的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前面 56位的 CRC 檢驗碼,這也是多個 DS18B20 可以采用一線進(jìn)行通信的原因。低5位一直為1,TM是工作模式位,用于設(shè)置 DS18B20 在工作模式還是在測試模式, DS18B20 出廠時該位被設(shè)置為0,用戶要去改動, R1 和R 0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。 當(dāng)符號位S=0時,表示測得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號位S=1時,表示測得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計算十進(jìn)制數(shù)值。器件中還有一個計數(shù)門,當(dāng)計數(shù)門打開時, DS18B20 就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進(jìn)行計數(shù)進(jìn)而完成溫度測量。另一種是寄生電源供電方式,如圖 4 所示單片機(jī)端口接單線總線,為保證在有效的 DS18B20 時鐘周期內(nèi)提供足夠的電 流,可用一個MOSFET 管來完成對總線的上拉。而每一次命令和 數(shù)據(jù)的傳輸都是從主機(jī)主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動讀時序完成數(shù)據(jù)接收。 ( 7) 若 CPU 讀到了數(shù)據(jù)線上的低電平 “0” 后,還要做延時,其延時的時間從發(fā)出的高電平算起(第( 5)步的時間算起)最少要 480 微秒。 ( 4)延時 15微秒。 ( 2) 延時確定的時間為 15 微秒。 三、最重要的一部分是 DS18B20,它此它的連接方式是外接電源方式。其程序流程圖如圖 8示 圖 9 溫度轉(zhuǎn)換流程圖 Y 發(fā) DS18B20 復(fù)位命令 發(fā)跳過 ROM 命令 發(fā)讀取溫度命令 讀取操作, CRC 校驗 9 字節(jié)完? CRC 校驗正?確? 移入溫度暫存器 結(jié)束 N N Y 開始 初始化 示化 獲取溫度值 與溫度上下限比較 報警 轉(zhuǎn)換并顯示 YES 山東英才學(xué)院畢業(yè)論文設(shè)計 15 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用 12 位分辨率時轉(zhuǎn)換時間約為 750ms,在本程序設(shè)計中采用 1s 顯示程序延時法等待轉(zhuǎn)換的完成。 for(。 _nop_()。 _nop_()。 _nop_()。 F=1。0x01。 =0。 =0。 }else{v1。 //跳過 ROM wrirte(0x44)。 disbuf[2]=tempmax/100。 disbuf[3]=0x0a。 while(k) { P1^1=0。 IT1=1。 disbuf[2]=m/100。 } } //顯示將 dispbufij 中的整數(shù)譯碼后通過數(shù)碼管顯示 void teampdsp( ) { uchar k。 delay(1)。 P2=0xff。 //調(diào)用顯示子程序 }}