![單片機(jī)課程設(shè)計(jì)數(shù)字溫計(jì)的設(shè)計(jì)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/4/78540850-5bdb-4dad-a123-3a3bc790f341/78540850-5bdb-4dad-a123-3a3bc790f3411.gif)
![單片機(jī)課程設(shè)計(jì)數(shù)字溫計(jì)的設(shè)計(jì)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/4/78540850-5bdb-4dad-a123-3a3bc790f341/78540850-5bdb-4dad-a123-3a3bc790f3412.gif)
![單片機(jī)課程設(shè)計(jì)數(shù)字溫計(jì)的設(shè)計(jì)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/4/78540850-5bdb-4dad-a123-3a3bc790f341/78540850-5bdb-4dad-a123-3a3bc790f3413.gif)
![單片機(jī)課程設(shè)計(jì)數(shù)字溫計(jì)的設(shè)計(jì)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/4/78540850-5bdb-4dad-a123-3a3bc790f341/78540850-5bdb-4dad-a123-3a3bc790f3414.gif)
![單片機(jī)課程設(shè)計(jì)數(shù)字溫計(jì)的設(shè)計(jì)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/4/78540850-5bdb-4dad-a123-3a3bc790f341/78540850-5bdb-4dad-a123-3a3bc790f3415.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、太原理工大學(xué)現(xiàn)代科技學(xué)院?jiǎn)纹瑱C(jī)原理與接口技術(shù) 課程設(shè)計(jì) 設(shè)計(jì)名稱(chēng) 數(shù)字溫度計(jì)的設(shè)計(jì) 專(zhuān)業(yè)班級(jí) 自動(dòng)化10-4班 學(xué) 號(hào) 2010101276 姓 名 成婷 指導(dǎo)教師 李曉林 裝訂線專(zhuān)業(yè)班級(jí) 自動(dòng)化10-4班 學(xué)號(hào) 2010101276 姓名 成婷 成績(jī) 前 言 隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同種類(lèi)的傳感器,可實(shí)現(xiàn)諸如電壓、濕度、溫度、速度、硬度、壓力等的物理量的測(cè)量。 隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目
2、標(biāo)之一,它所給人帶來(lái)的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對(duì)它的要求越來(lái)越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。摘要: 溫度是日常生活、工業(yè)、醫(yī)學(xué)、環(huán)境保護(hù)、化工、石油等領(lǐng)域最常用到的一個(gè)物理量。測(cè)量溫度的基本方法是使用溫度計(jì)直接讀取溫度。最常見(jiàn)到得測(cè)量溫度的工具是各種各樣的溫度計(jì),例如:水銀玻璃溫度計(jì),酒精溫度計(jì),熱電偶或熱電阻溫度計(jì)等。它們常常以刻度的形式表示溫度的高低,人們必須通過(guò)讀取刻度值的多少來(lái)測(cè)量溫度。利用單片機(jī)和溫度傳感器構(gòu)成的電子式智能溫度計(jì)就可以直接測(cè)量溫度,得到溫度的數(shù)
3、字值,既簡(jiǎn)單方便,有直觀準(zhǔn)確。本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對(duì)測(cè)溫比較準(zhǔn)確的場(chǎng)所,或科研實(shí)驗(yàn)室使用。本文主要介紹了一個(gè)基于AT89C51單片機(jī)的測(cè)溫系統(tǒng),詳細(xì)描述了利用數(shù)字溫度傳感器DS18B20開(kāi)發(fā)測(cè)溫系統(tǒng)的過(guò)程,該系統(tǒng)可以方便的是實(shí)現(xiàn)溫度采集和顯示,并可以根據(jù)需要任意設(shè)定上下限報(bào)警溫度,它使用起來(lái)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合我們?nèi)粘I詈凸まr(nóng)業(yè)生產(chǎn)中的溫度測(cè)量,也可以當(dāng)做溫度處理模塊嵌入其他系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。DS18B20和AT89C51結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系
4、統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,抗干擾能力強(qiáng),適合與惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。 本設(shè)計(jì)首先是確定目標(biāo),氣候是各個(gè)功能模塊的設(shè)計(jì),再在Proteus軟件上進(jìn)行仿真,修改,仿真。本溫度計(jì)屬于多功能溫度計(jì),可以設(shè)置上下報(bào)警溫度,當(dāng)溫度不在設(shè)置范圍內(nèi)時(shí),可以報(bào)警。 關(guān)鍵詞:?jiǎn)纹瑱C(jī),數(shù)字控制,溫度計(jì), DS18B20,AT89C51目錄前 言I一、單片機(jī)簡(jiǎn)介11.1單片機(jī)的應(yīng)用1二、設(shè)計(jì)方案12.1設(shè)計(jì)務(wù)任和要求12.2方案論證1三、系統(tǒng)設(shè)計(jì)原理23.1系統(tǒng)組成23.2 DS18B20溫度傳感器與單片機(jī)的接口電路33.3主控電路33.4時(shí)鐘電路43.5復(fù)位電路43.6顯示電路53.7溫度傳感器及
5、DS18B20測(cè)溫原理5四、系統(tǒng)軟件算法設(shè)計(jì)74.1主程序設(shè)計(jì)74.2讀出溫度子程序74.3 溫度轉(zhuǎn)換命令子程序74.4計(jì)算溫度子程序7五、軟件仿真85.1系統(tǒng)仿真結(jié)果85.2系統(tǒng)原理圖8六、總結(jié)與體會(huì)9附錄10一、單片機(jī)簡(jiǎn)介 單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。這些電路能在軟件的控制下準(zhǔn)確、迅速、高效地完成程序設(shè)計(jì)者實(shí)現(xiàn)規(guī)定的任務(wù)。1.1
6、單片機(jī)的應(yīng)用1、在家用電器領(lǐng)域的應(yīng)用現(xiàn)在在家用電器的更新、市場(chǎng)開(kāi)拓等方面,單片機(jī)的應(yīng)用越來(lái)越廣泛,比如電子玩具或者高級(jí)的電視游戲機(jī)中,會(huì)應(yīng)用單片機(jī)實(shí)現(xiàn)其控制功能;而洗衣機(jī)可以利用單片機(jī)識(shí)別衣服的種類(lèi)與臟污程度,從而自動(dòng)選擇洗滌強(qiáng)度與洗滌時(shí)間;在冰箱冷柜中采用單片機(jī)控制可以識(shí)別食物的種類(lèi)與保鮮程度,實(shí)現(xiàn)冷藏溫度與冷藏時(shí)間的自動(dòng)選擇;微波爐也可以通過(guò)單片機(jī)識(shí)別食物種類(lèi)從而自動(dòng)確定加熱溫度與加熱時(shí)間等等,這些家用電器在應(yīng)用單片機(jī)技術(shù)后,無(wú)論是性能還是功能,與傳統(tǒng)技術(shù)相比均有長(zhǎng)足的進(jìn)步。2、在醫(yī)用設(shè)備領(lǐng)域的應(yīng)用現(xiàn)代醫(yī)療條件越來(lái)越發(fā)達(dá),人們對(duì)醫(yī)療滅菌消毒技術(shù)也越來(lái)越重視,但是一些偏遠(yuǎn)地區(qū)的小醫(yī)院、小診所
7、其消毒滅菌設(shè)備還十分簡(jiǎn)陋,無(wú)法有效的控制消毒質(zhì)量。隨著單片機(jī)技術(shù)的發(fā)展,其體積較小、功能強(qiáng)大、具有靈活的擴(kuò)展性、應(yīng)用方便的特點(diǎn)也越來(lái)越突出,因此在醫(yī)用呼吸機(jī)、分析儀與監(jiān)護(hù)儀、超聲診斷設(shè)備、病床呼叫系統(tǒng)等設(shè)備中得到了廣泛的應(yīng)用。3、在工業(yè)控制領(lǐng)域的應(yīng)用其實(shí)最早的單片機(jī)正是從工業(yè)領(lǐng)域開(kāi)始興起的,至今其在工業(yè)控制領(lǐng)域的應(yīng)用仍然十分廣泛,利用單片機(jī)技術(shù)構(gòu)成多種多樣的數(shù)據(jù)采集系統(tǒng)與智能控制系統(tǒng),比如工廠流水線的智能化管理、智能化電梯、報(bào)警系統(tǒng)等等,均是通過(guò)單片機(jī)技術(shù)與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)。4、在儀器儀表領(lǐng)域的應(yīng)用單片機(jī)具備集成度高、體積小、較強(qiáng)的控制功能與擴(kuò)展的靈活性等特點(diǎn),并且處理速度快,具有較
8、高的可靠性,所以在智能儀器儀表領(lǐng)域其應(yīng)用也十分廣泛。從某種程度而言,單片機(jī)帶動(dòng)了傳統(tǒng)測(cè)量、控制儀器儀表技術(shù)的一項(xiàng)革命,通過(guò)單片機(jī)技術(shù)實(shí)現(xiàn)了儀器儀表技術(shù)的數(shù)字化、智能化、綜合化以及多功能化,與傳統(tǒng)的電子電路或者數(shù)字電路相比,其功能更強(qiáng)大,綜合性更突出。二、設(shè)計(jì)方案2.1設(shè)計(jì)務(wù)任和要求1、基本范圍-501102、精度偏差小于0.53、LED 數(shù)碼管顯示4、可以任意設(shè)定溫度的上下限報(bào)警功能.5. 實(shí)現(xiàn)報(bào)警提示。2.2方案論證1.方案一本設(shè)計(jì)是測(cè)溫電路,采用熱敏電阻傳感器。利用熱敏電阻隨溫度變化而顯著變化,能直接將溫度的變化轉(zhuǎn)換為能量的變化,進(jìn)而制成溫度計(jì)。在將隨被測(cè)溫度變化的電壓或電流采集過(guò)來(lái),進(jìn)行
9、A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來(lái),這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。2.方案二 在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用DS18B20溫度傳感器。DS18B20的內(nèi)部3腳(或8腳)封裝;使用特有的溫度測(cè)量技術(shù),將被測(cè)溫度轉(zhuǎn)換成數(shù)值信號(hào);3.05.5V的電源供電方式和寄生電源供電方式;ROM由64位二進(jìn)制數(shù)字組成,共分為8個(gè)字節(jié);RAM由9個(gè)字節(jié)的高速暫存器和非易失性電擦寫(xiě)ROM組成。此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。 綜上所述:溫度傳感器選取智能測(cè)溫器件DS
10、18B20。3確定設(shè)計(jì)方案:對(duì)此次課設(shè)的方案選定: 選用方案二:采用AT89C51作為主控制系統(tǒng); 1602液晶顯示模塊芯片作為溫度數(shù)據(jù)顯示裝置;而智能溫度傳感器DS18B20器件作為測(cè)溫電路主要組成部分。本設(shè)計(jì)顯示電路采用1602液晶顯示模塊芯片。三、系統(tǒng)設(shè)計(jì)原理利用溫度傳感器DS18B20可以直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換的特性,模擬溫度值經(jīng)過(guò)DS18B20處理后轉(zhuǎn)換為數(shù)字值,然后送到單片機(jī)中進(jìn)行數(shù)據(jù)處理,并與設(shè)置的溫度報(bào)警限比較,超過(guò)限度后通過(guò)揚(yáng)聲器報(bào)警。同時(shí)處理后的數(shù)據(jù)送到LED中顯示。3.1系統(tǒng)組成本課題以是80C51單片機(jī)為核心設(shè)計(jì)的一種數(shù)字溫度控制系統(tǒng),系統(tǒng)整體硬件電路包括,傳感器
11、數(shù)據(jù)采集電路,溫度顯示電路,上下限報(bào)警調(diào)整電路,單片機(jī)主板電路等組成。系統(tǒng)框圖如圖所示。溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖所示,控制器采用單片機(jī)AT89S51,溫度傳感器采用DS18B20,用6位LED數(shù)碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。此外,還添加了報(bào)警系統(tǒng),對(duì)溫度實(shí)施監(jiān)控。 圖 數(shù)字溫度計(jì)框圖1. 主控制器單片機(jī)AT89C51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。2. 顯示電路顯示電路采用LED液晶顯示數(shù)碼管,從P3口RXD,TXD串口輸出段碼。顯示電路是使用的串口顯示,這種顯示最大的優(yōu)點(diǎn)就是使用口資源
12、比較少,只用p3口的RXD,和TXD,串口的發(fā)送和接收,四只數(shù)碼管采用74LS164右移寄存器驅(qū)動(dòng),顯示比較清晰。3. 溫度傳感器溫度傳感器采用美國(guó)DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20溫度傳感器。DS18B20輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,在0100 攝氏度時(shí),最大線形偏差小于1 攝氏度,采用單總線的數(shù)據(jù)傳輸,可直接與計(jì)算機(jī)連接。用AT89S51芯片控制溫度傳感器DS18B20進(jìn)行實(shí)時(shí)溫度檢測(cè)并顯示,能夠?qū)崿F(xiàn)快速測(cè)量環(huán)境溫度,并可以根據(jù)需要設(shè)定上下限報(bào)警溫度。獲得的數(shù)據(jù)可以通過(guò)MAX232芯片與計(jì)算機(jī)的RS232接口進(jìn)行串口通信,方便的采集和整理時(shí)間溫度數(shù)據(jù)。3.2 DS18B
13、20溫度傳感器與單片機(jī)的接口電路DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線,3腳接電源。另一種是寄生電源供電方式,如圖所示單片機(jī)端口接單線總線,為保證在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)MOSFET管來(lái)完成對(duì)總線的上拉。當(dāng)DS18B20處于寫(xiě)存儲(chǔ)器操作和溫度A/D轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為10us。采用寄生電源供電方式時(shí)VDD端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。圖3-3 DS18B20與單片機(jī)的接口電路3.3主控電路單片機(jī)AT89C51 具有低電壓供電和體積小等特點(diǎn),
14、四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。晶振采用12MHZ。復(fù)位電路采用上電加自動(dòng)復(fù)位。AT8951的管腳如下圖所示:各管腳功能:VCC:供電電壓。 GND:接地。 P0P3:為輸入/輸出口線,其各有的功能,而P3口每一位還有特殊功能。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSE
15、N有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出。3.4時(shí)鐘電路80C51時(shí)鐘有兩種方式產(chǎn)生,即內(nèi)部方式和外部方式。80C51中有一個(gè)構(gòu)成內(nèi)部震蕩器的高增益反向放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。本次采用內(nèi)部震蕩電路,瓷片電容采用22PF,晶振為12MHZ。圖 震蕩電路圖3.5復(fù)位電路單片機(jī)系統(tǒng)的復(fù)位電路在這里采用的是上電+按鈕復(fù)位電
16、路形式,其中電阻R采用10K的阻值 ,電容采用10F的電容值。圖 復(fù)位電路3.6顯示電路對(duì)于數(shù)字溫度的顯示,我們采用6位LED數(shù)碼管。足夠顯示0100中各位數(shù),并且還能顯示一位小數(shù)部分。3.7溫度傳感器及DS18B20測(cè)溫原理DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)位的數(shù)字值讀數(shù)方式。DS18B20的性能特點(diǎn)如下:獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;無(wú)須外部器件;可通過(guò)數(shù)據(jù)線供電,電壓范圍為3
17、.05.5;零待機(jī)功耗;溫度以或位數(shù)字;用戶(hù)可定義報(bào)警設(shè)置;報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件;負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作; DS18B20采用3腳PR35封裝或8腳SOIC封裝,其引腳排列及內(nèi)部結(jié)構(gòu)框圖如圖及測(cè)溫原理圖如下圖1、圖2、圖3所示:圖 1引腳排列圖 2內(nèi)部結(jié)構(gòu)框圖預(yù)置斜率累加器比較低溫度系數(shù)振蕩器計(jì)數(shù)器1溫度寄存器Tx預(yù)置=0高溫度系數(shù)振蕩器-0計(jì)數(shù)器2T1加1停止T2圖3 DS18B20測(cè)溫原理圖DS18B20的測(cè)溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法
18、計(jì)數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門(mén),當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門(mén)的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將最低溫所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器1、溫度寄存器中,計(jì)數(shù)器1和溫度寄存器被預(yù)置在最低溫所對(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重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)
19、器計(jì)數(shù)到0時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門(mén)仍未關(guān)閉就重復(fù)上述過(guò)程,直到溫度寄存器值大致被測(cè)溫度值。四、系統(tǒng)軟件算法設(shè)計(jì)4.1主程序設(shè)計(jì)主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度。圖4.1 主程序流程4.2讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),檢驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě)。其程序流程圖如圖4.2所示。發(fā)DS18B20復(fù)位命令發(fā)跳過(guò)ROM命令發(fā)讀取溫度命令移入溫度暫存器結(jié)束
20、 圖4.2 讀出溫度子程序流程圖4.3 溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開(kāi)始命令,當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。4.4計(jì)算溫度子程序計(jì)算溫度子程序?qū)AM值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖4.3所示。開(kāi)始溫度零下?置“+”標(biāo)志NY溫度值取補(bǔ)碼置“”標(biāo)志計(jì)算小數(shù)位溫度BCD計(jì)算整數(shù)位溫度BCD結(jié)束圖4.3 計(jì)算溫度子程序流程圖五、軟件仿真5.1系統(tǒng)仿真結(jié)果5.2系統(tǒng)原理圖六、總結(jié)與體會(huì) 在此次課程設(shè)計(jì)的進(jìn)程中,遇到了很多問(wèn)題,例如,一開(kāi)始在確定課設(shè)題目后,在編寫(xiě)程序時(shí),由于思路不
21、太清晰,而且設(shè)計(jì)要求中需要使用新器件DS18B20智能測(cè)溫,而其相關(guān)知識(shí)我們很模糊甚至可以說(shuō)一無(wú)所知,不過(guò)后來(lái),我們通過(guò)查找一些相關(guān)的資料書(shū)以及尋求輔導(dǎo)老師的幫助,又經(jīng)過(guò)我們的主動(dòng)思考,理清思路,終于將程序修改正確。在仿真時(shí),由于我們有了之前的數(shù)模電課設(shè)仿真經(jīng)驗(yàn),所以此時(shí)我們課設(shè)進(jìn)行的很順利,并沒(méi)有受到什么大的阻礙。單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法,雖然以前寫(xiě)過(guò)幾次程序,但我覺(jué)的寫(xiě)好一個(gè)程序并不是一件簡(jiǎn)單的事,舉個(gè)例子,以前寫(xiě)的那幾次,數(shù)據(jù)加減時(shí),我用的都是BCD碼,這一次,我全部用的都是16進(jìn)制的數(shù)直接加減,顯示處理時(shí)在用除法去刪分,感覺(jué)效果比較好,有好多的東西
22、,只有我們?nèi)ピ囍隽耍拍苷嬲恼莆?,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。 從這次的課程設(shè)計(jì)中,我真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫(xiě)與讀的過(guò)程中才能提高,這就是我在這次課程設(shè)計(jì)中的最大收獲。附錄 程序清單DQ BITP3.0 ;從DS18B20向8051傳送的數(shù)據(jù)端口FLAG BIT00HFLAG_NEGBIT01H ;溫度正負(fù)值標(biāo)志位TEMP_LEQU 30H ;所設(shè)報(bào)警最低值溫度值TEMP_HEQU31H ;所設(shè)報(bào)警最高值溫度值TEMP_INTEQU 32HTEMP_DPEQU 33HTEM
23、P_100EQU34H ;TEMP_10EQU35HTEMP_1EQU36HC0BIT P3.1 ;負(fù)溫度標(biāo)志位C1BIT P3.2 ;超過(guò)100 標(biāo)志位C2BIT P3.3 ;超過(guò)10 標(biāo)志位C3BIT P3.4 ;超過(guò)1 標(biāo)志位C4BIT P3.5 ;超過(guò)0 標(biāo)志位;*;*主函數(shù)*ORG 0000HLJMP STARTORG 1000HSTART:MOV SP,#60HMAIN: LCALL READ_TEMP ;調(diào)用函數(shù)讀DS18B20所示溫度 LCALL PROC_TEMP ;調(diào)用函數(shù)對(duì)溫度進(jìn)行處理 LJMP MAIN;*;*READ_TEMP:LCALL INI_DQJB FLAG,
24、RE_0 RETRE_0:MOV A,#0CCHLCALL WRITE_DQ ;讀出傳感器所示溫度MOV A,#44HLCALL WRITE_DQLCALL DISP_LED;調(diào)用LED顯示程序LCALL INI_DQMOV A,#0CCHLCALL WRITE_DQMOV A,#0BEHLCALL WRITE_DQLCALL READ_DQRET;*DS18B20初始化程序*INI_DQ:SETBDQNOP ;NOP ;空操作 PC值加2CLRDQMOV R1,#3INI_0: MOV R0,#80 DJNZ R0,$ DJNZ R1,INI_0SETB DQNOP ;NOP ;NOP ;空
25、操作 PC值加3MOVR7,#25INI_1: JNB DQ,INI_2 ;DQ為0則轉(zhuǎn) DJNZ R7,INI_1 ;延時(shí) LJMP INI_3INI_2: SETB FLAG ;標(biāo)志位 LJMP INI_4INI_3: CLR FLAG LJMP INI_5INI_4: MOV R0,#80 DJNZ R0,$ ;時(shí)序要求延時(shí)一段時(shí)間INI_5: SETB DQ RET;*DS18B20寫(xiě)命令*WRITE_DQ:MOVR6,#8 CLR CTloop:CLRDQMOV R2,#6DJNZ R2,$RRCA;最低位移到C中MOV DQ,CMOV R2,#23DJNZ R2,$SETB DQN
26、OPDJNZ R6,TloopSETB DQRET;*讀DS18B20數(shù)據(jù)函數(shù)*READ_DQ:MOV R5,#2MOV R0,#30HREAD_0:MOV R6,#8READ_1:CLRCSETB DQNOPNOPCLRDQNOPNOPNOPNOPSETBDQMOV R2,#9DJNZ R2,$MOV C,DQMOV R3,#23DJNZ R3,$RRCADJNZR6,READ_1MOV R0,AINC R0DJNZ R5,READ_0SETB DQRET;*溫度數(shù)據(jù)處理程序*PROC_TEMP:CLR FLAG_NEGMOV A,TEMP_LSWAP A ; A中高低四位互換ORL A,#
27、0F0HMOV TEMP_INT,AMOV A,TEMP_HSWAP AORL A,#0FHANL TEMP_INT,AMOV A,TEMP_H CLR P3.6 CLR P3.7 JB ACC.7,BAOJING1 ;低于零度亮紅燈報(bào)警;JBACC.7,NEGTIVEMOV A,TEMP_LANL A,#0FHMOV DPTR,#TAB3MOVC A,A+DPTRMOV TEMP_DP,ALJMP PRO_0;*報(bào)警函數(shù)*BAOJING1: SETB P3.6 RET;NEGTIVE: ;溫度值為負(fù)時(shí)處理程序,按實(shí)際情況,處理過(guò)程比較復(fù)雜;SETB FLAG_NEG;MOV A,TEMP_L
28、;CPL A;ANL A,#0FH;MOV R1,A;CJNE R1,#0FH,PRO_1 ; ;低于0°則調(diào)用報(bào)警函數(shù);PUSH ACC;MOV A,TEMP_INT;SUBB A,#1;MOV TEMP_INT,A;POP ACC;MOV TEMP_DP,#00H ; LJMP PRO_2PRO_1: ADD A,#1MOV DPTR,#TAB3MOVC A,A+DPTRMOV TEMP_DP,APRO_2:MOV A,TEMP_INTCPL AMOV TEMP_INT,APRO_0:MOV A,TEMP_INT MOV B,#100DIV ABMOV TEMP_100,AMOV A,BMOV B,#10DIV ABMOV TEMP_10,AMOV TEMP_1,B RET;*LED初始化*CLR_LED:CLR C0CLR C1CLR C2CLR C3CLR C4RET ;*LED顯示*DISP_LED:LC
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中數(shù)學(xué)人教版九年級(jí)下冊(cè)同步聽(tīng)評(píng)課記錄28-2-1 第1課時(shí)《 解直角三角形》
- 2025年筒式采煤機(jī)合作協(xié)議書(shū)
- 北師大版七年級(jí)下冊(cè)數(shù)學(xué)聽(tīng)評(píng)課記錄:第六章《概率初步回顧與思考》
- 部審湘教版七年級(jí)數(shù)學(xué)下冊(cè)3.3 第2課時(shí)《利用完全平方公式進(jìn)行因式分解》聽(tīng)評(píng)課記錄
- 青島版數(shù)學(xué)七年級(jí)下冊(cè)《10.1 認(rèn)識(shí)二元一次方程組》聽(tīng)評(píng)課記錄2
- 人教版道德與法治八年級(jí)上冊(cè)5.3《善用法律》聽(tīng)課評(píng)課記錄
- 湘教版數(shù)學(xué)九年級(jí)上冊(cè)4.1.2《正弦》聽(tīng)評(píng)課記錄
- 五年級(jí)上數(shù)學(xué)聽(tīng)評(píng)課記錄
- 土地復(fù)墾合同范本
- 小區(qū)住宅房屋轉(zhuǎn)租合同范本
- 2025年度服務(wù)外包合同:銀行呼叫中心服務(wù)外包協(xié)議3篇
- 【課件】跨學(xué)科實(shí)踐制作微型密度計(jì)++課件人教版物理八年級(jí)下冊(cè)
- 杜邦公司十大安全理念
- Module 2 Unit 2 I dont like ginger. (說(shuō)課稿)-2024-2025學(xué)年外研版(一起)英語(yǔ)二年級(jí)上冊(cè)
- 廣聯(lián)達(dá)2024算量軟件操作步驟詳解
- 瞻望病人的護(hù)理
- WPS辦公應(yīng)用職業(yè)技能等級(jí)證書(shū)(初級(jí))考試復(fù)習(xí)題庫(kù)(含答案)
- 中國(guó)共產(chǎn)主義青年團(tuán)團(tuán)章
- 北師大版七年級(jí)數(shù)學(xué)上冊(cè)教材同步課后習(xí)題答案
- 大霧天安全行車(chē)培訓(xùn)
- 普外科一科一品一特色科室活動(dòng)方案
評(píng)論
0/150
提交評(píng)論