數(shù)字溫度計的設(shè)計 單片機課程設(shè)計
《數(shù)字溫度計的設(shè)計 單片機課程設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《數(shù)字溫度計的設(shè)計 單片機課程設(shè)計(19頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、《單片機原理及應(yīng)用》課程設(shè)計任務(wù)書 二級學(xué)院:電子信息與電氣工程學(xué)院 專業(yè): 班級: 學(xué)生姓名 指導(dǎo)老師 職 稱 講師 課題名稱 數(shù)字溫度計的設(shè)計 課題工作內(nèi)容 1、 設(shè)計內(nèi)容:硬件電路的設(shè)計、軟件電路的設(shè)計 2、 總體方案的選擇、討論確定。軟件流程圖的設(shè)計,硬件電路各部分的設(shè)計,程序的軟調(diào)試、整機的調(diào)試。 3、 撰寫設(shè)計報告
2、 指標(biāo)要求 1、溫度值用LED顯示 2、測量范圍為-30℃ ~100℃ 3、溫差為±0.5℃ 進程安
3、排 第一天 下達任務(wù)、講授、查資料 第二天 方案確定 第三天、第四天 軟、硬件設(shè)計 第五天~第八天 軟、硬件調(diào)試
4、 第九天 撰寫報告 第十天 答辯考核 主要參考文獻 《單片機原理及應(yīng)用技術(shù)》 范力旻 電子工業(yè)出版社 《例說8051》 謝亮、陳敵
5、北、 張義和 人民郵電出版社 《單片機C語言應(yīng)用100例 》王東鋒 王會良 電子工業(yè)出版社 《51系列單片機設(shè)計實例》 樓然苗 李光飛 北航出版社
6、 《單片微機測控系統(tǒng)設(shè)計大全》 王福瑞編著 北航出版社 地點 起止日期 2011.09.05~2011.09.16 單片機原理及應(yīng)用 課程設(shè)計 題 目 數(shù)字溫度計的設(shè)計 二級學(xué)院 電子信息與電氣工程學(xué)院 班 級 姓 名 學(xué) 號 指導(dǎo)教師 設(shè)計時間 20
7、11.09.05~2011.9.15 目錄 一、概述………………………………………………………………………………………1 二、系統(tǒng)設(shè)計……………………………………………………………………………… 1 (一)溫度計設(shè)計方案論證 ……………………………………………………………… 1 (二)框圖設(shè)計…………………………………………………………………………………1 (三)硬件設(shè)計……………………………………………………………………… 2 (四)軟件設(shè)計…………………………………………………………………………………7 三、調(diào)試 ……………
8、……………………………………………………………………… 9 四、課程設(shè)計小結(jié)……………………………………………………………………… 9 五、參考文獻……………………………………………………………………………… 9 六、附件………………………………………………………………………………………10 附錄1、電路原理………………………………………………………………10 附錄2、實拍照片………………………………………………………………10 附錄3、元件清單………………………………………………………………11 附錄4、程序清單………………………………………………………………12
9、 數(shù)字溫度計的設(shè)計 一、概述 生活和生產(chǎn)中,經(jīng)常用到一些測溫設(shè)備,但是傳統(tǒng)的測溫設(shè)備但是傳統(tǒng)的測溫設(shè)備具有制作成本高、硬件電路和軟件設(shè)計復(fù)雜等缺點,基于AT89C52單片機的數(shù)字溫度計具有制作簡單,成本低,度數(shù)方便,測溫范圍廣和測溫準(zhǔn)確等優(yōu)點,應(yīng)用前景廣闊。 設(shè)計參數(shù)規(guī)格設(shè)計: 1、溫度值用LED顯示 2、測量范圍為-30℃ ~100℃
10、 3、溫差為±0.5℃ 二、系統(tǒng)設(shè)計 (一)溫度計設(shè)計方案論證 方案一 由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),進行A/D轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。 方案二 進而考慮到用溫度傳感器,在單片機電路設(shè)計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進行轉(zhuǎn)換,就可以滿足設(shè)計要求。方
11、法簡單制作簡便,故采用方案一來實現(xiàn)數(shù)字溫度計的控制。 (二)框圖設(shè)計 根據(jù)設(shè)計要求分析,數(shù)字溫度計由STC89C52單片機、電源、顯示電路、溫度傳感器、復(fù)位電路和時鐘電路組成、系統(tǒng)框圖如圖1所示。電源給整個電路供電。顯示電路顯示溫度值,時鐘電路為STC89C52提供時鐘頻率。 電源 STC89C52 單片機 復(fù)位電路 顯示電路 DS18B20 時鐘電路 圖1 基于STC89C52單片機的數(shù)字溫度計系統(tǒng)框圖 (三)硬件設(shè)計 1、最小系統(tǒng) (1)電源 本次采用的是普通USB 5V
12、直流電源。 (2)單片機:本次設(shè)計使用單片機芯片STC89C52 STC89C52的工作特性: 主要特性: ·與MCS-51 兼容 ·8K字節(jié)可編程閃爍存儲器 ·壽命:1000寫/擦循環(huán) ·數(shù)據(jù)保留時間:10年 ·全靜態(tài)工作:0Hz-24Hz ·三級程序存儲器鎖定 ·512內(nèi)部RAM ·32可編程I/O線 ·兩個16位定時器/計數(shù)器 ·5個中斷源 ·可編程串行通道 圖2 S TC89C52引腳圖 ·低功耗的閑置和掉電模式 ·片內(nèi)振蕩器和時鐘電路 (3)時鐘電路 圖 3 時鐘電路 本次設(shè)計采用的是12M的晶振,電路圖如下圖
13、3,兩只電容在20pF~100pF之間取值,其取值在60pF~70pF時振蕩器頻率穩(wěn)定性較高,按照一般經(jīng)驗,外接晶體時兩個電容的取值為30pF。 (4)復(fù)位電路 在時鐘電路工作后,只要在單片機的RST引腳上出現(xiàn)24個時鐘振蕩脈沖(2個機器周期)以上的高電平,單片機便可實現(xiàn)初始化狀態(tài)服務(wù)。為保證應(yīng)用系統(tǒng)可靠的復(fù)位在設(shè)計復(fù)位電路時,通常使RST引腳保持4ms以上的高電平,只要RST保持高電平,MCS-51單片機就會循環(huán)復(fù)位;當(dāng)RST從高電平變?yōu)榈碗娖綍r,MCS-51單片機就從0000H地址開始執(zhí)行程序,在單片機復(fù)位的有效期間,ALE、PSEN 引腳輸出高電平。 本次設(shè)計采用的是手動復(fù)位,
14、其電路圖如下: 圖4復(fù)位電路 2.接口 (1)數(shù)字溫度傳感器DS18B20 由DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領(lǐng)域的溫度測量及控制儀器、測控系統(tǒng)和大型設(shè)備中。它具有體積小,接口方便,傳輸距離遠等特點。 A. DS18B20性能特點 : ①獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。 ②測溫范圍為-55℃-+125℃,測量分辨率為0.0625℃。 ③DS18B20在使用中
15、不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。 ④適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5,在寄生電源方式下可由數(shù)據(jù)線供電。 ⑤測量結(jié)果直接輸出數(shù)字溫度信號,以"一 線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。 ⑥負(fù)壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀, 但不能正常工作。 圖5 . DS18B20封裝圖 B. DS18B20內(nèi)部結(jié)構(gòu) DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器TH和TL,高速暫存器。64位光刻ROM是出廠前被光刻好的,它可以看作是該DS18B2
16、0的地址序列號。 圖6 溫度傳感器接線圖 (2) 雙向總線發(fā)送器/接收器74LS245 74LS245為三態(tài)輸出的八組總線收發(fā)器引出端符號: A A總線端 B B總線端 /G 三態(tài)允許端(低電平有效) DIR 方向控制端 圖7. 74LS245內(nèi)部邏輯圖 功能表: Direction Control DIR Enable /G Opera
17、tion L L L H H X B data to A bus A data to B bus Isolation (3)74LS07 六高壓輸出緩沖器/驅(qū)動器 簡要說明 54/7407 為集電極開路輸出的六組驅(qū)動器,其主要電特性的典型值如下: tPLH tph1 PD 6ns 20ns 125m W 引出端符號
18、 1A-6A 輸入端 1Y-6Y 輸出端 極限值 電源電壓……………………7V 輸入電壓……………………5V 輸出截至態(tài)電壓 ………30V 圖8 74LS07管腳圖 (4)顯示電路 內(nèi)部的四個數(shù)碼管共用a~dp這8根數(shù)據(jù)線,為人們的使用提供了方便,因為里面有四個數(shù)碼管,所以它有四個公共端,加上a~dp,共有12個引腳,下面便是一個共陽結(jié)構(gòu)圖。 圖9碼管內(nèi)部邏輯圖 管腳順序:從數(shù)碼管正面看,以第一腳為起點,管腳的順序是逆時針方向排列的。12-9-8-6為公共腳,A
19、-11,B-7,C-4,D-2,E-1,F(xiàn)-10,G-5,DP-3。 圖10顯示電路 (四)軟件設(shè)計 主程序的主要功能是負(fù)責(zé)溫度的實時顯示、讀出并處理DS18B20測量的當(dāng)前溫度值,溫度測量每1s進行一次,這樣就可以在1s之內(nèi)測量一次被測溫度,其程序流程圖如圖11所示。 初始化 調(diào)用顯示子程序 1s到? N 初次上電 Y Y 讀出溫度值,溫度計算處理顯示數(shù)據(jù)刷新 N 發(fā)溫度轉(zhuǎn)換開始命令 圖1 1主
20、程序流程圖 讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需要進行CRC校驗,校驗有錯時不能進行溫度數(shù)據(jù)的改寫,其程序流程圖如圖8所示。 發(fā)DS18B20復(fù)位命令 發(fā)跳過ROM命令 發(fā)讀取溫度命令 讀取操作,CRC校驗 Y 9字節(jié)完成? N CRC校驗正?
21、 N Y 移入溫度暫存器 結(jié)束 圖 8 讀溫度流程圖 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,采用12位分辨率轉(zhuǎn)換時間為750ms.程序設(shè)計中采用1s顯示程序延時等待轉(zhuǎn)換的完成。計算溫度子程序?qū)AM 中讀取值進行BCD碼轉(zhuǎn)換運算,并進行溫度值正負(fù)的判定,顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進行刷新操作,當(dāng)最高顯示位為0時將符號顯示位移入下一位。 三、調(diào)試 此設(shè)計軟件部分用uvision4編寫與編譯源程序,并生成HEX文件,編譯完成后用Proteus仿
22、真,仿真完成后將HEX文件燒制到單片機中,然后就是對硬件電路的檢查,排除硬件電路故障包括設(shè)計錯誤和工藝連接錯誤,檢查各芯片是否有短路或斷路故障。先將單片機取下,對電路板進行通電檢查,通過觀察是否有異常然后用萬用表測試個電源電壓,若這些都沒有問題,則接上仿真機進行聯(lián)機調(diào)試觀察各接口線路是否正常。 四、課程設(shè)計小結(jié) 近兩周的單片機課程設(shè)計,終于完成了我的數(shù)字溫度計畢業(yè)設(shè)計,雖然途中還遇到不少困難,但最終還是把實物做出來,從這次的課程設(shè)計中,我真真正正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實際,把我們所學(xué)的理論運用到實際當(dāng)中,學(xué)習(xí)單機片機更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這
23、就是我在這次課程設(shè)計中的最大收獲。通過這次對數(shù)字溫度計的設(shè)計與制作,讓我了解了設(shè)計電路的程序,也讓我了解了關(guān)于數(shù)字溫度計的原理與設(shè)計理念,要設(shè)計一個電路總要先用仿真成功之后才實際接線的。但是最后的成品卻不一定與仿真時完全一樣,因為,在實際接線中有著各種各樣的條件制約著。而且,在仿真中無法成功的電路接法,在實際中因為芯片本身的特性而能夠成功。所以,在設(shè)計時應(yīng)考慮兩者的差異,從中找出最適合的設(shè)計方法。 五、參考文獻 [1].范力旻,單片機原理及應(yīng)用技術(shù),電子工業(yè)出版社,2010. [2].楊居義,單片機課程設(shè)計指導(dǎo),清華大學(xué)出版社,2009. [3].沙占友,孟志永,王彥朋,單片機
24、外圍電路設(shè)計,電子工業(yè)出版社,2006. [4]百度文庫,,2010-11-14. [5]百度文庫,,2010-07-15. [6].丁元杰,單片機微機原理及應(yīng)用技[M],機械工業(yè)出版社,2001. 六.附錄 1.硬件原理圖 2.實拍照片 3.元件清單 元件名稱 型號 數(shù)量/個 用途 單片機 STC89C52 1 控制核心 晶振 12MHz 1 晶振電路 電容 30pF 2 晶振電路 電解電容 22uF/50V 1 復(fù)位電路 電阻 1KΩ 13 復(fù)位電路,上拉電阻 集成塊 74LS07 1 顯示驅(qū)動
25、 集成塊 74LS245 1 顯示驅(qū)動 集成塊 DS18B20 1 溫度傳感器 電阻 4K7 1 復(fù)位電路 按鍵 1 復(fù)位電路 電源 +5V/0.5A 1 提供+5V電源 七段四位數(shù)碼管 4位 1 顯示電路 電阻 4K7 1 測溫電路 4.程序清單 #include"reg51.h" #include"intrins.h" #define Disdata P1 #define discan P3 #define uchar unsigned char #define uint unsigned
26、 int sbit DQ = P3^7; sbit DIN = P1^7; uint h; uchar code ditab[16] = {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}; uchar code dis_7[12] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0xbf}; uchar code scan_con[4] = {0xfe,0xfd,0xfb,0xf7}; uchar
27、 data temp_data[2] = {0x00,0x00}; uchar data display[5] = {0x00,0x00,0x00,0x00,0x00}; void delay(uint t) { for(;t>0;t--); } scan() { char k; for(k=0;k<4;k++) { Disdata = dis_7[display[k]]; if(k == 1) DIN = 0; discan = ~scan_con[k]; delay(90); discan = 0x00; }
28、} ow_reset(void) { char presence = 1; while(presence) { while(presence) { DQ = 1;_nop_();_nop_(); DQ = 0; delay(50); DQ = 1; delay(6); presence = DQ; } delay(45); presence = ~DQ; } DQ = 1; } void write_byte(uchar val) { uchar i; for(i=8;
29、i>0;i--) { DQ = 1;_nop_();_nop_(); DQ = 0;_nop_();_nop_();_nop_();_nop_();_nop_(); DQ = val & 0x01; delay(6); val = val>>1; } DQ = 1; delay(1); } uchar read_byte(void) { uchar i; uchar value = 0; for(i=8;i>0;i--) { DQ=1;_nop_();_nop_(); value >>= 1; DQ =
30、0;_nop_();_nop_();_nop_();_nop_(); DQ = 1;_nop_();_nop_();_nop_();_nop_(); if(DQ) value|=0x80; delay(6); } DQ = 1; return(value); } read_temp() { ow_reset(); write_byte(0xCC); write_byte(0xBE); temp_data[0] = read_byte(); temp_data[1] = read_byte(); ow_reset(); writ
31、e_byte(0xCC); write_byte(0x44); } work_temp() { uchar n = 0; if (temp_data[1]>127) { temp_data[1] = (255 - temp_data[1]); temp_data[0] = (256 - temp_data[0]); n=1; } display[4] = temp_data[0] & 0x0f; display[0] = ditab[display[4]]; display[4] = ((temp_data[0] & 0xf0)>>4
32、) | ((temp_data[1] & 0x0f)<<4); display[3] = display[4]/100; display[1] = display[4]%100; display[2] = display[1]/10; display[1] = display[1]%10; if(!display[3]) { display[3] = 0x0A; if(!display[2]) display[2] = 0x0A; } if(n) display[3] = 0x0B; } main() { Disdata = 0xff; discan = 0xff; for(h=0;h<4;h++) display[h] = 8; ow_reset(); write_byte(0xCC); write_byte(0x44); for(h=0;h<250;h++) scan(); while(1) { read_temp(); work_temp(); for(h=0;h<200;h++) scan(); } }
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 精美實用框架完整的年終總結(jié)工作匯報新年計劃
- 英語滬教版小學(xué)六年級下冊Module4Unit12Thefivepeas優(yōu)質(zhì)課ppt課件
- 四年級上冊書法ppt課件-第14課-弓字旁-西泠印社版
- 腦卒中患者良肢位的擺放
- 九年級語文上學(xué)期期中測試(含第三單元)課件 語文版 (23)
- 第1講Java概覽
- 護理質(zhì)量匯報一季度
- 2020年鼠年公司年會PPT模板課件
- 六年級語文下冊《古詩詞背誦》課件-課件
- 二年級語文下冊《開滿鮮花的小路》教學(xué)課件-部編版
- C語言課件二維數(shù)組
- 精神科病歷書寫及存在問題解答課件
- 銷售管家終端數(shù)據(jù)采集方案課件
- 無創(chuàng)呼吸機課件
- 安全使用食品添加劑-說課課件