基于AT89C51單片機電子體溫計設(shè)計說明書_第1頁
基于AT89C51單片機電子體溫計設(shè)計說明書_第2頁
基于AT89C51單片機電子體溫計設(shè)計說明書_第3頁
基于AT89C51單片機電子體溫計設(shè)計說明書_第4頁
基于AT89C51單片機電子體溫計設(shè)計說明書_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

word格式文檔word格式文檔專業(yè)整理專業(yè)整理1系統(tǒng)設(shè)計的目的意義目的體溫是生命活動的一種表現(xiàn),是人體新陳代謝的一個重要生理參數(shù)。體溫既有生理學(xué)的意義,又有重要的臨床意義,是臨床診斷的一個重要指標。因此體溫計在現(xiàn)在的生活中有極為重要的作用。傳統(tǒng)的水銀體溫計易破碎,存在水銀污染的可能,測量時間較長,不易讀數(shù),為此設(shè)計一種新型的體溫計,它的測量精度與傳統(tǒng)的水銀體溫計相媲美的情況下,大大地縮短了測量時間且攜帶方便,對環(huán)境幾乎沒有污染。它以 AT89C5仰片機為核心,結(jié)合溫度傳感器,LED模塊等外部設(shè)備,在軟件的控制下,實現(xiàn)智能化的體溫測量,不但能夠精確測溫,而且能夠?qū)囟冗M行邏輯判斷,并且通過 LED顯示器將測量結(jié)果顯示出來。若溫度高于38攝氏度系統(tǒng)就會自動報警,這就意味著所測得的溫度異于人體正常溫度,引起人們注意。本設(shè)計的創(chuàng)新點在于,不僅完成了電子體溫計的要求,而且還增加了一個報警裝置。當測量者的體溫高于人體正常體溫時,體溫計就會自動報警,人性化設(shè)計,為廣大客戶帶來方便。國內(nèi)外進展情況中國電子體溫計行業(yè)最早起源于1998年,以每年高于30%勺速度發(fā)展至今經(jīng)歷了十多年時間。高達數(shù)倍甚至十多倍的利潤空間、較低的政策壁壘和技術(shù)壁壘吸引了眾多企業(yè)進入該行業(yè)。目前國內(nèi)涌現(xiàn)了大小80多家電子體溫計品牌,既有“歐姆龍”、“嬰之侶”、“捷威”等行業(yè)領(lǐng)頭的外資品牌,也有“華辰”、“世佳”、“華安”、“康復(fù)”等迅速發(fā)展壯大的國內(nèi)品牌。今后試圖進去該行業(yè)的生產(chǎn)廠家將達到 50多家。由于行業(yè)逐步規(guī)范和新一輪電子體溫計產(chǎn)品消費熱潮的興起,2009年以后,電子體溫計產(chǎn)品行業(yè)進入了一個前所未有的高速發(fā)展時期,市場的快速發(fā)展孕育著巨大的商機。設(shè)計思路本系統(tǒng)可以使用ISIS畫出原理圖,打開ISIS軟件,單擊命令窗口file——newdesign,創(chuàng)建一個default模板,保存名稱為“基于 AT89C51單片機電子體溫計設(shè)計.DSN'。執(zhí)行菜單命令library pickdevice/symbol,添加所需元件。本程序中可以使用DS18B2流度傳感器,上面有“+”“-”可以模擬外界溫度變化。芯片選取74LS137,74LS373在原理圖編輯窗口中放置元件,再單擊工具箱中的“原件終端”圖標,在對象選擇中單擊POWERGROUND置電源和地。放置好元件后,布好線。左鍵雙擊各元件,設(shè)置好相應(yīng)參數(shù),完成電路設(shè)計。設(shè)計的軟件部分在Keil中完成,具體操作步驟在后面仿真步驟中有詳細介紹,在此就不一一列出。2系統(tǒng)分析系統(tǒng)總體設(shè)計本系統(tǒng)采用AT89C51II片機、DS18B2溫度采集模塊和LED顯示器共同實現(xiàn)。AT89C51集合了溫度傳感器、放大器、A/D轉(zhuǎn)換器三者的作用。其中AT89C51?過P1.0和DS18B20進行單總線通信,啟動DS18B20S度采集功能并取出轉(zhuǎn)化后的體溫數(shù)值,最后將體溫值顯示在外接在P0口與P2口的四位共陰LED上。設(shè)計思路如圖2.1所示。圖2.1設(shè)計思路示意圖DS18B20基礎(chǔ)知識DS18B2Q1Dallas公司繼DS1820后推出的一種改進型智能數(shù)字溫度傳感器,與傳統(tǒng)熱敏電阻相比,只需一根線就能直接讀出被測溫度,并可根據(jù)實際需求編程實現(xiàn)9~12位數(shù)字值的讀數(shù)方式。DS18B20的封裝形式及引腳功能DS18B20t三種封裝形式:(1)采用3引腳TO-92的封裝形式。(2)采用6引腳TSOC寸裝形式。(3)采用8引腳SOIC封裝形式。DS18B20E片的引腳功能如下:GND電源地。DQ數(shù)字信號輸入/輸出端。VDD外接供電電源輸入端。采用寄生電源方式時,該引腳接地

2.2.2DS18B20的內(nèi)部結(jié)構(gòu)溫度傳感器DS18B20勺內(nèi)部結(jié)構(gòu)如圖所示,主要由64位ROM溫度傳感器及高速緩存器配置寄存器等部分組成,如圖2.2所示。下面對DS18B20勺相關(guān)部分進行簡單的描述。(1)64位ROM64位ROM!由廠家用激光刻錄一個64位的二進制ROMR:碼,是該芯片的標志號,如圖2.3所示。8位循劃、冗余檢驗48位序列號8位分類編號(10H)MSBLSBMSBLSBMSBLSB圖2.364位RO師意圖8位分類編號表示產(chǎn)品分類編號,DS18B20勺分類編號為10H;48號序列號是一個大于281x1012的十進數(shù)編碼,作為該芯片的唯一標志代碼;8位循環(huán)冗余檢驗為前56位的CRC1環(huán)冗余校驗碼(CRC=8+X5+X4+1)o由于每個芯片的64位ROM弋碼不同,因此在單總線上能夠并掛多個DS18B20S行多點溫度實時檢測。(2)溫度傳感器。溫度傳感器是DS18B20的核心部分,該功能部件可完成對溫度的測量。通過軟件編程可將-55~+125攝氏度范圍內(nèi)的溫度值按9位、10位、11位、12位的轉(zhuǎn)換精度進行量化,以上的轉(zhuǎn)換精度都包括一個符號位,因此對應(yīng)的溫度量化值分別為0.5、0.25、0.125、0.0625攝氏度,即最高轉(zhuǎn)換精度為0.0625攝氏度。芯片出廠時默認為12位的轉(zhuǎn)換精度。當接收到溫度轉(zhuǎn)換指令(44H)后,開始轉(zhuǎn)換,轉(zhuǎn)換完成后的溫度以16位帶符號擴展的二進制補碼形式表示,存儲在高速緩存器RAM勺第0、1字節(jié)中,二進制數(shù)的前5位是符號位。如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘上0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘上0.0625即可得到實際溫度。(3)高速緩存器。高速緩存器包括一個高速暫存器RAM和一個非易失性可電擦除《PROM非易失性可電擦除E2PROMB于存放高溫觸發(fā)器TH低溫觸發(fā)器TL和配置寄存器中的信息。高速暫存器RAM1一個連續(xù)8字節(jié)的存儲器,前兩個字節(jié)是測得的溫度信息,第1個字節(jié)的內(nèi)容是溫度的低8位,第2個字節(jié)是溫度的高8位。第3個和第4個字節(jié)是高溫觸發(fā)器TT低溫觸發(fā)器TL的易失性復(fù)制,第5個字節(jié)是配置寄存器的易失性復(fù)制,以上字節(jié)的內(nèi)容在每一次上電復(fù)位時被刷新。第 6、7、8個字節(jié)用于暫時保留為1。(4)配置寄存器。配置寄存器的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。 DS18B20工作時按此寄存器的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值, 它是高速緩存器的第5個字節(jié),該字節(jié)定義如圖2.4所示。TMR0R111111圖2.4r菖速緩存器的竊15個字節(jié)示意圖TM是測試模塊位,用于設(shè)置DS18B20ft工作模式還是在測試模式。在DS18B20B廠時,該位被設(shè)置為0,用戶不必改動;R1和R0用來設(shè)置分辨率;其余5位均固定為1。DS18B20I勺分辨率設(shè)置如表2.1所示。表2.1DS18B20的分辨率設(shè)置R1R0分辨率最大轉(zhuǎn)換時間(m§009位93.750110位187.51011位3751112位7502.2.3DS18B20的測溫原理DS18B2葉要由斜率累加器、溫度系數(shù)振蕩器、減法計數(shù)器、溫度寄存器等部分組成。斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預(yù)置值。溫度系數(shù)振蕩器用于產(chǎn)生減法計數(shù)脈沖信號,其中低溫度系數(shù)振蕩器受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器 1;高溫度系數(shù)振蕩器受溫度的影響較大,隨溫度的變化,其振蕩頻率明顯改變,產(chǎn)生的信號作為減法計數(shù)器 2的輸入脈沖。減法計數(shù)器對脈沖信號進行減法計數(shù)。溫度寄存器暫存溫度數(shù)值。在圖中還隱含著計數(shù)門,當計數(shù)門打開時, DS18B20ft對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進行計數(shù),從而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器決定,每次測量前,首先將-55攝氏度多對應(yīng)的基數(shù)分別置入減法計數(shù)器1和溫度寄存器中,減法計數(shù)器1和溫度寄存器被預(yù)置在-55攝氏度所對應(yīng)的一個基數(shù)值。減法計數(shù)器1對低溫度系數(shù)振蕩器產(chǎn)生的脈沖信號進行減法計數(shù),當減法計數(shù)器 1的預(yù)置值減到0時,溫度寄存器的值將加1。之后,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)振蕩器產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán),直到減法計數(shù)器2計數(shù)到0時,停止溫度寄存器的值的累加。此時,溫度寄存器中的數(shù)值即為所測溫度。斜率累加器不斷補償和修正測溫過程中的非線性,只要計數(shù)門未關(guān)閉就重復(fù)上述過程,直至溫度寄存器的值達到被測溫度值。由于DS18B2雋單總線芯片,在系統(tǒng)中若有多個單總線芯片,每個芯片的信息交換則是分時完成的,均有嚴格的讀/寫時序要求。系統(tǒng)對DS18B20的操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)一發(fā)ROMft能命令一發(fā)存儲器操作命令一處理數(shù)據(jù)。2.2.4DS18B20的ROIW令ReadROMt令彳t碼33H,允許主設(shè)備讀出DS18B20I勺64位二進制ROMR;碼。該命令只適用于總線上存在單只DS18B20MatchROM命令彳t碼55H,若主線上有多個從設(shè)備,使用該命令可以選中某一制定的DS18B20即可與64位二進制ROMft碼完全匹配的DS18B20t能響應(yīng)其操作。SkipROMOt令彳t碼CCH在啟動所有DS18B20專換之前或系統(tǒng)只有一個DS18B20時,該命令將允許主設(shè)備不提供64位二進制ROMi碼就使用寄存器操作命令。SearchR0嘛令彳t碼F0H,當系統(tǒng)初次啟動時,主設(shè)備可能不知總線上有多少個從設(shè)備或者它們的R0毗碼,使用該命令可確定系統(tǒng)中的從設(shè)備個數(shù)及 R0毗碼。AlarmROM命令代碼ECH該命令用于鑒別和定位系統(tǒng)中超出程序設(shè)定的報警溫度值。WriteScratchpad命令彳t碼4EH允許主設(shè)備向DS18B20勺寄存器寫入兩個字節(jié)的數(shù)據(jù),其中第一個字節(jié)寫入TH中,第二個字節(jié)寫入TL中??梢栽谌魏螘r刻發(fā)出復(fù)位命令中止數(shù)據(jù)的寫入。ReadScratchpad命令代碼BEH允許主設(shè)備讀取暫存器中的內(nèi)容。從第一個字節(jié)開始,直到CR豉完第九個字節(jié)。也可以在任何時刻發(fā)出復(fù)位命令中止數(shù)據(jù)的讀取操作。CopyScratchpad命令代碼48H,將高溫觸發(fā)器TH和低溫觸發(fā)器TL中的字節(jié)復(fù)制到非易失性E2PROM若主機在該命令之后又發(fā)出讀操作,而DS18B2QZ忙于將暫存器的內(nèi)容復(fù)制到E2PROW,DS18B2而會輸出一個“0”。若復(fù)制結(jié)束,則DS18B20俞出一個“1”。如果使用寄生電源,則主設(shè)備發(fā)出該命令后,立即發(fā)出強上拉并至少保持10ms以上的時間。ConvertT命令代碼44H,啟動一次溫度轉(zhuǎn)換。若主機在該命令之后又發(fā)出其他操作,而DS18B2N忙于溫度轉(zhuǎn)換,DS18B2蹴會輸出一個“0”。若轉(zhuǎn)換結(jié)束,則DS18B20輸出一個“1”。如果使用寄生電源,則主設(shè)備發(fā)出該命令之后,立即發(fā)出強上拉并至少保持500ms以上的時間。RecallE2命令代碼B8H將高溫觸發(fā)器TH和低溫觸發(fā)器TL中的字節(jié)從E2ROM中復(fù)制回到暫存器中。該操作是在DS18B201電時自動執(zhí)行,若執(zhí)行該命令后又發(fā)出讀操作,DS18B2除輸出溫度轉(zhuǎn)換忙標志:0為忙,1完成。ReadPowerSupply命令代碼B4H主設(shè)備將I命令發(fā)給DS18B20ft發(fā)出讀操作,DS18B2膾返回它的電源使用模式:0為寄生電源,1為外部電源。74LS137基礎(chǔ)知識74LS137是一種3線一8線譯碼器/解調(diào)器,在三個地址輸入端都加有地址鎖存器。當鎖存使能輸入是低電平時,電路就具有譯碼器/解調(diào)器的功能。當鎖存使能輸入從低電平轉(zhuǎn)換到高電平時,選擇輸入A、B和C中的地址便存儲在鎖存器中。只要鎖存使能輸入保持高電平,則可不再考慮地址的變化。輸出使能控制控制著輸出狀態(tài),而不管選擇或鎖存使能狀態(tài)如何,除非一個輸出是高一個輸出是低,則所有輸出全是高。74LS373基礎(chǔ)知識引腳功能:1D~8D8位數(shù)據(jù)輸入端OE三態(tài)允許控制端(低電平有效)LE:鎖存允許端1Q~8Q8位數(shù)據(jù)輸出鎖存端74LS373的輸出端D0~D7可直接與總線相連。當三態(tài)允許控制端/OE為低電平時,Q0~Q次正常邏輯狀態(tài),可用來驅(qū)動負載或總線。當 OE為高電平時,Q0~Q點高阻態(tài),即不驅(qū)動總線,也不為總線的負載,但鎖存器內(nèi)部的邏輯操作不受影響。當鎖存器允許端LE為高電平時,Q隨數(shù)據(jù)D而變;當LE為低電平時,D被鎖存在已建立的數(shù)據(jù)電平。LE端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善 400mM原理圖設(shè)計本設(shè)計以AT89C5俾片機為核心,溫度傳感器給出相應(yīng)的溫度值,通過總線發(fā)送到芯片上,在LED顯示屏上顯示溫度傳感器上的溫度。當溫度高于 38攝氏度時,在顯示出溫度的同時,蜂鳴器發(fā)出警報聲。所需原件如表5.1所示。表2.2電子體溫計所用的元件單片機AT89C51瓷片電容CAP30PF麥克風SOUNDER電解電容CAP-ELEC晶振CRYSTAL12MHz三極管2N2905電阻RES滑動變阻器POT-LIN溫度傳感器DS18B20芯片74LS373芯片74LS137顯示屏7SEG-MPX4-CC原理圖如圖2.5所示hkMU限的而曲I^FRkHKlr丹規(guī)I陽。打必I〃舟L?^X>l口弦步HJIFEFiJinr加僭PJifliMW圖2.5原理圖示意圖3軟件設(shè)計流程圖設(shè)計通過對系統(tǒng)的分析,我們可以對本設(shè)計有個大體的了解。如想得到溫度,必須得先對DS18B20!行初始化處理。啟動定時器,設(shè)置延時,并開中斷,判斷經(jīng)過多長時間。若是沒經(jīng)過1.112ms,要對其繼續(xù)判斷是否是第一次采集溫度,如果是的話那就返回繼續(xù)判斷經(jīng)過1.112ms;如果不是那就將上次采集的溫度返回判斷經(jīng)過 1.112ms。以上判斷是采集溫度并判斷延時時間。如果經(jīng)過 1.112ms,那么程序繼續(xù)執(zhí)行,關(guān)中斷并令TR0=Q采集剛才的溫度,保存并在LED顯示屏上顯示出來。此時再判斷如果溫度高于38攝氏度,那么蜂鳴器報警;如果低于這個溫度程序則不報警,等待下次測量或者結(jié)束測量。根據(jù)以上分析,我們可以畫出流程圖如圖6.1所示。圖6.1流程圖示意圖源程序設(shè)計根據(jù)以上的分析,我們可以寫出程序如下:/****************************************************************//*顯示內(nèi)容:利用/*顯示內(nèi)容:利用18B20單線溫度檢測的應(yīng)用程序然后在數(shù)碼管可以顯示xx.xgC表示攝氏度*/****************************************************************/#include<reg51.h>#include<math.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint/****************************************************************//*定義端口*//*定義端口*//****************************************************************/sbitseg1=P0A0;sbitseg2=P0A1;sbitseg3=P0A2;sbitDQ=P3A6;〃DS18B20端口sbitbeep=P2A0;//警報sfrdataled=0x90;// 顯示數(shù)據(jù)端口P1/****************************************************************//*全局變量*//*全局變量*//****************************************************************/uinttemp;ucharflag_get,count,num,minute,second;//ucharcodetab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//七段數(shù)碼管共陰

ucharstr[6];/****************************************************************//*函數(shù)聲明*//****************************************************************/voiddelay1(ucharMS);unsignedintReadTemperature(void);voidInit_DS18B20(void);unsignedcharReadOneChar(void);voidWriteOneChar(unsignedchardat);voiddelay(unsignedinti);/****************************************************************//*主函數(shù)*//*主函數(shù)*//****************************************************************/voidmain()unsignedcharTempH,TempL;TMOD|=0x01;//定時器設(shè)置TH0=0xef;TL0=0xf0;IE=0x82;TR0=1;P0=0x00;count=0;while(1)str[5]=0x39;//

顯示C符號str[1]=tab[TempH/100];//百位溫度十位溫度十位溫度str[2]=tab[(TempH%100)/10];//個位溫度,帶小數(shù)點elsebeep=0;//溫度高于38攝氏度就報警個位溫度,帶小數(shù)點elsebeep=0;//溫度高于38攝氏度就報警if(flag_get==1)//定時讀取當前溫度str[3]=tab[(TempH%100)%10]|0x80;//str[4]=tab[TempL];if((TempH%100)/10==3&&(TempH%100)%10>=5&&TempL>0||(TempH%100)/10==3&&(TempH%100)%10<8){beep=1;}temp=ReadTemperature();if(temp&0x8000)str[0]=0x40;//符號標志temp=~temp;〃取反加str[0]=0x40;//符號標志temp=~temp;〃取反加1temp+=1;elsestr[0]=0;TempH=temp>>4;TempL=temp&0x0f;TempL=TempL*6/10;//小數(shù)近似處理TempL=TempL*6/10;//小數(shù)近似處理flag_get=0;/****************************************************************//*定時器中斷*//*定時器中斷*//****************************************************************/中斷,用于數(shù)碼管掃描和溫度檢測間隔中斷,用于數(shù)碼管掃描和溫度檢測間隔voidtim(void)interrupt1using1//{TH0=0xef;//定時器重裝值TL0=0xf0;num++;if(num==50){num=0;flag_get=1;//標志位有效second++;if(second>=60){second=0;minute++;}}count++;if(count==1){P0=0;dataled=str[0];}//數(shù)碼管掃描if(count==2){P0=1;dataled=str[1];}if(count==3){P0=2;dataled=str[2];}if(count==4){P0=3;dataled=str[3];}if(count==5)

{P0=4;dataled=str[4];}if(count==6){P0=5;dataled=str[5];count=0;}/****************************************************************//*延時函數(shù)*//*延時函數(shù)*//****************************************************************/voiddelay(unsignedinti)//延時函數(shù)while(i--);/****************************************************************//****************************************************************/voiddelay(unsignedinti)//延時函數(shù)while(i--);/****************************************************************//*初始化*//*初始化*//****************************************************************/voidInit_DS18B20(void)unsignedcharx=0;DQ=1;//DQ復(fù)位delay(8);//稍作延時DQ=0;//單片機將DQB低delay(80);//大于/****************************************************************/voidInit_DS18B20(void)unsignedcharx=0;DQ=1;//DQ復(fù)位delay(8);//稍作延時DQ=0;//單片機將DQB低delay(80);//大于480usDQ=1;//拉高總線delay(10);x=DQ;//稍作延時后,如果x=0,則初始化成功;如果x=1,則初始化失敗delay(5);/****************************************************************//*讀一個字節(jié)*//****************************************************************/unsignedcharReadOneChar(void)unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--)DQ=0;// 給脈沖信號dat>>=1;DQ=1;// 給脈沖信號if(DQ)dat|=0x80;delay(5);return(dat);/****************************************************************//*/****************************************************************//*讀一個字節(jié)*//****************************************************************/unsignedcharReadOneChar(void)unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--)DQ=0;// 給脈沖信號dat>>=1;DQ=1;// 給脈沖信號if(DQ)dat|=0x80;delay(5);return(dat);/****************************************************************//*寫一個字節(jié)*//****************************************************************/voidWriteOneChar(unsignedchardat)unsignedchari=0;for(i=8;i>0;i--)DQ=0;

DQ=dat&0x01;delay(5);DQ=1;dat>>=1;delay(5);/****************************************************************//*讀取溫度*//*讀取溫度*//****************************************************************/unsignedintReadTemperature(void)unsignedchara=0;unsignedintb=0;unsignedintt=0;Init_DS18B20();WriteOneChar(0xcc);//跳過讀序號列號的操作WriteOneChar(0xcc);//跳過讀序號列號的操作WriteOneChar(0x44);〃啟動溫度轉(zhuǎn)換WriteOneChar(0x44);〃啟動溫度轉(zhuǎn)換delay(200);Init_DS18B20();WriteOneChar(0xcc);//跳過讀序號列號的操作WriteOneChar(0xcc);//跳過讀序號列號的操作WriteOneChar(0xbe);//WriteOneChar(0xbe);//讀取溫度寄存器等(共可讀9個寄存器)前兩個就是溫度a=ReadOneChar();//低位b=ReadOneChar();//高位b<<=8;t=a+b;return(t);4系統(tǒng)仿真調(diào)試程序調(diào)試與運行打開keil程序,執(zhí)行菜單命令project newproject創(chuàng)建“基于AT89C51單片機電子體溫計設(shè)計”項目,并選擇單片機型號為 AT89C51執(zhí)行菜單命令file——new創(chuàng)建文件,輸入上述C程序,保存為“基于AT89C5111片機電子體溫計設(shè)計.C"。在project欄的file管理窗口中右擊文件組,選擇“addfiletogroup'sourcegroup1,將源程序添加到項目中。執(zhí)行菜單命令project opinionsfortarget'target1',在彈出的對話框中選擇output選項卡,選中createhexfile。在debug選項卡中,選中use:proteusVSMsimulator。執(zhí)行菜單命令

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論