溫度監(jiān)控系統(tǒng)設(shè)計(jì)論文_第1頁(yè)
溫度監(jiān)控系統(tǒng)設(shè)計(jì)論文_第2頁(yè)
溫度監(jiān)控系統(tǒng)設(shè)計(jì)論文_第3頁(yè)
溫度監(jiān)控系統(tǒng)設(shè)計(jì)論文_第4頁(yè)
溫度監(jiān)控系統(tǒng)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 陜西理工學(xué)院畢業(yè)設(shè)計(jì) i 溫度監(jiān)控系統(tǒng)設(shè)計(jì) 安會(huì)俠 (陜西理工學(xué)院電氣工程系 計(jì)控 073,陜西漢中 723000) 指導(dǎo)老師:張鵬超 摘要 本文主要介紹了一個(gè)基于 89c51 單片機(jī)的測(cè)溫系統(tǒng),詳細(xì)描述了利用數(shù)字溫度傳感器 ds18b20 開發(fā)測(cè)溫系統(tǒng)的過(guò)程,重點(diǎn)對(duì)傳感器在單片機(jī)下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)行了 詳盡分析,對(duì)各部分的電路也一一進(jìn)行了介紹,該系統(tǒng)可以方便的實(shí)現(xiàn)溫度采集和顯示,并可根據(jù)需要任意 設(shè)定上下限溫度。 ds18b20 與 at89c51 結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,抗干擾能力強(qiáng),適 合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。 關(guān)鍵詞

2、 單片機(jī);溫度檢測(cè);at89c51;ds18b20; 陜西理工學(xué)院畢業(yè)設(shè)計(jì) ii temperature control system design huixia an (grade07, class3, computer control , electrical engineering dept, shaanxi university of technology , hanzhong 723003,shaanxi) tutor: pengchao zhang abstract this article mainly introduced based on 89c51 temperature

3、measurement system is described, using digital temperature sensor ds18b20 temperature measuring system development, focus on the process of sensors in the scm, software and hardware connect each module system programming, and makes a detailed analysis process of each part of the circuit is introduce

4、d, and this one system can realize temperature can easily, and collecting and according to need any set upper temperature. the combination with at89c51 ds18b20 temperature detection system, the reduction system structure is simple, strong anti-jamming capability, which is suitable for the bad enviro

5、nment temperature measurement, site wide application prospect. key word: singlechip ; temperature measurement; at89c51; ds18b20 陜西理工學(xué)院畢業(yè)論文 iv 引言 隨著科技的不斷發(fā)展,現(xiàn)代社會(huì)對(duì)各種信息參數(shù)的準(zhǔn)確度和精確度的要求都有了幾何級(jí)的 增長(zhǎng),而如何準(zhǔn)確而又迅速的獲得這些參數(shù)就需要受制于現(xiàn)代信息基礎(chǔ)的發(fā)展水平。在三大信 息信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))中,傳感器屬于信 息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器技術(shù),在我國(guó)各領(lǐng)域

6、已經(jīng)引用的非常廣泛,可以說(shuō) 是滲透到社會(huì)的每一個(gè)領(lǐng)域,人民的生活與環(huán)境的溫度息息相關(guān),在工業(yè)生產(chǎn)過(guò)程中需要實(shí)時(shí) 測(cè)量溫度,在農(nóng)業(yè)生產(chǎn)中也離不開溫度的測(cè)量,因此研究溫度的測(cè)量方法和裝置具有重要的意 義。 測(cè)量溫度的關(guān)鍵是溫度傳感器,溫度傳感器的發(fā)展經(jīng)歷了三個(gè)發(fā)展階段: 傳統(tǒng)的分立式溫度傳感器 模擬集成溫度傳感器 智能集成溫度傳感器。 目前的智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問(wèn)世的,它是微電子 技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)(ate)的結(jié)晶,特點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量, 適配各種微控制器(mcu)。社會(huì)的發(fā)展使人們對(duì)傳感器的要求也越來(lái)越高,現(xiàn)在的溫度傳感器 正

7、在基于單片機(jī)的基礎(chǔ)上從模擬式向數(shù)字式,從集成化向智能化、網(wǎng)絡(luò)化的方向飛速發(fā)展,并 朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制 單片測(cè)溫系統(tǒng)等高科技的方向迅速發(fā)展,本文將介紹智能集成溫度傳感器ds18b20的結(jié)構(gòu)特征 及控制方法,并對(duì)以此傳感器,89c51單片機(jī)為控制器構(gòu)成的數(shù)字溫度測(cè)量裝置的工作原理及 程序設(shè)計(jì)作了詳細(xì)的介紹。與傳統(tǒng)的溫度計(jì)相比,其具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫準(zhǔn)確, 輸出溫度采用數(shù)字顯示,主要用于對(duì)測(cè)溫要求比較準(zhǔn)確的場(chǎng)所,或科研實(shí)驗(yàn)室使用。該設(shè)計(jì)控 制器使用atmel公司的at89s51單片機(jī),測(cè)溫傳感器使用dallas公司ds18b2

8、0,用液晶來(lái)實(shí)現(xiàn)溫 度顯示。 陜西理工學(xué)院畢業(yè)論文 v 目 錄 1 緒論 .1 1.1 選題的目的及意義 .1 1.2 研究現(xiàn)狀 .1 1.3 本文工作及其設(shè)計(jì)方案 .1 2 基礎(chǔ)知識(shí) .2 2.1 單片機(jī)基礎(chǔ)知識(shí) .2 2.2 proteus簡(jiǎn)介.2 2.2.1 proteus 的工作過(guò)程 .3 2.2.2 proteus 軟件所提供的調(diào)試手段 .3 2.3 數(shù)字溫度計(jì)簡(jiǎn)介 .3 2.3.1 數(shù)字溫度計(jì)的發(fā)展概況.3 2.3.2 數(shù)字溫度計(jì)的設(shè)計(jì)背景 .3 3 設(shè)計(jì)方案及硬件實(shí)現(xiàn) .5 3.1 設(shè)計(jì)方案 .5 3.1.1 方案一.5 3.1.2 方案二 .5 3.2 設(shè)計(jì)所需硬件 .6 3.

9、2.1 at89c51 .6 3.2.2 lcd 顯示器.8 陜西理工學(xué)院畢業(yè)論文 vi 3.2.3 ds18b20 .10 3.3 硬件實(shí)現(xiàn) .13 4 軟件的設(shè)計(jì) .16 4.1 keil單片機(jī)模擬仿真調(diào)試軟件的安裝和啟動(dòng) .16 4.2 工程(project)的建立 .16 4.3 程序的設(shè)計(jì) .16 4.4 源文件的輸入 .19 4.5 匯編語(yǔ)言源程序的調(diào)試 .19 5 系統(tǒng)的仿真調(diào)試及結(jié)果 .21 5.1 proteus isis 的介紹 .21 5.2 電路圖的繪制 .21 6 總結(jié) .23 致謝 .24 參考文獻(xiàn) .25 附錄 a:電路原理圖: .26 附錄 b: 數(shù)字溫度計(jì)程序

10、清單 .27 附錄 c:英文翻譯 .41 陜西理工學(xué)院畢業(yè)論文 第 1 頁(yè) 共 51 頁(yè) 1 緒論 1.1 選題的目的及意義 隨著數(shù)字溫度計(jì)的發(fā)展,它已然成為單片機(jī)等器材的應(yīng)用領(lǐng)域。基于單片機(jī)的數(shù)字溫度計(jì)的研 究開發(fā)以及應(yīng)用,讓我更加了解到單片機(jī)技術(shù)已經(jīng)成為日常生活和研究領(lǐng)域一個(gè)不可或缺的一部分, 基于單片機(jī)的數(shù)字溫度計(jì)具有電路簡(jiǎn)單、成本低、測(cè)量方便等特點(diǎn)。本文主要介紹如何使用單片機(jī) 來(lái)實(shí)現(xiàn)數(shù)字溫度計(jì)的仿真以及其具體步驟。 1.2 研究現(xiàn)狀 單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過(guò)程 控制等領(lǐng)域。此外,單片機(jī)在工商,金融,科研、教育,國(guó)防航空航天等領(lǐng)域都

11、有著十分廣泛的用 途。 數(shù)字溫度計(jì)是數(shù)字儀表的基礎(chǔ)與核心。它在生活生產(chǎn)學(xué)習(xí)中有著廣泛的應(yīng)用。 1.3 本文工作及其設(shè)計(jì)方案 本次設(shè)計(jì)通過(guò)單片機(jī)的應(yīng)用,并通過(guò) proteus 中的虛擬終端觀察是否可以實(shí)現(xiàn)溫度檢測(cè)的情況, 最終完成并實(shí)現(xiàn)數(shù)字式溫度計(jì)開發(fā)的設(shè)計(jì)。 在這次設(shè)計(jì)中我本著先有軟件在有硬件的方法去設(shè)計(jì)。首先我對(duì)硬件進(jìn)行了解,然后開始著手設(shè)計(jì) 軟件系統(tǒng),軟件設(shè)計(jì)完成后開始連電路圖,當(dāng)軟件和硬件都設(shè)計(jì)好了就開始完成最后一步仿真實(shí)驗(yàn)。 陜西理工學(xué)院畢業(yè)論文 第 2 頁(yè) 共 51 頁(yè) 2 基礎(chǔ)知識(shí) 2.1 單片機(jī)基礎(chǔ)知識(shí) 人們往往把運(yùn)算器和控制器合并稱為中央處理單元cpu。單片機(jī)除了進(jìn)行運(yùn)算外,還

12、要完 成控制功能。所以離不開計(jì)數(shù)和定時(shí)。因此,在單片機(jī)中就設(shè)置有定時(shí)器兼計(jì)數(shù)器,其基本結(jié)構(gòu)與 本連載之(二)中的舉例類似。到這里為止,我們已經(jīng)知道了單片機(jī)的基本組成,即單片機(jī)是由中 央處理器(即 cpu 中的運(yùn)算器和控制器) 、只讀存貯器(通常表示為 rom) 、讀寫存貯器(又稱隨機(jī) 存貯器通常表示為 ram) 、輸入/輸出口(又分為并行口和串行口,表示為 i/o 口)等等組成。實(shí)際 上單片機(jī)里面還有一個(gè)時(shí)鐘電路,使單片機(jī)在進(jìn)行運(yùn)算和控制時(shí),都能有節(jié)奏地進(jìn)行。另外,還有 所謂的“中斷系統(tǒng)” ,這個(gè)系統(tǒng)有“傳達(dá)室”的作用,當(dāng)單片機(jī)控制對(duì)象的參數(shù)到達(dá)某個(gè)需要加以 干預(yù)的狀態(tài)時(shí),就可經(jīng)此“傳達(dá)室”通

13、報(bào)給 cpu,使 cpu 根據(jù)外部事態(tài)的輕重緩急來(lái)采取適當(dāng)?shù)膽?yīng) 付措施。 單片機(jī)指令系統(tǒng)與匯編語(yǔ)言程序 前面已經(jīng)講述了單片機(jī)的幾個(gè)主要組成部分,這些部分構(gòu)成了單片機(jī)的硬件。所謂硬件 (hardware) ,就是看得到,摸得到的實(shí)體。但是,光有這樣的硬件,還只是有了實(shí)現(xiàn)計(jì)算和控制 功能的可能性。單片機(jī)要真正地能進(jìn)行計(jì)算和控制,還必須有軟件(software)的配合。軟件主要 指的是各種程序。只有將各種正確的程序“灌入” (存入)單片機(jī),它才能有效地工作。單片機(jī)所 以能自動(dòng)地進(jìn)行運(yùn)算和控制,正是由于人把實(shí)現(xiàn)計(jì)算和控制的步驟一步步地用命令的形式,即一條 條指令(instruction)預(yù)先存入到存貯

14、器中,單片機(jī)在 cpu 的控制下,將指令一條條地取出來(lái), 并加以翻譯和執(zhí)行。就以兩個(gè)數(shù)相加這一簡(jiǎn)單的運(yùn)算來(lái)說(shuō),當(dāng)需要運(yùn)算的數(shù)已存入存貯器后,還需 要進(jìn)行以下幾步:第一步:把第一個(gè)數(shù)從它的存貯單元(location)中取出來(lái),送至運(yùn)算器。 第 二步:把第二個(gè)數(shù)從它所在的存貯單元中取出來(lái),送至運(yùn)算器; 第三步:相加; 第四步:把相加 完的結(jié)果,送至存貯器中指定的單元。 2.2 proteus 簡(jiǎn)介 proteus 與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī) cpu 的工作情況,也能仿真單 片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時(shí),關(guān)心的不再是 某些語(yǔ)句執(zhí)行時(shí)單

15、片機(jī)寄存器和存儲(chǔ)器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作 的過(guò)程和結(jié)果。 陜西理工學(xué)院畢業(yè)論文 第 3 頁(yè) 共 51 頁(yè) 2.2.1 proteus 的工作過(guò)程 運(yùn)行 proteus 的 isis 程序后,進(jìn)入該仿真軟件的主界面。在工作前,要設(shè)置 view 菜單下的捕捉 對(duì)齊和 system 下的顏色、圖形界面大小等項(xiàng)目。通過(guò)工具欄中的 p(從庫(kù)中選擇元件命令)命令,在 pick devices 窗口中選擇電路所需的元件,放置元件并調(diào)整其相對(duì)位置,元件參數(shù)設(shè)置,元器件間 連線,編寫程序;在 source 菜單的 definecode generation tools 菜單命令下,

16、選擇程序編譯的工具、 路徑、擴(kuò)展名等項(xiàng)目;在 source 菜單的 add/removesource files 命令下,加入單片機(jī)硬件電路的對(duì)應(yīng) 程序;通過(guò) debug 菜單的相應(yīng)命令仿真程序和電路的運(yùn)行情況。 2.2.2 proteus 軟件所提供的調(diào)試手段 proteus 提供了比較豐富的測(cè)試信號(hào)用于電路的測(cè)試。對(duì)于單片機(jī)硬件電路和軟件的調(diào)試, proteus 提供了兩種方法:一種是系統(tǒng)總體執(zhí)行效果,一種是對(duì)軟件的分步調(diào)試以看具體的執(zhí)行情 況。 對(duì)于總體執(zhí)行效果的調(diào)試方法,只需要執(zhí)行 debug 菜單下的 execute 菜單項(xiàng)或 f12 快捷鍵啟動(dòng) 執(zhí)行,用 debug 菜單下的 pa

17、use animation 菜單項(xiàng)或 pause 鍵暫停系統(tǒng)的運(yùn)行;或用 debug 菜單下的 stop animation 菜單項(xiàng)或 shift-break 組合鍵停止系統(tǒng)的運(yùn)行。 對(duì)于軟件的分步調(diào)試,應(yīng)先執(zhí)行 debug 菜單下的 start/restart debugging 菜單項(xiàng)命令,此時(shí)可以 選擇 stepover 、step into 和 step out 命令執(zhí)行程序(可以用快捷鍵 f10、f11 和 ctrl+f11),執(zhí)行的效果 是單句執(zhí)行、進(jìn)入子程序執(zhí)行和跳出子程序執(zhí)行。在執(zhí)行了 start / restart debuging 命令后,在 debug 菜單的下面要出現(xiàn)仿

18、真中所涉及到的軟件列表和單片機(jī)的系統(tǒng)資源等,可供調(diào)試時(shí)分析和查看。 2.3 數(shù)字溫度計(jì)簡(jiǎn)介 2.3.1 數(shù)字溫度計(jì)的發(fā)展概況 溫度測(cè)量是電子測(cè)量的一個(gè)重要內(nèi)容。隨著科學(xué)技術(shù)的發(fā)展和現(xiàn)代工業(yè)技術(shù)的需要,測(cè)溫技術(shù) 也不斷地改進(jìn)和提高。由于測(cè)溫范圍越來(lái)越廣,根據(jù)不同的要求,又制造出不同需要的測(cè)溫儀器。 如:氣體溫度計(jì)、電阻溫度計(jì)、溫差電偶溫度計(jì)、高溫溫度計(jì)、指針式溫度計(jì)、玻璃管溫度計(jì)、壓 力式溫度計(jì)、轉(zhuǎn)動(dòng)式溫度計(jì)、半導(dǎo)體溫度計(jì)、光測(cè)高溫計(jì)、熱電偶溫度計(jì)、液晶溫度計(jì)。 陜西理工學(xué)院畢業(yè)論文 第 4 頁(yè) 共 51 頁(yè) 2.3.2 數(shù)字溫度計(jì)的設(shè)計(jì)背景 隨著電子科學(xué)技術(shù)的發(fā)展,電子測(cè)量成為廣大電子工作者必

19、須掌握的手段,對(duì)測(cè)量的精度和功 能的要求也越來(lái)越高,而溫度的測(cè)量甚為突出,因?yàn)闇囟鹊臏y(cè)量最為普遍。傳統(tǒng)的模擬溫度計(jì),已 有百年的發(fā)展歷史,雖然經(jīng)過(guò)改進(jìn),但是仍然遠(yuǎn)遠(yuǎn)不能滿足測(cè)量的需要。近幾十年來(lái)隨著電子技術(shù) 的發(fā)展,經(jīng)常需要測(cè)量高精度的溫度,因此數(shù)字溫度計(jì)應(yīng)運(yùn)而生,發(fā)展的數(shù)度很快。 陜西理工學(xué)院畢業(yè)論文 第 5 頁(yè) 共 51 頁(yè) 3 設(shè)計(jì)方案及硬件實(shí)現(xiàn) 3.1 設(shè)計(jì)方案 3.1.1 方案一 由于本設(shè)計(jì)是測(cè)溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測(cè)溫度變化 的電壓或電流采集過(guò)來(lái),進(jìn)行 a/d 轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可 以將被測(cè)溫度顯示出來(lái),這種設(shè)

20、計(jì)需要用到 a/d 轉(zhuǎn)換電路,感溫電路比較麻煩。 3.1.2 方案二 進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想 到的,所以可以采用一只溫度傳感器 ds18b20,此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn)行 轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。 從以上兩種方案,很容易看出,采用方案二,電路比較簡(jiǎn)單,軟件設(shè)計(jì)也比較簡(jiǎn)單,故采用了 方案二。 方案二設(shè)計(jì)方框圖如圖 3.2.1: 圖 3.2.1 方案二設(shè)計(jì)圖 主 控 制 器 lcd 顯 示 溫 度 傳 感 器 單片機(jī)復(fù)位 時(shí)鐘振蕩 陜西理工學(xué)院畢業(yè)論文 第 6 頁(yè) 共 51 頁(yè) 3.2 設(shè)計(jì)所需硬件 at89c51 l

21、cd res cap、cap-elec:電容、電解電容; crystal:晶振 3.2.1 at89c51 at89c51 是一個(gè)低功耗,高性能 cmos 8 位單片機(jī),片內(nèi)含 4k bytes isp(in-system programmable)的可反復(fù)擦寫 1000 次的 flash 只讀程序存儲(chǔ)器,器件采用 atmel 公司的高密度、 非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn) mcs-51 指令系統(tǒng)及 80c51 引腳結(jié)構(gòu),芯片內(nèi)集成了通用 8 位中 央處理器和 isp flash 存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的 at89c51 可為許多嵌入式控制應(yīng)用系統(tǒng) 提供高性價(jià)比的解決方案。 at89c

22、51 具有如下特點(diǎn):40 個(gè)引腳,4k bytes flash 片內(nèi)程序存儲(chǔ)器,128 bytes 的隨機(jī)存取數(shù) 據(jù)存儲(chǔ)器(ram) ,32 個(gè)外部雙向輸入/輸出(i/o)口,5 個(gè)中斷優(yōu)先級(jí) 2 層中斷嵌套中斷,2 個(gè) 16 位可編程定時(shí)計(jì)數(shù)器,2 個(gè)全雙工串行通信口,看門狗(wdt)電路,片內(nèi)時(shí)鐘振蕩器。 此外,at89c51 設(shè)計(jì)和配置了振蕩頻率可為 0hz 并可通過(guò)軟件設(shè)置省電模式??臻e模式下, cpu 暫停工作,而 ram 定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保 存 ram 的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有 pdip、tqf

23、p 和 plcc 等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 主要特性: 8031 cpu 與 mcs-51 兼容 4k 字節(jié)可編程 flash 存儲(chǔ)器(壽命:1000 寫/擦循環(huán)) 全靜態(tài)工作:0hz-24khz 三級(jí)程序存儲(chǔ)器保密鎖定 128*8 位內(nèi)部 ram 32 條可編程 i/o 線 兩個(gè) 16 位定時(shí)器/計(jì)數(shù)器 6 個(gè)中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時(shí)鐘電路 2管腳說(shuō)明: 陜西理工學(xué)院畢業(yè)論文 第 7 頁(yè) 共 51 頁(yè) vcc:供電電壓。 gnd:接地。 p0 口:p0 口為一個(gè) 8 位漏級(jí)開路雙向 i/o 口,每腳可吸收 8ttl 門電流。當(dāng) p1 口的管

24、腳第一 次寫 1 時(shí),被定義為高阻輸入。p0 能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第 八位。在 fiash 編程時(shí),p0 口作為原碼輸入口,當(dāng) fiash 進(jìn)行校驗(yàn)時(shí),p0 輸出原碼,此時(shí) p0 外部必須被拉高。 p1 口:p1 口是一個(gè)內(nèi)部提供上拉電阻的 8 位雙向 i/o 口,p1 口緩沖器能接收輸出 4ttl 門電 流。p1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,p1 口被外部下拉為低電平時(shí),將輸出電 流,這是由于內(nèi)部上拉的緣故。在 flash 編程和校驗(yàn)時(shí),p1 口作為第八位地址接收。 p2 口:p2 口為一個(gè)內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 口

25、緩沖器可接收,輸出 4 個(gè) ttl 門電 流,當(dāng) p2 口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2 口的 管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2 口當(dāng)用于外部程序存儲(chǔ)器或 16 位地 址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2 口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì), 當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2 口輸出其特殊功能寄存器的內(nèi)容。p2 口在 flash 編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 p3 口:p3 口管腳是 8 個(gè)帶內(nèi)部上拉電阻的雙向 i/o 口,可接收輸出 4 個(gè) ttl 門電流。當(dāng) p3 口寫入“1”后

26、,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3 口 將輸出電流(ill)這是由于上拉的緣故。 p3.0 rxd(串行輸入口) p3.1 txd(串行輸出口) p3.2 /int0(外部中斷 0) p3.3 /int1(外部中斷 1) p3.4 t0(記時(shí)器 0 外部輸入) p3.5 t1(記時(shí)器 1 外部輸入) p3.6 /wr(外部數(shù)據(jù)存儲(chǔ)器寫選通) p3.7 /rd(外部數(shù)據(jù)存儲(chǔ)器讀選通) p3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 irst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持 rst 腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ale/prog:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí)

27、,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 flash 編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale 端以不變的頻率周期輸出正脈沖信號(hào), 陜西理工學(xué)院畢業(yè)論文 第 8 頁(yè) 共 51 頁(yè) 此頻率為振蕩器頻率的 1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是: 每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè) ale 脈沖。如想禁止 ale 的輸出可在 sfr8eh 地址上置 0。此時(shí), ale 只有在執(zhí)行 movx,movc 指令是 ale 才起作用。另外,該引腳被略微拉高。如 果微處理器在外部執(zhí)行狀態(tài) ale 禁止,置位無(wú)效。 /psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部

28、程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次 /psen 有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen 信號(hào)將不出現(xiàn)。 /ea/vpp:當(dāng)/ea 保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh) ,不管是否有內(nèi) 部程序存儲(chǔ)器。注意加密方式 1 時(shí),/ea 將內(nèi)部鎖定為 reset;當(dāng)/ea 端保持高電平時(shí),此間內(nèi)部 程序存儲(chǔ)器。在 flash 編程期間,此引腳也用于施加 12v 編程電源(vpp) 。 xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 xtal2:來(lái)自反向振蕩器的輸出。 at89cxx 系列單片機(jī)實(shí)現(xiàn)了 isp 下載功能,故而取代了 89cxx 系列

29、的下載方式,也是因?yàn)?這樣,atmel 公司已經(jīng)停止生產(chǎn) 89cxx 系列的單片機(jī),現(xiàn)在市面上的 at89cxx 多是停產(chǎn)前的 庫(kù)存產(chǎn)品。 3.2.2 lcd 顯示器 1602 液晶模塊內(nèi)部的控制器共有 11 條控制指令,如表 所示: 序號(hào)指令 rsr/wd7d6d5d4d3d2d1d0 1 清顯示 0000000001 2 光標(biāo)返回 000000001* 3 置輸入模式 00000001i/ds 4 顯示開/關(guān)控制 0000001dcb 5 光標(biāo)或字符移位 000001s/cr/l* 6 置功能 00001dlnf* 7 置字符發(fā)生存貯器地址 0001 字符發(fā)生存貯器地址 8

30、 置數(shù)據(jù)存貯器地址 001 顯示數(shù)據(jù)存貯器地址 9 讀忙標(biāo)志或地址 01bf 計(jì)數(shù)器地址 10 寫數(shù)到 cgram 或 ddram) 10 要寫的數(shù)據(jù)內(nèi)容 陜西理工學(xué)院畢業(yè)論文 第 9 頁(yè) 共 51 頁(yè) 11 從 cgram 或 ddram 讀數(shù) 11 讀出的數(shù)據(jù)內(nèi)容 控制命令表 1602 液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。 (說(shuō)明:1 為高電 平、0 為低電平) 指令 1:清顯示,指令碼 01h,光標(biāo)復(fù)位到地址 00h 位置。 指令 2:光標(biāo)復(fù)位,光標(biāo)返回到地址 00h。 指令 3:光標(biāo)和顯示模式設(shè)置 i/d:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 s:屏幕上所有

31、文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。 指令 4:顯示開關(guān)控制。 d:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 c:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) b:控制光標(biāo)是否閃爍,高電平閃 爍,低電平不閃爍。 指令 5:光標(biāo)或顯示移位 s/c:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。 指令 6:功能設(shè)置命令 dl:高電平時(shí)為 4 位總線,低電平時(shí)為 8 位總線 n:低電平時(shí)為單行 顯示,高電平時(shí)雙行顯示 f: 低電平時(shí)顯示 5x7 的點(diǎn)陣字符,高電平時(shí)顯示 5x10 的點(diǎn)陣字符。 指令 7:字符發(fā)生器 ram 地址設(shè)置。 指令 8:ddram 地址設(shè)

32、置。 指令 9:讀忙信號(hào)和光標(biāo)地址 bf:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者 數(shù)據(jù),如果為低電平表示不忙。 指令 10:寫數(shù)據(jù)。 指令 11:讀數(shù)據(jù)。 (二)lcd 管腳圖如圖 3.2.1 所示: d7 14 d6 13 d5 12 d4 11 d3 10 d2 9 d1 8 d0 7 e 6 rw 5 rs 4 vss 1 vdd 2 vee 3 圖 3.2.1 lcd 管腳圖 第 1 腳:vss 為地電源。 第 2 腳:vdd 接 5v 正電源。 陜西理工學(xué)院畢業(yè)論文 第 10 頁(yè) 共 51 頁(yè) 第 3 腳:vl 為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度

33、最高,對(duì)比 度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影” ,使用時(shí)可以通過(guò)一個(gè) 10k 的電位器調(diào)整對(duì)比度。 第 4 腳:rs 為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 第 5 腳:r/w 為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng) rs 和 r/w 共同 為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) rs 為低電平 r/w 為高電平時(shí)可以讀忙信號(hào),當(dāng) rs 為高 電平 r/w 為低電平時(shí)可以寫入數(shù)據(jù)。 第 6 腳:e 端為使能端,當(dāng) e 端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。 第 714 腳:d0d7 為 8 位雙向數(shù)據(jù)線。 第 15 腳:背光源正極。 第 16 腳:背光源負(fù)極

34、。 3.2.3 ds18b20 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.05.5; 零待機(jī)功耗; 溫度以或位數(shù)字; 用戶可定義報(bào)警設(shè)置; 報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件; 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不

35、會(huì)因發(fā)熱而燒毀,但不能正常工作; ds18b20 采用腳 pr35 封裝或腳 soic 封裝。ds18b20 的外形如圖 所示: 陜西理工學(xué)院畢業(yè)論文 第 11 頁(yè) 共 51 頁(yè) 圖 ds18b20 的外形 64 位 rom 的結(jié)構(gòu)開始位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有 48 位,最 后位是前面 56 位的 crc 檢驗(yàn)碼,這也是多個(gè) ds18b20 可以采用一線進(jìn)行通信的原因。溫度報(bào)警 觸發(fā)器和,可通過(guò)軟件寫入戶報(bào)警上下限。 ds18b20 溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存和一個(gè)非易失性的可電擦除的 eeram。高速暫存 ram 的結(jié)

36、構(gòu)為字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖 3 所示。頭個(gè)字節(jié)包含測(cè)得的溫度信 息,第和第字節(jié)和的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第個(gè)字節(jié),為配置 寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。ds18b20 工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相 應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖 3 所示。低位一直為,是工作模式位,用于設(shè) 置 ds18b20 在工作模式還是在測(cè)試模式,ds18b20 出廠時(shí)該位被設(shè)置為,用戶要去改動(dòng),r1 和 0 定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。ds18b20 字節(jié)定義如表 所示 表 ds18b20 字節(jié)定義 溫度溫度 lsblsb 溫度 msb t

37、h 用戶字節(jié) 1 tl 用戶字節(jié) 2 配置寄存器 保留 保留 保留 crc tm r1 1r01111 . . . 陜西理工學(xué)院畢業(yè)論文 第 12 頁(yè) 共 51 頁(yè) 由表 可見,ds18b20 溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn) 換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。 高速暫存的第、字節(jié)保留未用,表現(xiàn)為全邏輯。第字節(jié)讀出前面所有字 節(jié)的 crc 碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。 當(dāng) ds18b20 接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以 16 位帶符號(hào)擴(kuò) 展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第、字

38、節(jié)。單片機(jī)可以通過(guò)單線接口讀出該數(shù)據(jù), 讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以 0.0625lsb 形式表示。 當(dāng)符號(hào)位時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位 時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表 3.2.3 是一部 分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。表 ds18b20 溫度轉(zhuǎn)換時(shí)間表。 r0r1 0 0 0 1 0 1 1 1 9 10 11 12 分辨率/位 溫度最大轉(zhuǎn)向時(shí)間/ms 93.75 187.5 375 750 . . . 表 ds18b20 溫度轉(zhuǎn)換時(shí)間表 ds18b20 完成溫度轉(zhuǎn)換后,就把

39、測(cè)得的溫度值與 ram 中的 th、t字節(jié)內(nèi)容作比較。若th 或 ttl,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。因此,可用 多只 ds18b20 同時(shí)測(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ù)器;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào) 作為減法

40、計(jì)數(shù)器的脈沖輸入。器件中還有一個(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è)基數(shù)分別置入減法計(jì)數(shù)器、溫度寄存器中,計(jì)數(shù)器 和溫度寄存器被預(yù)置在55所對(duì)應(yīng)的一個(gè)基數(shù)值。 另外,由于 ds18b20 單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。 系統(tǒng)對(duì) ds18b20 的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化 ds18b20(發(fā)復(fù)位脈沖)發(fā) rom 功 能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。 陜西理工學(xué)院畢業(yè)論文 第 13 頁(yè) 共 51 頁(yè) 3.3

41、 硬件實(shí)現(xiàn) ds18b20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)ds18b20的1腳接地,2腳 作為信號(hào)線,3腳接電源。另一種是寄生電源供電方式,如圖4 所示單片機(jī)端口接單線總線, 為保證在有效的ds18b20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)mosfet管來(lái)完成對(duì)總線的上拉。 (1)(1)主控制器主控制器 單片機(jī)at89c51具有低電壓供電和小體積等特點(diǎn),兩個(gè)端口剛好滿足電路系統(tǒng)的設(shè)計(jì)需要, 很合適攜手特式產(chǎn)品的使用。主機(jī)控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:初始化、rom 操作指令、存儲(chǔ)器操作指令。必須先啟動(dòng)ds18b20開始轉(zhuǎn)換,再讀出溫度轉(zhuǎn)換值。 (2)(2)顯示

42、電路顯示電路 顯示電路采用smci602液晶顯示模塊芯片該芯片可顯示162個(gè)字符,比以前的七段數(shù)碼 管led顯示器在顯示字符的數(shù)量上要多得多。另外,由于smcl602芯片編程比較簡(jiǎn)單,界面直觀, 因此更加易于使用者操作和觀測(cè)。smcl602芯片的接口信號(hào)說(shuō)明如表1所列。 表1 smcl602芯片的接口信號(hào)說(shuō)明 (3)(3)溫度檢測(cè)電路溫度檢測(cè)電路 ds18b20 最大的特點(diǎn)是單總線數(shù)據(jù)傳輸方式,ds18b20 的數(shù)據(jù)i/o 均由同一條線來(lái)完成。 ds18b20 的電源供電方式有2 種: 外部供電方式和寄生電源方式。工作于寄生電源方式時(shí), vdd 和gnd 均接地, 他在需要遠(yuǎn)程溫度探測(cè)和空間受

43、限的場(chǎng)合特別有用, 原理是當(dāng)1 w ire 總 線的信號(hào)線dq 為高電平時(shí), 竊取信號(hào)能量給ds18b20 供電, 同時(shí)一部分能量給內(nèi)部電容充電, 當(dāng)dq為低電平時(shí)釋放能量為ds18b20 供電。但寄生電源方式需要強(qiáng)上拉電路, 軟件控制變得復(fù) 雜(特別是在完成溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到e2prom 時(shí)) , 同時(shí)芯片的性能也有所降低。因此, 在 陜西理工學(xué)院畢業(yè)論文 第 14 頁(yè) 共 51 頁(yè) 條件允許的場(chǎng)合, 盡量采用外供電方式。無(wú)論是內(nèi)部寄生電源還是外部供電,i/o口線要接 5k左右的上拉電。在這里采用前者方式供電。ds18b20與芯片連接電路如圖 3.3.1所示: 圖3.3.1 ds18b20

44、與單片機(jī)的連接 當(dāng) ds18b20 處于寫存儲(chǔ)器操作和溫度 a/d 轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開啟時(shí)間 最大為 10us。采用寄生電源供電方式時(shí) vdd 端接地。 (1) 把“單片機(jī)系統(tǒng)”區(qū)域中的 p0.0p0.7 用 8 芯排線連接到“動(dòng)態(tài)數(shù)碼顯示”區(qū)域中的 d0d1d2d3d4d5d6d7 端子上。 (2) 把 ds18b20 芯片插入“四路單總線”區(qū)域中的任一個(gè)插座中,注意電源與地信號(hào)不要 接反。 (3) 把“四路單總線”區(qū)域中的對(duì)應(yīng)的 dq 端子連接到“單片機(jī)系統(tǒng)”區(qū)域中的 p3.7/rd 端 子上。 工作原理圖如圖 3.3.2: 陜西理工學(xué)院畢業(yè)論文 第 15 頁(yè) 共 5

45、1 頁(yè) xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/

46、a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89c51 119.0 dq 2 vcc 3 gnd 1 u2 ds18b20 2 3 4 5 6 7 8 9 1 rp1 10k d7 14 d6 13 d5 12 d4 11 d3 10 d2 9 d1 8 d0 7 e 6 rw 5 rs 4 vss 1 vdd 2 vee 3 lcd1 lm016l 圖3.3.2工作原理圖 陜西理工學(xué)院畢業(yè)論文 第 16 頁(yè) 共 51 頁(yè) 4 軟件的設(shè)計(jì) 4.1 ke

47、il 單片機(jī)模擬仿真調(diào)試軟件的安裝和啟動(dòng) keil 單片機(jī)模擬調(diào)試軟件是目前獲得廣泛應(yīng)用的一種開發(fā) mcs51 系列兼容單片機(jī)的軟件。該 軟件可以從 keil 公司中國(guó)代理處購(gòu)買,也可以從 keil 公司的網(wǎng)站(http:/www. )上 下載它的免費(fèi)評(píng)估(eval)版本。 下載獲得的 keil 單片機(jī)模擬調(diào)試軟件是一個(gè)壓縮包,解壓后執(zhí)行其中的 setup.exe 程序 就可以安裝這個(gè)軟件。軟件的安裝過(guò)程與一般的 windows 應(yīng)用軟件類似,只要按照安裝提示操作即 可,這里不作詳細(xì)介紹,僅需要注意的是,安裝方式要選擇 eval vision 安裝。 keil 單片機(jī)模擬調(diào)試軟件安裝完成以后,

48、計(jì)算機(jī)桌面上將產(chǎn)生一個(gè)標(biāo)注有“keil vision2”的圖標(biāo),雙擊這個(gè)圖標(biāo)就可以進(jìn)入 keil 單片機(jī)模擬調(diào)試軟件的集成開發(fā)環(huán)境。 4.2 工程(project)的建立 keil 單片機(jī)模擬調(diào)試軟件對(duì) mcs51 單片機(jī)應(yīng)用系統(tǒng)的軟件開發(fā)過(guò)程采用工程(project)管理。 工程保存著程序編輯的信息和程序調(diào)試的環(huán)境。在開始編寫程序之前首先應(yīng)該建立一個(gè)工程。新建 一個(gè)工程之前通常還需要建立一個(gè)文件夾,后面產(chǎn)生的工程文件和源程序文件等都將存儲(chǔ)在這個(gè)文 件夾之中。 4.3 程序的設(shè)計(jì) 在剛上電時(shí),系統(tǒng)默認(rèn)為循環(huán)顯示 8 個(gè)通道的電壓值狀態(tài)。當(dāng)進(jìn)行一次測(cè)量后,將顯示每一通 道的 a/d 轉(zhuǎn)換值,每個(gè)

49、通道的數(shù)據(jù)顯示時(shí)間為 1s 左右。主程序在調(diào)用顯示子程序和測(cè)試之程序之 間循環(huán),主程序流程圖見圖 4.3.1. 陜西理工學(xué)院畢業(yè)論文 第 17 頁(yè) 共 51 頁(yè) 初始化 調(diào)用顯示子程序 1s 到? 初次上電 讀出溫度值溫度 計(jì)算處理顯示數(shù) 據(jù)刷新 發(fā)溫度轉(zhuǎn)換開始命令 n y n y 圖 4.3.1 主程序流程圖 讀出溫度子程序的主要功能是讀出 ram 中的 9 字節(jié),在讀出時(shí)需進(jìn)行 crc 校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不 進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖示 4.3.2. y 發(fā) ds18b20 復(fù)位命令 發(fā)跳過(guò) rom 命令 發(fā)讀取溫度命令 讀取操作,crc 校驗(yàn) 9 字節(jié)完? crc 校驗(yàn)正? 移入

50、溫度暫存器 結(jié)束 n n y 圖 4.3.2 溫度子程序流程圖 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用 12 位分辨率時(shí)轉(zhuǎn)換時(shí)間約為 750ms,在本程序設(shè)計(jì)中采用 1s 顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如圖 陜西理工學(xué)院畢業(yè)論文 第 18 頁(yè) 共 51 頁(yè) 4.3.3.所示: 發(fā) ds18b20復(fù)位命令 發(fā)跳過(guò) rom 命令 發(fā)溫度轉(zhuǎn)換開始命令 結(jié)束 圖 4.4.3 溫度轉(zhuǎn)換命令子程序流程圖 計(jì)算溫度子程序?qū)?ram 中讀取值進(jìn)行 bcd 碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流 程圖如圖 4.3.4. 開始 溫度零下? 溫度值取補(bǔ)碼置“”標(biāo)志 計(jì)算小

51、數(shù)位溫度bcd值 計(jì)算整數(shù)位溫度bcd值 結(jié)束 置“+”標(biāo)志 n y 圖 4.4.3 溫度程序流程圖 顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為 0 時(shí)將 符號(hào)顯示位移入下一位。程序流程圖如圖 4.3.5. 陜西理工學(xué)院畢業(yè)論文 第 19 頁(yè) 共 51 頁(yè) 溫度數(shù)據(jù)移入顯示寄存器 十位數(shù) 0? 百位數(shù) 0? 十位數(shù)顯示符號(hào)百 位數(shù)不顯示 百位數(shù)顯示數(shù)據(jù) (不顯示符號(hào)) 結(jié)束 n n y y 圖 4.3.5 顯示數(shù)據(jù)刷新子程序流程圖 4.4 源文件的輸入 keil 單片機(jī)模擬調(diào)試軟件內(nèi)集成了一個(gè)文本編輯器,用該文本編輯器可以編輯源程序。完 成匯編語(yǔ)言源文件的輸入

52、后,在集成開發(fā)環(huán)境中選擇 filesave as 命令可以完成文件的第一次存 儲(chǔ)。注意,匯編語(yǔ)言源文件的擴(kuò)展名應(yīng)該是 asm,它應(yīng)該與工程文件存儲(chǔ)在同一文件夾內(nèi)。在完成 文件的第一次存儲(chǔ)后,當(dāng)對(duì)匯編語(yǔ)言源文件又進(jìn)行了修改,再次存儲(chǔ)文件時(shí)則應(yīng)該選擇 filesave 命令、單擊保存工具按鈕或者按快捷鍵 ctrl+s 實(shí)現(xiàn)文件的保存。 需要注意的是,當(dāng)把匯編語(yǔ)言源文件加入工程但還沒有關(guān)閉加入文件對(duì)話框時(shí),有可能被誤認(rèn) 為文件沒有成功地加入工程而再次進(jìn)行加入操作,系統(tǒng)將顯示所需的文件已經(jīng)加入的提示。在這種 情況下,單擊提示框中的“確定”按鈕,再單擊 close 按鈕可以關(guān)閉加入文件對(duì)話框。 4.5

53、匯編語(yǔ)言源程序的調(diào)試 成功地完成匯編語(yǔ)言源程序的匯編僅表明匯編語(yǔ)言源程序沒有語(yǔ)法錯(cuò)誤,下一步的工作將通過(guò) 模擬調(diào)試驗(yàn)證它的邏輯是否滿足設(shè)計(jì)要求。keil 單片機(jī)模擬調(diào)試軟件的調(diào)試狀態(tài)可以通過(guò)選擇 debug start/stop debug session 命令、單擊對(duì)應(yīng)的工具按鈕或者按快捷鍵 ctrl+f5 進(jìn)入或退 出。 工程管理器窗口從文件選項(xiàng)卡自動(dòng)地切換到寄存器選項(xiàng)卡,輸出窗口從 build 選項(xiàng)卡自動(dòng)地切 換到 command 選項(xiàng)卡。 在輸出窗口的 command 選項(xiàng)卡中顯示信息“running in eval mode(2k) ” ,這條信息在進(jìn)入調(diào) 陜西理工學(xué)院畢業(yè)論文 第

54、20 頁(yè) 共 51 頁(yè) 試狀態(tài)時(shí)也出現(xiàn)過(guò),這是因?yàn)?keil 單片機(jī)模擬調(diào)試軟件的評(píng)估(eval)版本只支持 2kb 的程序空 間尋址操作。 通過(guò)選擇 debugstep 命令、單擊對(duì)應(yīng)的工具按鈕或者按快捷鍵 f11 可以實(shí)現(xiàn)匯編語(yǔ)言源程序 的單步模擬執(zhí)行。在圖 1.11 所示的集成開發(fā)環(huán)境中,第一次單步模擬執(zhí)行,第 2 條語(yǔ)句被執(zhí)行, 第 3 條語(yǔ)句的左側(cè)出現(xiàn)一個(gè)黃色的箭頭,它表示這條語(yǔ)句將被執(zhí)行,同時(shí)程序指針 pc 的值變?yōu)?0002h。程序指針 pc 的數(shù)值從 0000h 直接變?yōu)?0002h 是因?yàn)榈?2 條語(yǔ)句在存儲(chǔ)時(shí)占據(jù) 2 個(gè)存儲(chǔ)器字 節(jié)。在附錄 a 中列出的匯編指令系統(tǒng)中包括每

55、條指令的功能、存儲(chǔ)時(shí)占用的存儲(chǔ)空間和執(zhí)行時(shí)需要 的具體時(shí)間。 陜西理工學(xué)院畢業(yè)論文 第 21 頁(yè) 共 51 頁(yè) 5 系統(tǒng)的仿真調(diào)試及結(jié)果 5.1 proteus isis 的介紹 proteusisis 是英國(guó) labcenter 公司開發(fā)的電路設(shè)計(jì)、分析與仿真軟件,它的功能非常強(qiáng)大。 該軟件的主要特點(diǎn)是: 集原理圖設(shè)計(jì)、仿真分析(isis)和印刷電路板設(shè)計(jì)(ares)于一身??梢酝瓿蓮睦L制原理圖、 仿真分析到生成印刷電路板圖的整個(gè)硬件開發(fā)過(guò)程。 提供幾千種電子元件(分立元件和集成電路、模擬和數(shù)字電路)的電路符號(hào)、仿真模型和外 形封裝。 支持大多數(shù)單片機(jī)系統(tǒng)以及各種外圍芯片(rs232 動(dòng)態(tài)仿

56、真、i2c 調(diào)試器、spi 調(diào)試器、鍵 盤和 lcd 系統(tǒng)仿真等)的仿真。 提供各種虛擬儀器,如各種測(cè)量?jī)x表、示波器、邏輯分析儀、信號(hào)發(fā)生器等。過(guò)去需要昂貴 的電子儀器設(shè)備、繁多的電子元件才能完成的電子電路、單片機(jī)等實(shí)驗(yàn),現(xiàn)在只要一臺(tái)電腦,都可 在該軟件環(huán)境下快速輕松地實(shí)現(xiàn)。 雙擊桌面上的 isis 6 professional 圖標(biāo)或者單擊屏幕左下方的“開始”“程序” “proteus 6 professional” “isis 6 professional” ,進(jìn)入 proteus isis 集成環(huán)境。 5.2 電路圖的繪制 雙擊桌面上的 isis 6 professional 圖標(biāo)或者單

57、擊屏幕左下方的“開始”“程序” “proteus 6 professional” “isis 6 professional” ,進(jìn)入 proteus isis 集成環(huán)境。 proteus isis 的工作界面是一種標(biāo)準(zhǔn)的 windows 界面。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、 繪圖工具欄、狀態(tài)欄、對(duì)象選擇按鈕、預(yù)覽對(duì)象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對(duì) 象選擇器窗口、圖形編輯窗口。 將所需元器件加入到對(duì)象選擇器窗口。picking components into the schematic 單擊對(duì)象選 擇器按鈕,從 proteus 庫(kù)中選取元件器件 at89c51 crystal:

58、晶振 lm016l:顯示器 仿真結(jié)果圖如圖 5.2.1. 陜西理工學(xué)院畢業(yè)論文 第 22 頁(yè) 共 51 頁(yè) 圖 5.2.1 仿真結(jié)果圖 陜西理工學(xué)院畢業(yè)論文 第 23 頁(yè) 共 51 頁(yè) 6 總結(jié) 單片機(jī)的發(fā)展非常的迅速,在進(jìn)行了長(zhǎng)達(dá)兩個(gè)多月的時(shí)間的摸索與實(shí)驗(yàn),使我不僅僅是對(duì)于單 片機(jī)入門軟件與硬件的常用設(shè)計(jì)與功能,還使我對(duì)于一項(xiàng)設(shè)計(jì)研究的制作過(guò)程所需要的詳細(xì)步驟和 具體的實(shí)現(xiàn)方法的力度的掌握?;诖俗髌纷鳛楫厴I(yè)設(shè)計(jì)的創(chuàng)作成果,在當(dāng)其中機(jī)器的功能等方面 并非處于一個(gè)成熟的階段,而且僅僅是因?yàn)閺堸i超老師的要求以及我們的初步嘗試,當(dāng)中的缺點(diǎn)是 無(wú)可非議地存在著。當(dāng)然在這次寶貴的畢業(yè)設(shè)計(jì)活動(dòng)中,經(jīng)驗(yàn)才

59、是對(duì)于我們最大的收獲,而且還增 強(qiáng)了自身對(duì)未知問(wèn)題以及對(duì)知識(shí)的深化認(rèn)識(shí)的能力,用受益匪淺這個(gè)詞語(yǔ)來(lái)概括這次難忘的活動(dòng)我 覺得再合適不過(guò)了。但是,光是完成了作品還是不可以自我滿足的,在從一開始的時(shí)候就懷著將作 品制作得更加人性化,更加令人滿意,更加地使功能完美又方便地被應(yīng)用領(lǐng)域這個(gè)最終目的下,隨 著對(duì)單片機(jī)這門學(xué)科的認(rèn)識(shí)加深,到達(dá)了拓展的程度,我想這個(gè)目的將在不遠(yuǎn)的時(shí)期內(nèi)被實(shí)現(xiàn)。 總之,這次設(shè)計(jì)從軟件編寫、調(diào)試到軟硬件聯(lián)機(jī)調(diào)試,我傾注了大量的時(shí)間和心血。真是曾經(jīng) 為程序的編寫而冥思查找過(guò),曾經(jīng)為無(wú)法找出錯(cuò)誤而郁悶苦惱過(guò),也曾經(jīng)為某一功能不能實(shí)現(xiàn)而猶 豫彷徨過(guò),但最終我成功了。因?yàn)槲也粌H品味到了結(jié)

60、果的喜悅,更明白了過(guò)程的彌足珍貴。 陜西理工學(xué)院畢業(yè)論文 第 24 頁(yè) 共 51 頁(yè) 致謝 在畢業(yè)設(shè)計(jì)接近末尾的時(shí)候,我由衷的感謝帶我畢業(yè)設(shè)計(jì)的張鵬超老師,在我整個(gè)畢業(yè)設(shè)計(jì)過(guò)程 中,張鵬超老師給我很大的幫助和細(xì)心的指導(dǎo)。在兩多月畢業(yè)設(shè)計(jì)過(guò)程中,當(dāng)我遇到了困難和問(wèn)題 的時(shí)候,他在我需要他幫助的時(shí)候,張鵬超老師第一時(shí)間出現(xiàn)在我面前,他讓我學(xué)到了課堂上沒有 的東西,教會(huì)我很多東西。 另外,我還要特別感謝我的同學(xué)們,是他們給我了巨大的勇氣和戰(zhàn)勝困難的信心,在畢業(yè)設(shè)計(jì) 中他們對(duì)我?guī)椭艽?,?dāng)我們遇到困難的時(shí)候一起去研究,一起去探索,一起去戰(zhàn)勝它,大家一起 分享排除問(wèn)題后的喜悅。 最后感謝我的家人,以及感

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論