2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  平頂山工業(yè)職業(yè)技術(shù)學(xué)院</p><p>  畢 業(yè) 設(shè) 計(jì) (論文) 任 務(wù) 書</p><p>  姓名 申帥飛 </p><p>  專業(yè) 應(yīng)用電子技術(shù)專業(yè) </p><p>  任 務(wù) 下 達(dá) 日

2、 期 2013 年 3 月 4 日</p><p>  設(shè)計(jì)(論文)開始日期 2013 年 3 月 11 日</p><p>  設(shè)計(jì)(論文)完成日期 2013 年 5 月 17 日</p><p>  設(shè)計(jì)(論文)題目: 數(shù)字溫度計(jì)

3、 </p><p>  A·編制設(shè)計(jì) </p><p>  B·設(shè)計(jì)專題(畢業(yè)論文) </p><p

4、>  指 導(dǎo) 教 師 王 鍵 </p><p>  系(部)主 任 韓 莉 </p><p>  2013年 5 月24日</p><p>  平頂山工業(yè)職業(yè)技術(shù)學(xué)院</p><p>  畢業(yè)設(shè)計(jì)(論文)答辯委員會記錄</p><p>  自動化與信息工程系應(yīng)用電子技術(shù)專業(yè)

5、,學(xué)生申帥飛 于2013年 月 日</p><p>  進(jìn)行了畢業(yè)設(shè)計(jì)(論文)答辯。</p><p>  設(shè)計(jì)題目: 數(shù)字溫度計(jì) </p><p>  專題(論文)題目: 數(shù)字溫度計(jì)的設(shè)計(jì) </p

6、><p>  指導(dǎo)老師: 王 鍵 </p><p>  答辯委員會根據(jù)學(xué)生提交的畢業(yè)設(shè)計(jì)(論文)材料,根據(jù)學(xué)生答辯情況,經(jīng)答辯委員會討論評定,給予學(xué)生 畢業(yè)設(shè)計(jì)(論文)成績?yōu)?。</p><p>  答辯委員會 人,出席

7、 人</p><p>  答辯委員會主任(簽字): </p><p>  答辯委員會副主任(簽字): </p><p>  答辯委員會委員: ,

8、 , ,</p><p>  , , , </p><p>  平頂山工業(yè)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)評語</p><p>  第 頁</p><p>  共 頁</p

9、><p>  畢業(yè)設(shè)計(jì)(論文)及答辯評語: </p><p><b>  摘 要</b></p><p>  隨著時代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活、工作、科研、各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù), 本文主要介紹了一個基于 89C

10、51 單片機(jī)的測溫系統(tǒng),詳細(xì)描述了利用數(shù)字溫度傳感器 DS18B20 開發(fā)測溫系統(tǒng)的過程,重點(diǎn)對傳感器在單片機(jī)下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)行了詳盡分析,特別是數(shù)字溫度傳感器 DS18B20 的數(shù)據(jù)采集過程。對各部分的電路也一一進(jìn)行了介紹,該系統(tǒng)可以方便的實(shí)現(xiàn)實(shí)現(xiàn)溫度采集和顯示,并可根據(jù)需要任意設(shè)定上下限報(bào)警溫度,它使用起來相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度

11、測量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。DS18B20 與 AT89C51 結(jié)合實(shí)現(xiàn)最簡溫度檢測系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場溫度測量,有廣泛的應(yīng)用前景。</p><p>  關(guān)鍵詞: 單片機(jī) DS18B20溫度傳感器 數(shù)字溫度計(jì) AT89S52</p><p><b>  目 錄</b></

12、p><p><b>  摘 要5</b></p><p><b>  目 錄6</b></p><p><b>  緒 論7</b></p><p><b>  1概 述8</b></p><p>  1.2 課程設(shè)計(jì)的意義

13、8</p><p>  1.3 設(shè)計(jì)的任務(wù)和要求8</p><p>  2 開發(fā)工具Proteus與Keil9</p><p>  2.1 Proteus軟件9</p><p>  2.1.1 Proteus簡介9</p><p>  2.1.2 4大功能模塊10</p><p> 

14、 2.1.3 ISIS智能原理圖輸入系統(tǒng)11</p><p>  2.1.4 Proteus簡單應(yīng)用11</p><p>  2.2 Keil軟件12</p><p>  2.2.1 Keil軟件簡介12</p><p>  2.2.2 Keil軟件調(diào)試功能12</p><p>  3 系統(tǒng)硬件設(shè)計(jì)及總體方案

15、13</p><p>  3.1 數(shù)字溫度計(jì)設(shè)計(jì)方案論證13</p><p>  3.1.1 方案一13</p><p>  3.1.2 方案二14</p><p>  3.2 系統(tǒng)總體設(shè)計(jì)14</p><p>  3.3 系統(tǒng)模塊14</p><p>  3.3.1 主控制器15

16、</p><p>  3.3.2 顯示電路16</p><p>  3.3.3 溫度傳感器17</p><p>  3.3.4 報(bào)警溫度調(diào)整按鍵21</p><p>  4 系統(tǒng)軟件算法分析21</p><p>  4.1 主程序流程圖21</p><p>  4.2 讀出溫度子程序

17、22</p><p>  4.3 溫度轉(zhuǎn)換命令子程序22</p><p>  4.4 計(jì)算溫度子程序23</p><p>  4.5 顯示數(shù)據(jù)刷新子程序24</p><p>  4.6 按鍵掃描處理子程序24</p><p><b>  5 實(shí)驗(yàn)仿真25</b></p>

18、<p>  6 總結(jié)與體會28</p><p><b>  7致 謝28</b></p><p><b>  參考文獻(xiàn)28</b></p><p>  附 1 源程序代碼29</p><p><b>  緒 論</b></p><p&g

19、t;  隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。隨著時代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作、科研,各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),單片機(jī)已經(jīng)在測控領(lǐng)域中獲得了廣泛的應(yīng)用</p>

20、;<p>  本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,該設(shè)計(jì)控制器使用單片機(jī)AT89S52,測溫傳感器使用DS18B20,用LCD數(shù)碼管以串口傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示,能準(zhǔn)確達(dá)到以上要求。</p><p><b>  1概 述</b></p><p>  1.2 課程設(shè)計(jì)的意義</p&

21、gt;<p>  本次課程設(shè)計(jì)是在我們學(xué)過單片機(jī)后的一次實(shí)習(xí),可增加我們的動手能力。特別是對單片機(jī)的系統(tǒng)設(shè)計(jì)有很大幫助,也讓我在這次設(shè)計(jì)中認(rèn)識到了我的很多不足,從而是我的綜合能力得到提高。</p><p>  1.3 設(shè)計(jì)的任務(wù)和要求</p><p>  1、基本范圍-55℃-128℃</p><p>  2、精度誤差小于0.5℃</p>

22、<p>  3、LED 數(shù)碼直讀顯示</p><p>  4、可以任意設(shè)定溫度的上下限報(bào)警功能</p><p>  2 開發(fā)工具Proteus與Keil </p><p>  2.1 Proteus軟件</p><p>  2.1.1 Proteus簡介</p><p>  Proteus軟件是英國Lab

23、center electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PC

24、B設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。</p><p&g

25、t;<b>  該軟件的特點(diǎn)是:</b></p><p>  1. 實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合,具有模擬電路仿真、數(shù)字電路仿真、各種單片機(jī)(51系列、AVR、PIG等常用的MCU)及其外圍電路(如LCD、RAM、ROM、鍵盤、LED、A/D、D/A……)組成的系統(tǒng)仿真。</p><p>  2. 提供了多種虛擬儀器。如示波器、邏輯分析儀、信號發(fā)生器等,

26、調(diào)試非常方便。</p><p>  3. 提供軟件調(diào)試功能,同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil等軟件。</p><p>  4. 具有強(qiáng)大的原理圖繪制功能。Proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機(jī)寄存器和存儲器內(nèi)容的改變,而

27、是從工程的角度直接看程序運(yùn)行和電路工作的過程和結(jié)果。對于這樣的仿真實(shí)驗(yàn).從某種意義上講,是彌補(bǔ)了.實(shí)驗(yàn)和工程應(yīng)用閹脫節(jié)的矛盾和現(xiàn)象。同時,當(dāng)硬件調(diào)試成功后,利用Proteus ARES軟件,很容易獲得其PCB圖,為今后的制造提供了方便。</p><p>  2.1.2 4大功能模塊</p><p>  1. 智能原理圖設(shè)計(jì)(ISIS)</p><p>  豐富的器件

28、庫:超過27000種元器件,可方便地創(chuàng)建新元件。</p><p>  智能的器件搜索:通過模糊搜索可以快速定位所需要的器件。</p><p>  智能化的連線功能:自動連線功能使連接導(dǎo)線簡單快捷,大大縮短繪圖時間。</p><p>  支持總線結(jié)構(gòu):使用總線器件和總線布線使電路設(shè)計(jì)簡明清晰。</p><p>  可輸出高質(zhì)量圖紙:通過個性化設(shè)

29、置,可以生成印刷質(zhì)量的BMP圖紙,可以方便地供WORD、POWERPOINT等多種文檔使用。 </p><p>  2. 完善的電路仿真功能(Prospice)</p><p>  ProSPICE混合仿真:基于工業(yè)標(biāo)準(zhǔn)SPICE3F5,實(shí)現(xiàn)數(shù)字/模擬電路的混合仿真。</p><p>  超過27000個仿真器件:可以通過內(nèi)部原型或使用廠家的SPICE文件自行設(shè)計(jì)仿

30、真器件,Labcenter也在不斷地發(fā)布新的仿真器件,還可導(dǎo)入第三方發(fā)布的仿真器件。</p><p>  多樣的激勵源:包括直流、正弦、脈沖、分段線性脈沖、音頻(使用wav文件)、指數(shù)信號、單頻FM、數(shù)字時鐘和碼流,還支持文件形式的信號輸入。</p><p>  豐富的虛擬儀器:13種虛擬儀器,面板操作逼真,如示波器、邏輯分析儀、信號發(fā)生器、直流電壓/電流表、交流電壓/電流表、數(shù)字圖案發(fā)生

31、器、頻率計(jì)/計(jì)數(shù)器、邏輯探頭、虛擬終端、SPI調(diào)試器、I2C調(diào)試器等。</p><p>  生動的仿真顯示:用色點(diǎn)顯示引腳的數(shù)字電平,導(dǎo)線以不同顏色表示其對地電壓大小,結(jié)合動態(tài)器件(如電機(jī)、顯示器件、按鈕)的使用可以使仿真更加直觀、生動。</p><p>  高級圖形仿真功能(ASF):基于圖標(biāo)的分析可以精確分析電路的多項(xiàng)指標(biāo),包括工作點(diǎn)、瞬態(tài)特性、頻率特性、傳輸特性、噪聲、失真、傅立葉頻

32、譜分析等。</p><p>  3. 獨(dú)特的單片機(jī)協(xié)同仿真功能(VSM)</p><p>  支持主流的CPU類型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU類型隨著版本升級還在繼續(xù)增加,如即將支持CORTEX、DSP處理器。</p><p&g

33、t;  支持通用外設(shè)模型:如字符LCD模塊、圖形LCD模塊、LED點(diǎn)陣、LED七段顯示模塊、鍵盤/按鍵、直流/步進(jìn)/伺服電機(jī)、RS232虛擬終端、電子溫度計(jì)等等,其COMPIM(COM口物理接口模型)還可以使仿真電路通過PC機(jī)串口和外部電路實(shí)現(xiàn)雙向異步串行通信。</p><p>  實(shí)時仿真:支持UART/USART/EUSARTs仿真、中斷仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿

34、真、CCP/ECCP仿真。</p><p>  編譯及調(diào)試:支持單片機(jī)匯編語言的編輯/編譯/源碼級仿真,內(nèi)帶8051、AVR、PIC的匯編編譯器,也可以與第三方集成編譯環(huán)境(如IAR、Keil和Hitech)結(jié)合,進(jìn)行高級語言的源碼級仿真和調(diào)試。</p><p>  4. 實(shí)用的PCB設(shè)計(jì)平臺</p><p>  原理圖到PCB的快速通道:原理圖設(shè)計(jì)完成后,一鍵便可

35、進(jìn)入ARES的PCB設(shè)計(jì)環(huán)境,實(shí)現(xiàn)從概念到產(chǎn)品的完整設(shè)計(jì)。</p><p>  先進(jìn)的自動布局/布線功能:支持器件的自動/人工布局;支持無網(wǎng)格自動布線或人工布線;支持引腳交換/門交換功能使PCB設(shè)計(jì)更為合理。</p><p>  完整的PCB設(shè)計(jì)功能:最多可設(shè)計(jì)16個銅箔層,2個絲印層,4個機(jī)械層(含板邊),靈活的布線策略供用戶設(shè)置,自動設(shè)計(jì)規(guī)則檢查,3D 可視化預(yù)覽。</p>

36、<p>  多種輸出格式的支持:可以輸出多種格式文件,包括Gerber文件的導(dǎo)入或?qū)С?,便利與其它PCB設(shè)計(jì)工具的互轉(zhuǎn)(如protel)和PCB板的設(shè)計(jì)和加工。</p><p>  2.1.3 ISIS智能原理圖輸入系統(tǒng)</p><p>  ISIS是PROTEUS系統(tǒng)的中心,它遠(yuǎn)不僅是一個圖表庫。它是具有控制原理圖畫圖的外觀的超強(qiáng)的設(shè)計(jì)環(huán)境。無論用戶的要求是快速實(shí)現(xiàn)復(fù)雜設(shè)計(jì)

37、的仿真以及PCB設(shè)計(jì),還是設(shè)計(jì)精美的原理圖以供出版,ISIS都可以很好的完成。</p><p>  ISIS提供給用戶圖形外觀包括線寬、填充類型、字符等的全部控制,使用戶能夠生成如雜志上看到一樣精美的原理圖,遠(yuǎn)勝過CAD軟件繪制出的稀薄的線條。畫完圖可以以圖形文件輸出,或者拷貝到剪切板以便其他文件使用。這就使得ISIS成為制作技術(shù)文件,學(xué)術(shù)論文,項(xiàng)目報(bào)告的理想工具,也是PCB設(shè)計(jì)的一個出色的前端。畫圖的外形由風(fēng)格

38、模板定義。此外,此方案允許用戶定制元件庫提供的庫部件的外觀。</p><p>  2.1.4 Proteus簡單應(yīng)用</p><p>  圖2-1 proteus界面圖</p><p>  1. 繪制原理圖:繪制原理圖要在原理圖編輯窗口中的藍(lán)色方框內(nèi)完成。原理圖編輯窗口的操作是不同于常用的WINDOWS應(yīng)用程序的,正確的操作是:用左鍵放置元件;右鍵選擇元件;雙擊右鍵

39、刪除元件;右鍵拖選多個元件;先右鍵后左鍵編輯元件屬性;先右鍵后左鍵拖動元件;連線用左鍵,刪除用右鍵;改連接線:先右擊連線,再左鍵拖動;中鍵放縮原理圖。</p><p>  2. 定制自己的元件:有三個個實(shí)現(xiàn)途徑,一是用PROTEUS VSM SDK開發(fā)仿真模型,并制作元件;另一個是在已有的元件基礎(chǔ)上進(jìn)行改造,比如把元件改為bus接口的;還有一個是利用已制作好(別人的)的元件,我們可以到網(wǎng)上下載一些新元件并把它們添

40、加到自己的元件庫里面。</p><p>  3. Sub-Circuits應(yīng)用:用一個子電路可以把部分電路封裝起來,這樣可以節(jié)省原理圖窗口的空間。</p><p>  2.2 Keil軟件</p><p>  2.2.1 Keil軟件簡介</p><p>  Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟

41、件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。Keil C51軟件是一個基于3

42、2位Windows環(huán)境的應(yīng)用程序,支持C語言和匯編語言編程,其6.0以上的版本將編譯和仿真軟件統(tǒng)一為μVision(通常稱為μV2)。Keil提供包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,由以下幾部分組成:μVision IDE集成開發(fā)環(huán)境C51編譯器、A51匯編器、LIB51庫管理器、BL51連接/定位器、OH51目標(biāo)文件生成器以及 Monitor-51、RTX51實(shí)時操作系統(tǒng)。</p&

43、gt;<p>  2.2.2 Keil軟件調(diào)試功能</p><p>  應(yīng)用Keil進(jìn)行軟件仿真開發(fā)的主要步驟為:編寫源程序并保存—建立工程并添加源文件—設(shè)置工程—編譯/匯編、連接,產(chǎn)生目標(biāo)文件—程序調(diào)試。Keil使用“工程”(Project)的概念,對工程(而不能對單一的源程序)進(jìn)行編譯/匯編、連接等操作。工程的建立、設(shè)置、編譯/匯編及連接產(chǎn)生目標(biāo)文件的方法非常易于掌握。首先選擇菜單File-Ne

44、w…,在源程序編輯器中輸入?yún)R編語言或C語言源程序(或選擇File-Open…,直接打開已用其它編輯器編輯好的源程序文檔)并保存,注意保存時必須在文件名后加上擴(kuò)展名.asm(.a51)或.c;然后選擇菜單Project-New Project…,建立新工程并保存(保存時無需加擴(kuò)展名,也可加上擴(kuò)展名.uv2);工程保存后會立即彈出一個設(shè)備選擇對話框,選擇CPU后點(diǎn)確定返回主界面。這時工程管理窗口的文件頁(Files)會出現(xiàn)“Target1”

45、,將其前面+號展開,接著選擇Source Group1,右擊鼠標(biāo)彈出快捷菜單,選擇“Add File to Group ‘Source Group1’”,出現(xiàn)一個對話框,要求尋找并加入源文件(在加入一個源文件后,該對話框不會消失,</p><p>  成功編譯/匯編、連接后,選擇菜單Debug-Start/Stop Debug Session(或按Ctrl+F5鍵)進(jìn)入程序調(diào)試狀態(tài),Keil提供對程序的模擬調(diào)試功

46、能,內(nèi)建一個功能強(qiáng)大的仿真CPU以模擬執(zhí)行程序。Keil能以單步執(zhí)行(按F11或選擇Debug-Step)、過程單步執(zhí)行(按F10或選擇Debug-Step Over)、全速執(zhí)行等多種運(yùn)行方式進(jìn)行程序調(diào)試。如果發(fā)現(xiàn)程序有錯,可采用在線匯編功能對程序進(jìn)行在線修改(Debug-Inline Assambly…),不必執(zhí)行先退出調(diào)試環(huán)境、修改源程序、對工程重新進(jìn)行編譯/匯編和連接、然后再次進(jìn)入調(diào)試狀態(tài)的步驟。對于一些必須滿足一定條件(如按鍵被

47、按下等)才能被執(zhí)行的、難以用單步執(zhí)行方式進(jìn)行調(diào)試的程序行,可采用斷點(diǎn)設(shè)置的方法處理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints…等)。在模擬調(diào)試程序后,還須通過編程器將.hex目標(biāo)文件燒寫入單片機(jī)中才能觀察目標(biāo)樣機(jī)真實(shí)的運(yùn)行狀況。</p><p>  3 系統(tǒng)硬件設(shè)計(jì)及總體方案</p><p>  3.1 數(shù)字溫度計(jì)設(shè)計(jì)方案論證<

48、/p><p>  3.1.1 方案一 </p><p>  由于本設(shè)計(jì)是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行 A/D 轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計(jì)需要用到 A/D 轉(zhuǎn)換電路,其中還涉及到電阻與溫度的對應(yīng)值的計(jì)算,感溫電路比較麻煩。而且在對采集的信號進(jìn)行放大時容易受溫度的影響出現(xiàn)

49、較大的偏差。</p><p>  3.1.2 方案二 </p><p>  進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器 DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,電路簡單,精度高,軟硬件都以實(shí)現(xiàn),而且使用單片機(jī)的接口便于系統(tǒng) 的再擴(kuò)展,滿足設(shè)計(jì)要求。</p><p>  

50、從以上兩種方案,很容易看出,采用方案二,電路比較簡單,費(fèi)用較低,可靠性高,軟件設(shè)計(jì)也比較簡單,故采用了方案二。</p><p>  3.2 系統(tǒng)總體設(shè)計(jì)</p><p>  溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖 3.2-1 所示,控制器采用單片機(jī) AT89S51,溫度傳感器 采用 DS18B20,用 3 位 LED 數(shù)碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。</p><p> 

51、 圖 3.2-1 總體設(shè)計(jì)方框圖</p><p><b>  3.3 系統(tǒng)模塊</b></p><p>  系統(tǒng)由單片機(jī)最小系統(tǒng)、顯示電路、按鍵、溫度傳感器等組成如圖3.2-2。</p><p>  圖 3.2-2 系統(tǒng)仿真圖</p><p>  3.3.1 主控制器</p><p>  單片

52、機(jī) AT89S51 具有低電壓供電和體積小等特點(diǎn),四個端口只需要兩個口就能滿足電 路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。</p><p>  晶振采用 12MHZ。復(fù)位電路采用上電加按鈕復(fù)位。</p><p>  圖 3.3.1-1 晶振電路</p><p>  圖 3.3.1-2 復(fù)位電路</p><p> 

53、 3.3.2 顯示電路</p><p>  顯示電路采用 4 位共陽極 LED 數(shù)碼管,P0 口由上拉電阻提高驅(qū)動能力,作為段碼輸出 并作為數(shù)碼管的驅(qū)動。P2 口的低四位作為數(shù)碼管的位選端。采用動態(tài)掃描的方式顯示如圖3.3.2:</p><p>  圖 3.3.2 數(shù)碼管顯示電路</p><p>  3.3.3 溫度傳感器</p><p>

54、  DS18B20 溫度傳感器是美國 DALLAS 半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感 器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過 簡單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。</p><p>  DS18B20 的性能特點(diǎn)如下:</p><p>  1、全數(shù)字溫度轉(zhuǎn)換及輸出;</p><p>  2、最高12位分辨率,精

55、度可達(dá)土0.5攝氏度;</p><p>  3、12位分辨率時的最大工作周期為 750 毫秒;</p><p>  4、可選擇寄生工作方式;</p><p>  5、檢測溫度范圍為–55°C~+125°C (–67°F ~+257°F);</p><p>  6、內(nèi)置 EEPROM,限溫報(bào)警功能。用戶可

56、定義報(bào)警設(shè)置 ;</p><p>  7、64 位光刻 ROM,內(nèi)置產(chǎn)品序列號,方便多機(jī)掛接;</p><p>  8、多樣封裝形式,適應(yīng)不同硬件系統(tǒng);</p><p>  9、獨(dú)特的單線接口僅需要一個端口引腳進(jìn)行通信;</p><p>  10、多個DS18B20 可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;</p><p

57、>  11、無須外部器件;</p><p>  12、可通過數(shù)據(jù)線供電,電壓范圍為3.0~5.5V;</p><p><b>  13、零待機(jī)功耗;</b></p><p>  14、溫度以9 或12 位數(shù)字;</p><p>  15、報(bào)警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;</p&g

58、t;<p>  16、負(fù)電壓特性,電源極性接反時,溫度計(jì)不會因發(fā)熱而燒毀,但不能正常工作;</p><p>  DS18B20它有64 位ROM 的結(jié)構(gòu)開始8 位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48 位,最后8 位是前面56位的CRC 檢驗(yàn)碼,這也是多個DS18B20 可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器TH 和TL,可通過軟件寫入戶報(bào)警上下限[6]。</p>

59、<p>  另外,由于DS18B20 單線通信功能是分時完成的,它有嚴(yán)格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20 的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM 功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。</p><p>  DS18B20芯片封裝結(jié)構(gòu)如圖3.33-1:</p><p>  圖 3.33-1 DS18B20芯片封裝結(jié)構(gòu) &

60、lt;/p><p>  DS18B20采用3腳PR-35封裝或8腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖3.33-2所示。</p><p>  圖 3.33-2 DS18B20內(nèi)部結(jié)構(gòu)框</p><p>  DS18B20 工作原理 </p><p>  DS18B20 的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強(qiáng)。其一個工作周期可

61、分為兩個部分,即溫度檢測和數(shù)據(jù)處理。在講解其工作流程之前我們有必要了解18B20的內(nèi)部存儲器資源。DS18B20 共有三種形態(tài)的存儲器資源,它們分別是:ROM只讀存儲器,用于存放 DS18B20ID 編碼,其前8位是單線系列編碼(DS18B20 的編碼是19H),后面48位是芯片唯一的序列號,最后8位是以上56的位的 CRC碼(冗余校驗(yàn))。數(shù)據(jù)在出產(chǎn)時設(shè)置不由用戶更改。DS18B20 共64位 ROM。 </p><

62、p>  RAM 數(shù)據(jù)暫存器,用于內(nèi)部計(jì)算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20 共9個字節(jié) RAM,每個字節(jié)為8位。第1、2 個字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第3、4個字節(jié)是用戶 EEPROM(常用于溫度報(bào)警值儲存)的鏡像。在上電復(fù)位時其值將被刷新。第5個字節(jié)則是用戶第3個 EEPROM的鏡像。第6、7、8個字節(jié)為計(jì)數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計(jì)的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計(jì)算的暫存單元。第9個字節(jié)為前8個

63、字節(jié)的 CRC碼。</p><p>  EEPROM 非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報(bào)警值和校驗(yàn)數(shù)據(jù),DS18B20共3位EEPROM,并在 RAM 都存在鏡像,以方便用戶操作[7]。</p><p>  DS18B20工作時寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如表3.33-3所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工

64、作模式還是在測試模式,DS18B20出廠時該位被設(shè)置為0,用戶要去改動,R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。</p><p>  表3.33-3 DS18B20字節(jié)定義</p><p>  DS18B20 可以采用兩種方式供電,一種是采用電源供電方式,此時 DS18B20 的 1腳接地,2腳作為信號線,3腳接電源??偩€,為保證在有效的 DS18B20 時鐘周期內(nèi)提供足夠的電流

65、,可用一個 MOSFET 管來完成對 總線的上拉。</p><p>  當(dāng) DS18B20 處于寫存儲器操作和溫度 A/D 轉(zhuǎn)換操作時,總線上必須有強(qiáng)的上拉,上拉開啟時間最大為10us。采用寄生電源供電方式時 VDD 端接地。由于單線制只有一根線,因此 發(fā)送接口必須是三態(tài)的。</p><p>  圖 3.3.3-4 溫度傳感器與單片機(jī)的連接</p><p>  3

66、.3.4 報(bào)警溫度調(diào)整按鍵</p><p>  本系統(tǒng)設(shè)計(jì)三個按鍵,采用查詢方式,一個用于選擇切換設(shè)置報(bào)警溫度和當(dāng)前溫度,另 外兩個分別用于設(shè)置報(bào)警溫度的加和減。均采用軟件消抖。</p><p>  圖 3.3.4 按鍵電路</p><p>  4 系統(tǒng)軟件算法分析</p><p>  系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子

67、程序,計(jì)算溫度子程序, 顯示數(shù)據(jù)刷新子程序,按鍵掃描處理子程序等。</p><p>  4.1 主程序流程圖</p><p>  主程序的主要功能是負(fù)責(zé)溫度的實(shí)時顯示、讀出并處理 DS18B20 的測量的當(dāng)前溫度值, 溫度測量每 1s 進(jìn)行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖 4.1 所 示。</p><p>  圖 4.1 主程序流程圖<

68、;/p><p>  4.2 讀出溫度子程序</p><p>  讀出溫度子程序的主要功能是讀出 RAM 中的9字節(jié),在讀出時需進(jìn)行 CRC 校驗(yàn),校驗(yàn) 有錯時不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖 4.2 示</p><p>  4.3 溫度轉(zhuǎn)換命令子程序</p><p>  溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時轉(zhuǎn)換時

69、間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程 圖如上圖,圖 4.3 所示</p><p>  圖4.3 溫度轉(zhuǎn)換流程圖</p><p>  圖4.2 讀溫度流程圖</p><p>  4.4 計(jì)算溫度子程序</p><p>  計(jì)算溫度子程序?qū)?RAM 中讀取值進(jìn)行 BCD 碼的轉(zhuǎn)換運(yùn)算,并進(jìn)

70、行溫度值正負(fù)的判定,其程序流程圖如圖 4.4 所示。</p><p>  4.5 顯示數(shù)據(jù)刷新子程序</p><p>  顯示數(shù)據(jù)刷新子程序主要是對分離后的溫度顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)標(biāo)志位位為 1時將符號顯示位移入第一位。程序流程圖如圖 4.5</p><p>  圖 4.4 計(jì)算溫度流程圖 圖 4.5

71、 顯示數(shù)據(jù)刷新流程圖</p><p>  4.6 按鍵掃描處理子程序</p><p>  按鍵采用掃描查詢方式,設(shè)置標(biāo)志位,當(dāng)標(biāo)志位為1時,顯示設(shè)置溫度,否則顯示當(dāng)前溫度。如下圖 4.6 示。</p><p>  圖 4.6 按鍵掃描處理子程序</p><p><b>  5 實(shí)驗(yàn)仿真</b></p>

72、<p><b>  5.1軟件仿真</b></p><p>  進(jìn)入 protuse 后,連接好電路,并將程序下載進(jìn)去。將 DS18B20 的改為1.0,數(shù)碼管顯 示溫度與傳感器的溫度相同。</p><p>  圖 5-1 溫度顯示仿真</p><p>  當(dāng)按下 SET 鍵一次時,進(jìn)入溫度報(bào)警上線調(diào)節(jié),此時顯示軟件設(shè)置的溫度報(bào)警

73、上線,按 ADD或 DEC 分別對報(bào)警溫度進(jìn)行加一或減一。</p><p>  當(dāng)再次按下 SET 鍵時,進(jìn)入溫度報(bào)警下線調(diào)節(jié),此時顯示軟件設(shè)置的溫度報(bào)警下線,按 ADD或 DEC 分別對報(bào)警溫度進(jìn)行加一或減一</p><p>  圖 5-2 溫度調(diào)試仿真</p><p>  當(dāng)?shù)谌伟聪?SET 鍵時,退出溫度報(bào)警線設(shè)置。顯示當(dāng)前溫度。</p>&l

74、t;p><b>  6 總結(jié)與體會</b></p><p>  通過這次對數(shù)字溫度計(jì)的設(shè)計(jì)與制作,讓我了解了設(shè)計(jì)電路的程序,也讓我了解了關(guān)于數(shù)字溫度計(jì)的原理與設(shè)計(jì)理念,要設(shè)計(jì)一個電路總要先用仿真仿真成功之后才實(shí)際接線的。但是最后的成品卻不一定與仿真時完全一樣,因?yàn)?,再?shí)際接線中有著各種各樣的條件制約著。而且,在仿真中無法成功的電路接法,在實(shí)際中因?yàn)樾酒旧淼奶匦远軌虺晒?。所以,在設(shè)計(jì)

75、時應(yīng)考慮兩者的差異,從中找出最適合的設(shè)計(jì)方法。</p><p>  通過這次學(xué)習(xí),讓我對各種電路都有了大概的了解,所以說,坐而言不如立而行,對于這些電路還是應(yīng)該自己動手實(shí)際操作才會有深刻理解。</p><p>  從這次的課程設(shè)計(jì)中,我真真正正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這就是我在

76、這次課程設(shè)計(jì)中的最大收獲。</p><p><b>  7致 謝</b></p><p>  非常感謝王鍵老師在我大學(xué)的最后學(xué)習(xí)階段——畢業(yè)設(shè)計(jì)階段給自己的指導(dǎo),從最初的選題,到資料收集,到寫作、修改,到論文定稿,他給了我耐心的指導(dǎo)和無私的幫助,在此我向他表示我誠摯的謝意。同時,感謝所有任課老師和所有同學(xué)在這三年來給自己的幫助和關(guān)愛,是他們教會了我專業(yè)知識,教會了我

77、如何學(xué)習(xí),教會了我如何做人。通過這一階段的努力,畢業(yè)論文終于完成了,這意味著大學(xué)生活即將結(jié)束。在大學(xué)階段,我在學(xué)習(xí)上和思想上都受益匪淺,這除了自身的努力外,與各位老師、同學(xué)和朋友的關(guān)系、支持和鼓勵是分不開的。最后,感謝各位導(dǎo)師的指導(dǎo)批評。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]樓然苗,胡佳文,李光飛,劉玉良,俞紅杰,李良兒.單片機(jī)實(shí)驗(yàn)

78、與課程設(shè)計(jì)[M].杭州:浙江大學(xué)出版社,2010:127-148</p><p>  [2]劉雨剛,洪炳林,郝文慧.基于DS18B20的高精度礦用溫度計(jì)傳感器設(shè)計(jì)[J].國外電子元器件,2006(12):35-37.</p><p>  [3]黃亞,張益維.溫度傳感器DS75LX與單片機(jī)的接口技術(shù)[J].國外電子元器件,2007(10):47-49.</p><p>

79、;  [4]胡雪海.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2004:59-75.</p><p>  [5]談根林,李慧文,汪慶寶,李禮賢.微型計(jì)算機(jī)及其在測量中的應(yīng)用[M].北京:計(jì)量出版社,1983:89-105.</p><p>  [6] 樓然苗,李光飛.單片機(jī)課程設(shè)計(jì)指導(dǎo)[M].北京:北京航空航天大學(xué)出版社,2007:46-55.</p><p

80、>  [7]胡翔駿.電路分析(第2版)[M].北京:高等教育出版社,2007:68-80.</p><p><b>  附 1 源程序代碼</b></p><p>  //DS18B20 的讀寫程序,數(shù)據(jù)腳 P2.7 //</p><p>  //溫度傳感器 18B20 匯編程序,采用器件默認(rèn)的 12 位轉(zhuǎn)化//</p>&

81、lt;p>  //最大轉(zhuǎn)化時間 750 微秒,顯示溫度-55 到+125 度,顯示精度//</p><p>  //為 0.1 度,顯示采用 4 位 LED 共陽顯示測溫值//</p><p>  //P0 口為段碼輸入,P34~P37 為位選//</p><p>  /*********************************************

82、******/</p><p>  #include<reg52.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  sbit d1=P2^2;</p><p>  sbit d2=P2

83、^1;</p><p>  sbit d3=P2^0;</p><p>  sbit d4=P2^3;</p><p>  sbit key1=P3^0;</p><p>  sbit key2=P3^1;</p><p>  sbit key3=P3^2;</p><p>  sbit bee

84、p=P3^3;</p><p>  sbit DS=P1^2;</p><p>  sbit ACC_7=ACC^7;</p><p>  uint count=1000,alarm=300;</p><p>  uchar shu;</p><p>  uchar shi,fen,ri,yue,nian,xq,mia

85、o,ss; </p><p>  uint temp; // 溫度變量</p><p>  uchar flag;</p><p>  uchar code tab[]=</p><p>  {0xc0,0xf9,0xa4,0xb0,</p><p>  0x99,0x92,0x82

86、,0xf8,</p><p><b>  0x80,0x90</b></p><p><b>  };</b></p><p>  uchar code tab1[]=//小數(shù)點(diǎn)點(diǎn)亮</p><p>  {0x40,0x79,0x24,0x30,</p><p>  0x19

87、,0x12,0x02,0x78,0x00,0x10</p><p><b>  };</b></p><p>  void delay(uint z)</p><p><b>  {</b></p><p><b>  uint x,y;</b></p><

88、p>  for(x=z;x>0;x--)</p><p>  for(y=120;y>0;y--);</p><p><b>  }</b></p><p>  void dsreset()//發(fā)復(fù)位</p><p><b>  { </b></p><

89、;p><b>  uint i;</b></p><p><b>  DS=0;</b></p><p><b>  i=103;</b></p><p>  while(i>0)i--;</p><p><b>  DS=1;</b><

90、/p><p><b>  i=4;</b></p><p>  while(i>0)i--;</p><p><b>  }</b></p><p>  uchar tmpread() //讀取一字節(jié)</p><p><b>  {</b><

91、/p><p>  uchar j,k,dat;</p><p><b>  uint i;</b></p><p>  for(j=1;j<=8;j++)</p><p><b>  {</b></p><p>  DS=0;i++; //延時</p

92、><p>  DS=1;i++;i++;</p><p><b>  k=DS;</b></p><p>  i=8;while(i>0)i--;</p><p>  dat=(k<<7)|(dat>>1);//讀出的數(shù)據(jù)最低位在最前面存一個字節(jié)在DAT里 </p><p&

93、gt;<b>  } </b></p><p>  return(dat);</p><p><b>  }</b></p><p>  void tmpwritebyte(uchar dat) //寫一個字節(jié)</p><p><b>  {</b></p>

94、<p><b>  uint i;</b></p><p><b>  uchar j;</b></p><p>  bit testb;</p><p>  for(j=1;j<=8;j++)</p><p><b>  {</b></p>&l

95、t;p>  testb=dat&0x01;</p><p>  dat=dat>>1;</p><p>  if(testb) //寫 1</p><p><b>  {</b></p><p><b>  DS=0;</b></p><p>

96、;<b>  i++;i++;</b></p><p><b>  DS=1;</b></p><p>  i=8;while(i>0)i--;</p><p><b>  }</b></p><p><b>  else</b></p>

97、<p><b>  {</b></p><p>  DS=0; //寫 0</p><p>  i=8;while(i>0)i--;</p><p><b>  DS=1;</b></p><p><b>  i++;i++;</b></p

98、><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void tmpchange() //DS18B20溫度變換</p><p><b>  {</b>

99、</p><p>  dsreset();</p><p><b>  delay(1);</b></p><p>  tmpwritebyte(0xcc); //跳過讀取內(nèi)存rom</p><p>  tmpwritebyte(0x44); //開始轉(zhuǎn)換</p><p><b> 

100、 }</b></p><p>  uint tmp() //讀取溫度</p><p><b>  {</b></p><p><b>  float tt;</b></p><p>  uchar a,b;</p><p>  dsre

101、set();</p><p><b>  delay(1);</b></p><p>  tmpwritebyte(0xcc);</p><p>  tmpwritebyte(0xbe);</p><p>  a=tmpread(); //a為低字節(jié)8位</p><p>  b=tmpread()

102、; //b為高字節(jié)8位</p><p>  temp=b; //temp為溫度值UINT 16bit</p><p>  temp<<=8; //兩個字節(jié)組合到一起</p><p>  temp=temp|a; </p><p><b>  if(b>127)</b>

103、;</p><p><b>  {</b></p><p><b>  flag=1;</b></p><p><b>  ss=flag;</b></p><p>  temp=~temp+1;</p><p><b>  }</b&g

104、t;</p><p>  tt=temp*0.0625; // temp/16 則是溫度的真實(shí)值tt.7位整數(shù),4位小數(shù)</p><p>  temp=tt*10+0.5; // 擴(kuò)大十倍取出了第一位小數(shù)</p><p>  return(temp);</p><p><b>  }</b></p><

105、;p>  void displayTemp(uint temp) //顯示溫度程序</p><p><b>  {</b></p><p>  uchar ge,shi,bai,qian,ser;</p><p><b>  d1=0;</b></p><p><b>  d1=

106、0;</b></p><p><b>  d3=0;</b></p><p><b>  d4=0;</b></p><p>  dsreset();</p><p>  ser=temp/10; //分離出三位要顯示的數(shù)字 </p><p><b&

107、gt;  SBUF=ser;</b></p><p>  qian=temp/1000;</p><p>  bai=temp/100%10; // 百位數(shù)字</p><p>  shi=temp/10%10; // 十位數(shù)字</p><p>  ge=temp%10; // 個位數(shù)字</p><p&g

108、t;  if(flag==1)</p><p><b>  {</b></p><p><b>  flag=0;</b></p><p><b>  P0=0xbf;</b></p><p><b>  d1=1;</b></p><

109、p><b>  delay(2);</b></p><p><b>  d1=0;</b></p><p><b>  }</b></p><p>  if(qian!=0)</p><p><b>  {</b></p><p&

110、gt;  P0=tab[qian];</p><p><b>  d1=1;</b></p><p><b>  delay(2);</b></p><p><b>  d1=0;</b></p><p><b>  }</b></p>&

111、lt;p><b>  else</b></p><p><b>  {</b></p><p><b>  P0=0xff;</b></p><p><b>  d1=1;</b></p><p><b>  delay(2);</b

112、></p><p><b>  d1=0;</b></p><p><b>  }</b></p><p>  if(temp>99)</p><p><b>  {</b></p><p>  P0=tab[bai];</p>

113、<p><b>  d2=1;</b></p><p><b>  delay(2);</b></p><p><b>  d2=0;</b></p><p><b>  }</b></p><p>  P0=tab1[shi];</p

114、><p><b>  d3=1;</b></p><p><b>  delay(2);</b></p><p><b>  d3=0;</b></p><p>  P0=tab[ge];</p><p><b>  d4=1;</b>

115、</p><p><b>  delay(2);</b></p><p><b>  d4=0;</b></p><p><b>  }</b></p><p>  uint keyscan()</p><p><b>  {</b>

116、;</p><p>  if(key1==0)</p><p><b>  {</b></p><p><b>  delay(5);</b></p><p>  if(key1==0)</p><p><b>  {</b></p>&l

117、t;p>  while(!key1);</p><p><b>  shu++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(key2==0)</p><p><b>

118、  {</b></p><p><b>  delay(5);</b></p><p>  if(key2==0)</p><p><b>  {</b></p><p>  while(!key2);</p><p>  count=count+10;</

119、p><p>  if(shu==2)</p><p><b>  {</b></p><p>  alarm+=10;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>

120、  }</b></p><p>  if(key3==0)</p><p><b>  {</b></p><p><b>  delay(5);</b></p><p>  if(key3==0)</p><p><b>  {</b>&l

121、t;/p><p>  while(!key3);</p><p>  count=count-10;</p><p>  if(shu==2)</p><p><b>  {</b></p><p>  alarm-=10;</p><p><b>  }</b

122、></p><p><b>  }</b></p><p><b>  }</b></p><p>  return(count);</p><p><b>  }</b></p><p>  void main()</p><

123、p><b>  { </b></p><p><b>  beep=0;</b></p><p>  delay(10);</p><p>  while( 1 )</p><p><b>  {</b></p><p>  tmpchange()

124、;</p><p>  if(shu==0)</p><p><b>  {</b></p><p>  displayTemp(tmp( ));</p><p><b>  }</b></p><p>  keyscan();</p><p>  i

125、f(shu==1)</p><p><b>  {</b></p><p>  displayTemp(count);</p><p><b>  }</b></p><p>  if(shu==2)</p><p><b>  {</b></p&

126、gt;<p>  displayTemp(alarm);</p><p><b>  }</b></p><p>  if(shu==3)</p><p><b>  {</b></p><p><b>  shu=0;</b></p><p

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論