基于AT89C51單片機(jī)的測溫系統(tǒng)設(shè)計(jì)6800字_第1頁
基于AT89C51單片機(jī)的測溫系統(tǒng)設(shè)計(jì)6800字_第2頁
基于AT89C51單片機(jī)的測溫系統(tǒng)設(shè)計(jì)6800字_第3頁
基于AT89C51單片機(jī)的測溫系統(tǒng)設(shè)計(jì)6800字_第4頁
基于AT89C51單片機(jī)的測溫系統(tǒng)設(shè)計(jì)6800字_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1基于AT89C51單片機(jī)的測溫系統(tǒng)設(shè)計(jì)性作用的物理量。本文主要介紹并設(shè)計(jì)一款基于AT89C51單片機(jī)及DS18B20溫目錄 1 31.1課題背景 31.2課題研究的目的和意義 41.3設(shè)計(jì)的主要任務(wù) 42系統(tǒng)方案 42.1設(shè)計(jì)方案概述 42.2設(shè)計(jì)方案框架圖 53器件功能簡介 53.1AT89C51單片機(jī)功能簡介 53.1.1AT89C51簡介 53.1.2引腳分布及功能說明 63.2DS18B20數(shù)字溫度傳感器的功能簡介 723.2.1DS18B20的簡介 73.2.2DS18B20的內(nèi)部與外部結(jié)構(gòu) 7 9 94.2顯示電路設(shè)計(jì) 5軟件編程設(shè)計(jì) 5.1主程序設(shè)計(jì) 5.2DS18B20程序設(shè)計(jì) 5.3顯示程序 5.4按鍵報(bào)警程序 6軟件仿真結(jié)果 6.1軟件介紹 6.2Proteus仿真結(jié)果 31緒論置溫度報(bào)警范圍功能。而在本次設(shè)計(jì)產(chǎn)品中將會使用DS18B20溫度傳感器作為和學(xué)習(xí)。4本文主要介紹了51系列單片機(jī)在采集數(shù)據(jù)、檢測環(huán)境溫度方面中的應(yīng)用。本課題研究的目的在于充分認(rèn)識AT89C51單片機(jī)的引腳功能和特性,學(xué)習(xí)溫度傳感器DS18B20的結(jié)構(gòu)、功能、工作原理。鞏固并加深平時(shí)對單片機(jī)的應(yīng)用知本論文主要設(shè)計(jì)研究的任務(wù)是制作一款基于51系列單片機(jī)的數(shù)字溫度測量要采用的傳感器型號為DS18B20,利用4位數(shù)碼管進(jìn)行溫度的讀取。(4).蜂鳴器報(bào)警提示(5).觀察并記錄實(shí)驗(yàn)設(shè)計(jì)過程(6).通過研究設(shè)計(jì)過程得到結(jié)論并記錄2系統(tǒng)方案點(diǎn),并設(shè)計(jì)使用了自由設(shè)置特定值進(jìn)行報(bào)警的功能。其輸出溫度采用LED數(shù)碼而本設(shè)計(jì)的主控制器使用的是51單片機(jī)AT89C51,AT89C51單片機(jī)在工業(yè)控制、測量、儀器儀表中應(yīng)用范圍十分廣泛。測溫傳感器使用的是DS18B20,溫度傳感器DS18B20是一種高精度數(shù)字式溫度傳感器。在電路系統(tǒng)中它可以直度測量電路變得簡單、精準(zhǔn)。對于溫度數(shù)據(jù)的顯示,則是使用4位共陰極LED5數(shù)碼管實(shí)現(xiàn),LED數(shù)碼管有著顯示數(shù)字清晰查看方便的優(yōu)點(diǎn)。報(bào)警系統(tǒng)將采用溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)框圖如圖2-1所示,控制器采用單片機(jī)AT89S52,溫度傳感器采用DS18B20,顯示則采用4位LED數(shù)碼管,報(bào)警采用蜂鳴器報(bào)警,3器件功能簡介AT89C51單片機(jī)是由美國公司ATMEL公司生產(chǎn)的低功耗、高性能的8位CMOS微型計(jì)算機(jī),簡稱單片機(jī)。器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。在單芯片上,(1)4K字節(jié)可編程Flash存儲器(2)可與MCD-51兼容6(3)1000次可擦/寫壽命(4)數(shù)據(jù)可保留時(shí)間:10年(5)全靜態(tài)工作范圍:OHz-24MHz(6)128x8字節(jié)內(nèi)部RAM(7)32個(gè)8位可編程I/O線(8)兩個(gè)16位定時(shí)器計(jì)/數(shù)器(9)5個(gè)中斷源(10)可編程串行UART通道(11)低功耗閑置和掉電模式3.1.2引腳分布及功能說明AT89C51的引腳排列方式如圖3-1所示。鐵圖3-1AT89C51引腳排列圖P?.4/AD4P2.1/A9P22/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P3.1/TXDAT89C51單片機(jī)一共有40個(gè)引腳,圖中隱藏了VCC(電源)引腳和GND (接地)。引腳PO□為一個(gè)8位漏級開路雙向I/O□。當(dāng)PO□的引腳第一次寫P3□都是內(nèi)部提供上拉電阻的8位雙向I/O□,當(dāng)這三個(gè)引腳寫入1時(shí),管腳內(nèi)部上拉,電阻拉高,并都可作為輸入。工作電壓為4.0-5.5V。同時(shí),P3□也可以作為特殊功能口使用例如:P3.0:RXD(串行輸入口);7 P3.3:INT1(外中斷1);P3.6:WR(外部數(shù)據(jù)存儲器寫選通);RST:復(fù)位端。時(shí)鐘電路正常工作時(shí),當(dāng)該端信號連續(xù)兩個(gè)機(jī)器周期信號以上置為1,則主控芯片進(jìn)行復(fù)位操作。3.2DS18B20數(shù)字溫度傳感器的功能簡介DS18B20溫度傳感器是美國半導(dǎo)體公司DALLAS推出的一款改良型智能據(jù)用戶要求通過簡單編程實(shí)現(xiàn)9至12位的讀數(shù)方式。(1)它擁有獨(dú)特的單線接口,在與單片機(jī)連接時(shí)僅僅需要一個(gè)端口引腳進(jìn)(2)測溫范圍廣(3)支持多點(diǎn)組網(wǎng)功能(4)溫度測量結(jié)果以9~12位二進(jìn)制數(shù)字表示(5)工作電源電壓范圍為3.0~5.5V,并且可通過數(shù)據(jù)線通電工作(6)適用于各種狹小的空間DS18B20采用3腳TO-92封裝或8腳SO或μSOP封裝,其8NCNC8DS18B20的內(nèi)部結(jié)構(gòu)一共有四個(gè)部分,為64位光刻ROM、溫度傳感器、的,每次上電復(fù)位時(shí)刷新。并且在DS18B20溫度傳感器的內(nèi)部存儲器中,有著一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM。且高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖3-3所示。、圖2-3DS18B20的高速暫存RAM的結(jié)構(gòu)0123456878度值就以16位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高速暫存存儲器,接著單片十進(jìn)制;當(dāng)符號位s=1時(shí),表示測得的溫度值為負(fù)值,這時(shí)需要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。輸出的二進(jìn)制數(shù)的高5位是符號位,最后4位是溫度小數(shù)點(diǎn)位,中間7位是溫度整數(shù)位。表2-2是部分溫度值對應(yīng)的二進(jìn)制溫度數(shù)據(jù)。9溫度值二進(jìn)制輸出十六進(jìn)制輸出+10.125℃-0.5℃-10.125℃4系統(tǒng)硬件電路仿真設(shè)計(jì)方案DS18B20溫度傳感器是單總線器件與單片機(jī)的接口電路,采用電源供電方電源供電方式如圖4-1所示,此時(shí)DS18B20的引腳1接地,引腳2為信號線接通芯片,引腳3與電源連接。顯示電路是由四位的共陰數(shù)碼管進(jìn)行顯示讀數(shù)的,設(shè)計(jì)圖如圖4-2所示。按鍵電路的設(shè)計(jì)采用四個(gè)按鍵k1、k2、k3以及一個(gè)消音用按鍵來實(shí)現(xiàn)調(diào)節(jié)設(shè)定報(bào)警溫度的上下限,并且可查看上下限報(bào)警溫度的功能。電路設(shè)計(jì)圖如圖4-3所示。報(bào)警電路是用于測量溫度大于上限或小于下限時(shí)提供報(bào)警功能的電路。該電路是由蜂鳴器和紅色的發(fā)光二極管組成,電路如圖4-4所示。圖2-9報(bào)警電路設(shè)計(jì)圖4.5單片機(jī)電路設(shè)計(jì)單片機(jī)電路是由晶振電路,上電復(fù)位、按鍵復(fù)位電路組成。設(shè)計(jì)圖如圖4-5所示。本章節(jié)描述了溫度測量儀器的軟件編程和功能實(shí)現(xiàn)器響應(yīng)。系統(tǒng)主流程圖如圖5-1所示。是圖5-1主程序流程圖主程序代碼********************#defineucharunsignedcharucharmax=0x00,min=0x00;//max是上限報(bào)警溫度,bitsl=0;/s1標(biāo)志位用于上下限查看時(shí)的顯示voiddisplay1(uintz);{timer1_init(O);//初始化定時(shí)器1(未啟動(dòng)定時(shí)器1){}DS18B20獲取電源后進(jìn)行初始化,收到溫度數(shù)值轉(zhuǎn)化命令后,對溫度進(jìn)行讀取,而后對將溫度數(shù)據(jù)進(jìn)行處理,將溫度值轉(zhuǎn)化為數(shù)字值并顯示。最后對已儲存的數(shù)值進(jìn)行判斷,判斷其是否處于設(shè)定的溫度值之間,如超出最高值或低于溫度最低值范圍便報(bào)警處理。如圖5-2所示。開始初始化溫度顯示溫度是否超出范圍報(bào)警圖5-2DS18B20程序流程圖詳細(xì)DS18B20程序代碼見附錄。顯示電路是由四位一體的共陰極數(shù)碼管來實(shí)現(xiàn)的。由于單片機(jī)的I/O口有限,所以將采用動(dòng)態(tài)掃描數(shù)碼管的方式來進(jìn)行顯示。程序流程圖如圖5-3所示。根據(jù)的值進(jìn)行選擇圖5-3顯示程序流程圖顯示程序代碼voiddisplay(uchart{uchari;{{ ,if(a==1)/于上下限查看時(shí)的顯示)if(a==2)//若a=2則在第二個(gè)數(shù)碼管上顯‘ ,{weil=0;wei3=0;wei4=0;wei2=1;的個(gè)位 ,if(s==0)selsct_2(f_m}if(a==2)//若a=2則在第三個(gè)數(shù)碼管上顯示下if(sl==1)selsct_2(f}weil=0;wei2=0;wei4=0;wei3=1;brea小數(shù)位if(a==1)//若a=顯示}if(a==2)//若a=2則在第四{if(s==0)PO=temperatureif(s1==1)PO=temperature}weil=0;wei2=0;wei3=0;wei4=1;break;}}5.4按鍵報(bào)警程序按鍵報(bào)警程序的設(shè)定以三個(gè)按鍵k1,k2,k3實(shí)現(xiàn)上下限報(bào)警溫度。按下k1進(jìn)入上下限調(diào)節(jié)模式,再次按下k2進(jìn)入下限調(diào)節(jié)模式。在正常模式下,首次按下k2進(jìn)入查看上限溫度模式,顯示1s左右自動(dòng)退出;首次按下k3進(jìn)入查看下限溫度模式,顯示1s左右自動(dòng)退出;首次按下K4消除按鍵音,再次按下啟動(dòng)按鍵音。在調(diào)具體流程圖如5-4所示。S-1調(diào)下限NYRNY按鍵程序源代碼見附錄6軟件仿真結(jié)果本章節(jié)主要介紹了對于已經(jīng)寫好的代碼進(jìn)行軟件整體編譯,并且對編譯完成的代碼實(shí)現(xiàn)軟件仿真。本設(shè)計(jì)中索引用到的兩種軟件工具為仿真軟件Proteus軟件以及軟件編寫程序Keil軟件,本章將對兩個(gè)在研究設(shè)計(jì)中最廣泛使用的軟件進(jìn)行簡單的介紹。Proteus軟件是由英國公司LabCenterElectronics公司出版的一款使用范圍最廣的仿真工具軟件之一。它具有強(qiáng)大的EDA仿真功能,并可以對單片機(jī)及其外圍的器件進(jìn)行仿真。同時(shí)它在編譯方面支持IAR、Keil和MATLAB等多種編譯器,軟件仿真測試效果幾乎和實(shí)物產(chǎn)品測試效果相同,是一款功能強(qiáng)大的Keil軟件是美國公司KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),它對于目標(biāo)代碼的生成有著非常高的效率。并且C語言與匯編語言相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有顯著的且巨大的優(yōu)勢。所以keil軟件是我們在學(xué)習(xí)生涯里不可缺少的一款高實(shí)用性的編程軟將溫度傳感器Db18B20所處的環(huán)境溫度設(shè)置為20度,如圖6-1所示。運(yùn)行Proteus仿真,按下k1鍵顯示最高溫度限定值,后按下k2鍵,將最高溫度限定值設(shè)置為30度,按兩次k1退出設(shè)定值,溫度正常顯示。仿真結(jié)果如圖6-2所示。重復(fù)上面的操作,將最高溫度限定值設(shè)置為10度,電路報(bào)警,蜂鳴器響應(yīng),如圖6-3所示。連續(xù)兩次按下k1鍵后,led數(shù)碼管顯示“L”數(shù)值,為溫度下限值,按下k3鍵調(diào)節(jié)最低溫度限定值為0度,如圖6-4所示。R23調(diào)節(jié)傳感器仿真溫度為-1度,電路報(bào)警,蜂鳴器響應(yīng),如圖6-5所示。本文主要介紹基了AT89C51系列單片機(jī)的數(shù)字溫度計(jì)控制設(shè)計(jì),通過將測得的溫度數(shù)據(jù)顯示出來,并進(jìn)行判斷操作,判斷是否超出或低于限定數(shù)在設(shè)計(jì)過程中,關(guān)于按鍵系統(tǒng)的設(shè)計(jì)讓我很是頭疼,代碼編譯錯(cuò)誤,主程序編譯失敗,導(dǎo)致仿真無法成功運(yùn)行都擋住了我繼續(xù)實(shí)驗(yàn)的腳步,同時(shí)我也去求助了學(xué)長,老師,在網(wǎng)上查閱了相關(guān)資料最后成功地實(shí)現(xiàn)了我想要的功這是我第一次通過自己的想法,導(dǎo)師同學(xué)以及輔助資料得幫助下所完成的產(chǎn)品。在這一次長達(dá)幾個(gè)月的學(xué)習(xí)研究、設(shè)計(jì)實(shí)驗(yàn)中,我深刻地認(rèn)識到

溫馨提示

  • 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

提交評論