




已閱讀5頁(yè),還剩11頁(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)介
設(shè)計(jì)題目: 數(shù)字溫度表設(shè)計(jì) 一 方案設(shè)計(jì)1二 系統(tǒng)的硬件設(shè)計(jì)21、主控制器22、顯示電路43、溫度傳感器工作原理44、溫度傳感器接口電路8三 系統(tǒng)的軟件設(shè)計(jì)81、主程序82、溫度測(cè)量92.1 DS18B20復(fù)位函數(shù)92.2 從DS18B20中讀取一個(gè)字節(jié)92.3 向DS18B20寫(xiě)一個(gè)字節(jié)92.4 從DS18B20讀取數(shù)據(jù)103、數(shù)碼管顯示10四 系統(tǒng)的測(cè)試11五 總結(jié)11附錄 源程序清單12一、方案設(shè)計(jì)本設(shè)計(jì)主要是介紹了單片機(jī)控制下的溫度檢測(cè)系統(tǒng),詳細(xì)介紹了其硬件和軟件設(shè)計(jì),并對(duì)其各功能模塊做了詳細(xì)介紹,其主要功能和指標(biāo)如下:利用溫度傳感器(DS18B20)測(cè)量某一點(diǎn)環(huán)境溫度測(cè)量范圍為0100,精度為0.5用數(shù)碼管進(jìn)行實(shí)際溫度值顯示采用AT89C52單片機(jī)P2 .4口控制溫度傳感器DS18B20的溫度測(cè)量,以四位數(shù)碼感形式輸出測(cè)量溫度,總體設(shè)計(jì)方框圖以及原理圖分別如下圖所示:時(shí)鐘振蕩主控制器AT89C52單片機(jī)復(fù)位LED顯示溫度傳感器圖1.1 總體設(shè)計(jì)方框圖圖1.2 溫度系統(tǒng)原理圖二 系統(tǒng)的硬件設(shè)計(jì)1、主程序 AT89C52 是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非 易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。AT89C52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路。另外,AT89C52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工 作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。 圖2.1 時(shí)鐘電路與復(fù)位電路2、顯示電路 顯示采用6位數(shù)碼管,圖2.2為溫度顯示電路 圖2.2溫度顯示電路3、溫度傳感器工作原理DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)位的數(shù)字值讀數(shù)方式。DS18B20的性能特點(diǎn)如下: 獨(dú)特的單線接口僅需一個(gè)端口引腳進(jìn)行通訊 簡(jiǎn)單的多點(diǎn)分布應(yīng)用 無(wú)需外部器件 可通過(guò)數(shù)據(jù)線供電 零待機(jī)功耗 測(cè)溫范圍-55+125,以0.5遞增。華氏器件-67+2570F,以0.90F 遞增 溫度以9 位數(shù)字量讀出 溫度數(shù)字量轉(zhuǎn)換時(shí)間200ms(典型值) 用戶可定義的非易失性溫度報(bào)警設(shè)置 報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列、各種封裝形式如圖 2.3所示,DQ 為數(shù)據(jù)輸入/輸出引腳。開(kāi)漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源;GND為地信號(hào);VDD為可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。其電路圖 2.4所示.。 圖 2.3外部封裝形式 圖 2.4傳感器電路圖DS18B20的測(cè)溫原理如圖2.5所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入,圖中還隱含著計(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è)量前,首先將-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ù)置值減到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è)溫圖2中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性其輸出用,于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門(mén)仍未關(guān)閉就重復(fù)上述過(guò)程,直至溫度寄存器值達(dá)到被測(cè)溫度值,這就是DS18B20的測(cè)溫原理。另外,由于DS18B20單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,因此讀寫(xiě)時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。圖2.5 DS18B20測(cè)溫原理圖在正常測(cè)溫情況下,DS1820的測(cè)溫分辨力為0.5,可采用下述方法獲得高分辨率的溫度測(cè)量結(jié)果:首先用DS1820提供的讀暫存器指令(BEH)讀出以0.5為分辨率的溫度測(cè)量結(jié)果,然后切去測(cè)量結(jié)果中的最低有效位(LSB),得到所測(cè)實(shí)際溫度的整數(shù)部分Tz,然后再用BEH指令取計(jì)數(shù)器1的計(jì)數(shù)剩余值Cs和每度計(jì)數(shù)值CD??紤]到DS1820測(cè)量溫度的整數(shù)部分以0.25、0.75為進(jìn)位界限的關(guān)系,實(shí)際溫度Ts可用下式計(jì)算: 4、溫度傳感器接口電路 圖2.6溫度傳感器接口電路三 系統(tǒng)的軟件設(shè)計(jì)1、主程序void main()uchar temp, temp1;while(1)scandisp();readtemp();temp1 = temper0;temp = temper1;dispbuf4 = ditabtemp1;dispbuf1 = temp/100;dispbuf3 = temp%10;temp = temp/10;dispbuf2 = temp%10;dispbuf0 = flag;dispbuf5 = 11; 2、溫度測(cè)量2.1 DS18B20復(fù)位函數(shù)void reset(void)uchar x = 0;DQ = 1;delay(8);DQ = 0;delay(80);DQ = 1;delay(14);x = DQ;delay(20);2.2 從DS18B20中讀一個(gè)字節(jié)uchar readbyte(void)uchar i = 0;uchar dat = 0;for(i = 8; i 0;i-)DQ = 0;dat = 1;DQ = 1;if(DQ)dat |= 0x80;delay(4); return dat;2.3 向DS18B20寫(xiě)一個(gè)字節(jié)void writebyte(unsigned char dat)uchar i = 0;for(i = 8; i 0; i-)DQ = 0;DQ = dat & 0x01;delay(5);DQ = 1;dat = 1;delay(4);2.4從DS18B20讀取數(shù)據(jù)void readtemp(void)uchar a = 0, b = 0;reset();writebyte(0xCC);/跳過(guò)序列號(hào)writebyte(0x44);/啟動(dòng)溫度轉(zhuǎn)換reset();writebyte(0xCC);writebyte(0xBE);/讀9個(gè)寄存器,前兩個(gè)位溫度a = readbyte();/低位b = readbyte();/高位if(b 0x0f) /判斷是否為負(fù)值 a = a + 1; if(a = 0) b = b + 1; else b= b; flag = 10; else flag = 12;temper0 = a & 0x0f;a = a 4;temper1 = b 4;temper1 = temper1|a;3、數(shù)碼管顯示void scandisp()unsigned char i ,value;for(i = 0; i 8; i+)P3 = 0xff;value = tabledispbufi;if(i = 3)value |= 0x80;P0 = value;P3 = scani;delay(50);四 系統(tǒng)的測(cè)試4.1 測(cè)試時(shí)的圖片 圖4.1測(cè)量溫度結(jié)果五 總結(jié) 通過(guò)近兩個(gè)星期的單片機(jī)課程設(shè)計(jì),我終于完成了“數(shù)字溫度表設(shè)計(jì)”,心中不免有些高興,但高興之余也有我值得深思的。 雖然以前做過(guò)類似的實(shí)驗(yàn),但這次的課程設(shè)計(jì)還是讓我學(xué)到了很多東西,單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法。有好多的東西,只有我們?nèi)ピ囍隽耍拍苷嬲恼莆?,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。通過(guò)這次的單片機(jī)課程設(shè)計(jì)我認(rèn)識(shí)到了,學(xué)習(xí)要理論聯(lián)系實(shí)際,把學(xué)到的理論知識(shí)同實(shí)際運(yùn)用相結(jié)合,才能是我們的知識(shí)融匯貫通,才能真正的學(xué)到知識(shí),真正的做到學(xué)以致用。附錄 源程序清單/*/包含文件,程序開(kāi)始/*#include#define uchar unsigned char#define uint unsigned intsbit DQ = P24;/DS18B20數(shù)據(jù)線引腳unsigned char flag;/負(fù)數(shù)標(biāo)志/行掃描數(shù)組uchar code scan8 = 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/row0-row7/數(shù)碼管顯示的段碼表uchar code table13 = 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x40,0x39,0x00;/小數(shù)部分顯示查詢表uchar code ditab16 = 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09;uchar dispbuf8;/顯示緩沖區(qū)uchar temper2;/存放溫度的數(shù)組/*/延時(shí)函數(shù)/*void delay(unsigned int us)while(us-);/*/DS18B20復(fù)位函數(shù)/*void reset(void)uchar x = 0;DQ = 1;delay(8);DQ = 0;delay(80);DQ = 1;delay(14);x = DQ;delay(20);/*/從DS18B20中讀一個(gè)字節(jié)/*uchar readbyte(void)uchar i = 0;uchar dat = 0;for(i = 8; i 0;i-)DQ = 0;dat = 1;DQ = 1;if(DQ)dat |= 0x80;delay(4); return dat;/*/向DS18B20寫(xiě)一個(gè)字節(jié)/*void writebyte(unsigned char dat)uchar i = 0;for(i = 8; i 0; i-)DQ = 0;DQ = dat & 0x01;delay(5);DQ = 1;dat = 1;delay(4);/*/從DS18B20讀取數(shù)據(jù)/*void readtemp(void)uchar a = 0, b = 0;reset();writebyte(0xCC);/跳過(guò)序列號(hào)writebyte(0x44);/啟動(dòng)溫度轉(zhuǎn)換reset();writebyte(0xCC);writebyte(0xBE);/讀9個(gè)寄存器,前兩個(gè)位溫度a = readbyte();/低位b = readbyte();/高位if(b 0x0f) /判斷是否為負(fù)值 a = a + 1; if(a = 0) b = b + 1; else b= b; flag = 10; else flag = 12;temper0 = a & 0x0f;a = a 4;temper1 = b 4;temper1 = temper1|a;/*/動(dòng)態(tài)掃描顯示函數(shù)/*void scandisp()unsigned char i ,value;for(i = 0; i 8; i+)P3 = 0xff;value = tabledispbufi;if(i = 3)val
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)保險(xiǎn)市場(chǎng)結(jié)構(gòu)-洞察及研究
- 2025年制造業(yè)供應(yīng)鏈數(shù)字化協(xié)同管理智能制造模式研究報(bào)告
- 2025年制藥行業(yè)智能化生產(chǎn)線升級(jí)改造效益分析報(bào)告
- 熱沉結(jié)構(gòu)設(shè)計(jì)-洞察及研究
- 第二期資金注入時(shí)機(jī)-洞察及研究
- 壽司節(jié)日活動(dòng)方案
- 家庭教育中秋節(jié)活動(dòng)方案
- 寒假選拔活動(dòng)方案
- 小兔買(mǎi)菜活動(dòng)方案
- 家電活動(dòng)短視頻策劃方案
- 2023年晉江市醫(yī)院醫(yī)護(hù)人員招聘筆試題庫(kù)及答案解析
- 結(jié)構(gòu)設(shè)計(jì)總說(shuō)明(帶圖完整版)分解
- 第二外語(yǔ)(日語(yǔ))試卷
- 食品營(yíng)養(yǎng)標(biāo)簽的解讀課件
- 二手新能源汽車(chē)充電安全承諾書(shū)
- 品質(zhì)異常8D報(bào)告 (錯(cuò)誤模板及錯(cuò)誤說(shuō)明)指導(dǎo)培訓(xùn)
- 公共關(guān)系學(xué)-實(shí)訓(xùn)項(xiàng)目1:公關(guān)三要素分析
- 網(wǎng)頁(yè)設(shè)計(jì)基礎(chǔ)ppt課件(完整版)
- 貴陽(yáng)市建設(shè)工程消防整改驗(yàn)收申請(qǐng)表
- 2021-2022學(xué)年云南省昆明市高一下冊(cè)物理期末調(diào)研試題(含答案)
- 吉安土地利用總體規(guī)劃
評(píng)論
0/150
提交評(píng)論