![[優(yōu)秀畢業(yè)論文]數(shù)字溫度計顯示報警系統(tǒng)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/18/4fb61f27-e895-4abe-b14f-b141967fe966/4fb61f27-e895-4abe-b14f-b141967fe9661.gif)
![[優(yōu)秀畢業(yè)論文]數(shù)字溫度計顯示報警系統(tǒng)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/18/4fb61f27-e895-4abe-b14f-b141967fe966/4fb61f27-e895-4abe-b14f-b141967fe9662.gif)
![[優(yōu)秀畢業(yè)論文]數(shù)字溫度計顯示報警系統(tǒng)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/18/4fb61f27-e895-4abe-b14f-b141967fe966/4fb61f27-e895-4abe-b14f-b141967fe9663.gif)
![[優(yōu)秀畢業(yè)論文]數(shù)字溫度計顯示報警系統(tǒng)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/18/4fb61f27-e895-4abe-b14f-b141967fe966/4fb61f27-e895-4abe-b14f-b141967fe9664.gif)
![[優(yōu)秀畢業(yè)論文]數(shù)字溫度計顯示報警系統(tǒng)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/18/4fb61f27-e895-4abe-b14f-b141967fe966/4fb61f27-e895-4abe-b14f-b141967fe9665.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計論文 題 目: 數(shù)字溫度計顯示報警系統(tǒng) 專 業(yè): 電子信息工程 班 級: 電子信息0902班 姓 名: 學(xué) 號: 指導(dǎo)教師: 摘 要數(shù)字溫度計顯示報警系統(tǒng) 隨著時代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),本文將介紹一種基于單片機(jī)控制的數(shù)字溫度計,利用單片機(jī)at89s52設(shè)計了一種數(shù)字溫度計,它由單片機(jī)、ds18b20傳感器以及l(fā)ed 數(shù)碼管等部件組成,本溫度計屬于多功能溫度計,功能較強(qiáng),可以設(shè)置上下限報警溫度,且測量準(zhǔn)確、誤差小。當(dāng)測量溫度超過設(shè)定的溫度上下限時,啟動蜂鳴器和指示燈報警。 關(guān)鍵詞:單片機(jī)at89s52;溫度計;ds1
2、8b20;溫度顯示abstract along with the progress of the times and development, technology has spread to our life, work, scientific research, each domain, has become a more mature technology, this paper introduces a method based on single-chip microcomputer control, the digital thermometer at89s52 scm desig
3、n using a digital thermometer, it by mcu, led digital sensors and ds18b20 pipe etc components, this thermometer belongs to the multi-function thermometer, function, can install strong upper temperature, and the measurement accuracy alarm and small error. when measuring temperature exceeds the upper
4、limit set temperature, light buzzer and alarm.keywords: scm at89s52; thermometer; ds18b20; temperature display目錄1.設(shè)計要求12. 總體設(shè)計方案12.1數(shù)字溫度計設(shè)計方案論證12.2 總體設(shè)計框圖12.3單片機(jī)的選擇22.4 溫度傳感器的選擇32.4.1 ds18b20的介紹32.5 顯示模塊選擇62.5.1數(shù)碼管的分類62.5.2數(shù)碼管驅(qū)動原理73.系統(tǒng)硬件電路設(shè)計83.1系統(tǒng)整體電路圖83.2 單片機(jī)最小系統(tǒng)93.3 溫度傳感器系統(tǒng)103.3.1 ds18b20的測溫原理103.
5、4 報警電路設(shè)計123.5 顯示電路設(shè)計133.6電源電路設(shè)計134. 系統(tǒng)軟件設(shè)計144.1主程序144.2讀出溫度子程序154.3溫度轉(zhuǎn)換命令子程序164.4 計算溫度子程序164.5 鍵盤掃描流程圖185. 測試與結(jié)果分析195.1仿真軟件介紹195.2 仿真結(jié)果195.2.1 用keil進(jìn)行程序編譯195.2.2 在proteus中仿真19總結(jié)23致謝24參考文獻(xiàn)25引言溫度是工業(yè)控制中主要的被控參數(shù)之一,特別是在冶金、化工、建材、食品、機(jī)械、石油等工業(yè)中,具有舉足重輕的作用。對于不同場所、不同工藝、所需溫度高低范圍不同、精度不同,則采用的測溫元件、測溫方法以及對溫度的控制方法也將不同
6、;產(chǎn)品工藝不同、控制溫度的精度不同、時效不同,則對數(shù)據(jù)采集的精度和采用的控制算法也不同,因而,對溫度的測控方法多種多樣。隨著電子技術(shù)和微型計算機(jī)的迅速發(fā)展,微機(jī)測量和控制技術(shù)也得到了迅速的發(fā)展和廣泛的應(yīng)用。利用微機(jī)對溫度進(jìn)行測控的技術(shù),也便隨之而生,并得到日益發(fā)展和完善,越來越顯示出其優(yōu)越性。隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。本設(shè)計即用單片機(jī)對溫度進(jìn)行實(shí)時檢
7、測與控制,本文所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準(zhǔn)確的場所,或科研實(shí)驗(yàn)室使用,該設(shè)計控制器使用單片機(jī)at89s52,測溫傳感器使用ds18b20,用4位共陽極led數(shù)碼管以串口傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示,能準(zhǔn)確達(dá)到設(shè)計要求。本溫度計屬于多功能溫度計,功能較強(qiáng),可以設(shè)置上下限報警溫度,且測量準(zhǔn)確、誤差小。當(dāng)測量溫度超過設(shè)定的溫度上下限時,啟動蜂鳴器和指示燈報警。1.設(shè)計要求 基本范圍0-99 精度誤差小于0.5 led數(shù)碼直讀顯示 實(shí)現(xiàn)聲光報警 可以任意設(shè)定溫度的上下限報警功能2. 總體設(shè)計方案2.1數(shù)字溫度計設(shè)計方案
8、論證 方案一由于本設(shè)計是測溫電路,根據(jù)設(shè)計要求可以使用熱敏電阻之類的感溫器件利用其感溫效應(yīng),然后將隨被測溫度變化的電壓或電流采集過來,經(jīng)過a/d轉(zhuǎn)換后,將數(shù)據(jù)傳輸?shù)絾纹瑱C(jī)進(jìn)行數(shù)據(jù)的處理,然后在顯示電路上顯示,這樣就可以將被測溫度顯示出來,這種設(shè)計需要用到a/d轉(zhuǎn)換電路,感溫電路比較麻煩。 方案二 在單片機(jī)電路設(shè)計中,大多都是使用傳感器,這是非常容易想到利用數(shù)字溫度傳感器,所以可以采用一只溫度傳感器ds18b20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,然后傳輸給單片機(jī)進(jìn)行數(shù)據(jù)處理,就可以滿足設(shè)計要求。從以上兩種方案,很容易看出,采用方案二,電路設(shè)計比較簡潔,軟件設(shè)計也比較簡單,故采用
9、方案二。2.2 總體設(shè)計框圖溫度計電路設(shè)計總體設(shè)計方框圖如圖2.1所示,控制器采用單片機(jī)at89s52,溫度傳感器采用ds18b20,用4位led數(shù)碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。led顯 示單片機(jī)復(fù)位報警點(diǎn)按鍵ds18b20傳感器蜂鳴器報警主 控 制 器 圖2.1總體設(shè)計方框圖2.3單片機(jī)的選擇方案一:選擇microchip公司的pic系列單片機(jī)作為世界上最為頂尖的單片機(jī)研發(fā)與生產(chǎn)企業(yè),微芯公司設(shè)計的pic系列單片機(jī)一度風(fēng)靡全球,其優(yōu)秀的性能和卓越的品質(zhì)受到了許多人的青睞,其優(yōu)點(diǎn)毋庸贅述。但是,高知名度的缺點(diǎn)也顯而易見,價格昂貴,性價比不高是其軟肋。方案二:選擇德州儀器的msp430系列單片
10、機(jī)msp430單片機(jī)是一個16位的、具有精簡指令集的混合型單片機(jī),它具有極低的功耗、豐富的片內(nèi)外設(shè)和方便靈活的開發(fā)手段。但是,由于msp430單片機(jī)系列價格較高,比較適合于較為復(fù)雜的應(yīng)用系統(tǒng)。方案三:選擇atmel公司的at89s52單片機(jī)at89s52單片機(jī)是一個低功耗,高性能cmos8位單片機(jī),片內(nèi)含8kbytes isp(in-system programmable)的可反復(fù)擦寫1000次的flash只讀程序存儲器,器件采用atmel公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和isp flash存儲單元,片上fla
11、sh允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器,在功能強(qiáng)大的微型計算機(jī)的at89s52單芯片上,擁有靈巧的8位cpu和在系統(tǒng)可編程flash,使得at89s52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。at89s52引腳結(jié)構(gòu)圖如圖2.2:圖2.2 at89s52結(jié)構(gòu)圖基于對成本和性能的比較,我們選擇at89s52單片機(jī)。2.4 溫度傳感器的選擇2.4.1 ds18b20的介紹溫度傳感器的種類眾多,在應(yīng)用與高精度、高可靠性的場合時dallas(達(dá)拉斯)公司生產(chǎn)的ds18b20溫度傳感器當(dāng)仁不讓。超小的體積,超低的硬件開消,抗干擾能力強(qiáng)
12、,精度高,附加功能強(qiáng),使得ds18b20更受歡迎。 ds18b20的主要特征: 全數(shù)字溫度轉(zhuǎn)換及輸出; 最高12位分辨率,精度可達(dá)土0.5攝氏度; 12 位分辨率時的最大工作周期為750毫秒; 可選擇寄生工作方式; 檢測溫度范圍為55c+125c(67f +257f); 內(nèi)置 eeprom,限溫報警功能。用戶可定義報警設(shè)置 ; 64 位光刻 rom,內(nèi)置產(chǎn)品序列號,方便多機(jī)掛接; 多樣封裝形式,適應(yīng)不同硬件系統(tǒng); 獨(dú)特的單線接口僅需要一個端口引腳進(jìn)行通信; 多個ds18b20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能; 無須外部器件; 可通過數(shù)據(jù)線供電,電壓范圍為3.05.5v; 零待機(jī)功耗;
13、溫度以9或12位數(shù)字; 報警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報警條件)的器件; 負(fù)電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作;ds18b20它有64位rom的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前面56位的crc檢驗(yàn)碼,這也是多個ds18b20可以采用一線進(jìn)行通信的原因。溫度報警觸發(fā)器th和tl,可通過軟件寫入戶報警上下限。另外,由于ds18b20單線通信功能是分時完成的,它有嚴(yán)格的時隙概念,因此讀寫時序很重要。系統(tǒng)對ds18b20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初始化ds18b20(發(fā)復(fù)位脈沖)發(fā)rom功能命令發(fā)存儲
14、器操作命令處理數(shù)據(jù)。ds18b20芯片封裝結(jié)構(gòu)如圖2.3: 圖2.3 ds18b20芯片封裝結(jié)構(gòu) ds18b20采用3腳pr35封裝或8腳soic封裝,其內(nèi)部結(jié)構(gòu)框圖如圖2.4所示。i/oc64位rom和單線接口高速緩存存儲器與控制邏輯溫度傳感器高溫觸發(fā)器th低溫觸發(fā)器tl配置寄存器8位crc發(fā)生器vdd圖 2.4 ds18b20內(nèi)部結(jié)構(gòu)框ds18b20工作原理 ds18b20的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強(qiáng)。其一個工作周期可分為兩個部分,即溫度檢測和數(shù)據(jù)處理。在講解其工作流程之前我們有必要了解18b20的內(nèi)部存儲器資源。ds18b20共有三種形態(tài)的存儲器資源,它
15、們分別是: rom只讀存儲器,用于存放ds18b20id編碼,其前8位是單線系列編碼(ds18b20的編碼是19h),后面48位是芯片唯一的序列號,最后8位是以上56的位的crc碼(冗余校驗(yàn))。數(shù)據(jù)在出產(chǎn)時設(shè)置不由用戶更改。ds18b20共64位rom。 ram數(shù)據(jù)暫存器,用于內(nèi)部計算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,ds18b20 共9個字節(jié) ram,每個字節(jié)為8位。第1、2個字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第3、4個字節(jié)是用戶eeprom(常用于溫度報警值儲存)的鏡像。在上電復(fù)位時其值將被刷新。第5個字節(jié)則是用戶第3個eeprom的鏡像。第6、7、8個字節(jié)為計數(shù)寄存器,是為了讓用戶得到更高的溫度
16、分辨率而設(shè)計的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計算的暫存單元。第9個字節(jié)為前8個字節(jié)的crc碼。eeprom非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報警值和校驗(yàn)數(shù)據(jù),ds18b20共3位eeprom,并在ram 都存在鏡像,以方便用戶操作。ds18b20工作時寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖2.5所示。低5位一直為,tm是工作模式位,用于設(shè)置ds18b20在工作模式還是在測試模式,ds18b20出廠時該位被設(shè)置為0,用戶要去改動,r1和r0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。溫度 lsb溫度 msbth用戶字節(jié)1tl用戶字節(jié)2配置寄存器保留保留保留crct
17、mr1r011111圖2.5ds18b20字節(jié)定義2.5 顯示模塊選擇數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。 2.5.1數(shù)碼管的分類數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點(diǎn)顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(com)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到+5v,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有
18、發(fā)光二極管的陰極接到一起形成公共陰極(com)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到地線gnd上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。如圖2.6 圖2.6 八段數(shù)碼管事物圖2.5.2數(shù)碼管驅(qū)動原理 數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,在有些時候需要做一個簡單的顯示系統(tǒng)。那么在單片機(jī)i/o資源夠用的情況下可以直接用單片機(jī)的i/o口驅(qū)動數(shù)碼管,也可以根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。(1)靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由
19、一個單片機(jī)的i/o端口進(jìn)行驅(qū)動,或者使用如bcd碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用i/o端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5840根i/o端口來驅(qū)動,要知道一個89s51單片機(jī)可用的i/o端口才32個呢),實(shí)際應(yīng)用時必須增加譯碼驅(qū)動器進(jìn)行驅(qū)動,增加了硬件電路的復(fù)雜性。(2)動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極com增加位選通控制電路,位選通由各自獨(dú)立的i/o線控制,當(dāng)單片機(jī)輸出字形碼時,所有數(shù)碼管都
20、接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機(jī)對位選通com端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的com端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的i/o端口,而且功耗更低。靜態(tài)驅(qū)動方式簡單不容易出錯,如果電路設(shè)計合適,也能夠用較少的
21、線完成多個數(shù)碼管的驅(qū)動。但是動態(tài)驅(qū)動方式省單片機(jī)的資源,如今已經(jīng)有很多這樣成熟的基于動態(tài)掃描的芯片。所以能滿足本文顯示設(shè)計要求,采用lg3641bh led數(shù)碼管做為顯示電路,數(shù)碼管顯示電路采用4位共陽led數(shù)碼管從p14,p15,p16,p17串口輸出段碼。3.系統(tǒng)硬件電路設(shè)計3.1系統(tǒng)整體電路圖該系統(tǒng)電路主要包括:單片機(jī)最小系統(tǒng)、ds18b20溫度傳感器系統(tǒng)、報警系統(tǒng)、led顯示模塊電路及電源接口和數(shù)據(jù)下載接口等電路,如圖3.1所示。圖中有三個獨(dú)立式按鍵可以分別調(diào)整溫度計的上下限報警設(shè)置,圖中蜂鳴器可以在被測溫度不在上下限范圍內(nèi)時,發(fā)出報警鳴叫聲音,同時led數(shù)碼管將沒有被測溫度值顯示,這
22、時可以調(diào)整報警上下限,從而測出被測的溫度值。圖中的按健復(fù)位電路是上電復(fù)位加手動復(fù)位,使用比較方便,在程序跑飛時,可以手動復(fù)位,這樣就不用在重起單片機(jī)電源,就可以實(shí)現(xiàn)復(fù)位。 圖 3.1系統(tǒng)整體電路圖3.2 單片機(jī)最小系統(tǒng)最小系統(tǒng)包括晶振電路、復(fù)位電路、按鍵設(shè)置部分,at89s52單片機(jī)最小系統(tǒng)的電路如圖:3.2單片機(jī)at89s52具有低電壓供電和體積小等特點(diǎn),四個端口只需要兩個口就能滿足電路系統(tǒng)的設(shè)計需要,很適合便攜手持式產(chǎn)品的設(shè)計使用系統(tǒng)可用二節(jié)電池供電。 圖 3.2 單片機(jī)最小系統(tǒng)電路3.3 溫度傳感器系統(tǒng)ds18b20溫度傳感器電路,如圖3.3。圖 3.3 ds18b20溫度傳感器系統(tǒng)ds
23、18b20采用單線進(jìn)行數(shù)據(jù)傳輸,外接一個4.7k上拉電阻與單片機(jī)的p10口相連進(jìn)行數(shù)據(jù)的雙向傳輸。3.3.1 ds18b20的測溫原理器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入。器件中還有一個計數(shù)門,當(dāng)計數(shù)門打開時,ds18b20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進(jìn)行計數(shù)進(jìn)而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將55所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器1、溫度寄存器中,計數(shù)器1和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值。減法計數(shù)器
24、1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)減法計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到減法計數(shù)器計數(shù)到0時,停止溫度寄存器的累加,此時溫度寄存器中的數(shù)值就是所測溫度值。其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值大致被測溫度值。由表1可見,ds18b20溫度轉(zhuǎn)換的時間比較長,而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間越長。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。高速暫存ram的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出
25、前面所有8字節(jié)的crc碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)ds18b20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,數(shù)據(jù)格式以0.0625lsb形式表示。當(dāng)符號位s=0時,表示測得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號位s=1時,表示測得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計算十進(jìn)制數(shù)值。表2是一部分溫度值對應(yīng)的二進(jìn)制溫度數(shù)據(jù)。表1 ds18b20溫度轉(zhuǎn)換時間表r1r0分辨率/位溫度最大轉(zhuǎn)向時間/ms00993.75011
26、0187.510113751112750ds18b20完成溫度轉(zhuǎn)換后,就把測得的溫度值與ram中的th、tl字節(jié)內(nèi)容作比較。若tth或ttl,則將該器件內(nèi)的報警標(biāo)志位置位,并對主機(jī)發(fā)出的報警搜索命令作出響應(yīng)。因此,可用多只ds18b20同時測量溫度并進(jìn)行報警搜索。在64位rom的最高有效字節(jié)中存儲有循環(huán)冗余檢驗(yàn)碼(crc)。主機(jī)rom的前56位來計算crc值,并和存入ds18b20的crc值作比較,以判斷主機(jī)收到的rom數(shù)據(jù)是否正確。表2一部分溫度對應(yīng)值表溫度/二進(jìn)制表示十六進(jìn)制表示+1250000 0111 1101 000007d0h+850000 0101 0101 00000550h+
27、25.06250000 0001 1001 00000191h+10.1250000 0000 1010 000100a2h+0.50000 0000 0000 00100008h00000 0000 0000 10000000h-0.51111 1111 1111 0000fff8h-10.1251111 1111 0101 1110ff5eh-25.06251111 1110 0110 1111fe6fh-551111 1100 1001 0000fc90h3.4 報警電路設(shè)計報警電路中加一pnp三極管驅(qū)動,基極接單片機(jī)p11口,當(dāng)端口變成低電平時,驅(qū)動三極管會導(dǎo)通,vcc電壓加載到蜂鳴器
28、使其發(fā)聲、報警發(fā)光二極管亮,如圖3.4。圖 3.4報警電路3.5 顯示電路設(shè)計如圖3.5,采用lg3641bh led數(shù)碼管顯示電路采用4位共陽led數(shù)碼管從p14,p15,p16,p17串口輸出段碼。用pnp三極管進(jìn)行驅(qū)動,當(dāng)相應(yīng)的端口變成低電平時,驅(qū)動相應(yīng)的三極管會導(dǎo)通,驅(qū)動三極管給數(shù)碼管相應(yīng)的位供電,這時只要p0口送出數(shù)字的顯示代碼,數(shù)碼管就能正常顯示數(shù)字。圖 3.5 數(shù)碼管顯示電路3.6電源電路設(shè)計我們選用的是串聯(lián)起來的4節(jié)1.5v的5號電池,從經(jīng)濟(jì)的角度考慮的,干電池比較便宜,但其還有不足之處,干電池存儲的是電量。隨著電量的消耗,它的供電電壓就會不斷的下降,所有我們需要使用一個穩(wěn)壓器
29、,來保證電源供給的是標(biāo)準(zhǔn)的5v電壓。4節(jié)1.5v串聯(lián)起來產(chǎn)生的和電壓最大是6v,而本文的at89s52單片機(jī)工作電壓的范圍是4v5.5v,在該系統(tǒng)中我們使用的電壓是5v。這時我們可以用lm7805穩(wěn)壓器來產(chǎn)生穩(wěn)定的5v電壓。穩(wěn)壓電路如下圖3.6所示:圖3.6 lm7805穩(wěn)壓電路在該電路中,c12是極性電容,起到穩(wěn)壓的作用,而c2是非極性電容,它起的作用是濾除輸出電壓中不是直流的成分,即濾波。lm7805穩(wěn)壓芯片的穩(wěn)壓壓差為2v左右,在實(shí)際使用中容易出現(xiàn)電壓過低的狀態(tài),此時提供的電源達(dá)不到系統(tǒng)的電源要求,會出現(xiàn)程序跑飛的現(xiàn)象,而另一款lm2904的穩(wěn)壓壓差可以達(dá)到40mv,效果比lm7805好
30、很多,但考慮到經(jīng)濟(jì)原因我們采用lm7805,只要在穩(wěn)壓前端提供較大的電源供應(yīng)即可。4. 系統(tǒng)軟件設(shè)計系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計算溫度子程序,按鍵掃描。4.1主程序主程序的主要功能是負(fù)責(zé)讀出并處理ds18b20的測量的當(dāng)前溫度值,溫度的實(shí)時顯示,并根據(jù)設(shè)置的上下限判斷是否報警。系統(tǒng)開始運(yùn)行時,溫度傳感器測量并計算溫度值通過p1.0口傳輸進(jìn)單片機(jī)里進(jìn)行處理,經(jīng)過處理后的數(shù)據(jù)再通過p0口傳輸?shù)綌?shù)碼管進(jìn)行顯示。通過按鍵設(shè)置溫度報警界限,當(dāng)超過報警界限時單片機(jī)將相應(yīng)的數(shù)據(jù)通過p1.1口傳輸進(jìn)行聲光報警。溫度測量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序
31、流程見圖4.1所示。初始化調(diào)用溫度模塊程序ds18b20存在?是處理溫度值轉(zhuǎn)換bcd碼送at89s52處理按鍵掃描模塊顯示模塊,led顯示溫度是否越限?開始是報警否否錯誤處理,顯8.8.8.8.圖4.1 主程序流程圖4.2讀出溫度子程序讀出溫度子程序的主要功能是讀出ram中的9字節(jié),在讀出時需進(jìn)行crc校驗(yàn),校驗(yàn)有錯時不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖4.2示 開始發(fā)ds18b20復(fù)位命令發(fā)跳過rom命令發(fā)讀取溫度命令讀取操作,crc校驗(yàn)結(jié)束nyyn移入溫度緩存器9字節(jié)完?crc校驗(yàn)?圖4.2讀溫度流程圖4.3溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率
32、時轉(zhuǎn)換時間約為750ms,在本程序設(shè)計中采用1s顯示程序延時法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如上圖,圖4.3所示4.4 計算溫度子程序計算溫度子程序?qū)am中讀取值進(jìn)行bcd碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如4.4所示。發(fā)ds18b20復(fù)位命令開始發(fā)跳過rom命令發(fā)溫度轉(zhuǎn)換開始命令結(jié)束圖 4.3 溫度轉(zhuǎn)換流程圖 開始溫度零下?溫度值取補(bǔ)碼置“”標(biāo)志計算小數(shù)位溫度bcd值 計算整數(shù)位溫度bcd值 結(jié)束置“+”標(biāo)志ny圖 4.4計算溫度流程圖4.5 鍵盤掃描流程圖開始enter_flag為1是否有up按下display顯示退出子程序(ret)返回主程序enter子程序f
33、lag=1down子程序否是是否否是否否是是enter按鍵是否按下是否有enter按下是否有down按下up子程序圖 4.5 按鍵掃描流程圖5. 測試與結(jié)果分析5.1仿真軟件介紹本次仿真用了proteus軟件,該軟件可仿真各種電路和ic,并支持單片機(jī),元件庫齊全,使用方便,是不可多得的專業(yè)的單片機(jī)軟件仿真系統(tǒng)。5.2 仿真結(jié)果5.2.1 用keil進(jìn)行程序編譯運(yùn)用keil軟件編譯c語言程序在結(jié)果欄顯示“ cx”-0 error(s),0 warning(s).說明此程序在軟件編譯上無語法等錯誤。將此程序生成*.hex文件調(diào)入硬件中用proteus進(jìn)行調(diào)試仿真。5.2.2 在proteus中仿真
34、將生成的*.hex文件調(diào)入proteus電路圖的單片機(jī)中,點(diǎn)擊圖左下角的開始鍵運(yùn)行,程序的開始界面如圖5.3,數(shù)碼管顯示“ ”。圖5.3 仿真程序初始化程序初始化后通過調(diào)節(jié)ds18b20溫度傳感器的數(shù)值,數(shù)碼管會顯示相應(yīng)的數(shù)值,例如10,其結(jié)果如圖5.4所示。圖5.4 仿真程序正常運(yùn)行結(jié)果在設(shè)置系統(tǒng)報警溫度上下限時,按下按鍵s1,數(shù)碼管會顯示“h38c”(系統(tǒng)默認(rèn)上限為38),此時進(jìn)入溫度上限設(shè)置模式,可通過調(diào)節(jié)s2和s3分別增加和減小數(shù)碼管上顯示的數(shù)字,例如設(shè)置上限為39,如圖5.5所示。接著再次按下鍵s1,數(shù)碼管會顯示“l(fā)05c”(系統(tǒng)默認(rèn)下限為5),此時進(jìn)入溫度下限設(shè)置模式,可通過調(diào)節(jié)s
35、2和s3分別增加和減小數(shù)碼管上顯示的數(shù)字,例如設(shè)置下限為5,如圖5.6所示;圖5.5 仿真設(shè)置最高溫度報警線圖5.6仿真設(shè)置溫度報警最低線當(dāng)溫度超過設(shè)置的上下限時,系統(tǒng)會進(jìn)行聲光報警,蜂鳴器會發(fā)出“滴滴滴”蜂鳴聲,同時led燈會閃爍。當(dāng)系統(tǒng)未檢測的到ds18b20溫度傳感器或運(yùn)行錯誤時,數(shù)碼管會顯示錯誤的數(shù)字“8.8.8.8”,如圖5.7所示。圖5.7仿真程序出錯總結(jié)做為對大學(xué)三年所學(xué)知識的總結(jié),通過本次的畢業(yè)論文設(shè)計,我學(xué)到了很多東西,同時在做的過程中也發(fā)現(xiàn)很多的問題,從最初的課題選擇到對相關(guān)課題資料的搜集與摘選,再到自己論文內(nèi)容的思路的設(shè)計、編寫以致最后階段的修改與完善。在這一過程中,我對
36、我們大學(xué)三年所學(xué)習(xí)的相關(guān)電子知識又有了更深一層的學(xué)習(xí)和理解,讓我對自己所學(xué)的又有了更深的掌握。雖然以前曾經(jīng)做過這樣的設(shè)計但這次設(shè)計真的讓我長進(jìn)了很多,本次設(shè)計重點(diǎn)在于單片機(jī)的應(yīng)用和軟件的編程,需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個程序并不是一件簡單的事,有好多的東西,只有我們?nèi)ピ囍隽?,才能真正的掌握,只學(xué)習(xí)理論有些東西而不結(jié)合實(shí)踐是很難理解的,更談不上掌握。從這次的畢業(yè)設(shè)計中,我真真正正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識用到實(shí)際當(dāng)中,學(xué)習(xí)單片機(jī)更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,我認(rèn)為做一個設(shè)計首先應(yīng)該有明確的整體設(shè)計思想,然后再通過分析選擇合適的單元電路。計算,設(shè)定電路的相關(guān)參數(shù)值,從小模塊設(shè)計起,再到整個模塊.鍛煉自己動手能力和綜合分析能力。這就是我在這次課程設(shè)計中的最大收獲。大學(xué)三年的所學(xué),通過此次設(shè)計得以
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于優(yōu)化公司業(yè)務(wù)的解決方案
- 嘉興冷鏈物流公司
- 廣州交通大學(xué)項(xiàng)目可行性研究報告
- 勞動合同法培訓(xùn)教程
- 三農(nóng)村現(xiàn)代化建設(shè)路徑研究
- 項(xiàng)目延期的情況說明報告
- 項(xiàng)目啟動與實(shí)施方案詳解
- 高級營養(yǎng)師練習(xí)卷附答案
- 農(nóng)業(yè)信息化技術(shù)應(yīng)用與智慧農(nóng)業(yè)發(fā)展策略研究制定
- 市場調(diào)研報告總結(jié)表格-市場趨勢總結(jié)分析
- 2024年07月上海興業(yè)銀行上海分行招考筆試歷年參考題庫附帶答案詳解
- 湖北日報傳媒集團(tuán)(湖北日報社)招聘筆試沖刺題2025
- 廣東省茂名市2025屆高三第二次調(diào)研數(shù)學(xué)試卷含解析
- 公司安全生產(chǎn)事故隱患內(nèi)部報告獎勵工作制度
- 開封市第二屆職業(yè)技能大賽無人機(jī)裝調(diào)檢修項(xiàng)目技術(shù)文件(國賽項(xiàng)目)
- 【MOOC】人工智能與信息社會-北京大學(xué) 中國大學(xué)慕課MOOC答案
- 人美版六年級美術(shù)教案下冊全冊
- 第二十四章 流行性感冒課件
- 教育科學(xué)研究方法學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 螞蟻集團(tuán)在線素質(zhì)測評題
- 美容師實(shí)習(xí)合同協(xié)議書范文
評論
0/150
提交評論