




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選文檔中國民航大學(xué)單片機(jī)課程設(shè)計(jì)報(bào)告數(shù)字溫度計(jì)姓 名: 白楊 學(xué) 號(hào): 111141101 專業(yè)班級: 自動(dòng)化A 指導(dǎo)老師: 常美華/趙淑舫所在學(xué)院:航空自動(dòng)化學(xué)院2013年 12月 18日1 概述1.1 課程設(shè)計(jì)的意義 本次課程設(shè)計(jì)是在我們學(xué)過單片機(jī)后的一次實(shí)習(xí),可增加我們的動(dòng)手能力。特別是對單片機(jī)的系統(tǒng)設(shè)計(jì)有很大幫助。1.2 設(shè)計(jì)的任務(wù)和要求1、基本范圍-55-1252、精度0.13、LED數(shù)碼直讀顯示4、LCD數(shù)碼直讀顯示(擴(kuò)展)2系統(tǒng)總體方案及硬件設(shè)計(jì)2.1數(shù)字溫度計(jì)設(shè)計(jì)方案論證2.1.1方案一由于本設(shè)計(jì)是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或
2、電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,其中還涉及到電阻與溫度的對應(yīng)值的計(jì)算,感溫電路比較麻煩。而且在對采集的信號(hào)進(jìn)行放大時(shí)容易受溫度的影響出現(xiàn)較大的偏差。2.1.2 方案二 進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,電路簡單,精度高,軟硬件都以實(shí)現(xiàn),而且使用單片機(jī)的接口便于系統(tǒng)的再擴(kuò)展,滿足設(shè)計(jì)要求。從以上兩種方案,很容易看出,采用方案二,電路比較簡單,費(fèi)用較低,
3、可靠性高,軟件設(shè)計(jì)也比較簡單,故采用了方案二。2.2系統(tǒng)總體設(shè)計(jì)溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖1所示,控制器采用單片機(jī)AT89C51,溫度傳感器采用DS18B20,用4位LED數(shù)碼管及液晶以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。 AT89S51LED/LCD顯示DS18B20溫 度 傳 感 器圖2.21總體設(shè)計(jì)方框圖2.22系統(tǒng)仿真圖2.3系統(tǒng)模塊系統(tǒng)由單片機(jī)最小系統(tǒng)、顯示電路、溫度傳感器等組成。2.3.1 主控制器單片機(jī)AT89C51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。晶振采用12MHZ。圖2.3.1晶振電路
4、2.3.2 顯示電路顯示電路采用4位共陰極LED數(shù)碼管及LCD1602,P0口由上拉電阻提高驅(qū)動(dòng)能力,作為段碼輸出并作為數(shù)碼管的驅(qū)動(dòng)。P0口的低四位作為數(shù)碼管的位選端(兩片鎖存器)。采用動(dòng)態(tài)掃描的方式顯示圖2.3.2 數(shù)碼管液晶顯示電路2.3.3溫度傳感器DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)位的數(shù)字值讀數(shù)方式。DS18B20的性能特點(diǎn)如下:1、獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;2、多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能3、無須
5、外部器件;4、可通過數(shù)據(jù)線供電,電壓范圍為3.05.5;5、零待機(jī)功耗;6、溫度以或位數(shù)字;7、用戶可定義報(bào)警設(shè)置;8、報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;9、負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作;DS18B02可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線,3腳接電源。另一種是寄生電源供電方式,如圖4 所示單片機(jī)端口接單線總線,為保證在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)MOSFET管來完成對總線的上拉。當(dāng)DS18B20處于寫存儲(chǔ)器操作和溫度A/D轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的
6、上拉,上拉開啟時(shí)間最大為10us。采用寄生電源供電方式時(shí)VDD端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。圖2.3.3 溫度傳感器與單片機(jī)的連接3系統(tǒng)軟件算法分析系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序,按鍵掃描處理子程序等。3.1主程序流程圖主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測量的當(dāng)前溫度值,溫度測量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖3.1所示。初始化讀取溫度讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令調(diào)用顯示子程序圖3.1 主程序流程圖 3.2讀出溫度子程
7、序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖3.2示3.3溫度轉(zhuǎn)換命令子程序發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)溫度轉(zhuǎn)換開始命令 結(jié)束溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如上圖,圖3.3所示Y發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)讀取溫度命令讀取操作,CRC校驗(yàn)9字節(jié)完?CRC校驗(yàn)正?確?移入溫度暫存器結(jié)束NNY 圖3.3 溫度轉(zhuǎn)換流程圖圖3.2 讀溫度流程圖3.4 計(jì)算溫度子程
8、序計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖3.4所示。3.5 顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對分離后的溫度顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)標(biāo)志位位為1時(shí)將符號(hào)顯示位移入第一位。程序流程圖如圖3.5。 開始溫度零下?溫度值取補(bǔ)碼置“1”標(biāo)志計(jì)算小數(shù)位溫度BCD值 計(jì)算整數(shù)位溫度BCD值 結(jié)束置“0”標(biāo)志NY溫度數(shù)據(jù)移入顯示寄存器分離顯示溫度NY標(biāo)志位為1?Y最高位顯示“”最高為顯示分理出的數(shù)據(jù) 結(jié)束 圖3.4計(jì)算溫度流程圖 圖3.5顯示數(shù)據(jù)刷新流程圖4 實(shí)驗(yàn)仿真進(jìn)入protuse后,連接好電路,并將程序下載進(jìn)去。將DS18B20的改為0.
9、1,數(shù)碼管及LCD液晶顯示溫度與傳感器的溫度相同。 圖41 數(shù)碼溫度顯示仿真 圖42 液晶溫度顯示仿真5 總結(jié)與體會(huì)通過這次對數(shù)字溫度計(jì)的設(shè)計(jì)與制作,讓我了解了設(shè)計(jì)電路的程序,也讓我了解了關(guān)于數(shù)字溫度計(jì)的原理與設(shè)計(jì)理念,要設(shè)計(jì)一個(gè)電路總要先用仿真仿真成功之后才實(shí)際接線的。但是最后的成品卻不一定與仿真時(shí)完全一樣,因?yàn)椋賹?shí)際接線中有著各種各樣的條件制約著。而且,在仿真中無法成功的電路接法,在實(shí)際中因?yàn)樾酒旧淼奶匦远軌虺晒?。所以,在設(shè)計(jì)時(shí)應(yīng)考慮兩者的差異,從中找出最適合的設(shè)計(jì)方法。通過這次學(xué)習(xí),讓我對各種電路都有了大概的了解,所以說,坐而言不如立而行,對于這些電路還是應(yīng)該自己動(dòng)手實(shí)際操作才會(huì)有
10、深刻理解。在調(diào)試過程中我曾將溫度傳感器的電源、地接反啦,導(dǎo)致溫度傳感器急劇發(fā)熱,后經(jīng)觀察和查詢資料才得以改正。從這次的課程設(shè)計(jì)中,我真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這就是我在這次課程設(shè)計(jì)中的最大收獲。查考文獻(xiàn)【1】李朝清 單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)(第三版) 北京航空航天大學(xué)出版社 【2】趙建嶺 弓雷 51系列單片機(jī)開發(fā)寶典 電子工業(yè)出版社【3】李平 杜濤 羅和平 單片機(jī)應(yīng)用開發(fā)與實(shí)踐 機(jī)械工業(yè)出版社附 源程序代碼數(shù)碼管程序 /DS18B20的讀寫程序,數(shù)據(jù)腳P3.1 /溫度傳感器
11、18B20匯編程序,采用器件默認(rèn)的12位轉(zhuǎn)化 /最大轉(zhuǎn)化時(shí)間750微秒,顯示溫度-55到+125度,顯示精度 /為0.1度,顯示采用4位LED共陰顯示測溫值 /P0口為位碼、段碼輸入,P2.6為位選 ,P2.7為段選 /*/#include #include#include #include#define uchar unsigned char#define uint unsigned intsbit ds=P31;/定義DS18B20數(shù)據(jù)線sbit wela=P26;sbit dula=P27;bit list_flag=0;/初始化正確與否標(biāo)志位uchar flag;/正負(fù)號(hào)標(biāo)志位ucha
12、r aa,bb,cc;uchar temp_value;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40,0x63,0x39; uchar code table1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;void delay(uint ms) /延時(shí)程序while(ms-);uchar Init(void )/DS18B20初始化uchar status;ds=1;delay(8);ds=0;delay(90);/延時(shí)ds=1;de
13、lay(8);/延時(shí)status=ds; /如果為0,則初始化成功,如果為1,則初始化失敗delay(100);/延時(shí)return(status);uchar tempread(void)/從DS18B20讀取一個(gè)字節(jié)數(shù)據(jù)uchar i=0;uchar dat=0;for(i=8;i0;i-)ds=0;/給脈沖信號(hào)dat=1;ds=1;_nop_();_nop_();if(ds)dat|=0x80;delay(4);ds=1;return(dat);void tempwritebyte(uchar dat)/ 向DS18B20寫一個(gè)字節(jié)數(shù)據(jù)uchar j;for(j=1;j=1;uchar g
14、et_temp(void)/DS18B20開始獲取溫度并轉(zhuǎn)換uchar a,b,t;if(Init()=1) list_flag=1;elselist_flag=0;Init();tempwritebyte(0xcc);tempwritebyte(0x44); Init();tempwritebyte(0xcc);tempwritebyte(0xbe);a=tempread();/讀低8位b=tempread();/讀高8位temp_value=(a&0x0f);/小數(shù)部分if(b&0x80)=0x80)b=b;a=a+1;t=(b4);flag=0;elset=(b4);flag=1;ret
15、urn (t); void dis_temp()aa=get_temp()/10;bb=get_temp()%10;cc=temp_value*625/1000%10;if(flag=0) wela=1;P0=0xfe;wela=0;dula=1;P0=0x40;/送-號(hào)dula=0;delay(10);delay(10); else if(flag=1) wela=1;P0=0xfe;wela=0;dula=1;P0=0x00;dula=0;delay(10);delay(10); wela=1;P0=0xf7;wela=0;dula=1;P0=tablecc;dula=0;delay(30
16、0);delay(300); wela=1;P0=0xfd;wela=0;dula=1;P0=tableaa;dula=0;delay(300);delay(300);wela=1;P0=0xfb;wela=0;dula=1;P0=table1bb;dula=0;delay(300);delay(300);wela=1;P0=0xf7;wela=0;dula=1;P0=tablecc;dula=0;delay(300);delay(300);void main(void)while(1)get_temp();dis_temp(); 液晶顯示程序#include #include#include
17、 #include#define uchar unsigned char#define uint unsigned intsbit ds=P31;/定義DS18B20數(shù)據(jù)線sbit wela=P26;sbit dula=P27;sbit RS=P24;sbit EN=P25;bit list_flag=0;/初始化正確與否標(biāo)志位uchar flag;/正負(fù)號(hào)標(biāo)志位uchar aa,bb,cc;uchar temp_value; unsigned char code str1=temperature: ;unsigned char code str2= ; /*lcd1602程序*/void d
18、elay1ms(unsigned int ms)/延時(shí)1毫秒(不夠精確的)unsigned int i,j; for(i=0;ims;i+)for(j=0;j0;i-)ds=0;/給脈沖信號(hào)dat=1;ds=1;_nop_();_nop_();if(ds)dat|=0x80;delay(4);ds=1;return(dat);void tempwritebyte(uchar dat)/ 向DS18B20寫一個(gè)字節(jié)數(shù)據(jù)uchar j;for(j=1;j=1;uchar get_temp(void)/DS18B20開始獲取溫度并轉(zhuǎn)換uchar a,b,t;if(Init()=1) list_flag=1;elselist_flag=0;Init();tempwritebyte(0xcc);tempwritebyte(0x44); Init();tempwritebyte(0xcc);tempwritebyte(0xbe);a=tempread();/讀低8位b=tempr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 土地承包經(jīng)營合同范文(15篇)
- 商品買賣合同(15篇)
- 貨款協(xié)議書范本(6篇)
- 六年級開學(xué)計(jì)劃書(4篇)
- 武漢市漢服租賃合同協(xié)議
- 商業(yè)演出藝人合同協(xié)議
- 武漢出租車代班協(xié)議合同
- 商品房按揭合同解約協(xié)議
- 商業(yè)活動(dòng)協(xié)議合同
- 毛絨玩具供貨合同協(xié)議
- 畢業(yè)設(shè)計(jì)(論文)-基于SolidWorks的廚余垃圾處理器設(shè)計(jì)
- 北師大版小學(xué)數(shù)學(xué)家長會(huì)發(fā)言稿范文
- 《基于EVA的科大訊飛企業(yè)價(jià)值評估的計(jì)算過程及結(jié)果探析案例報(bào)告》10000字(論文)
- GMP取樣管理課件
- 安徽省普通高中2024學(xué)年學(xué)業(yè)水平合格性測試英語試題(原卷版)
- 《中國古代物理學(xué)》課件
- 《阿西莫夫短文兩篇》-課件
- 培訓(xùn)機(jī)構(gòu)教務(wù)管理崗位職責(zé)
- 各行業(yè)消防安全培訓(xùn)課件
- 書店承包經(jīng)營合同2024版
- 國際標(biāo)準(zhǔn)與國內(nèi)標(biāo)準(zhǔn)的融合
評論
0/150
提交評論