版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 目錄1 設(shè)計概述21.1 設(shè)計目標和要求21.2 設(shè)計思路22 系統(tǒng)方案及硬件設(shè)計32.1 設(shè)計方案32.2 方案的硬件總體方框圖32.3 溫度傳感器ds18b20測溫原理42.4 硬件設(shè)計82.4.1 主控制器atmega1682.4.2 復(fù)位電路82.4.3 時鐘振蕩電.82.4.4 報警點調(diào)節(jié)電路.9 2.4.5顯示電路103 軟件設(shè)計103.1系統(tǒng)分析103.2 各子程序及其流程圖設(shè)計113.2.1 初始化子程序113.2.2 ds1820的讀寫字節(jié)子程序123.2.3 溫度讀取及轉(zhuǎn)換子程序133.2.4計算溫度子程序143.2.5溫度顯示子程序153.2.6報警子程序164 pro
2、teus軟件仿真184.1 系統(tǒng)仿真設(shè)計184.2仿真結(jié)果分析185 系統(tǒng)原理圖196 心得體會201 設(shè)計概述1.1 設(shè)計目標和要求1.用所學(xué)的單片機知識設(shè)計制作數(shù)字溫度計;2.測溫范圍是-20-70;3.誤差小于0.5;4.所測的溫度值可以由lcd數(shù)碼管直接顯示;5.可以任意設(shè)置上下限溫度的報警功能;6.進一步熟悉proteus,protel,word軟件的功能和使用方法;1.2 設(shè)計思路首先確定我們所設(shè)計的是一個數(shù)字溫度計,由單片機、溫度傳感器以及其他電路共同實現(xiàn)。根據(jù)所要實現(xiàn)的功能,先在proteus軟件上仿真。根據(jù)所選用的硬件可以將整個軟件設(shè)計分為若干子程序,有初始化、查詢時間、發(fā)送
3、指令、讀取數(shù)據(jù)、顯示溫度等構(gòu)成,可將以上子程序分別設(shè)計,實現(xiàn)各自的功能,再在子程序中調(diào)用,就可以實現(xiàn)預(yù)期的目標。在proteus軟件里畫出相應(yīng)的電路圖,將編寫好的程序的編譯后的文件下載到proteus電路圖的單片機里,進行仿真,對溫度傳感器設(shè)置不同的參數(shù),看是否達到了我們設(shè)計所要求的目標,如果不符合要求,需要檢查程序算法和硬件連接是否有誤。若仿真成功,就按照電路圖焊接硬件。2 系統(tǒng)方案及硬件設(shè)計2.1 設(shè)計方案采用數(shù)字溫度芯片ds18b20 測量溫度,輸出信號全數(shù)字化。采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計ds18b20和atmega16單片機構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,也可直
4、接與計算機連接。采用atmega16單片機控制,軟件編程的自由度大,可通過編程實現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實現(xiàn)簡單,安裝方便。該系統(tǒng)利用atmega16芯片控制溫度傳感器ds18b20進行實時溫度檢測并顯示,能夠?qū)崿F(xiàn)快速測量環(huán)境溫度,并可以根據(jù)需要設(shè)定上下限溫度。該系統(tǒng)擴展性非常強。該測溫系統(tǒng)電路簡單、精確度較高、實現(xiàn)方便、軟件設(shè)計也比較簡單。2.2 方案的硬件總體方框圖 基于增強的avr risc結(jié)構(gòu)的低功耗8 位cmos微控制器atmega16,溫度傳感器采用的ds18b20,用四位數(shù)碼管顯示溫度。圖12.3 溫度傳感器ds18b20測溫原理ds18b20溫度傳感器是
5、美國dallas半導(dǎo)體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9-12位的數(shù)字值讀數(shù)方式。ds18b20的性能特點如下:(1)獨特的單線接口僅需要一個端口引腳進行通信,ds18b20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與ds18b20的雙向通訊。(2)ds18b20支持多點組網(wǎng)功能,多個ds18b20可以并聯(lián)在惟一的三線上,實現(xiàn)多點組網(wǎng)測溫;(3)無須外部器件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi);(4)可通過數(shù)據(jù)線供電,電壓范圍為3.0-5.5;(5)零待機功耗;(6)溫度
6、以9或12位數(shù)字,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現(xiàn)高精度測溫;(7)用戶可定義報警設(shè)置;(8)報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;(9)負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作;(10)測量結(jié)果直接輸出數(shù)字溫度信號,以一線總線串行傳送給cpu,同時可傳送crc校驗碼,具有極強的抗干擾糾錯能力ds18b20采用3腳pr35封裝或8腳soic封裝,其引腳排列及內(nèi)部結(jié)構(gòu)框圖如圖2及圖3以及圖4的測溫原理圖如下所示:圖2 引腳排列圖3 內(nèi)部結(jié)構(gòu)框圖預(yù)置斜率累加器比較低溫度系數(shù)振蕩器計數(shù)器1溫度寄存器tx預(yù)置=0
7、高溫度系數(shù)振蕩器-0計數(shù)器2t1加1停止t2圖4 ds18b20測溫原理圖64位rom的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前面56位的crc檢驗碼,這也是多個ds18b20可以采用一線進行通信的原因。溫度報警觸發(fā)器th和tl,可通過軟件寫入戶報警上下限。ds18b20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存ram和一個非易失性的可電擦除的eeram。高速暫存ram的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖4所示。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)th和tl的拷貝,是易失的,每次上電復(fù)位時被刷新。第5個字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字
8、轉(zhuǎn)換分辨率。ds18b20工作時寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖5所示。低5位一直為1,tm是工作模式位,用于設(shè)置ds18b20在工作模式還是在測試模式,ds18b20出廠時該位被設(shè)置為0,用戶不要去改動,r1和r0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。溫度 lsb溫度 msbth用戶字節(jié)1tl用戶字節(jié)2配置寄存器保留保留保留crctmr1r011111圖5 ds18b20的字節(jié)定義 ds18b20的分辨率定義如表2-1所示表2-1 分辨率設(shè)置表r0r1分辨率最大溫度轉(zhuǎn)移時間009位96.75ms0110位187.5ms1011位375ms1112位750ms由表
9、1可見,ds18b20溫度轉(zhuǎn)換的時間比較長,而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間越長。因此,在實際應(yīng)用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。主機控制ds18b20完成溫度轉(zhuǎn)換過程是:每一次讀寫之前都要對ds18b20進行復(fù)位,即將數(shù)據(jù)總線下拉500us,然后釋放,ds18b20收到信號后等待16-60us左右,之后發(fā)出60-240us的存在低脈沖,主cpu收到此此信號表示復(fù)位成功;復(fù)位成功后發(fā)送一條rom指令,然后發(fā)送ram指令,這樣才能對ds18b20進行預(yù)訂的讀寫操作。表2-2 rom指令集指令約定代碼功能讀rom33h讀ds18b20中的編碼符合rom55h發(fā)出此命令后,接著發(fā)出64位ro
10、m編碼,訪問單線總線上與該編輯相對應(yīng)的ds18b20使之做出響應(yīng),為下一步對該ds18b20的讀寫作準備搜索rom0f0h用于確定掛接在同一總線上的ds18b20個數(shù)和識別64位rom地址,為操作各器件作準備跳過rom0cch忽略64位rom地址,直接向ds18b20發(fā)送溫度變換指令告警搜索命令0ech執(zhí)行后,只有溫度跳過設(shè)定值上限或下限的片子才能做出反應(yīng)表2-3 ram指令集指令約定代碼功能溫度轉(zhuǎn)換44h啟動ds18b20進行溫度轉(zhuǎn)換讀暫存器0beh讀暫存器9個字節(jié)內(nèi)容寫暫存器4eh將數(shù)據(jù)寫入暫存器的th、tl字節(jié)復(fù)制暫存器48h把暫存器的th、tl字節(jié)寫到e2ram中重調(diào)e2ram0b8h
11、把e2ram中的th、tl字節(jié)寫到暫存器th、tl字節(jié)讀供電方式0b4h啟動ds18b20發(fā)送電源供電方式的信號給主cpu ds18b20的測溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入。器件中還有一個計數(shù)門,當計數(shù)門打開時,ds18b20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進行計數(shù)進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將最低溫所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器1、溫度寄存器中,計數(shù)器1和溫度寄存器被預(yù)置在最低溫
12、所對應(yīng)的一個基數(shù)值。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當減法計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器計數(shù)到0時,停止溫度寄存器的累加,此時溫度寄存器中的數(shù)值就是所測溫度值。其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值大致被測溫度值。2.4 硬件設(shè)計2.4.1 主控制器atmega16atmega16是基于增強的avr risc結(jié)構(gòu)的低功耗8 位cmos微控制器。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間,at
13、mega16 的數(shù)據(jù)吞吐率高達1 mips/mhz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。 atmega16 avr 內(nèi)核具有豐富的指令集和32 個通用工作寄存器。所有的寄存器都直接與算邏單元(alu) 相連接,使得一條指令可以在一個時鐘周期內(nèi)同時訪問兩個獨立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的cisc 微控制器最高至10 倍的數(shù)據(jù)吞吐率。 2.4.22.4.2 復(fù)位電路在這里采用的是按鈕加上電復(fù)位,系統(tǒng)每次上電和每次按下復(fù)位按鈕,系統(tǒng)就會復(fù)位。2.4.3 時鐘振蕩電路采用的是1mhz的晶振頻率,它與單片機的硬件連接電路如圖7所示圖7 晶振電路2.4.4報警點調(diào)節(jié)電路可
14、以通過微動開關(guān),任意調(diào)節(jié)報警點的上下限,電路如圖8所示圖8 報警點調(diào)節(jié)電路2.4.5顯示電路顯示電路采用集成的四位一體的數(shù)碼管,為共陰極結(jié)構(gòu),通過設(shè)置不同的段碼可以顯示溫度。圖9顯示電路3 軟件設(shè)計3.1系統(tǒng)分析系統(tǒng)程序主要包括ds1820初始化程序,向ds1820讀字節(jié)程序,向ds1820寫字節(jié)程序,讀取溫度及轉(zhuǎn)換程序,溫度顯示程序,報警程序。初始化向ds1820讀一字節(jié)向ds1820寫一字節(jié)讀取溫度及轉(zhuǎn)換顯示溫度圖10主程序流程圖3.2 各子程序及其流程圖設(shè)計3.2.1 初始化子程序 令p2.7為高電平,延遲一段時間后令p2.7為低電平觸發(fā)ds1820的初始化,低電平持續(xù)一段時間,然后讀取
15、p2.7的狀態(tài),直到p2.7的狀態(tài)回到高電平時說明初始化完成。#include #define dq p2_7#define dm p0sbit w0=p23;sbit w1=p24;sbit w2=p25;sbit w3=p26;sbit jia=p20;sbit jian=p21;sbit xuan=p22;/sbit p2_7=p27;sbit speaker=p10;#define uint unsigned int #define uchar unsigned charuint mark;uint xiaoshu;int temp1=0;uint h_t=10,l_t=-5;ucha
16、r table_dm=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar table_dm1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;uchar table_fuhao=0x00,0x40;void delay(unsigned int i) while(i-); /初始化函數(shù)p2.7=1延時p2.7=0延時p2.7=1?完成ny圖11 初始化流程圖3.2.2 ds1820的讀寫字節(jié)子程序單片機向ds1820讀寫字節(jié)都是從最低位開始的。init_ds18b20(void)un
17、signed char x=0;dq = 1; delay(8);dq = 0; delay(80);dq = 1; delay(14);x=dq; /稍做延時后 如果x=0則初始化成功 x=1則初始化失敗delay(20); /讀一個字節(jié)p2.7=1延時讀數(shù)據(jù)待寫入字節(jié)右移一位p2.7=1延時寫數(shù)據(jù)待寫入字節(jié)右移一位圖12 讀操作 圖13寫操作3.2.3 溫度讀取及轉(zhuǎn)換子程序在讀取溫度值命令前,應(yīng)使用溫度轉(zhuǎn)換命令才能保證讀入的是當前溫度值轉(zhuǎn)換過程中ds1820會拉低總線直至轉(zhuǎn)換完成,因此可以讀取溫度總線的狀態(tài)來判斷溫度轉(zhuǎn)換是否完成。readonechar(void)unsigned char
18、 i=0;unsigned char dat = 0;for (i=8;i0;i-)dq = 0;dat=1;dq = 1;if(dq) dat|=0x80;delay(4);return(dat); /寫一個字節(jié)初始化ds1820判斷符號位轉(zhuǎn)換溫度讀取溫度圖14溫度讀取及轉(zhuǎn)換3.2.4計算溫度子程序計算溫度子程序?qū)am中讀取值進行bcd碼的轉(zhuǎn)換運算,并進行溫度值正負的判定,其程序流程圖如圖14所示:writeonechar(unsigned char dat)unsigned char i=0;for (i=8; i0; i-)dq = 0;dq = dat&0x01;delay(5);d
19、q = 1;dat=1;delay(4);/讀取 圖 15溫度計算3.2.5溫度顯示子程序void delayms(uchar t)uint i;while(t-)for(i=0;i4); if(i=0) mark=0; t=(a4)|(b8)t=(t+1); else mark=1;a=a4; b=bh_t或,l_t報警yn 返回返回 fangui return圖17報警4 proteus軟件仿真 4.1 系統(tǒng)仿真設(shè)計本設(shè)計是在proteus環(huán)境下進行仿真的,仿真所用到的器件有:單片機atmega16,ds1820溫度傳感器,蜂鳴器,液晶顯示器,一些電阻,電容等。4.2仿真結(jié)果分析本設(shè)計在仿真的條件下可以正確的顯示溫度,并在溫度超過所設(shè)置的最高溫度或最低溫度時,蜂鳴器將發(fā)出滴滴的警告聲。且本設(shè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 服裝圖案版權(quán)出售協(xié)議
- 產(chǎn)品陳列合作協(xié)議書
- 2024年購買水泵合同范本
- 商場移交協(xié)議書2024年
- 房屋轉(zhuǎn)租合同范文標準
- 辦公室店鋪合租協(xié)議
- 專業(yè)裝修合同示例
- 2024年打井合同文檔
- 個人汽車抵押借款合同書范本的條款解讀
- 個人裝修合作意向協(xié)議
- 山東省濱州市博興縣2024-2025學(xué)年九年級上學(xué)期11月期中數(shù)學(xué)試題
- 【課件】 2024消防月主題培訓(xùn):全民消防 生命至上
- 山東省自然科學(xué)基金申報書-青年基金
- 2024-2030年中國煉化一體化行業(yè)風(fēng)險評估與市場需求前景預(yù)測報告
- 期中練習(xí)(試題)-2024-2025學(xué)年人教PEP版英語六年級上冊
- 反恐防暴課件教學(xué)課件
- 污泥(廢水)運輸服務(wù)方案(技術(shù)方案)
- 水墨探索 課件 2024-2025學(xué)年嶺美版初中美術(shù)八年級上冊
- 山西省運城市2024-2025學(xué)年高二上學(xué)期10月月考語文試題
- 20世紀外國文學(xué)史課件:“垮掉的一代”
- 2024年高考英語模擬卷1全解全析(北京專用)
評論
0/150
提交評論