基于單片機(jī)的數(shù)字溫度計(jì)方案設(shè)計(jì)書(附代碼及仿真)(共17頁(yè))_第1頁(yè)
基于單片機(jī)的數(shù)字溫度計(jì)方案設(shè)計(jì)書(附代碼及仿真)(共17頁(yè))_第2頁(yè)
基于單片機(jī)的數(shù)字溫度計(jì)方案設(shè)計(jì)書(附代碼及仿真)(共17頁(yè))_第3頁(yè)
基于單片機(jī)的數(shù)字溫度計(jì)方案設(shè)計(jì)書(附代碼及仿真)(共17頁(yè))_第4頁(yè)
基于單片機(jī)的數(shù)字溫度計(jì)方案設(shè)計(jì)書(附代碼及仿真)(共17頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上目錄1、 緒論.32、 方案選擇 2.1、主控芯片選擇 32.2、顯示模塊.32.3、溫度檢測(cè)模塊.43、 系統(tǒng)硬件設(shè)計(jì)3.1、51單片機(jī)最小系統(tǒng)設(shè)計(jì).43.2、電源供電電路設(shè)計(jì).53.3、LCD顯示電路設(shè)計(jì).63.4、溫度檢測(cè)電路設(shè)計(jì).74、 系統(tǒng)軟件設(shè)計(jì)4.1、溫度傳感器數(shù)據(jù)讀取流程圖.94.2、系統(tǒng)程序設(shè)計(jì).105、 編程和仿真5.1、Keil編程軟件.115.2、proteus.115.3、仿真界面.116、 總結(jié).127、 附錄 附錄1、原理圖.12 附錄2、程序清單.131、緒論在信息高速發(fā)展的21世紀(jì),科學(xué)技術(shù)的發(fā)展日新月異,科技的進(jìn)步帶動(dòng)了測(cè)量技術(shù)的發(fā)

2、展,現(xiàn)代控制設(shè)備的性能和結(jié)構(gòu)發(fā)生了翻天覆地的變化。我們已經(jīng)進(jìn)入了高速發(fā)展的信息時(shí)代,測(cè)量技術(shù)也成為當(dāng)今科技的一個(gè)主流,廣泛地深入到研究和應(yīng)用工程的各個(gè)領(lǐng)域。溫度和人們的生活息息相關(guān),溫度的測(cè)量也就變得很重要。2、系統(tǒng)方案選擇2.1 主控芯片選擇方案一:STC89C52RCSTC89C52RC是采用8051核的ISP在線可編程芯片,最高工作時(shí)鐘頻率80MHz,片內(nèi)含8KB的可反復(fù)擦寫1000次的Flash只讀存儲(chǔ)器,器件兼容MCS-51指令系統(tǒng)及8051引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,具有在線可編程特定,配合PC端的控制程序即可將用戶的程序代碼下載進(jìn)單片機(jī)內(nèi)

3、部,省去了購(gòu)買通用編程器,而且速度更快。STC89C52RC系列單片機(jī)是單時(shí)鐘周期、高速、低功耗的新一代8051單片機(jī)。方案二:ATmega8ATmega8是ATMAL公司在2002年第一季度推出的一款新型AVR高檔單片機(jī)。在AVR家族中,ATmega8是一種非常特殊的單片機(jī),它的芯片內(nèi)部集成了較大容量的存儲(chǔ)器和豐富強(qiáng)大的硬件接口電路,具備AVR高檔單片機(jī)MEGA系列的全部性能和特點(diǎn)。但由于采用了小引腳封裝(為DIP28和TQFP/MLF32),所以其價(jià)格僅與低檔單片機(jī)相當(dāng),再加上AVR單片機(jī)的系統(tǒng)內(nèi)可編程特性,使得無(wú)需購(gòu)買昂貴的仿真器和編程器也可進(jìn)行單片機(jī)嵌入式系統(tǒng)的設(shè)計(jì)和開發(fā),同時(shí)也為單片

4、機(jī)的初學(xué)者提供了非常方便和簡(jiǎn)捷的開發(fā)環(huán)境。由以上兩種方案進(jìn)行比較,我們選擇STC89C52RC作為主控芯片,因?yàn)樵撔酒侨腴T級(jí)單片機(jī),我們對(duì)該款單片機(jī)比較熟悉,而AVR單片機(jī)較為高端,這次的設(shè)計(jì)用STC89C52已經(jīng)足夠使用,引腳也夠用,故用STC89C52作為主控芯片。STC89C52RC價(jià)格低廉,一般5元以內(nèi)可以買到,在通銀買也很方便。2.2 時(shí)鐘及顯示模塊方案一:數(shù)碼管數(shù)碼管亮度高,顯示大,特別是顯示的時(shí)間很直觀,價(jià)格比較便宜,但多位的數(shù)碼管在動(dòng)態(tài)掃描的時(shí)候會(huì)出現(xiàn)閃爍。而且數(shù)碼管占用的位置較大,且比較耗電。方案二: 1602液晶屏1602液晶屏顯示清晰且不會(huì)閃爍,在需要時(shí)還可以輸出字符等

5、內(nèi)容,由于液晶屏是數(shù)字式的,因此和單片機(jī)系統(tǒng)的接口簡(jiǎn)單,操作方便。1602LCD液晶顯示屏的功耗主要消耗在其內(nèi)部的電極和驅(qū)動(dòng)IC 上,因而耗電量比其他顯示器要少得多,功耗較低。由于其內(nèi)部集成有顯示芯片,程序編寫簡(jiǎn)單,適用于多方面的應(yīng)用。因此由以上兩種方案進(jìn)行比較,我們選擇方案二來(lái)設(shè)計(jì)顯示模塊。1602液晶顯示屏網(wǎng)上可購(gòu)買的途徑較多,價(jià)格一般在10元以內(nèi),重慶育森電子網(wǎng)店價(jià)格為8.5元。通銀那也有,不過(guò)可能價(jià)格要15元左右。2.3 溫度檢測(cè)模塊方案一:熱敏電阻+AD模塊本方案使用熱敏電阻之類的器件(如AD590等模擬溫度傳感器)利用其感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或電流采集出來(lái),進(jìn)行A/D轉(zhuǎn)

6、換后,就可以利用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上可以將被測(cè)溫度顯示出來(lái),這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。方案二:DS18B20DS18B20數(shù)字溫度傳感器是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。它在實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫,測(cè)量溫度范圍在-55到+125攝氏度之間,由以上兩種方案進(jìn)行比較,我們選擇方案二來(lái)設(shè)計(jì)溫度檢測(cè)模塊。其中DS18B20網(wǎng)上報(bào)價(jià)約為5元,其中,重慶育森電子的網(wǎng)店較為便宜,為4.5元。通銀也有賣,價(jià)格稍微高

7、點(diǎn)。3、系統(tǒng)硬件設(shè)計(jì)3.1 51單片機(jī)最小系統(tǒng)設(shè)計(jì)單片機(jī)最小系統(tǒng)如下圖所示:以STC89C52單片機(jī)為核心,選用12M的晶振,這是最常用的選擇,外接電容沒(méi)有特別的要求,但是外接電容的大小會(huì)影響振蕩器的頻率高低、振蕩器的穩(wěn)定性和起振的快速性,因此我們選用30pf的電容作為起振電容。復(fù)位電路為按鍵低電平復(fù)位,當(dāng)按鍵按下,RET端為高電平,當(dāng)高電平持續(xù)4us的時(shí)間就可以使單片機(jī)復(fù)位。這里尤其要注意的是晶振和電容的位置,它們距離單片機(jī)引腳越短越好,因?yàn)樘L(zhǎng)可能無(wú)法使單片機(jī)起振。另外是EA端一定要接上電源,使單片機(jī)能夠工作。3.2 電源供電電路設(shè)計(jì)電源供電電路如下圖所示:我們采用4節(jié)1.5V的電池作為電

8、源,LM2940為穩(wěn)壓芯片,穩(wěn)壓芯片兩端分別接兩個(gè)0.1uf和100uf的電容進(jìn)行濾波,以獲得更穩(wěn)定的電壓。D1為電源指示燈,當(dāng)開關(guān)打開,顯示燈亮,表示給電路供+5V電壓。其中,LM2940作為常用的穩(wěn)壓芯片,比7805的轉(zhuǎn)換效率要高,7805直接輸入不接輸出的情況下,其內(nèi)部會(huì)有3mA的靜態(tài)電流消耗,而2940的靜態(tài)電流比7805要小的多,故選擇LM2940作為穩(wěn)壓芯片。4節(jié)電池裝在電池盒中,在電路板下方安裝,使用兩套螺絲。3.3 LCD顯示電路設(shè)計(jì)1602LCD液晶屏顯示電路如下圖所示:1602LCD液晶屏為5V電壓驅(qū)動(dòng),帶背光,可顯示兩行,每行16個(gè)字符,不能顯示漢字。液晶1、2端為電源;

9、15、16為背光電源;為防止直接加5V而燒壞背光燈,在15腳串聯(lián)一個(gè)1K電阻晶3端為液晶對(duì)比度調(diào)節(jié)端,通過(guò)一個(gè)10K的電位器來(lái)調(diào)節(jié)液晶顯示對(duì)比度。用于限流。液液晶4端為向液晶控制器寫數(shù)據(jù)/寫命令選擇端,接單片機(jī)P1.0端口。液晶5端為讀/寫選擇端,因?yàn)槲覀儾恍枰獜囊壕е凶x取數(shù)據(jù),只向其寫入命令和數(shù)據(jù),因此此端始終選擇為寫狀態(tài),即低電平接地。液晶6端為使能信號(hào),是操作必須的信號(hào),接單片機(jī)的P1.1口。3.4 溫度檢測(cè)電路設(shè)計(jì)溫度檢測(cè)電路如下圖所示:DS18B20是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求

10、通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)位的數(shù)字值讀數(shù)方式。DS18B20的性能特點(diǎn)如下:獨(dú)特的單線接口僅需一個(gè)端口引腳進(jìn)行通訊簡(jiǎn)單的多點(diǎn)分布應(yīng)用無(wú)需外部器件可通過(guò)數(shù)據(jù)線供電零待機(jī)功耗測(cè)溫范圍-55+125,以0.5遞增。華氏器件-67+2570F,以0.90F 遞增溫度以9 位數(shù)字量讀出溫度數(shù)字量轉(zhuǎn)換時(shí)間200ms(典型值)用戶可定義的非易失性溫度報(bào)警設(shè)置報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列、各種封裝形式如圖3.3.1所示,DQ 為數(shù)據(jù)輸入/輸出引腳

11、。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源;GND為地信號(hào);VDD為可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。其電路圖如圖5.3.1所示.。 圖5.3.1外部封裝形式 在仿真軟件中如圖5.3.2所示 圖5.3.2DS18B20的測(cè)溫原理如圖5.3.3所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入,圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量.計(jì)數(shù)門的開啟時(shí)間由高溫

12、度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將-55 所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55 所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí)溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫圖5.3.3中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性其輸出用,于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過(guò)程,直至溫度寄存器值達(dá)到被測(cè)溫

13、度值,這就是DS18B20的測(cè)溫原理。另外,由于DS18B20單線通信功能是分時(shí)完成的,有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。圖5.3.3 在正常測(cè)溫情況下,DS1820的測(cè)溫分辨力為0.5。4、 系統(tǒng)軟件設(shè)計(jì)4.1:實(shí)驗(yàn)主程序流程圖4.2:溫度傳感器數(shù)據(jù)讀取流程圖5、編程和仿真5.1 編程軟件Keil4Keil C51是美國(guó)Keil software 公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的

14、優(yōu)勢(shì),因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過(guò)一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil需要win98、NT、win2000、winXP、win7等操作系統(tǒng)。2009年2月發(fā)布的Keil uVision4,Keil uVision4引入靈活的窗口管理系統(tǒng),使開發(fā)人員能夠使用多臺(tái)監(jiān)視器,并提供了視覺(jué)上的表面對(duì)窗口位置的完全控制的任何地方,新的用戶界面可以更好地利用屏幕空間和更有效地組織多個(gè)窗口,提供一個(gè)整潔、高效的環(huán)境來(lái)開發(fā)應(yīng)用程序。5.2 仿真軟件proteus7.7Proteus軟件是Lab

15、center electronics公司出版的EDA工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教案的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、

16、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。5.3仿真界面6、總結(jié)1、選擇芯片和傳感器時(shí),夠用易用就可以,綜合考慮選擇性價(jià)比最好的。2、在進(jìn)行電路實(shí)際制作之前,應(yīng)該用仿真軟件進(jìn)行仿真,可以使開發(fā)進(jìn)程加快。3、在實(shí)際制作電路時(shí),需要注意電源端和地端要檢測(cè)過(guò)不導(dǎo)通后才能通電檢測(cè),防止燒壞芯片。7、 附錄附錄1、原理圖附錄2、程序清單#include<reg52.h> /頭文件#define

17、uchar unsigned char #define uint unsigned intsbit rs=P20。sbit lcden=P21。 /液晶使能端sbit DATA = P37。 /DS18B20接入口uchar FLAG_DIS=0。uchar bai_18b20,shi_18b20,ge_18b20,num。 /定義變量bit flag_Negative_number 。/負(fù)數(shù)標(biāo)志uchar code table="tempreture:" 。 /提示語(yǔ)/*一毫秒定時(shí)*/void delay_ms(uint z)uint x,y。for(x=z。x>0

18、。x-)for(y=110。y>0。y-)。/*延時(shí)子函數(shù)*/void delay(uint num)while(num-) 。/*液晶寫命令*/void write_lcd_com(uchar com)rs=0。lcden=0。P0=com。delay_ms(1)。lcden=1。delay_ms(1)。lcden=0。/*液晶寫數(shù)據(jù)*/void write_lcd_date(uchar date)rs=1。lcden=0。P0=date。delay_ms(1)。lcden=1。delay_ms(1)。lcden=0。/*液晶初始化程序*/void lcd_init()write_lc

19、d_com(0x38)。write_lcd_com(0x0c)。write_lcd_com(0x06)。write_lcd_com(0x01)。/*DS18b20溫度傳感器函數(shù)*/void Init_DS18B20(void) /傳感器初始化 uchar x=0。 DATA = 1。 /DQ復(fù)位 delay(10)。 /稍做延時(shí) DATA = 0。 /單片機(jī)將DQ拉低 delay(80)。 /精確延時(shí) 大于 480us /450 DATA = 1。 /拉高總線 delay(20)。 x=DATA。 /稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗 delay(30)。/*溫度傳感器讀一

20、個(gè)字節(jié)*/ReadOneChar(void)uchar i=0。uchar dat = 0。for (i=8。i>0。i-) DATA = 0。 / 給脈沖信號(hào) dat>>=1。 DATA = 1。 / 給脈沖信號(hào) if(DATA) dat|=0x80。 delay(8)。 return(dat)。/*溫度傳感器寫一個(gè)字節(jié)*/void WriteOneChar(uchar dat) uchar i=0。 for (i=8。 i>0。 i-) DATA = 0。 DATA = dat&0x01。 delay(10)。 DATA = 1。 dat>>=1

21、。 delay(8)。/*讀取溫度傳感器溫度*/int ReadTemperature(void)uchar a=0。uchar b=0。int t=0。float tt=0。Init_DS18B20()。WriteOneChar(0xCC)。 /跳過(guò)讀序號(hào)列號(hào)的操作WriteOneChar(0x44)。 /啟動(dòng)溫度轉(zhuǎn)換Init_DS18B20()。WriteOneChar(0xCC)。 /跳過(guò)讀序號(hào)列號(hào)的操作WriteOneChar(0xBE)。 /讀取溫度寄存器等(共可讀9個(gè)寄存器)前兩個(gè)就是溫度a=ReadOneChar()。/低位b=ReadOneChar()。/高位t=b。t<

22、<=8。t=t|a。if(b&0x80) t=t+1。flag_Negative_number = 1。 else flag_Negative_number = 0。 tt=t*0.0625。t= tt*10+0.5。 return(t)。/*液晶顯示溫度*/void dis_D18B20(void)int temp。temp=ReadTemperature()。/讀溫度bai_18b20=temp%1000/100。/顯示十位shi_18b20=temp%100/10。/顯示個(gè)位ge_18b20=temp%10。/顯示十分位if(flag_Negative_number) /負(fù)

23、數(shù)if(bai_18b20=0) /十位為0,則不顯示十位write_lcd_com(0x80+0x40)。write_lcd_date(0x2D)。write_lcd_date(0x30+shi_18b20)。write_lcd_date(0x30+ge_18b20)。write_lcd_date(0xDF)。write_lcd_date(0x43)。elsewrite_lcd_com(0x80+0x40)。write_lcd_date(0x2D)。write_lcd_date(0x30+bai_18b20)。write_lcd_date(0x30+shi_18b20)。write_lcd_date(0xDF)。write_lcd_date(0x4

溫馨提示

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