單片機(jī)課程設(shè)計(jì)方案報(bào)告文件趙鑫_第1頁
單片機(jī)課程設(shè)計(jì)方案報(bào)告文件趙鑫_第2頁
單片機(jī)課程設(shè)計(jì)方案報(bào)告文件趙鑫_第3頁
單片機(jī)課程設(shè)計(jì)方案報(bào)告文件趙鑫_第4頁
單片機(jī)課程設(shè)計(jì)方案報(bào)告文件趙鑫_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE單片機(jī)課程設(shè)計(jì)報(bào)告題目:數(shù)字溫度計(jì)院(系)工學(xué)院(電氣工程系)專業(yè)電子信息工程年級(jí)10-2班姓名趙鑫學(xué)號(hào)10043225指導(dǎo)教師舒昌2013年12

電子信息工程專業(yè)10級(jí)學(xué)生單片機(jī)原理課程設(shè)計(jì)任務(wù)書課程設(shè)計(jì)題目三、數(shù)字溫度計(jì)指導(dǎo)教師舒昌職稱講師設(shè)計(jì)任務(wù)和要求:基本要求采用DS18B20作為溫度傳感器進(jìn)行溫度檢測(cè)對(duì)采集溫度進(jìn)行顯示(顯示溫度分辨率0.1℃)采集溫度數(shù)值應(yīng)采用數(shù)字濾波措施,保證顯示數(shù)據(jù)穩(wěn)定顯示數(shù)據(jù),無數(shù)據(jù)位必須消隱。2.設(shè)計(jì)步驟(1)使用Proteus按設(shè)計(jì)要求繪制電路圖。(2)按要求編寫相應(yīng)程序.(3)使用Proteus仿真程序,對(duì)程序進(jìn)行調(diào)試。(4)撰寫課程設(shè)計(jì)報(bào)告3.撰寫課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告內(nèi)容包括題目、摘要、目錄、正文、結(jié)論、致謝、參考文獻(xiàn)等.學(xué)生在完成上述全部工作之后,應(yīng)將全部?jī)?nèi)容以先后順序?qū)懗稍O(shè)計(jì)報(bào)告一份,闡述整個(gè)設(shè)計(jì)內(nèi)容,要求重點(diǎn)突出、特色鮮明、語言簡(jiǎn)練、文字通暢,字跡工整。報(bào)告書以A4紙打印,裝訂成冊(cè)(文字不少于3000字)。數(shù)字溫度計(jì)摘要:隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對(duì)它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。

本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,該設(shè)計(jì)控制器使用單片機(jī)STC89S51,測(cè)溫傳感器使用DS18B20,用LCD實(shí)現(xiàn)溫度顯示,能準(zhǔn)確達(dá)到以上要求.

隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),本文將介紹一種基于單片機(jī)控制的數(shù)字溫度計(jì),本溫度計(jì)屬于多功能溫度計(jì),可以設(shè)置上下報(bào)警溫度,當(dāng)溫度不在設(shè)置范圍內(nèi)時(shí),可以報(bào)警.

關(guān)鍵詞:?jiǎn)纹瑱C(jī),數(shù)字控制,溫度計(jì)一、設(shè)計(jì)任務(wù)與要求(1)采用DS18B20作為溫度傳感器進(jìn)行溫度檢測(cè)(2)對(duì)采集溫度進(jìn)行顯示(顯示溫度分辨率0。1℃)(3)采集溫度數(shù)值應(yīng)采用數(shù)字濾波措施,保證顯示數(shù)據(jù)穩(wěn)定(4)顯示數(shù)據(jù),無數(shù)據(jù)位必須消隱。二.方案設(shè)計(jì)與論證數(shù)字溫度計(jì)是測(cè)溫儀器類型的其中之一。根據(jù)所用測(cè)溫物質(zhì)的不同和測(cè)溫范圍的不同,有煤油溫度計(jì)、水銀溫度計(jì)、HYPERLINK”/view/747550。htm"氣體溫度計(jì)、電阻溫度計(jì)、Temperature:”};voiddelay(uintxms){ uinti,j; for(i=xms;i〉0;——i) for(j=110;j>0;-—j); }voidDelayus(intt)//在11。059MHz的晶振條件下調(diào)用本函數(shù)需要24μs,然后每次計(jì)數(shù)需16μs{ints;for(s=0;s<t;s++);}等待繁忙標(biāo)志voidwait(void){ P0=0xFF; do { RS=0; RW=1; EN=0; EN=1; }while(BUSY==1); EN=0;}寫數(shù)據(jù)voidw_dat(uint8dat){ wait(); EN=0; P0=dat; RS=1; RW=0; EN=1; EN=0;}寫命令voidw_cmd(uint8cmd){ wait(); EN=0; P0=cmd; RS=0; RW=0; EN=1; EN=0;}發(fā)送字符串到LCDvoidw_string(uint8addr_start,uint8*p){ w_cmd(addr_start); while(*p!=’\0') { w_dat(*p++); }}初始化1602voidInit_LCD1602(void){ w_cmd(0x38);//16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口 w_cmd(0x0c);//顯示器開、光標(biāo)開、光標(biāo)允許閃爍 w_cmd(0x06);//文字不動(dòng),光標(biāo)自動(dòng)右移 w_cmd(0x01);//清屏}ucharReset()//完成單總線的復(fù)位操作。{uchard;DQ=0; //將DQ線拉低Delayus(29); //保持480μs.復(fù)位時(shí)間為480μs,因此延時(shí)時(shí)間為(480-24)/16=28。5,取29μs.DQ=1; //DQ返回高電平Delayus(3); //等待存在脈沖。經(jīng)過70μs之后檢測(cè)存在脈沖,因此延時(shí)時(shí)間為(70—24)/16=2。875,取3μs。d=DQ; //獲得存在信號(hào)Delayus(25); //等待時(shí)間隙結(jié)束return(d); //返回存在信號(hào),0=器件存在,1=無器件}voidwrite_bit(ucharbitval)//向單總線寫入1位值:bitval{DQ=0; //將DQ拉低開始寫時(shí)間隙if(bitval==1)DQ=1; //如果寫1,DQ返回高電平Delayus(5);//在時(shí)間隙內(nèi)保持電平值,DQ=1; //Delayus函數(shù)每次循環(huán)延時(shí)16μs,因此Delayus(5)=5*16+24=104μs} voidds18write_byte(charval)//向單總線寫入一個(gè)字節(jié)值:val{uchari;uchartemp;for(i=0;i〈8;i++)//寫入字節(jié),每次寫入一位{ temp=val〉>i; temp&=0x01; write_bit(temp);}Delayus(5);}ucharread_bit()//從單總線上讀取一位信號(hào),所需延時(shí)時(shí)間為15μs,因此無法調(diào)用前面定義{ //的Delayus()函數(shù),而采用一個(gè)for()循環(huán)來實(shí)現(xiàn)延時(shí)。uchari;DQ=0; //將DQ拉低開始讀時(shí)間隙DQ=1; //然后返回高電平for(i=0;i<3;i++); //延時(shí)15μsreturn(DQ); //返回DQ線上的電平值}uchards18read_byte()//從單總線讀取一個(gè)字節(jié)的值{uchari;ucharvalue=0;for(i=0;i<8;i++){ //讀取字節(jié),每次讀取一個(gè)字節(jié)if(read_bit())value|=0x01〈〈i; //然后將其左移Delayus(6); }return(value);}intReadtemperature()//如果單總線節(jié)點(diǎn)上只有一個(gè)器件則可以直接掉用本函數(shù)。如果節(jié)點(diǎn)上有多個(gè)器{ //件,為了避免數(shù)據(jù)沖突,應(yīng)使用MatchROM函數(shù)來選中特定器件。uchartemp_d,temp_g,k,get[2],temp;Reset();ds18write_byte(0xcc); //跳過ROMds18write_byte(0x44); //啟動(dòng)溫度轉(zhuǎn)換Delayus(5);Reset();ds18write_byte(0xcc); //跳過ROMds18write_byte(0xbe); //讀暫存器for(k=0;k<2;k++){get[k]=ds18read_byte();}temp_d=get[0];//低位temp_g=get[1];//高位if((temp_g&0xf0)==0xf0)//正負(fù)號(hào)判斷{temp_d=~temp_d; if(temp_d==0xff)//保證—48(1111110100000000)、—32和—16顯示正常 { temp_d=temp_d+0x01;//00000000 temp_g=~temp_g;//00000010 temp_g=temp_g+0x01;//00000011 } else { temp_d=temp_d+0x01; temp_g=~temp_g; } w_cmd(0xc5); w_dat(Xsw[temp_d&0x0f]); //查表得小數(shù)位的值temp=((temp_d&0xf0)>>4)|((temp_g&0x0f)〈<4);w_cmd(0xc1); w_dat(0x2d);//負(fù)號(hào) }else//正數(shù){w_cmd(0xc5);w_dat(Xsw[temp_d&0x0f]); //查表得小數(shù)位的值temp=((temp_d&0xf0)>〉4)|((temp_g&0x0f)〈〈4);w_cmd(0xc1);w_dat(Bw[temp/100]); }returntemp;}main(){ Init_LCD1602(); w_string(0x80,word1); while(1) { wendu=Readtemperature();temp_g=wendu%100/10+'0';//這里要特別注意啊少了%100就差很多temp_d=wendu%10+’0';w_cmd(0xc2);delay(2);w_dat(temp_g);delay(2);w_dat(temp_d);delay(2);w_cmd(0xc4);delay(2);w_dat(0x2e);//小數(shù)點(diǎn)delay(2);w_cmd(0xc6);delay(2);w_dat(0xdf);//溫度符號(hào)delay(2);w_dat(0x43);電氣信息工程系單片機(jī)課程設(shè)計(jì)成績(jī)?cè)u(píng)定表專業(yè):電子信息工程班級(jí):電子10—2學(xué)號(hào):10043225姓名:趙鑫課題名稱設(shè)計(jì)任務(wù)與要求1.基本要求(1)采用D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論