單片機(jī)課程設(shè)計(jì)-數(shù)字溫度計(jì)(共18頁)_第1頁
單片機(jī)課程設(shè)計(jì)-數(shù)字溫度計(jì)(共18頁)_第2頁
單片機(jī)課程設(shè)計(jì)-數(shù)字溫度計(jì)(共18頁)_第3頁
單片機(jī)課程設(shè)計(jì)-數(shù)字溫度計(jì)(共18頁)_第4頁
單片機(jī)課程設(shè)計(jì)-數(shù)字溫度計(jì)(共18頁)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、PAGE PAGE 武 夷 學(xué) 院 課程設(shè)計(jì)報(bào)告(bogo)課程名稱:單片機(jī)及嵌入式技術(shù)設(shè)計(jì)題目:數(shù)字溫度計(jì)學(xué)生班級:13計(jì)算機(jī)科學(xué)與技術(shù)(1)班學(xué)生姓名:陳圣盛、周鵬飛、劉犇指導(dǎo)教師:焦金濤完成日期:2015-12-25數(shù)學(xué)(shxu)與計(jì)算機(jī)學(xué)院 課程設(shè)計(jì)項(xiàng)目研究(ynji)報(bào)告目 錄 TOC o 1-3 h z u HYPERLINK l _Toc1663 第 1 章 項(xiàng)目(xingm)簡介 PAGEREF _Toc1663 3 HYPERLINK l _Toc21872 1.1 項(xiàng)目名稱 PAGEREF _Toc21872 3 HYPERLINK l _Toc13070 1.2 開發(fā)人

2、員 PAGEREF _Toc13070 3 HYPERLINK l _Toc26773 1.3 指導(dǎo)(zhdo)教師 PAGEREF _Toc26773 3 HYPERLINK l _Toc5068 第 2 章 項(xiàng)目研究意義 PAGEREF _Toc5068 3 HYPERLINK l _Toc18930 2.1 課程設(shè)計(jì)概述 PAGEREF _Toc18930 3 HYPERLINK l _Toc28309 2.2 需求分析 PAGEREF _Toc28309 3 HYPERLINK l _Toc8219 2.3 研究意義 PAGEREF _Toc8219 4 HYPERLINK l _To

3、c3882 第 3 章 采用的技術(shù) PAGEREF _Toc3882 4 HYPERLINK l _Toc20811 3.1 課程設(shè)計(jì)的方案設(shè)計(jì)論證 PAGEREF _Toc20811 4 HYPERLINK l _Toc20079 3.2 重要算法的設(shè)計(jì)、流程描述 PAGEREF _Toc20079 7 HYPERLINK l _Toc30749 第4 章 課程設(shè)計(jì)項(xiàng)目進(jìn)度表 PAGEREF _Toc30749 8 HYPERLINK l _Toc5300 第5 章 課程設(shè)計(jì)任務(wù)分配表 PAGEREF _Toc5300 8 HYPERLINK l _Toc15166 第6 章 系統(tǒng)設(shè)計(jì) PA

4、GEREF _Toc15166 9 HYPERLINK l _Toc14116 61 程序設(shè)計(jì)思想 PAGEREF _Toc14116 9 HYPERLINK l _Toc1940 62 程序最終實(shí)現(xiàn)結(jié)果 PAGEREF _Toc1940 9 HYPERLINK l _Toc20944 第7 章 源程序 PAGEREF _Toc20944 10 HYPERLINK l _Toc26790 第8 章 設(shè)計(jì)心得 PAGEREF _Toc26790 15 HYPERLINK l _Toc2802 第9 章 參考文獻(xiàn) PAGEREF _Toc2802 15 數(shù)學(xué)與計(jì)算機(jī)學(xué)院 第 1 章 項(xiàng)目(xing

5、m)簡介1.1 項(xiàng)目名稱 數(shù)字(shz)溫度計(jì)1.2 開發(fā)人員 13計(jì)科1班 陳圣盛(組長)、周鵬飛、劉犇1.3 指導(dǎo)(zhdo)教師 焦金濤第 2 章 項(xiàng)目研究意義2.1 課程設(shè)計(jì)概述 隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實(shí)現(xiàn)能夠獨(dú)立工作的溫度檢測和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,但需后續(xù)信號處理電路,而且可靠性相對較差,測溫準(zhǔn)確度低,檢測系統(tǒng)也有一定的誤差。與傳統(tǒng)的溫度計(jì)相比,這里設(shè)計(jì)的數(shù)字溫度計(jì)具有讀數(shù)方便,測溫范圍廣,測溫精確,數(shù)字顯示,適用范圍寬等特點(diǎn)。選用STC89C52單片機(jī)作為主控制器件,實(shí)現(xiàn)溫度顯示。通過DSl8B2

6、0直接讀取被測溫度值,該器件的物理化學(xué)性能穩(wěn)定,線性度較好,測量溫度范圍寬,測量精度高 DS18B20 的測量范圍為 -55 + 125 ; 在 -10+ 85C 范圍內(nèi),精度為 0.5C 。2.2 需求分析 目前溫度計(jì)的發(fā)展很快,從原始的玻璃溫度計(jì)管溫度計(jì)發(fā)展到了現(xiàn)在的熱電阻溫度計(jì)、熱電偶溫度計(jì)、數(shù)字溫度計(jì)、電子溫度計(jì)等等。隨著各類電子產(chǎn)品的便攜化,可用于片上測溫的集成溫度傳感器的發(fā)展便越趨灼熱化。傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器被廣泛用于工農(nóng) 業(yè)生產(chǎn)、科學(xué)研究和生活等領(lǐng)域,數(shù)量高居各種傳感器之首。我們所設(shè)計(jì)的數(shù)字溫度計(jì)精度較高,能直觀地顯示溫度,并且有警報(bào)系統(tǒng),在蔬菜大棚

7、、工作車間、室溫檢測等,都有較高使用價(jià)值。2.3 研究(ynji)意義 目前的溫度計(jì)中傳感器是它的重要組成部分,它的精度、靈敏度基本決定了溫度計(jì)的精度、測量范圍、控制(kngzh)范圍和用途等。傳感器應(yīng)用極其廣泛,目前已經(jīng)研制出多種新型傳感器。但是,作為應(yīng)用系統(tǒng)設(shè)計(jì)人員需要根據(jù)系統(tǒng)要求選用適宜的傳感器,并與自己設(shè)計(jì)的系統(tǒng)連接起來,從而構(gòu)成性能優(yōu)良的監(jiān)控系統(tǒng)。伴隨著我們軟件開發(fā)水平的提高,我們有必加深對溫度傳感器的認(rèn)識,要進(jìn)一步提高溫度計(jì)設(shè)計(jì)上的智能化程度。第 3 章 采用(ciyng)的技術(shù)3.1 課程設(shè)計(jì)的方案設(shè)計(jì)論證我們所設(shè)計(jì)的數(shù)字溫度計(jì)主要使用到了51單片機(jī)中的3個(gè)器件:蜂鳴器、發(fā)光二極

8、管LED顯示器和DS18B20溫度傳感器。首先通過溫度傳感器獲取周圍的環(huán)境溫度,在LED上直觀地顯示出來,倘若溫度過高、過低,蜂鳴器就會報(bào)警。蜂鳴器:蜂鳴器的工作電路如圖3-1.1所示,蜂鳴器電流一般比較大,單片機(jī)的I/O 口是無法直接驅(qū)動(dòng),所以要利用放大電路來驅(qū)動(dòng),一般使用三極管來放大電流;通過P2.3來控制蜂鳴器,當(dāng)我們需要蜂鳴器工作的時(shí)候輸入高電平,而蜂鳴器不需要鳴叫的時(shí)候,將I/O 口設(shè)置為低電平即可。在我們不用蜂鳴器的時(shí)候,注意將I/O設(shè)置為低電平,為了防止漏電。圖3-1 蜂鳴器驅(qū)動(dòng)(q dn)模塊發(fā)光二極管LED顯示器:在51單片機(jī)中,一共使用兩個(gè)74HC573驅(qū)動(dòng)段位、位選,使用

9、16個(gè)IO口。在代碼中,段位和位選都通過(tnggu)P0端口寫入數(shù)據(jù),通過P2.6口控制段位,通過P2.7口控制位選。動(dòng)態(tài)顯示數(shù)據(jù)過程中,我們先通過P0口寫入字形碼、P2.6口鎖存字形碼數(shù)據(jù),寫入的數(shù)據(jù)同時(shí)傳給每一個(gè)LED燈。之后通過P0口寫入位選信號, P2.7寫1,寫0,鎖存數(shù)據(jù),寫入的數(shù)據(jù)指定了字形碼顯示的位置。在這個(gè)實(shí)驗(yàn)設(shè)計(jì)過程中,我們僅使用到了3個(gè)LED數(shù)碼管。圖3-2數(shù)碼管驅(qū)動(dòng)電路(dinl)DS18B20:單線(dnxin)數(shù)字溫度傳感器,即“一線(yxin)器件”,其具有獨(dú)特的優(yōu)點(diǎn):(1)采用單總線的接口方式與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與 DS18B20 的

10、雙向通訊。 單總線具有經(jīng)濟(jì)性好,抗干擾能力強(qiáng),適合于惡劣環(huán)境的現(xiàn)場溫度測量,使用方便等優(yōu)點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。 ( 2 )測量溫度范圍寬,測量精度高 DS18B20的測量范圍為-55+ 125 ; 在-10+ 85C范圍內(nèi),精度為0.5C 。 單總線即只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換,控制都由這根線完成。 單總線通常要求外接一個(gè)約為 4.7K10K 的上拉電阻,這樣,當(dāng)總線閑置時(shí)其狀態(tài)為高電平。 圖3-3溫度(wnd)測量IC DS18B20經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速(o s)暫存存儲器的第0和第1個(gè)字節(jié)。所以當(dāng)我們只想簡單的讀取溫度

11、值的時(shí)候,只用讀取暫存器中的第0和第1個(gè)字節(jié)就可以了。 簡單(jindn)的讀取溫度值的步驟如下: 跳過ROM操作 發(fā)送溫度轉(zhuǎn)換命令 跳過ROM操作 發(fā)送讀取溫度命令 讀取溫度值單片機(jī):本次設(shè)計(jì)使用單片機(jī)芯片STC89C52 STC89C52的工作特性: 主要特性: 與MCS-51 兼容 8K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán) 數(shù)據(jù)保留時(shí)間:10年 全靜態(tài)工作:0Hz-24Hz 三級程序存儲器鎖定 512內(nèi)部RAM 圖3-4 STC89C52引腳圖32可編程I/O線 兩個(gè)16位定時(shí)器/計(jì)數(shù)器 5個(gè)中斷源 可編程串行通道(tngdo) 低功耗的閑置(xinzh)和掉電模式 片內(nèi)振蕩器

12、和時(shí)鐘(shzhng)電路3.2 重要算法的設(shè)計(jì)、流程描述開始 S51寄存器初始化18b20存在 N Y 溫度轉(zhuǎn)換命令讀取溫度發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)溫度轉(zhuǎn)換開始命令 結(jié)束 圖3-2溫度提示 溫度數(shù)據(jù)處理理 圖 3-5 DS18B20初始化流程圖 圖3-6 溫度轉(zhuǎn)換流程圖 第4 章 課程設(shè)計(jì)項(xiàng)目進(jìn)度表日期完成的工作2015.12.21方案確定,查找資料2015.12.22功能分析、代碼編寫2015.12.23調(diào)試程序、改進(jìn)程序、撰寫報(bào)告2015.12.24答辯考核2015.12.25交課程設(shè)計(jì)紙質(zhì)和電子版材料第5 章 課程設(shè)計(jì)任務(wù)分配表成員座號項(xiàng)目內(nèi)容序號陳圣盛26號代碼編寫

13、與修改2、可行性研究01周鵬飛15號報(bào)告撰寫2、功能合理性分析02劉犇16號程序調(diào)試及異常處理方案擬定03第6 章 系統(tǒng)(xtng)設(shè)計(jì)61 程序(chngx)設(shè)計(jì)(shj)思想我們所設(shè)計(jì)的數(shù)字溫度計(jì)使用到了51單片機(jī)中的3個(gè)器件:蜂鳴器、發(fā)光二極管LED顯示器和DS18B20溫度傳感器。DS18B20溫度傳感器測量范圍大,測量數(shù)值相對精確,通過對這些器件我們可以制作一個(gè)既能顯示溫度,又有報(bào)警系統(tǒng)的數(shù)字溫度計(jì)。由于從器件DS18B20采用單總線的接口方式與主機(jī)相連,一次只能讀取一位數(shù)據(jù),對讀取到的數(shù)據(jù),我們要進(jìn)行轉(zhuǎn)換,順序?yàn)椋篵itucharunitfloat,對于最終獲取的float類型的數(shù)

14、據(jù),我們就可以很方便對它進(jìn)行操作,通過求余、求模運(yùn)算,實(shí)現(xiàn)LED數(shù)碼管逐個(gè)顯示數(shù)據(jù);通過數(shù)值大小判斷,控制蜂鳴器的開關(guān),最終實(shí)現(xiàn)數(shù)字溫度計(jì)的全部功能。62 程序最終實(shí)現(xiàn)結(jié)果 圖6-1實(shí)驗(yàn)結(jié)果顯示 將數(shù)據(jù)燒錄到單片機(jī)之后的結(jié)果如圖所示,圖中所示溫度下,蜂鳴器發(fā)出警報(bào)。為了便于觀察,當(dāng)溫度超過26攝氏度、低于24攝氏度,蜂鳴器都將發(fā)出警報(bào),實(shí)際應(yīng)用過程中,需要修改這一部分代碼。第7 章 源程序/初始化ROM操作(cozu)指令(寫)存儲器操作(cozu)指令(寫)數(shù)據(jù)傳輸(讀)#include #define uchar unsigned char#define uint unsigned int

15、#define ON 0#define OFF 1sbit FM=P23;sbit DS=P22; /接口定義uint temp; / 溫度(wnd)值uchar flag1; / 標(biāo)志sbit dula=P26;sbit wela=P27;unsigned char code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d, 0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;unsigned char code table1=0 xbf,0 x86,0 xdb,0 xcf,0 xe6,0

16、 xed,0 xfd, 0 x87,0 xff,0 xef;void delay(uint count) /delay uint i; while(count) i=200; while(i0) i-; count-; void dsreset(void) /初始化命令 uint i; DS=0;/DS表示P2.2口,這里通過單片機(jī)拉低電壓 i=103; /將總線拉低480us960us while(i0)i-; DS=1; /然后拉高總線,若DS18B20做出反應(yīng)會將在15us60us后將總線拉低 i=4; /15us60us等待 while(i0)i-;bit tmpreadbit(voi

17、d) /讀取溫度(wnd)(一位數(shù)據(jù)) uint i; bit dat; DS=0;i+; /i+ for delay DS=1;i+;i+;/拉低電平,之后(zhhu)提高,一段時(shí)間之后讀取數(shù)據(jù)(1us15us) dat=DS; i=8;while(i0)i-;/等待時(shí)間(不進(jìn)行(jnxng)操作) return (dat);uchar tmpread(void) /讀取溫度(8位-uchar) uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=tmpreadbit(); dat=(j1); /讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個(gè)字節(jié)在DAT里 return(

18、dat);/* 向18B20寫入一個(gè)字節(jié)* 輸入dat*/void tmpwritebyte(uchar dat) uint i; uchar j; bit testb; /定義一個(gè)位變量,如果是1,就寫1,如果不是就向D1820寫0 for(j=1;j1; if(testb) /write 1 DS=0; i+;i+; /大于1us(進(jìn)行兩次i+,必定大于1us,小于15us) DS=1; i=8;while(i0)i-; /小于60us else DS=0; /write 0 i=8;while(i0)i-; /小于60us DS=1; i+;i+; /*讓18B20開始(kish)轉(zhuǎn)換溫

19、度0 x44*輸入(shr)com*/void tmpchange(void) /DS18B20 begin change dsreset(); delay(1); tmpwritebyte(0 xcc); /跳過ROM操作命令 tmpwritebyte(0 x44); /溫度(wnd)轉(zhuǎn)換命令 /delay(100);/根據(jù)實(shí)際程序決定是否等待/*讀取溫度必要的操作*跳過ROM操作*發(fā)送溫度轉(zhuǎn)換指令(采樣)0 x44*跳過ROM操作0 xcc*發(fā)送讀取溫度命令0 x33*讀取溫度值*/uint tmp() / 通過tmpread 獲取溫度,然后計(jì)算出補(bǔ)碼 float tt; uchar a,

20、b;/獲取高低8位溫度 dsreset();/初始化 delay(1);/不進(jìn)行操作 tmpwritebyte(0 xcc); /跳過ROM操作命令 tmpwritebyte(0 xbe); /發(fā)送讀取溫度命令 a=tmpread();/低8位 b=tmpread();/高8位 temp=b;/將2個(gè)8位的溫度(wnd)裝到16位的temp里面 temp0;a-) for(b=60;b0;b-); /*P0口輸入對應(yīng)的字形碼*輸入字形碼鎖存位選輸入鎖存顯示*P2.6、P2.7(74HC573鎖存器)鎖存器*P2.6段選、P2.7位選,當(dāng)鎖存使能為高,輸出同步,使能變低,鎖存數(shù)據(jù)*動(dòng)態(tài)顯示過程中

21、,每盞燈是依次點(diǎn)亮的*/void display(uint temp)/顯示程序?qū)@取的溫度顯示在LED上 uchar A1,A2,A2t,A3,ser; ser=temp/10; SBUF=ser; A1=temp/100; A2t=temp%100; A2=A2t/10; A3=A2t%10; dula=0; P0=tableA1;/顯示(xinsh)百位 dula=1; dula=0; wela=0; P0=0 xfe; wela=1; wela=0; delay(1); dula=0; P0=table1A2;/顯示(xinsh)十位 dula=1; dula=0; wela=0; P0=0 xfd; wela=1; wela=0; delay(1); P0=tableA3;/顯示(xinsh)個(gè)位 dula=1; dula=0; P0=0 xfb; wela=1; wela=0; delay(1); if(temp240&temp0;a-)/延遲(保持(boch)數(shù)碼管顯示) display(tmp(); whil

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論