單片機(jī)課程設(shè)計(jì)(論文)-基于51單片機(jī)的DS18B20數(shù)字溫度計(jì)的設(shè)計(jì).doc

上傳人:good****022 文檔編號(hào):116647218 上傳時(shí)間:2022-07-06 格式:DOC 頁(yè)數(shù):34 大?。?.78MB
收藏 版權(quán)申訴 舉報(bào) 下載
單片機(jī)課程設(shè)計(jì)(論文)-基于51單片機(jī)的DS18B20數(shù)字溫度計(jì)的設(shè)計(jì).doc_第1頁(yè)
第1頁(yè) / 共34頁(yè)
單片機(jī)課程設(shè)計(jì)(論文)-基于51單片機(jī)的DS18B20數(shù)字溫度計(jì)的設(shè)計(jì).doc_第2頁(yè)
第2頁(yè) / 共34頁(yè)
單片機(jī)課程設(shè)計(jì)(論文)-基于51單片機(jī)的DS18B20數(shù)字溫度計(jì)的設(shè)計(jì).doc_第3頁(yè)
第3頁(yè) / 共34頁(yè)

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《單片機(jī)課程設(shè)計(jì)(論文)-基于51單片機(jī)的DS18B20數(shù)字溫度計(jì)的設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《單片機(jī)課程設(shè)計(jì)(論文)-基于51單片機(jī)的DS18B20數(shù)字溫度計(jì)的設(shè)計(jì).doc(34頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、單片機(jī)課程設(shè)計(jì)系部名稱: 信息工程系 專業(yè)班級(jí): 電氣083班 學(xué) 號(hào): 200880884* 學(xué)生姓名: * * 指導(dǎo)教師: 張 * * 2011年06月20日0中原工學(xué)院信息商務(wù)學(xué)院課程設(shè)計(jì)目錄1 前言12 設(shè)計(jì)任務(wù)及要求22.1 設(shè)計(jì)任務(wù)22.2 設(shè)計(jì)要求23 課程設(shè)計(jì)方案及器材選用分析33.1 設(shè)計(jì)總體方案33.1.1 方案論證33.1.2 方案二的總體設(shè)計(jì)框圖43.2器材選用分析43.2.1 DS18B20溫度傳感器43.2.2 AT89S52單片機(jī)介紹123.3 軟件流程圖153.3.1 主程序153.3.2 讀溫度子程序153.3.3 溫度轉(zhuǎn)換命令子程序163.3.4 計(jì)算溫度子

2、程序164 硬件電路的設(shè)計(jì)174.1 Protel99 SE軟件介紹174.1.1 Protel99 SE軟件174.1.2 主控制電路圖184.2 Proteus 進(jìn)行仿真204.2.1 Proteus6簡(jiǎn)介204.2.2 proteus仿真圖205 調(diào)試性能及分析22課程設(shè)計(jì)心得24參考文獻(xiàn)25附錄:DS18B20顯示程序261 前言目前,單片機(jī)已經(jīng)在測(cè)控領(lǐng)域中獲得了廣泛的應(yīng)用,它除了可以測(cè)量電信以外,還可以用于溫度、濕度等非電信號(hào)的測(cè)量,能獨(dú)立工作的單片機(jī)溫度檢測(cè)、溫度控制系統(tǒng)已經(jīng)廣泛應(yīng)用很多領(lǐng)域。單片機(jī)是一種特殊的計(jì)算機(jī),它是在一塊半導(dǎo)體的芯片上集成了CPU,存儲(chǔ)器,RAM,ROM,及

3、輸入與輸出接口電路,這種芯片稱為:單片機(jī)。由于單片機(jī)的集成度高,功能強(qiáng),通用性好,特別是它具有體積小,重量輕,能耗低,價(jià)格便宜,可靠性高,抗干擾能力強(qiáng)和使用方便的優(yōu)點(diǎn),使它迅速的得到了推廣應(yīng)用,目前已成為測(cè)量控制系統(tǒng)中的優(yōu)選機(jī)種和新電子產(chǎn)品中的關(guān)鍵部件。單片機(jī)已不僅僅局限于小系統(tǒng)的概念,現(xiàn)已廣泛應(yīng)用于家用電器,機(jī)電產(chǎn)品,辦公自動(dòng)化用品,機(jī)器人,兒童玩具,航天器等領(lǐng)域。本次課程設(shè)計(jì),就是用單片機(jī)實(shí)現(xiàn)溫度控制,傳統(tǒng)的溫度檢測(cè)大多以熱敏電阻為溫度傳感器,但熱敏電阻的可靠性差,測(cè)量溫度準(zhǔn)確率低,而且必須經(jīng)過專門的接口電路轉(zhuǎn)換成數(shù)字信號(hào)才能由單片機(jī)進(jìn)行處理。本次采用DS18B20數(shù)字溫度傳感器來(lái)實(shí)現(xiàn)基于

4、51單片機(jī)的數(shù)字溫度計(jì)的設(shè)計(jì)。傳統(tǒng)的溫度計(jì)有反應(yīng)速度慢、讀數(shù)麻煩、測(cè)量精度不高、誤差大等缺點(diǎn)而下面利用集成溫度傳感器AD590設(shè)計(jì)并制作了一款基于AT89C51的4位數(shù)碼管顯示的數(shù)字溫度計(jì),其電路簡(jiǎn)單,軟硬件結(jié)構(gòu)模塊化,易于實(shí)現(xiàn)。 該數(shù)字溫度計(jì)利用AD590集成溫度傳感器及其接口電路完成溫度的測(cè)量并轉(zhuǎn)換成模擬電壓信號(hào),經(jīng)由模數(shù)轉(zhuǎn)換器ADC0804轉(zhuǎn)換成單片機(jī)能夠處理的數(shù)字信號(hào),然后送到單片機(jī)AT89C51中進(jìn)行處理變換,最后將溫度值顯示在D4、D3、D2、D1共4位七段碼LED顯示器上。系統(tǒng)以AT89C51單片機(jī)為控制核心,加上AD590測(cè)溫電路、ADC模數(shù)轉(zhuǎn)換電路、4位溫度數(shù)據(jù)顯示電路以及外

5、圍電源、時(shí)鐘電路等組成。 2 設(shè)計(jì)任務(wù)及要求2.1 設(shè)計(jì)任務(wù)現(xiàn)代社會(huì)生活中,多功能的數(shù)字溫度計(jì)可以給我們的生活帶來(lái)很大的方便;支持“一線總線”接口的溫度傳感器簡(jiǎn)化了數(shù)字溫度計(jì)的設(shè)計(jì),降低了成本;以美國(guó)MAXIM/DALLAS半導(dǎo)體公司的單總線溫度傳感器DS18B20為核心,以ATMEL公司的AT89S52為控制器設(shè)計(jì)的DS18B20溫度控制器結(jié)構(gòu)簡(jiǎn)單、測(cè)溫準(zhǔn)確、具有一定控制功能的智能溫度控制器。此次課程設(shè)計(jì),就是用單片機(jī)1實(shí)現(xiàn)溫度控制,傳統(tǒng)的溫度檢測(cè)大多以熱敏電阻為溫度傳感器,但熱敏電阻的可靠性差,測(cè)量溫度準(zhǔn)確率低,而且必須經(jīng)過專門的接口電路轉(zhuǎn)換成數(shù)字信號(hào)才能由單片機(jī)進(jìn)行處理。本次采用DS18

6、B20數(shù)字溫度傳感器來(lái)實(shí)現(xiàn)基于51單片機(jī)的數(shù)字溫度計(jì)的設(shè)計(jì)。該數(shù)字溫度計(jì)利用AD590集成溫度傳感器及其接口電路完成溫度的測(cè)量并轉(zhuǎn)換成模擬電壓信號(hào),經(jīng)由模數(shù)轉(zhuǎn)換器ADC0804轉(zhuǎn)換成單片機(jī)能夠處理的數(shù)字信號(hào),然后送到單片機(jī)AT89C51中進(jìn)行處理變換,最后將溫度值顯示在D4、D3、D2、D1共4位七段碼LED顯示器上。系統(tǒng)以AT89C51單片機(jī)為控制核心,加上AD590測(cè)溫電路、ADC模數(shù)轉(zhuǎn)換電路、4位溫度數(shù)據(jù)顯示電路以及外圍電源、時(shí)鐘電路等組成。2.2 設(shè)計(jì)要求設(shè)計(jì)一個(gè)基于單片機(jī)的DS18B20數(shù)字溫度計(jì)。課程設(shè)計(jì)要求: 5V供電; 溫度采集采用DS18B20; 4位LED顯示; 2個(gè)按鍵;

7、 設(shè)計(jì)溫度控制器原理圖,學(xué)習(xí)用PROTEL畫出該原理圖,并用proteus進(jìn)行仿真;設(shè)計(jì)和繪制軟件流程圖,用C語(yǔ)言進(jìn)行程序編寫;焊接硬件電路,進(jìn)行調(diào)試。3 課程設(shè)計(jì)方案及器材選用分析3.1設(shè)計(jì)總體方案提及到溫度的檢測(cè),我們首先會(huì)考慮傳統(tǒng)的測(cè)溫元件有熱電偶和熱電阻,而熱電偶和熱電阻測(cè)出的一般都是電壓,再轉(zhuǎn)換成對(duì)應(yīng)的溫度,需要比較多的外部硬件支持,硬件電路復(fù)雜,軟件調(diào)試也復(fù)雜,制作成本高。因此,本數(shù)字溫度計(jì)設(shè)計(jì)采用智能溫度傳感器DS18B20作為檢測(cè)元件,測(cè)溫范圍為-55C至+125C,最大分辨率可達(dá)0.0625C。DS18B20可以直接讀出被測(cè)量的溫度值,而采用三線制與單片機(jī)相連,減少了外部的硬

8、件電路,具有低成本和易使用的特點(diǎn)。按照系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)由三個(gè)模塊組成:主控制器STC89C51,溫度傳感器DS18B20,驅(qū)動(dòng)顯示電路??傮w電路框圖如下:主控制器STC89C51DS18B20驅(qū)動(dòng)顯示電路圖3.1 系統(tǒng)總體框圖3.1.1方案論證方案一:由于本設(shè)計(jì)是測(cè)溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或電流采集過來(lái),進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來(lái),這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。所以,他的設(shè)計(jì)理論不符合本次設(shè)計(jì)的方案要求,應(yīng)繼續(xù)考慮另一可行方案。方案二:進(jìn)而考慮到用溫度傳

9、感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。因此,從以上兩種方案很容易看出,方案二,電路比較簡(jiǎn)單,軟件設(shè)計(jì)也比較簡(jiǎn)單,故采用了方案二。3.1.2方案二的總體設(shè)計(jì)框圖溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖1所示,控制器采用單片機(jī)AT89S51,溫度傳感器采用DS18B20,用3位LED數(shù)碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。DS18B20 采用3 腳PR-35 封裝或8 腳SOIC 封裝。主 控 制 器LED顯 示溫 度 傳 感 器單片機(jī)復(fù)位時(shí)鐘振蕩報(bào)警點(diǎn)按鍵調(diào)整圖3.2

10、總體設(shè)計(jì)方框圖主控制器:?jiǎn)纹瑱C(jī)AT89S51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。顯示電路:顯示電路采用3位共陽(yáng)LED數(shù)碼管,從P3口RXD,TXD串口輸出段碼。3.2器材選用分析3.2.1 DS18B20溫度傳感器1. DS18B20的特點(diǎn)本設(shè)計(jì)的測(cè)溫系統(tǒng)采用芯片DS18B20,DS18B20是DALLAS公司的最新單線數(shù)字溫度傳感器,它的體積更小,適用電壓更寬,更經(jīng)濟(jì)。實(shí)現(xiàn)方法簡(jiǎn)介DS18B20采用外接電源方式工作,一線測(cè)溫一線與STC89C51連接,測(cè)出的數(shù)據(jù)放在寄存器中,將數(shù)據(jù)經(jīng)過BCD碼轉(zhuǎn)換后

11、送到LED顯示。DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過簡(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ú)須外部器件;可通過數(shù)據(jù)線供電,電壓范圍為3.05.5;零待機(jī)功耗;溫度以或位數(shù)字;用戶可定義報(bào)警設(shè)置;報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作; DS18B20內(nèi)部

12、結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,高速暫存器。DS18B20的管腳排列如圖2-3-1所示。64位光刻ROM是出廠前被光刻好的,它可以看作是該DS18B20的地址序列號(hào)。不同的器件地址序列號(hào)不同。 C64 位ROM和單線接口高速緩存存儲(chǔ)器與控制邏輯溫度傳感器高溫觸發(fā)器TH低溫觸發(fā)器TL配置寄存器8位CRC發(fā)生器Vdd 圖3.3 DS18B20的內(nèi)部結(jié)構(gòu)圖3.4 DS18B20的引腳分布圖64位ROM的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前面56位的CRC檢驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線進(jìn)行

13、通信的原因。溫度報(bào)警觸發(fā)器和,可通過軟件寫入戶報(bào)警上下限。DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖2-3-2所示。頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如下圖所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式,DS18B20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),R

14、1和0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。圖3.5 DS18B20的字節(jié)定義DS18B20高速暫存器共9個(gè)存存單元,如表所示:表3-1 DS18B20的引腳分布圖序號(hào) 寄存器名稱 作 用 序號(hào) 寄存器名稱 0 溫度低字節(jié) 以16位補(bǔ)碼形式存放 4、5 保留字節(jié)1、2 1 溫度高字節(jié) 6 計(jì)數(shù)器余值 2 TH/用戶字節(jié)1 存放溫度上限 7 計(jì)數(shù)器/ 3 HL/用戶字節(jié)2 存放溫度下限 8 CRC 以12位轉(zhuǎn)化為例說(shuō)明溫度高低字節(jié)存放形式及計(jì)算:12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)高低兩個(gè)8位的RAM中,二進(jìn)制中的前面5位是符號(hào)位。如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)

15、值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625才能得到實(shí)際溫度。 高8位 S S S S S 26 25 24 低8位 23 22 21 20 2-1 2-2 2-3 2-4 表3-2 DS18B20的字節(jié)存放表由下圖可以看到,Dsl8820的內(nèi)部存儲(chǔ)器是由8個(gè)單元組成,其中第0、1個(gè)存放測(cè)量溫度值,第2、3分別存放報(bào)警溫度的上下限值,第4單元為配置單元,5、6、7單元在DSl8820這里沒有被用到。對(duì)于第4個(gè)寄存器,用戶可以設(shè)置溫度轉(zhuǎn)換精度,系統(tǒng)默認(rèn)12bit轉(zhuǎn)換精度,相當(dāng)于十進(jìn)制的00625,其轉(zhuǎn)換時(shí)間大約為750磷。具體見表2-4

16、-1。圖3.6 內(nèi)部存儲(chǔ)器結(jié)構(gòu)圖表3-3 溫度精度配置R1R0轉(zhuǎn)換精度(16進(jìn)制)轉(zhuǎn)換精度(十進(jìn)制)轉(zhuǎn)換時(shí)間009bit0.593.75ms0110bit0.25187.5ms1011bit0.125375ms1112bit0.0625750ms 由表3-3可見,DS18B20溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度

17、值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2字節(jié)。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625LSB形式表示。當(dāng)符號(hào)位S0時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位S1時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表2-4-2是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。表3-4 溫度精度配置溫度/二進(jìn)制表示十六進(jìn)制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+1

18、0.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90HDS18B20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與RAM中的TH、TL字節(jié)內(nèi)容作比較。若TTH或TTL,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。因此,可用多只DS18B20同時(shí)

19、測(cè)量溫度并進(jìn)行報(bào)警搜索。在64位ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余檢驗(yàn)碼(CRC)。主機(jī)ROM的前56位來(lái)計(jì)算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。DS18B20的測(cè)溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將55所對(duì)應(yīng)的一個(gè)基

20、數(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ù)器計(jì)數(shù)到0時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值大致被測(cè)溫度值。 另外,由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20

21、的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。 由于DS18B20采用的“一線總線”結(jié)構(gòu),所以數(shù)據(jù)的傳輸與命令的通訊只要通過微處理器的一根雙向Io口就可以實(shí)現(xiàn)。DSl8B20約定在每次通信前必須對(duì)其復(fù)位,具體的復(fù)位時(shí)序如圖2-4-2所示。 圖3.7 復(fù)位時(shí)序圖 圖2-4-3中所示,tRSTL為主機(jī)發(fā)出的低電平信號(hào),本文中有AT89S52提供,tRSTL的最小時(shí)延為,然后釋放總線,檢查DSl8B20的返回信號(hào),看其是否已準(zhǔn)備接受其他操作,其中tPDHIGH時(shí)間最小為,最長(zhǎng)不能超過,否則認(rèn)為DS18B20沒有準(zhǔn)備好,主機(jī)應(yīng)繼續(xù)復(fù)位,直

22、到檢測(cè)到返回信號(hào)變?yōu)榈碗娖綖橹埂1?-5 DS18B20的ROM操作指令操作指令33H55HCCHF0HECH含義讀ROM匹配ROM跳過ROM搜索ROM報(bào)警搜索ROM表3-6 DS18B20的存儲(chǔ)器操作指令操作指令4EHBEH48H44HD8HB4H含義寫讀內(nèi)部復(fù)制溫度轉(zhuǎn)換重新調(diào)出讀電源主機(jī)一旦檢測(cè)到DS18B20的存在,根據(jù)DS18B2的工作協(xié)議,就應(yīng)對(duì)ROM進(jìn)行操作,接著對(duì)存儲(chǔ)器操作,最后進(jìn)行數(shù)據(jù)處理。在DS18B20中規(guī)定了5條對(duì)ROM的操作命令。見表2-4-3。主機(jī)在發(fā)送完ROM操作指令之后,就可以對(duì)DS18B20內(nèi)部的存儲(chǔ)器進(jìn)行操作,同樣DS18B20規(guī)定了6條操作指令。見表2-4-

23、4。 DS18B20的讀、寫時(shí)序圖見圖2-4-3。圖3.8 DS18B20的讀寫時(shí)序圖2. DS18B20的使用方法由于DS18B20采用的是1Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對(duì)AT89S51單片機(jī)來(lái)說(shuō),硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì)DS18B20芯片的訪問。由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對(duì)讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將圖3.9 DS18B20的復(fù)位時(shí)序圖3

24、.10 DS18B20的讀時(shí)序圖3.11 DS18B20的寫時(shí)序主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。對(duì)于DS18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過程。對(duì)于DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過程,至少需要60us才能完成。DS18B20的寫時(shí)序,對(duì)于DS18B20的寫時(shí)序仍然分為寫0時(shí)序和寫1時(shí)序兩個(gè)過程,對(duì)于DS18B

25、20寫0時(shí)序和寫1時(shí)序的要求不同,當(dāng)要寫0時(shí)序時(shí),單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得釋放單線3.2.2 AT89S52單片機(jī)介紹1. AT89S52的主要性能與MCS-51單片機(jī)產(chǎn)品兼容,8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、 1000次擦寫周期、 全靜態(tài)操作:0Hz33Hz 、三級(jí)加密程序存儲(chǔ)器 、 32個(gè)可編程I/O口線 、三個(gè)16位定時(shí)器/計(jì)數(shù)器 八個(gè)中斷源 、全雙工UART串行通道、 低功耗空閑和掉電模式 、掉電后中斷可喚醒 、看門狗定時(shí)器 、雙數(shù)據(jù)指針 、

26、掉電標(biāo)識(shí)符 。2. AT89S52的功能特性AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6

27、向量2級(jí)中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工 作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。8 位微控制器 8K 字節(jié)在系統(tǒng)可編程 Flash AT89S52 P0 口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。 當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0

28、具有內(nèi)部上拉電阻。 在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn) 時(shí),需要外部上拉電阻。 P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P1 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2 的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。 在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。 引腳號(hào)第二功能

29、 P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出 P1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制) P1.5 MOSI(在系統(tǒng)編程用) P1.6 MISO(在系統(tǒng)編程用) P1.7 SCK(在系統(tǒng)編程用) P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P2 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR) 時(shí),P2 口送

30、出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用 8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。 在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。 P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 P3口亦作為AT89S52特殊功能(第二功能)使用,如下所示。 在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。 端口

31、引腳 第二功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INT0(外中斷0)P3.3 INT1(外中斷1)P3.4 T0(定時(shí)/計(jì)數(shù)器0)P3.5 T1(定時(shí)/計(jì)數(shù)器1)P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。RST復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。ALE/PROG當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它

32、可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。PSEN程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。EA

33、/VPP外部訪問允許,欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。3.3 軟件流程圖系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)刷新子程序等。3.3.1 主程序初始化調(diào)用顯示子程序1S到?初次上電讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令NYNY主程序的主要功

34、能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度,其程序流程見圖7所示。Y發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)讀取溫度命令讀取操作,CRC校驗(yàn)9字節(jié)完?CRC校驗(yàn)正?確?移入溫度暫存器結(jié)束NNY 3.12主程序流程圖 圖3-13 讀溫度流程圖3.3.2 讀溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖8示發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)溫度轉(zhuǎn)換開始命令結(jié)束圖3.13 溫度轉(zhuǎn)換流程圖3.3.3 溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)

35、換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如上圖,圖3.14所示3.3.4 計(jì)算溫度子程序計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖3.15所示溫度數(shù)據(jù)移入顯示寄存器十位數(shù)0?百位數(shù)0?十位數(shù)顯示符號(hào)百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)(不顯示符號(hào)) 結(jié)束NNYY 開始溫度零下?溫度值取補(bǔ)碼置“”標(biāo)志計(jì)算小數(shù)位溫度BCD值 計(jì)算整數(shù)位溫度BCD值 結(jié)束置“+”標(biāo)志NY 圖3-14 計(jì)算溫度流程圖 圖3-15顯示數(shù)據(jù)刷新流程圖164 硬件電

36、路的設(shè)計(jì)4.1 Protel99 SE軟件介紹4.1.1 Protel99 SE軟件Protel99 SE 5共分5個(gè)模塊,分別是原理圖設(shè)計(jì)、PCB設(shè)計(jì)(包含信號(hào)完整性分析)、自動(dòng)布線器、原理圖混合信號(hào)仿真、PLD設(shè)計(jì)。 以下介紹一些Protel99SE的部分最新功能: l 可生成30多種格式的電氣連接網(wǎng)絡(luò)表; l 強(qiáng)大的全局編輯功能; l 在原理圖中選擇一級(jí)器件,PCB中同樣的器件也將被選中; l 同時(shí)運(yùn)行原理圖和PCB,在打開的原理圖和PCB圖間允許雙向交叉查找元器件、引腳、網(wǎng)絡(luò) l 既可以進(jìn)行正向注釋元器件標(biāo)號(hào)(由原理圖到PCB),也可以進(jìn)行反向注釋(由PCB到原理圖),以保持電氣原理圖

37、和PCB在設(shè)計(jì)上的一致性; l 滿足國(guó)際化設(shè)計(jì)要求(包括國(guó)標(biāo)標(biāo)題欄輸出,GB4728國(guó)標(biāo)庫(kù)); * 方便易用的數(shù)?;旌戏抡妫嫒軸PICE 3f5); l 支持用CUPL語(yǔ)言和原理圖設(shè)計(jì)PLD,生成標(biāo)準(zhǔn)的JED下載文件; * PCB可設(shè)計(jì)32個(gè)信號(hào)層,16個(gè)電源-地層和16個(gè)機(jī)加工層; l 強(qiáng)大的“規(guī)則驅(qū)動(dòng)”設(shè)計(jì)環(huán)境,符合在線的和批處理的設(shè)計(jì)規(guī)則檢查; l 智能覆銅功能,覆鈾可以自動(dòng)重鋪; l 提供大量的工業(yè)化標(biāo)準(zhǔn)電路板做為設(shè)計(jì)模版; l 放置漢字功能; l 可以輸入和輸出DXF、DWG格式文件,實(shí)現(xiàn)和AutoCAD等軟件的數(shù)據(jù)交換; l 智能封裝導(dǎo)航(對(duì)于建立復(fù)雜的PGA、BGA封裝很有用)

38、; l 方便的打印預(yù)覽功能,不用修改PCB文件就可以直接控制打印結(jié)果; l 獨(dú)特的3D顯示可以在制板之前看到裝配事物的效果; l 強(qiáng)大的CAM處理使您輕松實(shí)現(xiàn)輸出光繪文件、材料清單、鉆孔文件、貼片機(jī)文件、測(cè)試點(diǎn)報(bào)告等; l 經(jīng)過充分驗(yàn)證的傳輸線特性和仿真精確計(jì)算的算法,信號(hào)完整性分析直接從PCB啟動(dòng); l 反射和串?dāng)_仿真的波形顯示結(jié)果與便利的測(cè)量工具相結(jié)合; l 專家導(dǎo)航幫您解決信號(hào)完整性問題。 4.1.2主控制電路AT89S52原理圖:系統(tǒng)完整電路圖如下:圖5.16主電路原理圖 圖5.17 數(shù)碼管連線圖5.18 系統(tǒng)報(bào)警電路圖5.19電路的PCB圖4.2 Proteus 進(jìn)行仿真程序編寫完以

39、后,我們先對(duì)其進(jìn)行仿真,初步驗(yàn)證電路圖和程序的可行性和正確性。4.2.1 roteus6簡(jiǎn)介Proteus 是英國(guó)Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是: 1 實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。 2 支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:ARM7(LPC21xx)、

40、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多種外圍芯片。 3 提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2、MPLAB等軟件。 具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。 proteus6.5是目前最好的模擬單片機(jī)外圍器件的工具,真的很不錯(cuò)。可以仿真51系列、AVR,PIC等常用的MCU及其外圍電路(如LCD,RAM

41、,ROM,鍵盤,馬達(dá),LED,AD/DA,部分SPI器件,部分IIC器件,.) 其實(shí)proteus 與 multisim比較類似,只不過它可以仿真MCU。4.2.2 proteus仿真圖5 調(diào)試性能及分析 系統(tǒng)的性能調(diào)試以(1、主程序)為主。硬件調(diào)試比較簡(jiǎn)單,首先檢查電路的焊接是否正確,然后用萬(wàn)用表測(cè)試。軟件調(diào)試可以先編寫顯示程序并進(jìn)行硬件的正確性檢驗(yàn),然后分別進(jìn)行主程序、從程序的編寫和調(diào)試,由于DS18B20與單片機(jī)采用串行數(shù)據(jù)傳送,因此對(duì)DS18B20進(jìn)行編程時(shí)必須嚴(yán)格地保證讀寫時(shí)序,否則將無(wú)法讀取測(cè)量結(jié)果。性能測(cè)試可用制作的溫度計(jì)和已有的成品溫度計(jì)來(lái)同時(shí)測(cè)量比較,由于DS18B20精度較

42、高,所以誤差指標(biāo)可以限制在0.1C以內(nèi),另外,-55C至+125C的測(cè)溫范圍使得該溫度計(jì)完全適用于一般的應(yīng)用場(chǎng)合,其低電壓供電的特性可做成電池供電的手持電子溫度計(jì)。電路焊接板圖片如下:課程設(shè)計(jì)心得本次的課程設(shè)計(jì)共三周時(shí)間,分別進(jìn)行了BS18D20電路原理圖的設(shè)計(jì),電路仿真圖的設(shè)計(jì)以及實(shí)物電路板的焊制三個(gè)過程。經(jīng)過這次的課程設(shè)計(jì),我們不僅加深了對(duì)Protel99 SE軟件的應(yīng)用和Proteus仿真軟件的了解和使用,還學(xué)到了許多課本上沒有涉及知識(shí),練習(xí)了電路原理圖的設(shè)計(jì)和仿真運(yùn)行,同時(shí)對(duì)上學(xué)期學(xué)習(xí)的單片機(jī)課程進(jìn)行了一次全面的復(fù)習(xí)和鞏固,收益很大。我們知道,課程設(shè)計(jì)一般強(qiáng)調(diào)能力培養(yǎng)為主,在獨(dú)立完成設(shè)

43、計(jì)任務(wù)的同時(shí),還要注意其他幾方面能力的培養(yǎng)與提高,如獨(dú)立工作能力與創(chuàng)造力;綜合運(yùn)用專業(yè)及基礎(chǔ)知識(shí)的能力,解決實(shí)際工程技術(shù)問題的能力;查閱圖書資料、產(chǎn)品手冊(cè)和各種工具書的能力;工程繪圖的能力;書寫技術(shù)報(bào)告和編制技術(shù)資料的能力。在專業(yè)知識(shí)與研究方法方面為日后的畢業(yè)設(shè)計(jì)乃至畢業(yè)后的工作奠定良好的基礎(chǔ)第一周是對(duì)BS18D20電路原理圖設(shè)計(jì),剛開始感覺有一定的難度,主要是對(duì)Protel99 SE軟件及功能的不了解。但在老師和同學(xué)的幫助下還是順利的完成了,進(jìn)而對(duì)接下來(lái)的兩個(gè)任務(wù)有了興趣。整個(gè)課設(shè)的過程就是一個(gè)學(xué)習(xí)的過程。因?yàn)樵谡n設(shè)的過程中,我們必須熟悉電路原理及器件的使用特點(diǎn),這些都是對(duì)課本知識(shí)復(fù)習(xí)和鞏固

44、。所以 我覺得課設(shè)是一個(gè)很重要的學(xué)習(xí)環(huán)節(jié),值得我們應(yīng)該很認(rèn)真的去對(duì)待!由于本次課程設(shè)計(jì)是由分組進(jìn)行完成的,所以通過這次的課設(shè)我更加了解到合作的重要性。三周的設(shè)計(jì)中,我們組成員都參加了設(shè)計(jì)的各個(gè)方面的討論和動(dòng)手實(shí)踐,大家更具自己的實(shí)際情況做了不同的分工,合理的利用了時(shí)間,感覺得到了很好的經(jīng)驗(yàn)。這次課設(shè)讓我對(duì)單片機(jī)有了進(jìn)一步的了解,而且對(duì)Proteus仿真軟件的有了一定了解。體會(huì)到了Proteus仿真軟件的強(qiáng)大。最主要的是我們能夠自己通過單片機(jī)焊接事物,這是我們?cè)谡n堂上是學(xué)不到的。極大地增強(qiáng)了我們的動(dòng)手實(shí)踐能力。通過本次課設(shè),能夠使我們熟練掌握單片機(jī)控制電路的設(shè)計(jì)、程序編寫和整體焊接及系統(tǒng)調(diào)試,從

45、而全面地提高我們對(duì)單片機(jī)的軟件、硬件等方面的理解,進(jìn)而增強(qiáng)我們?cè)趯?shí)踐環(huán)節(jié)的動(dòng)手操作能力。譬如,我們可以根據(jù)實(shí)驗(yàn)指導(dǎo)書的要求,完成BS18D20電路的硬件設(shè)計(jì)、電路器件的選擇、單片機(jī)軟件的運(yùn)行、以及整體系統(tǒng)調(diào)試,并寫出完善的設(shè)計(jì)報(bào)告。在進(jìn)行課設(shè)之前,要求我們具備數(shù)字電路、模擬電路、電路基礎(chǔ)、微機(jī)原理、電力電子、電機(jī)學(xué)和單片機(jī)等相關(guān)課程的知識(shí),并具備一些基本的實(shí)踐操作水平,為以后的就業(yè)打好一定的基礎(chǔ)??偟膩?lái)說(shuō),這次的課程設(shè)計(jì)自己還是很滿意的,感覺收獲了不少東西,相信此次學(xué)到的知識(shí)在以后的生活和學(xué)習(xí)中對(duì)我會(huì)有很大的幫助!參考文獻(xiàn)1 張五一,張道光.微機(jī)原理與接口技術(shù).鄭州:河南科學(xué)技術(shù)出版社,200

46、62 李廣弟.單片機(jī)基礎(chǔ). 北京:北京航空航天大學(xué)出版社,19943 廖常初.現(xiàn)場(chǎng)總線概述.電工技術(shù),1999.4 倪曉軍.單片機(jī)原理與接口技術(shù)教程.北京:清華大學(xué)出版社,20095 姚年春 向華Protel99SE基礎(chǔ)教程. 北京.人民名郵電出版社,20096 韓穎; Proteus在單片機(jī)技術(shù)實(shí)訓(xùn)教學(xué)中的應(yīng)用J;中國(guó)科教創(chuàng)新導(dǎo)刊;2008年31期7 周靈彬;張靖武.PROTEUS的單片機(jī)教學(xué)與應(yīng)用仿真J.單片機(jī)與嵌入式系統(tǒng)應(yīng)用;2008年01期附錄:DS18B20顯示程序-#include #define uint unsigned int#define uchar unsigned ch

47、ar /宏定義sbit p34=P24;sbit p35=P25;sbit p36=P26;sbit dp=P07;sbit p37=P27;sbit DQ=P22; /定義DS18B20總線I/Osbit SET=P31; /定義選擇報(bào)調(diào)整警溫度上限和下限(1為上限,0為下限)/*P3.2和P3.3為調(diào)整溫度報(bào)警增加鍵和減少鍵*/sbit LING=P20; /定義響鈴signed char m; /溫度值全局變量bit sign=0; /外部中斷狀態(tài)標(biāo)志signed char shangxian=38; /上限報(bào)警溫度,默認(rèn)值為38signed char xiaxian=6; /下限報(bào)警溫

48、度,默認(rèn)值為5uchar code LEDData=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xff,0 xbf;/*延時(shí)子程序*/void Delay(uint i) while( i- );/*初始化DS18B20*/void Init_DS18B20(void) unsigned char x=0; DQ=1; Delay(8); /稍做延時(shí) DQ=0; /單片機(jī)將DQ拉低 Delay(80); /精確延時(shí),大于480us DQ=1; /拉高總線 Delay(14); x=DQ; /稍做延時(shí)后,如果x=0則

49、初始化成功,x=1則初始化失敗 Delay(20);/*讀一個(gè)字節(jié)*/unsigned char ReadOneChar(void) unsigned char i=0; unsigned char dat=0; for (i=8;i0;i-) DQ=0; / 給脈沖信號(hào) dat=1; DQ=1; / 給脈沖信號(hào) if(DQ) dat|=0 x80; Delay(4); return(dat);/*寫一個(gè)字節(jié)*/void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ=0; DQ=dat&0 x01

50、; Delay(5); DQ=1; dat=1; void Tmpchange(void) /發(fā)送溫度轉(zhuǎn)換命令 Init_DS18B20(); WriteOneChar(0 xCC); /跳過讀序號(hào)列號(hào)的操作 WriteOneChar(0 x44); /啟動(dòng)溫度轉(zhuǎn)換/*讀取溫度*/unsigned int ReadTemperature(void) unsigned char a=0; unsigned char b=0; unsigned int t=0; float tt=0; Tmpchange(); Init_DS18B20(); WriteOneChar(0 xCC); /跳過讀序號(hào)

51、列號(hào)的操作 WriteOneChar(0 xBE); /讀取溫度寄存器 a=ReadOneChar(); /讀低8位 b=ReadOneChar(); /讀高8位 t=b; tshangxian | mxiaxian) LING=1; /溫度不在范圍內(nèi)報(bào)警 else LING=0;p34=0;p35=0;p36=0;p37=0; P0 =LEDDatad; /顯示小數(shù)點(diǎn)后兩位 p34=1;p35=0;p36=0;p37=0; Delay(300);p34=0;p35=0;p36=0;p37=0; P0 =LEDDatac; /顯示小數(shù)點(diǎn)后一位p34=0;p35=1;p36=0;p37=0; D

52、elay(300);p34=0;p35=0;p36=0;p37=0; P0 =LEDDatab; /顯示個(gè)位dp=0;p34=0;p35=0;p36=1;p37=0; Delay(300);p34=0;p35=0;p36=0;p37=0; P0 =LEDDataa; /顯示十位p34=0;p35=0;p36=0;p37=1; Delay(300);p34=0;p35=0;p36=0;p37=0; /關(guān)閉顯示disptiaozheng() uchar f,g,j,k; f=shangxian/10; g=shangxian%10; j=xiaxian/10; k=xiaxian%10;p34=0

53、;p35=0;p36=0;p37=0; P0 =0 xc0; /顯示0p34=1;p35=0;p36=0;p37=0; Delay(200);p34=0;p35=0;p36=0;p37=0; P0 =0 xc0; /顯示0p34=0;p35=1;p36=0;p37=0; Delay(200);p34=0;p35=0;p36=0;p37=0; if(SET=1) P0 =LEDDatag; dp=0; /顯示上限溫度個(gè)位 else P0 =LEDDatak; dp=0; p34=0;p35=0;p36=1;p37=0; Delay(200);p34=0;p35=0;p36=0;p37=0; if

54、(SET=1) P0 =LEDDataf; /顯示上限溫度十位 else if(f=0) P0=0 x00; /不顯示下限溫度十位 else P0 =LEDDataj; /顯示下限溫度十位 p34=0;p35=0;p36=0;p37=1; Delay(200);p34=0;p35=0;p36=0;p37=0; /關(guān)閉顯示 Delay(20); /*外部中斷0服務(wù)程序*/void int0(void) interrupt 0 EX0=0; /關(guān)外部中斷0 sign=1; if(SET=1) shangxian+; else xiaxian+; Delay(500); EX0=1; /*外部中斷1

55、服務(wù)程序*/void int1(void) interrupt 2 EX1=0; /關(guān)外部中斷0 sign=1; if(SET=1) shangxian-; else xiaxian-; Delay(500); EX1=1; /*主函數(shù)*/void main(void) uint z; IT0=1; IT1=1; EX0=1; EX1=1; EA=1; ReadTemperature(); LING=0; for(z=0;z100;z+) Disp_init(); while(1) Disp_Temperature(); if(sign=1) for(z=0;z300;z+) disptiao

展開閱讀全文
溫馨提示:
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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!