版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、.PAGE 11系統(tǒng)設(shè)計(jì)的目的意義1.1 目的體溫是生命活動(dòng)的一種表現(xiàn),是人體新代的一個(gè)重要生理參數(shù)。體溫既有生理學(xué)的意義,又有重要的臨床意義,是臨床診斷的一個(gè)重要指標(biāo)。因此體溫計(jì)在現(xiàn)在的生活中有極為重要的作用。傳統(tǒng)的水銀體溫計(jì)易破碎,存在水銀污染的可能,測量時(shí)間較長,不易讀數(shù),為此設(shè)計(jì)一種新型的體溫計(jì),它的測量精度與傳統(tǒng)的水銀體溫計(jì)相媲美的情況下,大縮短了測量時(shí)間且攜帶方便,對環(huán)境幾乎沒有污染。它以AT89C51單片機(jī)為核心,結(jié)合溫度傳感器,LED模塊等外部設(shè)備,在軟件的控制下,實(shí)現(xiàn)智能化的體溫測量,不但能夠準(zhǔn)確測溫,而且能夠?qū)囟冗M(jìn)展邏輯判斷,并且通過LED顯示器將測量結(jié)果顯示出來。假設(shè)溫
2、度高于38攝氏度系統(tǒng)就會(huì)自動(dòng)報(bào)警,這就意味著所測得的溫度異于人體正常溫度,引起人們注意。本設(shè)計(jì)的創(chuàng)新點(diǎn)在于,不僅完成了電子體溫計(jì)的要求,而且還增加了一個(gè)報(bào)警裝置。當(dāng)測量者的體溫高于人體正常體溫時(shí),體溫計(jì)就會(huì)自動(dòng)報(bào)警,人性化設(shè)計(jì),為廣闊客戶帶來方便。1.2 國外進(jìn)展情況中國電子體溫計(jì)行業(yè)最早起源于1998年,以每年高于30%的速度開展至今經(jīng)歷了十多年時(shí)間。高達(dá)數(shù)倍甚至十多倍的利潤空間、較低的政策壁壘和技術(shù)壁壘吸引了眾多企業(yè)進(jìn)入該行業(yè)。目前國涌現(xiàn)了大小80多家電子體溫計(jì)品牌,既有“歐姆龍、“嬰之侶、“捷威等行業(yè)領(lǐng)頭的外資品牌,也有“華辰、“世佳、“華安、“康復(fù)等迅速開展壯大的國品牌。今后試圖進(jìn)去該
3、行業(yè)的生產(chǎn)廠家將到達(dá)50多家。由于行業(yè)逐步規(guī)和新一輪電子體溫計(jì)產(chǎn)品消費(fèi)熱潮的興起,2021年以后,電子體溫計(jì)產(chǎn)品行業(yè)進(jìn)入了一個(gè)前所未有的高速開展時(shí)期,市場的快速開展孕育著巨大的商機(jī)。1.3 設(shè)計(jì)思路本系統(tǒng)可以使用ISIS畫出原理圖,翻開ISIS軟件,單擊命令窗口filenew design,創(chuàng)立一個(gè)default模板,保存名稱為“基于AT89C51單片機(jī)電子體溫計(jì)設(shè)計(jì).DSN。執(zhí)行菜單命令librarypick device/symbol,添加所需元件。本程序中可以使用DS18B20溫度傳感器,上面有“+“-可以模擬外界溫度變化。芯片選取74LS137,74LS373。在原理圖編輯窗口中放置元
4、件,再單擊工具箱中的“原件終端圖標(biāo),在對象選擇中單擊POWER和GROUND放置電源和地。放置好元件后,布好線。左鍵雙擊各元件,設(shè)置好相應(yīng)參數(shù),完成電路設(shè)計(jì)。設(shè)計(jì)的軟件局部在Keil中完成,具體操作步驟在后面仿真步驟中有詳細(xì)介紹,在此就不一一列出。2系統(tǒng)分析2.1 系統(tǒng)總體設(shè)計(jì)本系統(tǒng)采用AT89C51單片機(jī)、DS18B20溫度采集模塊和LED顯示器共同實(shí)現(xiàn)。AT89C51集合了溫度傳感器、放大器、A/D轉(zhuǎn)換器三者的作用。其中AT89C51通過P1.0和DS18B20進(jìn)展單總線通信,啟動(dòng)DS18B20溫度采集功能并取出轉(zhuǎn)化后的體溫?cái)?shù)值,最后將體溫值顯示在外接在P0口與P2口的四位共陰LED上。設(shè)
5、計(jì)思路如圖2.1所示。DS18B20單片機(jī)LED顯示器蜂鳴器圖2.1 設(shè)計(jì)思路示意圖2.2 DS18B20根底知識DS18B20是Dallas公司繼DS1820后推出的一種改進(jìn)型智能數(shù)字溫度傳感器,與傳統(tǒng)熱敏電阻相比,只需一根線就能直接讀出被測溫度,并可根據(jù)實(shí)際需求編程實(shí)現(xiàn)912位數(shù)字值的讀數(shù)方式。 DS18B20的封裝形式及引腳功能DS18B20有三種封裝形式:采用3引腳TO-92的封裝形式。采用6引腳TSOC封裝形式。采用8引腳SOIC封裝形式。DS18B20芯片的引腳功能如下:GND:電源地。DQ:數(shù)字信號輸入/輸出端。VDD:外接供電電源輸入端。采用寄生電源方式時(shí),該引腳接地。 DS1
6、8B20的部構(gòu)造溫度傳感器DS18B20的部構(gòu)造如下列圖,主要由64位ROM、溫度傳感器及高速緩存器配置存放器等局部組成,如圖2.2所示。VDDDQ64位ROM和單線接口高速緩存器溫度傳感器高溫觸發(fā)器TH低溫觸發(fā)器TL配置存放器存儲(chǔ)與控制邏輯電源檢測8位CRC發(fā)生器C圖2.2 DS18B20內(nèi)部構(gòu)造示意圖下面對DS18B20的相關(guān)局部進(jìn)展簡單的描述。 164位ROM。64位ROM是由廠家用激光刻錄一個(gè)64位的二進(jìn)制ROM代碼,是該芯片的標(biāo)志號,如圖2.3所示。8位循環(huán)冗余檢驗(yàn)48位序列號8位分類編號10H圖2.3 64位ROM示意圖 MSB LSB MSB LSB MSB LSB8位分類編號表
7、示產(chǎn)品分類編號,DS18B20的分類編號為 10H;48號序列號是一個(gè)大于281*1012的十進(jìn)數(shù)編碼,作為該芯片的唯一標(biāo)志代碼;8位循環(huán)冗余檢驗(yàn)為前56位的CRC循環(huán)冗余校驗(yàn)碼CRC=*8+*5+*4+1。由于每個(gè)芯片的64位ROM代碼不同,因此在單總線上能夠并掛多個(gè)DS18B20進(jìn)展多點(diǎn)溫度實(shí)時(shí)檢測。2溫度傳感器。溫度傳感器是DS18B20的核心局部,該功能部件可完成對溫度的測量。通過軟件編程可將-55+125攝氏度圍的溫度值按9位、10位、11位、12位的轉(zhuǎn)換精度進(jìn)展量化,以上的轉(zhuǎn)換精度都包括一個(gè)符號位,因此對應(yīng)的溫度量化值分別為0.5、0.25、0.125、0.0625攝氏度,即最高轉(zhuǎn)
8、換精度為0.0625攝氏度。芯片出廠時(shí)默認(rèn)為12位的轉(zhuǎn)換精度。當(dāng)接收到溫度轉(zhuǎn)換指令44H后,開場轉(zhuǎn)換,轉(zhuǎn)換完成后的溫度以16位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式表示,存儲(chǔ)在高速緩存器RAM的第0、1字節(jié)中,二進(jìn)制數(shù)的前5位是符號位。如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘上0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘上0.0625即可得到實(shí)際溫度。3高速緩存器。高速緩存器包括一個(gè)高速暫存器RAM和一個(gè)非易失性可電擦除E2PROM。非易失性可電擦除E2PROM用于存放高溫觸發(fā)器TH、低溫觸發(fā)器TL和配置存放器中的信息。高速暫存器RAM是一個(gè)連續(xù)8字節(jié)的
9、存儲(chǔ)器,前兩個(gè)字節(jié)是測得的溫度信息,第1個(gè)字節(jié)的容是溫度的低8位,第2個(gè)字節(jié)是溫度的高8位。第3個(gè)和第4個(gè)字節(jié)是高溫觸發(fā)器TH、低溫觸發(fā)器TL的易失性復(fù)制,第5個(gè)字節(jié)是配置存放器的易失性復(fù)制,以上字節(jié)的容在每一次上電復(fù)位時(shí)被刷新。第6、7、8個(gè)字節(jié)用于暫時(shí)保存為1。4配置存放器。配置存放器的容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)按此存放器的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值,它是高速緩存器的第5個(gè)字節(jié),該字節(jié)定義如圖2.4所示。圖2.4 高速緩存器的第5個(gè)字節(jié)示意圖TMR0R111111TM是測試模塊位,用于設(shè)置DS18B20在工作模式還是在測試模式。在DS18B20出廠時(shí),該位
10、被設(shè)置為0,用戶不必改動(dòng);R1和R0用來設(shè)置分辨率;其余5位均固定為1。DS18B20的分辨率設(shè)置如表2.1所示。表2.1 DS18B20的分辨率設(shè)置R1R0分辨率最大轉(zhuǎn)換時(shí)間ms009位93.750110位187.51011位3751112位750 DS18B20的測溫原理DS18B20主要由斜率累加器、溫度系數(shù)振蕩器、減法計(jì)數(shù)器、溫度存放器等局部組成。斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值。溫度系數(shù)振蕩器用于產(chǎn)生減法計(jì)數(shù)脈沖信號,其中低溫度系數(shù)振蕩器受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計(jì)數(shù)器1;高溫度系數(shù)振蕩器受溫度的影響較大,隨溫度的
11、變化,其振蕩頻率明顯改變,產(chǎn)生的信號作為減法計(jì)數(shù)器2的輸入脈沖。減法計(jì)數(shù)器對脈沖信號進(jìn)展減法計(jì)數(shù)。溫度存放器暫存溫度數(shù)值。在圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門翻開時(shí),DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)展計(jì)數(shù),從而完成溫度測量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器決定,每次測量前,首先將-55攝氏度多對應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度存放器中,減法計(jì)數(shù)器1和溫度存放器被預(yù)置在-55攝氏度所對應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對低溫度系數(shù)振蕩器產(chǎn)生的脈沖信號進(jìn)展減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度存放器的值將加1。之后,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開場對低溫度系數(shù)
12、振蕩器產(chǎn)生的脈沖信號進(jìn)展計(jì)數(shù),如此循環(huán),直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停頓溫度存放器的值的累加。此時(shí),溫度存放器中的數(shù)值即為所測溫度。斜率累加器不斷補(bǔ)償和修正測溫過程中的非線性,只要計(jì)數(shù)門未關(guān)閉就重復(fù)上述過程,直至溫度存放器的值到達(dá)被測溫度值。由于DS18B20是單總線芯片,在系統(tǒng)中假設(shè)有多個(gè)單總線芯片,每個(gè)芯片的信息交換則是分時(shí)完成的,均有嚴(yán)格的讀/寫時(shí)序要求。系統(tǒng)對DS18B20的操作協(xié)議為:初始化DS18B20發(fā)復(fù)位脈沖發(fā)ROM功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。 DS18B20的ROM命令1Read ROM命令代碼33H,允許主設(shè)備讀出DS18B20的64位二進(jìn)制ROM代碼。該命令只適用于
13、總線上存在單只DS18B20。2Match ROM命令代碼55H,假設(shè)主線上有多個(gè)從設(shè)備,使用該命令可以選中*一制定的DS18B20,即可與64位二進(jìn)制ROM代碼完全匹配的DS18B20才能響應(yīng)其操作。3Skip ROM命令代碼CCH,在啟動(dòng)所有DS18B20轉(zhuǎn)換之前或系統(tǒng)只有一個(gè)DS18B20時(shí),該命令將允許主設(shè)備不提供64位二進(jìn)制ROM代碼就使用存放器操作命令。4Search ROM命令代碼F0H,當(dāng)系統(tǒng)初次啟動(dòng)時(shí),主設(shè)備可能不知總線上有多少個(gè)從設(shè)備或者它們的ROM代碼,使用該命令可確定系統(tǒng)中的從設(shè)備個(gè)數(shù)及ROM代碼。5Alarm ROM命令代碼ECH,該命令用于鑒別和定位系統(tǒng)中超出程序設(shè)
14、定的報(bào)警溫度值。6Write Scratchpad命令代碼4EH,允許主設(shè)備向DS18B20的存放器寫入兩個(gè)字節(jié)的數(shù)據(jù),其中第一個(gè)字節(jié)寫入TH中,第二個(gè)字節(jié)寫入TL中??梢栽谌魏螘r(shí)刻發(fā)出復(fù)位命令中止數(shù)據(jù)的寫入。7Read Scratchpad命令代碼BEH,允許主設(shè)備讀取暫存器中的容。從第一個(gè)字節(jié)開場,直到CRC讀完第九個(gè)字節(jié)。也可以在任何時(shí)刻發(fā)出復(fù)位命令中止數(shù)據(jù)的讀取操作。8Copy Scratchpad命令代碼48H,將高溫觸發(fā)器TH和低溫觸發(fā)器TL中的字節(jié)復(fù)制到非易失性E2PROM。假設(shè)主機(jī)在該命令之后又發(fā)出讀操作,而DS18B20又忙于將暫存器的容復(fù)制到E2PROM時(shí),DS18B20就
15、會(huì)輸出一個(gè)“0。假設(shè)復(fù)制完畢,則DS18B20輸出一個(gè)“1。如果使用寄生電源,則主設(shè)備發(fā)出該命令后,立即發(fā)出強(qiáng)上拉并至少保持10ms以上的時(shí)間。9Convert T命令代碼44H,啟動(dòng)一次溫度轉(zhuǎn)換。假設(shè)主機(jī)在該命令之后又發(fā)出其他操作,而DS18B20又忙于溫度轉(zhuǎn)換,DS18B20就會(huì)輸出一個(gè)“0”。假設(shè)轉(zhuǎn)換完畢,則DS18B20輸出一個(gè)“1”。如果使用寄生電源,則主設(shè)備發(fā)出該命令之后,立即發(fā)出強(qiáng)上拉并至少保持500ms以上的時(shí)間。10Recall E2命令代碼B8H,將高溫觸發(fā)器TH和低溫觸發(fā)器TL中的字節(jié)從E2ROM中復(fù)制回到暫存器中。該操作是在DS18B20上電時(shí)自動(dòng)執(zhí)行,假設(shè)執(zhí)行該命令后
16、又發(fā)出讀操作,DS18B20會(huì)輸出溫度轉(zhuǎn)換忙標(biāo)志:0為忙,1完成。11Read Power Supply命令代碼B4H,主設(shè)備將該命令發(fā)給DS18B20后發(fā)出讀操作,DS18B20會(huì)返回它的電源使用模式:0為寄生電源,1為外部電源。2.3 74LS137根底知識74LS137是一種3線8線譯碼器/解調(diào)器,在三個(gè)地址輸入端都加有地址鎖存器。當(dāng)鎖存使能輸入是低電平時(shí),電路就具有譯碼器/解調(diào)器的功能。當(dāng)鎖存使能輸入從低電平轉(zhuǎn)換到高電平時(shí),選擇輸入A、B和C中的地址便存儲(chǔ)在鎖存器中。只要鎖存使能輸入保持高電平,則可不再考慮地址的變化。輸出使能控制控制著輸出狀態(tài),而不管選擇或鎖存使能狀態(tài)如何,除非一個(gè)輸
17、出是高一個(gè)輸出是低,則所有輸出全是高。2.4 74LS373根底知識引腳功能:11D8D:8位數(shù)據(jù)輸入端2OE:三態(tài)允許控制端低電平有效3LE:鎖存允許端41Q8Q:8位數(shù)據(jù)輸出鎖存端74LS373的輸出端D0D7可直接與總線相連。當(dāng)三態(tài)允許控制端/OE為低電平時(shí),Q0Q7為正常邏輯狀態(tài),可用來驅(qū)動(dòng)負(fù)載或總線。當(dāng)OE為高電平時(shí),Q0Q7呈高阻態(tài),即不驅(qū)動(dòng)總線,也不為總線的負(fù)載,但鎖存器部的邏輯操作不受影響。當(dāng)鎖存器允許端LE為高電平時(shí),Q隨數(shù)據(jù)D而變;當(dāng)LE為低電平時(shí),D被鎖存在已建立的數(shù)據(jù)電平。LE端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善400mv。2.5 原理圖設(shè)計(jì)本設(shè)計(jì)
18、以AT89C51單片機(jī)為核心,溫度傳感器給出相應(yīng)的溫度值,通過總線發(fā)送到芯片上,在LED顯示屏上顯示溫度傳感器上的溫度。當(dāng)溫度高于38攝氏度時(shí),在顯示出溫度的同時(shí),蜂鳴器發(fā)出警報(bào)聲。所需原件如表5.1所示。表2.2 電子體溫計(jì)所用的元件單片機(jī)AT89C51瓷片電容CAP 30PF麥克風(fēng)SOUNDER電解電容CAP-ELEC晶振CRYSTAL 12MHz三極管2N2905電阻RES滑動(dòng)變阻器POT-LIN溫度傳感器DS18B20芯片74LS373芯片74LS137顯示屏7SEG-MP*4-CC原理圖如圖2.5所示圖2.5 原理圖示意圖3 軟件設(shè)計(jì)3.1 流程圖設(shè)計(jì)通過對系統(tǒng)的分析,我們可以對本設(shè)
19、計(jì)有個(gè)大體的了解。如想得到溫度,必須得先對DS18B20進(jìn)展初始化處理。啟動(dòng)定時(shí)器,設(shè)置延時(shí),并開中斷,判斷經(jīng)過多長時(shí)間。假設(shè)是沒經(jīng)過1.112ms,要對其繼續(xù)判斷是否是第一次采集溫度,如果是的話那就返回繼續(xù)判斷經(jīng)過1.112ms;如果不是那就將上次采集的溫度返回判斷經(jīng)過1.112ms。以上判斷是采集溫度并判斷延時(shí)時(shí)間。如果經(jīng)過1.112ms,則程序繼續(xù)執(zhí)行,關(guān)中斷并令TR0=0,采集剛剛的溫度,保存并在LED顯示屏上顯示出來。此時(shí)再判斷如果溫度高于38攝氏度,則蜂鳴器報(bào)警;如果低于這個(gè)溫度程序則不報(bào)警,等待下次測量或者完畢測量。根據(jù)以上分析,我們可以畫出流程圖如圖6.1所示。開 始Y是否第一
20、次采集DS18B20溫度是否經(jīng)過1.112ms初始化跳過讀DS18B20啟動(dòng)定時(shí)器DS18B20啟動(dòng)定時(shí)器0延時(shí)1.112ms開中斷N結(jié) 束Y關(guān)中斷并使TR0為0顯示溫度值采集DS18B20溫度值并保存是否超過38度蜂鳴器報(bào)警顯示上次所采集的溫度NYN圖6.1 流程圖示意圖3.2 源程序設(shè)計(jì)根據(jù)以上的分析,我們可以寫出程序如下:/*/* 顯示容:利用18B20單線溫度檢測的應(yīng)用程序 然后在數(shù)碼管可以顯示*.*C,C表示攝氏度* /*/*include*include*include*define uchar unsigned char*define uint unsigned int/*/*
21、定義端口 */*/sbit seg1=P00;sbit seg2=P01;sbit seg3=P02;sbit DQ=P36;/DS18B20端口sbit beep=P20;/警報(bào)sfr dataled=0*90;/顯示數(shù)據(jù)端口P1/*/* 全局變量 */*/uint temp;uchar flag_get,count,num,minute,second;uchar code tab=0*3f,0*06,0*5b,0*4f,0*66,0*6d,0*7d,0*07,0*7f,0*6f; /七段數(shù)碼管共陰uchar str6;/*/* 函數(shù)聲明 */*/void delay1(uchar MS);
22、unsigned int ReadTemperature(void);void Init_DS18B20(void);unsigned char ReadOneChar(void);void WriteOneChar(unsigned char dat);void delay(unsigned int i);/*/* 主函數(shù) */*/void main() unsigned char TempH,TempL; TMOD|=0*01;/定時(shí)器設(shè)置 TH0=0*ef; TL0=0*f0; IE=0*82; TR0=1; P0=0*00; count=0; while(1) str5=0*39;/顯
23、示C符號 str1=tabTempH/100;/百位溫度 str2=tab(TempH%100)/10;/十位溫度 str3=tab(TempH%100)%10|0*80;/個(gè)位溫度,帶小數(shù)點(diǎn) str4=tabTempL; if(TempH%100)/10=3&(TempH%100)%10=5&TempL0|(TempH%100)/10=3&(TempH%100)%104; TempL=temp&0*0f; TempL=TempL*6/10;/小數(shù)近似處理 flag_get=0; /*/* 定時(shí)器中斷 */*/void tim(void) interrupt 1 using 1/中斷,用于數(shù)碼
24、管掃描和溫度檢測間隔 TH0=0*ef;/定時(shí)器重裝值TL0=0*f0; num+; if(num=50) num=0; flag_get=1;/標(biāo)志位有效 second+; if(second=60) second=0; minute+; count+; if(count=1) P0=0; dataled=str0;/數(shù)碼管掃描 if(count=2)P0=1; dataled=str1; if(count=3) P0=2; dataled=str2; if(count=4) P0=3; dataled=str3; if(count=5) P0=4; dataled=str4; if(cou
25、nt=6) P0=5; dataled=str5; count=0;/*/* 延時(shí)函數(shù) */*/void delay(unsigned int i)/延時(shí)函數(shù) while(i-);/*/* 初始化 */*/void Init_DS18B20(void) unsigned char *=0; DQ=1;/DQ復(fù)位 delay(8);/稍作延時(shí) DQ=0;/單片機(jī)將DQ拉低 delay(80);/大于480us DQ=1;/拉高總線 delay(10); *=DQ;/稍作延時(shí)后,如果*=0,則初始化成功;如果*=1,則初始化失敗 delay(5);/*/* 讀一個(gè)字節(jié) */*/unsigned c
26、har ReadOneChar(void) unsigned char i=0; unsigned char dat=0; for(i=8;i0;i-) DQ=0;/給脈沖信號 dat=1; DQ=1;/給脈沖信號 if(DQ) dat|=0*80; delay(5); return(dat);/*/* 寫一個(gè)字節(jié) */*/void WriteOneChar(unsigned char dat) unsigned char i=0; for(i=8;i0;i-) DQ=0; DQ=dat&0*01; delay(5); DQ=1; dat=1; delay(5);/*/* 讀取溫度 */*/u
27、nsigned int ReadTemperature(void) unsigned char a=0; unsigned int b=0; unsigned int t=0; Init_DS18B20(); WriteOneChar(0*cc);/跳過讀序號列號的操作 WriteOneChar(0*44);/啟動(dòng)溫度轉(zhuǎn)換 delay(200); Init_DS18B20(); WriteOneChar(0*cc);/跳過讀序號列號的操作 WriteOneChar(0*be);/讀取溫度存放器等共可讀9個(gè)存放器前兩個(gè)就是溫度 a=ReadOneChar();/低位 b=ReadOneChar(
28、);/高位 b=8; t=a+b; return(t);4 系統(tǒng)仿真調(diào)試4.1 程序調(diào)試與運(yùn)行翻開keil程序,執(zhí)行菜單命令projectnew project創(chuàng)立“基于AT89C51單片機(jī)電子體溫計(jì)設(shè)計(jì)工程,并選擇單片機(jī)型號為AT89C51。執(zhí)行菜單命令filenew創(chuàng)立文件,輸入上述C程序,保存為“基于AT89C51單片機(jī)電子體溫計(jì)設(shè)計(jì).C。在project欄的file管理窗口中右擊文件組,選擇“add file to groupsource group1,將源程序添加到工程中。執(zhí)行菜單命令projectopinions for target target 1,在彈出的對話框中選擇outp
29、ut選項(xiàng)卡,選中create he* file。在debug選項(xiàng)卡中,選中use:proteus VSM simulator。執(zhí)行菜單命令projectbuild target,編譯源程序,如果編譯成功,則在output window窗口中顯示沒有錯(cuò)誤,并創(chuàng)立了“基于AT89C51單片機(jī)電子體溫計(jì)設(shè)計(jì).HE*文件。在已繪制好的原理圖proteus isis菜單欄中,執(zhí)行菜單命令debuguse remote debug monitor將該項(xiàng)選中,是proteus與keil真正連接起來,使它們聯(lián)合調(diào)試。在keil中執(zhí)行菜單命令debugstart/stop debug session,進(jìn)展keil調(diào)試環(huán)境
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畜禽產(chǎn)品加工工藝優(yōu)化考核試卷
- 2024年網(wǎng)絡(luò)設(shè)施部署合同
- 疫源疫病監(jiān)測在自然保護(hù)區(qū)的重要性考核試卷
- 玉米種植的農(nóng)業(yè)信貸政策支持體系優(yōu)化考核試卷
- 機(jī)械課程設(shè)計(jì)稿模板
- 電子真空器件的噪聲分析與控制考核試卷
- 電力系統(tǒng)專業(yè) 課程設(shè)計(jì)
- 瓷器紋樣課程設(shè)計(jì)
- 無人機(jī)圖案培訓(xùn)課程設(shè)計(jì)
- 《傳奇劇評點(diǎn)之?dāng)⑹鰧W(xué)術(shù)語系研究》
- JTG F80-1-2004 公路工程質(zhì)量檢驗(yàn)評定標(biāo)準(zhǔn) 第一冊 土建工程
- (2024年)電擊傷的急救與護(hù)理ppt課件完整版
- 國開《當(dāng)代中國政治制度》機(jī)考復(fù)習(xí)題匯總
- (2024年)數(shù)據(jù)分析PPT圖片
- (2024年)配電網(wǎng)自動(dòng)化課件05
- 中等職業(yè)學(xué)校班主任能力比賽班級建設(shè)方案
- 浙江省臺州市椒江區(qū)2023-2024學(xué)年四年級上學(xué)期期末科學(xué)試卷
- 網(wǎng)絡(luò)傳播概論(第5版) 課件 第一章 網(wǎng)絡(luò)媒介的演變
- 無人機(jī)消防安全指南
- 2023北京西城六年級(上)期末英語試卷含答案
- 京東五力模型分析報(bào)告
評論
0/150
提交評論