




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、武 夷 學(xué) 院 課程設(shè)計報告課程名稱:單片機及嵌入式技術(shù)設(shè)計題目:數(shù)字溫度計學(xué)生班級:13計算機科學(xué)與技術(shù)(1)班學(xué)生姓名:陳圣盛、周鵬飛、劉犇指導(dǎo)教師:焦金濤完成日期:2015-12-25數(shù)學(xué)與計算機學(xué)院 課程設(shè)計項目研究報告目 錄第 1 章 項目簡介31.1 項目名稱31.2 開發(fā)人員31.3 指導(dǎo)教師3第 2 章 項目研究意義32.1 課程設(shè)計概述32.2 需求分析32.3 研究意義4第 3 章 采用的技術(shù)43.1 課程設(shè)計的方案設(shè)計論證43.2 重要算法的設(shè)計、流程描述7第4 章 課程設(shè)計項目進度表8第5 章 課程設(shè)計任務(wù)分配表8第6 章 系統(tǒng)設(shè)計961 程序設(shè)計思想962 程序最終實
2、現(xiàn)結(jié)果9第7 章 源程序10第8 章 設(shè)計心得15第9 章 參考文獻(xiàn)15 數(shù)學(xué)與計算機學(xué)院 第 1 章 項目簡介1.1 項目名稱 數(shù)字溫度計1.2 開發(fā)人員 13計科1班 陳圣盛(組長)、周鵬飛、劉犇1.3 指導(dǎo)教師 焦金濤第 2 章 項目研究意義2.1 課程設(shè)計概述 隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實現(xiàn)能夠獨立工作的溫度檢測和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,但需后續(xù)信號處理電路,而且可靠性相對較差,測溫準(zhǔn)確度低,檢測系統(tǒng)也有一定的誤差。與傳統(tǒng)的溫度計相比,這里設(shè)計的數(shù)字溫度計具有讀數(shù)方便,測溫范圍廣,測溫精確,數(shù)字顯示,適用范圍
3、寬等特點。選用STC89C52單片機作為主控制器件,實現(xiàn)溫度顯示。通過DSl8B20直接讀取被測溫度值,該器件的物理化學(xué)性能穩(wěn)定,線性度較好,測量溫度范圍寬,測量精度高 DS18B20 的測量范圍為 -55 + 125 ; 在 -10+ 85C 范圍內(nèi),精度為 0.5C 。2.2 需求分析 目前溫度計的發(fā)展很快,從原始的玻璃溫度計管溫度計發(fā)展到了現(xiàn)在的熱電阻溫度計、熱電偶溫度計、數(shù)字溫度計、電子溫度計等等。隨著各類電子產(chǎn)品的便攜化,可用于片上測溫的集成溫度傳感器的發(fā)展便越趨灼熱化。傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器被廣泛用于工農(nóng) 業(yè)生產(chǎn)、科學(xué)研究和生活等領(lǐng)域,數(shù)量高居各種傳感器
4、之首。我們所設(shè)計的數(shù)字溫度計精度較高,能直觀地顯示溫度,并且有警報系統(tǒng),在蔬菜大棚、工作車間、室溫檢測等,都有較高使用價值。2.3 研究意義 目前的溫度計中傳感器是它的重要組成部分,它的精度、靈敏度基本決定了溫度計的精度、測量范圍、控制范圍和用途等。傳感器應(yīng)用極其廣泛,目前已經(jīng)研制出多種新型傳感器。但是,作為應(yīng)用系統(tǒng)設(shè)計人員需要根據(jù)系統(tǒng)要求選用適宜的傳感器,并與自己設(shè)計的系統(tǒng)連接起來,從而構(gòu)成性能優(yōu)良的監(jiān)控系統(tǒng)。伴隨著我們軟件開發(fā)水平的提高,我們有必加深對溫度傳感器的認(rèn)識,要進一步提高溫度計設(shè)計上的智能化程度。第 3 章 采用的技術(shù)3.1 課程設(shè)計的方案設(shè)計論證我們所設(shè)計的數(shù)字溫度計主要使用到
5、了51單片機中的3個器件:蜂鳴器、發(fā)光二極管LED顯示器和DS18B20溫度傳感器。首先通過溫度傳感器獲取周圍的環(huán)境溫度,在LED上直觀地顯示出來,倘若溫度過高、過低,蜂鳴器就會報警。蜂鳴器:蜂鳴器的工作電路如圖3-1.1所示,蜂鳴器電流一般比較大,單片機的I/O 口是無法直接驅(qū)動,所以要利用放大電路來驅(qū)動,一般使用三極管來放大電流;通過P2.3來控制蜂鳴器,當(dāng)我們需要蜂鳴器工作的時候輸入高電平,而蜂鳴器不需要鳴叫的時候,將I/O 口設(shè)置為低電平即可。在我們不用蜂鳴器的時候,注意將I/O設(shè)置為低電平,為了防止漏電。圖3-1 蜂鳴器驅(qū)動模塊發(fā)光二極管LED顯示器:在51單片機中,一共使用兩個74
6、HC573驅(qū)動段位、位選,使用16個IO口。在代碼中,段位和位選都通過P0端口寫入數(shù)據(jù),通過P2.6口控制段位,通過P2.7口控制位選。動態(tài)顯示數(shù)據(jù)過程中,我們先通過P0口寫入字形碼、P2.6口鎖存字形碼數(shù)據(jù),寫入的數(shù)據(jù)同時傳給每一個LED燈。之后通過P0口寫入位選信號, P2.7寫1,寫0,鎖存數(shù)據(jù),寫入的數(shù)據(jù)指定了字形碼顯示的位置。在這個實驗設(shè)計過程中,我們僅使用到了3個LED數(shù)碼管。圖3-2數(shù)碼管驅(qū)動電路DS18B20:單線數(shù)字溫度傳感器,即“一線器件”,其具有獨特的優(yōu)點:(1)采用單總線的接口方式與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與 DS18B20 的雙向通訊。 單總線具有
7、經(jīng)濟性好,抗干擾能力強,適合于惡劣環(huán)境的現(xiàn)場溫度測量,使用方便等優(yōu)點,使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。 ( 2 )測量溫度范圍寬,測量精度高 DS18B20的測量范圍為-55+ 125 ; 在-10+ 85C范圍內(nèi),精度為0.5C 。 單總線即只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換,控制都由這根線完成。 單總線通常要求外接一個約為 4.7K10K 的上拉電阻,這樣,當(dāng)總線閑置時其狀態(tài)為高電平。 圖3-3溫度測量IC DS18B20經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第0和第1個字節(jié)。所以當(dāng)我們只想簡單的讀取溫度值的時候,只用讀取暫存器中的第0和第1個字
8、節(jié)就可以了。 簡單的讀取溫度值的步驟如下: 跳過ROM操作 發(fā)送溫度轉(zhuǎn)換命令 跳過ROM操作 發(fā)送讀取溫度命令 讀取溫度值單片機:本次設(shè)計使用單片機芯片STC89C52 STC89C52的工作特性: 主要特性: 與MCS-51 兼容 8K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán) 數(shù)據(jù)保留時間:10年 全靜態(tài)工作:0Hz-24Hz 三級程序存儲器鎖定 512內(nèi)部RAM 圖3-4 STC89C52引腳圖32可編程I/O線 兩個16位定時器/計數(shù)器 5個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路3.2 重要算法的設(shè)計、流程描述開始 S51寄存器初始化18b20存在 N
9、 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è)計項目進度表日期完成的工作2015.12.21方案確定,查找資料2015.12.22功能分析、代碼編寫2015.12.23調(diào)試程序、改進程序、撰寫報告2015.12.24答辯考核2015.12.25交課程設(shè)計紙質(zhì)和電子版材料第5 章 課程設(shè)計任務(wù)分配表成員座號項目內(nèi)容序號陳圣盛26號1、 代碼編寫與修改2、可行性研究01周鵬飛15號1、 報告撰寫2、功能合理性分析02劉犇16號1、 程序調(diào)
10、試及異常處理2、 方案擬定03第6 章 系統(tǒng)設(shè)計61 程序設(shè)計思想我們所設(shè)計的數(shù)字溫度計使用到了51單片機中的3個器件:蜂鳴器、發(fā)光二極管LED顯示器和DS18B20溫度傳感器。DS18B20溫度傳感器測量范圍大,測量數(shù)值相對精確,通過對這些器件我們可以制作一個既能顯示溫度,又有報警系統(tǒng)的數(shù)字溫度計。由于從器件DS18B20采用單總線的接口方式與主機相連,一次只能讀取一位數(shù)據(jù),對讀取到的數(shù)據(jù),我們要進行轉(zhuǎn)換,順序為:bitucharunitfloat,對于最終獲取的float類型的數(shù)據(jù),我們就可以很方便對它進行操作,通過求余、求模運算,實現(xiàn)LED數(shù)碼管逐個顯示數(shù)據(jù);通過數(shù)值大小判斷,控制蜂鳴器
11、的開關(guān),最終實現(xiàn)數(shù)字溫度計的全部功能。62 程序最終實現(xiàn)結(jié)果 圖6-1實驗結(jié)果顯示 將數(shù)據(jù)燒錄到單片機之后的結(jié)果如圖所示,圖中所示溫度下,蜂鳴器發(fā)出警報。為了便于觀察,當(dāng)溫度超過26攝氏度、低于24攝氏度,蜂鳴器都將發(fā)出警報,實際應(yīng)用過程中,需要修改這一部分代碼。第7 章 源程序/初始化ROM操作指令(寫)存儲器操作指令(寫)數(shù)據(jù)傳輸(讀)#include #define uchar unsigned char#define uint unsigned int#define ON 0#define OFF 1sbit FM=P23;sbit DS=P22; /接口定義uint temp; /
12、溫度值uchar flag1; / 標(biāo)志sbit dula=P26;sbit wela=P27;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;unsigned char code table1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd, 0x87,0xff,0xef;void delay(uint count) /delay uint i; while(count) i=200; while(i0) i
13、-; count-; void dsreset(void) /初始化命令 uint i; DS=0;/DS表示P2.2口,這里通過單片機拉低電壓 i=103; /將總線拉低480us960us while(i0)i-; DS=1; /然后拉高總線,若DS18B20做出反應(yīng)會將在15us60us后將總線拉低 i=4; /15us60us等待 while(i0)i-;bit tmpreadbit(void) /讀取溫度(一位數(shù)據(jù)) uint i; bit dat; DS=0;i+; /i+ for delay DS=1;i+;i+;/拉低電平,之后提高,一段時間之后讀取數(shù)據(jù)(1us15us) da
14、t=DS; i=8;while(i0)i-;/等待時間(不進行操作) 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ù)最低位在最前面,這樣剛好一個字節(jié)在DAT里 return(dat);/* 向18B20寫入一個字節(jié)* 輸入dat*/void tmpwritebyte(uchar dat) uint i; uchar j; bit testb; /定義一個位變量,如果是1,就寫1,如果不是就向D1820寫0
15、 for(j=1;j1; if(testb) /write 1 DS=0; i+;i+; /大于1us(進行兩次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開始轉(zhuǎn)換溫度0x44*輸入com*/void tmpchange(void) /DS18B20 begin change dsreset(); delay(1); tmpwritebyte(0xcc); /跳過ROM操作命令 tmpwritebyte(0x
16、44); /溫度轉(zhuǎn)換命令 /delay(100);/根據(jù)實際程序決定是否等待/*讀取溫度必要的操作*跳過ROM操作*發(fā)送溫度轉(zhuǎn)換指令(采樣)0x44*跳過ROM操作0xcc*發(fā)送讀取溫度命令0x33*讀取溫度值*/uint tmp() / 通過tmpread 獲取溫度,然后計算出補碼 float tt; uchar a,b;/獲取高低8位溫度 dsreset();/初始化 delay(1);/不進行操作 tmpwritebyte(0xcc); /跳過ROM操作命令 tmpwritebyte(0xbe); /發(fā)送讀取溫度命令 a=tmpread();/低8位 b=tmpread();/高8位 t
17、emp=b;/將2個8位的溫度裝到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ù)*動態(tài)顯示過程中,每盞燈是依次點亮的*/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%
18、10; dula=0; P0=tableA1;/顯示百位 dula=1; dula=0; wela=0; P0=0xfe; wela=1; wela=0; delay(1); dula=0; P0=table1A2;/顯示十位 dula=1; dula=0; wela=0; P0=0xfd; wela=1; wela=0; delay(1); P0=tableA3;/顯示個位 dula=1; dula=0; P0=0xfb; wela=1; wela=0; delay(1); if(temp240&temp0;a-)/延遲(保持?jǐn)?shù)碼管顯示) display(tmp(); while(1); 第8 章 設(shè)計心得 通過這次的課程設(shè)計,我們真正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實際,把我們所學(xué)的
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 園林建設(shè)專項施工方案
- 2024年廣東省中考滿分作文《當(dāng)好自己故事的主角》3
- 合作商超協(xié)議合同范本
- 胃造口術(shù)后護理
- 農(nóng)莊永久出售合同范例
- 交運股合同范例
- 制定高效的日常生產(chǎn)計劃
- 加強知識管理的有效方式計劃
- 品牌數(shù)字化轉(zhuǎn)型的路徑與挑戰(zhàn)計劃
- 項目管理的最佳實踐計劃
- 2025年安徽電氣工程職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫學(xué)生專用
- 2025年皖西衛(wèi)生職業(yè)學(xué)院單招職業(yè)技能測試題庫審定版
- unctad -全球投資趨勢監(jiān)測 第 48 期 Global Investment Trends Monitor,No. 48
- 2025年福建省高職單招計算機類職業(yè)技能測試題及答案(供參考)
- 電鍍園區(qū)現(xiàn)場管理
- 七年級歷史下冊 第一單元 綜合測試卷(人教福建版 2025年春)
- 學(xué)校在鑄牢中華民族共同體意識教育工作情況報告
- 2025年安徽淮北市建投控股集團招聘筆試參考題庫含答案解析
- 《孤獨的小螃蟹》導(dǎo)讀課件
- 城市軌道交通行車組織 課件 項目3 車站行車作業(yè)組織
- GA/T 2145-2024法庭科學(xué)涉火案件物證檢驗實驗室建設(shè)技術(shù)規(guī)范
評論
0/150
提交評論