版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 摘要</b></p><p> 隨著時代的發(fā)展,越來越多的智能型電子和機械產(chǎn)品出現(xiàn)在我們的生活、學(xué)習(xí)和工作中,小至手機、計算器、家用電器、掌上電腦以及鼠標等電腦配件,大到導(dǎo)彈的導(dǎo)航裝置,飛機上各種儀表的控制裝置等等,那么是什么使他們有了如此強大的功能?答案很簡單——單片機。是單片機,它把我們帶入了智能的時代。目前單片機滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個
2、領(lǐng)域沒有單片機的蹤跡。因此,本課題便就其一個方面對單片機進行深入研究,設(shè)計開發(fā)利用SPCE06IA單片機實現(xiàn)多路溫度采集。介紹了數(shù)字式多路溫度采集系統(tǒng)的設(shè)計過程,包括硬件設(shè)計和軟件設(shè)計。本設(shè)計采用SPCE061A單片機作為主控制器,采用LED鍵盤模組作為鍵盤輸入和顯示單元,通過一線制溫度傳感器DSl8B20實現(xiàn)溫度的采集。該系統(tǒng)充分利用了SPCE061A的資源,發(fā)揮了芯片的性能,是SPCE06A在數(shù)據(jù)采集方面的典型應(yīng)用。</p&g
3、t;<p> 關(guān)鍵詞:SPCE061A ;DS18B20 ;多路采集;語音</p><p><b> Abstract</b></p><p> With the development, more and more intelligent electronic and mechanical products in our lives, learn
4、ing and work, as small as cell phones, calculators, home appliances, handheld computers and computer accessories such as a mouse, large missile Navigation devices, aircraft control devices of various instruments, etc., t
5、hen what is so powerful that they have a function? The answer is simple - single chip. Is a single chip, which took us into the intelligence era. SCM infiltrate present in all ar</p><p> Key words:SPCE06l A
6、;DSl8B20;multi—channel temperature acquisition;sounds</p><p><b> 目錄</b></p><p><b> 第一章 引言4</b></p><p> 1.1 本課題的研究現(xiàn)狀和研究意義4</p><p> 1.2 現(xiàn)行研究
7、的目的5</p><p> 1.3 單片機概述5</p><p> 1.4 凌陽SPCE061A單片機的特點概述9</p><p> 1.5 相近研究課題的特點和分析11</p><p> 2.1 系統(tǒng)的設(shè)計內(nèi)容16</p><p> 2.2模塊設(shè)計17</p><p>
8、 2.2.1 SPCE061A 簡介18</p><p> 2.2.2 DS18B20 溫度傳感器簡介20</p><p> 2.2.3 DS18B20 內(nèi)部結(jié)構(gòu)21</p><p> 2.2.4 DS18B20 的工作時序22</p><p> 2.2.5 DS18B20 與單片機的典型接口24</p>&l
9、t;p> 2.3 系統(tǒng)總體方案介紹25</p><p> 3.1 系統(tǒng)的硬件30</p><p> 3.2系統(tǒng)軟件設(shè)計31</p><p> 3.2.1 軟件的結(jié)構(gòu)31</p><p> 3.2.2 軟件總體設(shè)計32</p><p> 3.3 子程序設(shè)計33</p>&l
10、t;p> 3.3.1 DS18B20 初始化33</p><p> 3.3.2 DS18B20 寫操作34</p><p> 3.3.3 DS18B20 讀操作36</p><p> 3.3.4 DS18B20 采集溫度流程38</p><p> 3.3.5按鍵處理程序40</p><p>
11、 3.3.6 中斷服務(wù)程序42</p><p> 第四章 系統(tǒng)測試44</p><p> 4.1 報警語音播報功能44</p><p> 4.2 芯片管腳排列及功能45</p><p> 4.3 系統(tǒng)開發(fā)工具47</p><p> 4.3.1 硬件開發(fā)工具47</p><p&
12、gt; 4.3.2 軟件開發(fā)工具48</p><p><b> 第五章 結(jié)語49</b></p><p> 5.1 論文工作總結(jié)49</p><p> 5.2 工作展望50</p><p><b> 5.3 致謝50</b></p><p><b&g
13、t; 參考文獻51</b></p><p><b> 第一章 引言</b></p><p> 1.1 本課題的研究現(xiàn)狀和研究意義</p><p> 近百年來,溫度傳感器的發(fā)展大致經(jīng)歷了:傳統(tǒng)的含有敏感元件的分立式溫度傳感器,模擬集成溫度傳感器和智能傳感器三個階段。目前,國際上新型的溫度傳感器正從模擬式向著數(shù)字式,集成化向智
14、能化,網(wǎng)絡(luò)化方向發(fā)展。隨著社會的發(fā)展,科技的進步,以及測溫儀器在各個領(lǐng)域的廣泛應(yīng)用,智能化已經(jīng)是現(xiàn)代溫度控制系統(tǒng)發(fā)展的主流方向。特別是近些年來,溫度控制采集已應(yīng)用到人們生活的各個方面,發(fā)電站鍋爐的溫度必須控制在一定的范圍內(nèi);許多化學(xué)反應(yīng)的工藝過程必須在適應(yīng)的溫度下才能進行;煉油過程中,原油必須在不同的溫度和壓力條件下進行分餾才能得到汽油,柴油,煤油等產(chǎn)品。沒有適宜的溫度環(huán)境,許多電子設(shè)備就不能正常工作。隨著信息化時代的到來,數(shù)據(jù)的重要性
15、不言而遇。如何高效,穩(wěn)定地對數(shù)據(jù)(包過溫度,濕度,壓力,光線等項目)進行實時數(shù)據(jù)采集對現(xiàn)代的企業(yè),工廠,研究部門等具有非常重要的意義。溫度是工業(yè)生產(chǎn)中常見的和最基本的參數(shù)之一, 在生產(chǎn)過程中常需對溫度進行檢測和監(jiān)控。采用微型機進行溫度檢測、顯示、信息存儲及實時控制, 對于提高生產(chǎn)效率和產(chǎn)品質(zhì)量、節(jié)約能源等都有重要的作用??紤]到許多工業(yè)環(huán)境中對多點溫度進行監(jiān)控, 一般需要測量幾十個點</p><p> 1.2 現(xiàn)
16、行研究的目的</p><p> 嵌入式系統(tǒng)的市場增長得非常迅速,據(jù)統(tǒng)計2009年嵌入式市場全球總產(chǎn)值近3000多億美金,中國將成全球最大嵌入式市場。在我國十二五規(guī)劃戰(zhàn)略新興展業(yè)的帶動下,許多新興領(lǐng)域比如三網(wǎng)融合、物聯(lián)網(wǎng)、平板電腦等紛紛在國內(nèi)得到迅速的鋪展應(yīng)用。在IPTV、車載電腦、智能手機領(lǐng)域,每年以20%甚至是更多的速度在增長。每個方面都缺少不了嵌入式的應(yīng)用,這將是非常大的市場。隨著嵌入式系統(tǒng)開發(fā)技術(shù)的快速發(fā)
17、展及其在各個領(lǐng)域的廣泛應(yīng)用,電子產(chǎn)品小型化和智能化的要求越來越高,作為高新技術(shù)之一的單片機以其體積小,功能強,價格低,使用靈活等特點,顯示出其明顯的優(yōu)勢和廣泛的應(yīng)用前景。在日常生活和工業(yè)控制過程中,經(jīng)常需要進行多點溫度測量,并對溫度的結(jié)果進行分析,以做出相應(yīng)的處理。溫度是工業(yè)生產(chǎn)中常見的和最基本的參數(shù)之一,在生產(chǎn)過程中常需對溫度進行檢測和監(jiān)控。采用微型機進行溫度檢測、顯示、信息存儲及實時控制,對于提高生產(chǎn)效率和產(chǎn)品質(zhì)量、節(jié)約能源等都有重
18、要的作用。考慮到許多工業(yè)環(huán)境中對多點溫度進行監(jiān)控,一般需要測量幾十個點以上,為此,我們設(shè)計了一種采用 SPCE061A單片機的多通道溫度檢測及顯示系統(tǒng)。 SPCE061A是凌陽科</p><p><b> 1.3 單片機概述</b></p><p> 隨著嵌入式系統(tǒng)開發(fā)技術(shù)的快速發(fā)展及其在各個領(lǐng)域的廣泛應(yīng)用,人們對電子產(chǎn)品的小型化和智能化要求越來越高,作為高新技術(shù)
19、之一的單片機以其體積小、功能強、價格低、使用靈活等特點,顯示出明顯的優(yōu)勢和廣泛的應(yīng)用前途。在航空航天、機械加工、智能儀器儀表、家用電器、通信系統(tǒng)、智能玩具等領(lǐng)域,單片機都發(fā)揮了很大的作用??梢哉J為,單片機技術(shù)已成為現(xiàn)代電子技術(shù)應(yīng)用領(lǐng)域十分重要的技術(shù)之一,是電子技術(shù)應(yīng)用領(lǐng)域工程技術(shù)人員必備的知識和技能,它能夠使您設(shè)計的產(chǎn)品更具智能化和先進性。</p><p> 時下,家用電器和辦公設(shè)備的智能化、遙控化、網(wǎng)絡(luò)化、模
20、糊控制化已經(jīng)成為或正在成為世界潮流,而這些高性能無一不是靠單片機來實現(xiàn)的。如果我們不具備單片機方面的知識,別說是這些電器設(shè)備的設(shè)計、開發(fā)和生產(chǎn),就連對它們的日常保養(yǎng)和故障維修也會形成很大的障礙。</p><p> 單片機又稱單片微控制器它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。相當(dāng)于一個微型的計算機,和計算機相比,單片機只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺計算機。它的體積
21、小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。單片機比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。事實上單片機是世界上數(shù)量最多的計算機。現(xiàn)代人類生活中所用的幾乎每件電子和機械產(chǎn)品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有1-2部單片機。而個人電腦中也會有為數(shù)不少的單片機在工作。汽車上一般配備40多部單片機,復(fù)
22、雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機在同時工作!單片機的數(shù)量不僅遠超過PC機和其他計算的總和,甚至比人類的數(shù)量還要多。 </p><p> 單片機自動完成賦予它的任務(wù)的過程,也就是單片機執(zhí)行程序的過程,即一條條執(zhí)行的指令的過程,所謂指令就是把要求單片機執(zhí)行的各種操作用的命令的形式寫下來,這是在設(shè)計人員賦予它的指令系統(tǒng)所決定的,一條指令對應(yīng)著一種基本操作;單片機所能執(zhí)行的全部指令,就是該單片機的指令系統(tǒng),不同
23、種類的單片機,其指令系統(tǒng)亦不同。為使單片機能自動完成某一特定任務(wù),必須把要解決的問題編成一系列指令(這些指令必須是選定單片機能識別和執(zhí)行的指令),這一系列指令的集合就成為程序,程序需要預(yù)先存放在具有存儲功能的部件——存儲器中。存儲器由許多存儲單元(最小的存儲單位)組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出并執(zhí)行就像大樓房的每個房間的被分配到了唯一一個房間號一樣,每一個存儲單元也必須被分配到唯一的地址號,
24、該地址號稱為存儲單元的地址,這樣只要知道了存儲單元的地址,就可以找到這個存儲單元,其中存儲的指令就可以被取出,然后再被執(zhí)行。 程序通常是順序執(zhí)行的,所以程序中的指令也是一條條順序存放的,單片機在執(zhí)行程序時要能把這些指令一條條取出并加以執(zhí)行,必須有一個部件能追蹤指令所在的地址,這一部件就</p><p> 單片機及應(yīng)用系統(tǒng)有以下特點:</p><p> 單片機具有獨立的指令系統(tǒng),可以
25、將我們的設(shè)計思想充分體現(xiàn)出來。</p><p> 系統(tǒng)配置以滿足控制對象的要求為出發(fā)點,使得系統(tǒng)具有較高的性能價格比。</p><p> 由于系統(tǒng)規(guī)模較小,其本身不具有自我開發(fā)能力,一般須借助專用的開發(fā)工具進行系統(tǒng)開發(fā)和調(diào)試,而實際應(yīng)用系統(tǒng)簡單實用,成本低,效益好。</p><p> 應(yīng)用系統(tǒng)通常講程序駐留在片內(nèi)(外)ROM中,抗干擾能力強,可靠性高,使用方便
26、。</p><p> 應(yīng)用系統(tǒng)所用存儲器芯片可選用EPROM、OTP芯片或利用掩膜形式生產(chǎn),便于批量開發(fā)和應(yīng)用。許多單片機(如80C51系列)的開發(fā)芯片和擴展應(yīng)用芯片相互配套,降低了系統(tǒng)成本。</p><p> 由于系統(tǒng)小巧玲瓏,控制功能強、體積小,便于嵌入被控設(shè)備之內(nèi),大大推動了產(chǎn)品的智能化。如數(shù)控機床、機器人、智能儀器儀表、洗衣機、電冰箱、電視機等都是典型的機電一體化設(shè)備和產(chǎn)品。&
27、lt;/p><p> 單片機是隨著微型計算機、單扳機的發(fā)展及其在智能測控系統(tǒng)中的應(yīng)用而發(fā)展起來的。以8位單片機為例,其發(fā)展過程大致可歸納為四個階段。</p><p> 第一階段:低性能單片機階段(1976~1980年)。該階段是以較簡單的8位低檔單片機為主,將原有的單片機功能集成在一塊芯片上,是該芯片具有原來單片機的功能。</p><p> 第二階段:高性能單片機
28、階段(1980~1983年)。該階段仍以8位機為主,主要增加了串行口、多級中斷處理系統(tǒng)和16位定時器/計數(shù)器,除片內(nèi)RAM、ROM容量增大外,片外尋址可達64KB,有的片內(nèi)還集成有A/D、D/A轉(zhuǎn)換器。</p><p> 第三階段:高性能的16位單片機(1983~80年代末)。該單片機性能更加完善,主頻速率提高,運算速度加快,具有很強的實時處理能力,更加適用于速度快、精度高、響應(yīng)及時的應(yīng)用場合。</p&g
29、t;<p> 第四階段:該階段(90年代初)單片機在集成度、速率、功能、可靠性、應(yīng)用領(lǐng)域等全方位向更高水平發(fā)展。該階段CPU數(shù)據(jù)線有8位、16位、32位,采用雙CPU結(jié)構(gòu)或內(nèi)部流水結(jié)構(gòu),以提高數(shù)據(jù)處理能力和運算速度;采用內(nèi)部鎖相環(huán)技術(shù),時鐘頻率已高達50MHz,指令執(zhí)行加快;提供了運算能力較強的乘法指令和內(nèi)積運算指令,具有較強的數(shù)據(jù)處理能力;設(shè)置了新型的串行總線結(jié)構(gòu),為系統(tǒng)擴展提供了方便;增加了常用的特殊功能部件(如系統(tǒng)
30、看門狗WDT、通信控制器、調(diào)制解調(diào)器、脈寬調(diào)制輸出PWM等)。隨著微電子技術(shù)的發(fā)展和半導(dǎo)體工藝的不斷改進,芯片正向著高集成化、低功耗的方向發(fā)展。隨著應(yīng)用范圍的不斷擴大,一些專用單片機也迅速發(fā)展壯大。</p><p> 由于單片機體積小、價格低、可靠性高、適用范圍大以及有其本身的指令系統(tǒng)等諸多優(yōu)勢,在各個領(lǐng)域、各個行業(yè)都得到了廣泛應(yīng)用。目前不僅有常用的8位單片機,而且16位機已得到了廣泛的應(yīng)用。</p>
31、;<p><b> 機電一體化</b></p><p> 機電一體化是機械設(shè)備發(fā)展的方向。用單片機代替常規(guī)的邏輯順序控制,簡化了結(jié)構(gòu)設(shè)計,提高了控制性能。當(dāng)前的許多產(chǎn)品,如數(shù)控車床等都是采用這種方式。最典型的機電產(chǎn)品是機器人,每個關(guān)節(jié)活動作部位都是由一個單片機系統(tǒng)控制。</p><p><b> 集散數(shù)據(jù)采集系統(tǒng)</b><
32、;/p><p> 在實時控制系統(tǒng)中,要求數(shù)據(jù)采集具有較好的同步性和實時性,若采用單個計算機順序采集,存在不能同時采集、實時性不強等缺點,以致會造成計算、處理上的誤差而引起分析困難。使用單片機作為系統(tǒng)的前端采集單元,由主控計算機發(fā)出同時采集命令,當(dāng)采集完成后,將采集到的數(shù)據(jù)在逐一傳到主機中進行處理,保證了同步數(shù)據(jù)采集。如氣象部門、供電系統(tǒng)、自來水管網(wǎng)、過程控制等均可采用集散數(shù)據(jù)采集系統(tǒng)。</p><
33、;p><b> 分布式控制系統(tǒng)</b></p><p> 通常分部式控制系統(tǒng)采用模塊化設(shè)計,而單片機正是某些模塊的控制中心。如生產(chǎn)線、過程控制、遙測控制系統(tǒng)等等。</p><p><b> 智能儀器儀表</b></p><p> 單片機的應(yīng)用使用自動化儀器儀表的智能化程度越來越高,如自動計費電度表、燃氣表,許
34、多工業(yè)儀表中的智能流量計、氣體分析儀、成分分析儀等,各種檢測儀器儀表中的多功能信好發(fā)生器、智能電壓電流測試儀、醫(yī)療器械、監(jiān)測儀器等都使用了單片機。</p><p><b> 家用電器</b></p><p> 在洗衣機、空調(diào)器、汽車控制系統(tǒng)、保安系統(tǒng)、電視機、錄象機、VCD機、音響設(shè)備、電子秤、IC卡、手機、智能玩具等系統(tǒng)及設(shè)備中使用了大量各種各樣的單片機,使其性
35、能大大提高,實現(xiàn)了智能化和最優(yōu)化控制。</p><p><b> 終端及外部設(shè)備控制</b></p><p> 在計算機網(wǎng)絡(luò)終端設(shè)備(如銀行終端、商業(yè)POS自動收款機、GPS電子地圖、復(fù)印機等)和計算機外部設(shè)備(如打印機、繪圖儀、鍵盤和通信終端等)中都使用了單片機。單片機的使用這些設(shè)備既具有計算、存儲、顯示和數(shù)據(jù)處理等功能,又具有和計算機連接的端口,使計算機的應(yīng)用
36、能力和范圍大大提高,更好地發(fā)揮了計算機的性能。</p><p> 1.4 凌陽SPCE061A單片機的特點概述</p><p> 隨著單片機功能集成化的發(fā)展,其應(yīng)用領(lǐng)域也逐漸地由傳統(tǒng)的控制,擴展為控制處理、數(shù)據(jù)處理以及數(shù)字信號處理(DSP,Digital Signal Processing)等領(lǐng)域。凌陽的16位單片機就是為適應(yīng)這種發(fā)展而設(shè)計的。它的CPU內(nèi)核采用凌陽最新推出的μ’nSP
37、?(Microcontroller and Signal Processor)16位微處理器芯片(以下簡稱μ’nSP?)。圍繞μ’nSP?所形成的16位μ’nSP?系列單片機采用的是模塊式集成結(jié)構(gòu),它以μ’nSP?內(nèi)核為中心集成不同規(guī)模的ROM、RAM和功能豐富的各種外設(shè)接口部件。</p><p> μ’nSP?內(nèi)核是一個通用的核結(jié)構(gòu)。除此之外的其它功能模塊均為可選結(jié)構(gòu),亦即這種結(jié)構(gòu)可大可小或可有可無。借助這種
38、通用結(jié)構(gòu)附加可選結(jié)構(gòu)的積木式的構(gòu)成,便可形成各種不同系列派生產(chǎn)品,以適合不同的應(yīng)用場合。這樣做無疑會使每一種派生產(chǎn)品具有更強的功能和更低的成本。 </p><p> μ’nSP?家族有以下特點: </p><p> 體積小、集成度高、可靠性好且易于擴展 </p><p> μ’nSP?家族把各功能部件模塊化地集成在一個芯片里,內(nèi)部采用總線結(jié)構(gòu),因而減少了各功能
39、部件之間的連線,提高了其可靠性和抗干擾能力。另外,模塊化的結(jié)構(gòu)易于系統(tǒng)擴展,以適應(yīng)不同用戶的需求。 </p><p> 具有較強的中斷處理能力 </p><p> μ’nSP?家族的中斷系統(tǒng)支持10個中斷向量及10余個中斷源,適合實時應(yīng)用領(lǐng)域</p><p><b> 高性能價格比 </b></p><p> μ
40、’nSP?家族片內(nèi)帶有高尋址能力的ROM、靜態(tài)RAM和多功能的I/O口。另外,μ’nSP?的指令系統(tǒng)提供具有較高運算速度的16位×16位的乘法運算指令和內(nèi)積運算指令,為其應(yīng)用增添了DSP功能,使得μ’nSP?家族運用在復(fù)雜的數(shù)字信號處理方面既很便利,又比專用的DSP芯片廉價。 </p><p> 功能強、效率高的指令系統(tǒng) </p><p> μ’nSP?指令系統(tǒng)的指令格式緊湊
41、,執(zhí)行迅速,并且其指令結(jié)構(gòu)提供了對高級語言的支持,這可以大大縮短產(chǎn)品的開發(fā)時間。 </p><p><b> 低功耗、低電壓 </b></p><p> μ’nSP?家族采用CMOS制造工藝,同時增加了軟件激發(fā)的弱振方式、空閑方式和掉電方式,極大地降低了其功耗。另外,μ’nSP?家族的工作電壓范圍大,能在低電壓供電時正常工作,且能用電池供電。這對于其在野外作業(yè)等領(lǐng)
42、域中的應(yīng)用具有特殊的意義。 </p><p> SPCE061A單片機功能強大,其片內(nèi)含有八路十位A/D轉(zhuǎn)換器和兩路D/A轉(zhuǎn)換器,該波形發(fā)生器運用單片機技術(shù),通過巧妙的軟件設(shè)計和簡易的硬件電路,產(chǎn)生數(shù)字式的正弦波、方波、斜波等幅值可調(diào)的信號。信號頻率,可通過鍵盤輸入調(diào)整,并顯示。與現(xiàn)有各類型波形發(fā)生器比較而言,它產(chǎn)生的數(shù)字信號干擾小,輸出穩(wěn)定,可靠性高,特別是操作簡單方便,人機界面友好,成本低,非常適合于教學(xué)與
43、實驗使用。凌陽單片機在本次設(shè)計上的應(yīng)用優(yōu)點是全面采用數(shù)字電路方案,因而工作穩(wěn)定可靠。利用單片機控制管理,使頻率設(shè)置和占空比調(diào)整等操作可用鍵盤輸入,十分方便。</p><p> 1.5 相近研究課題的特點和分析</p><p> MSP430單片機:本方案利用MSP430單片機作為核心控制器,通過兩個DSl8B20器件實現(xiàn)兩路溫度的實時采集和顯示,且可以設(shè)置報警溫度值,實現(xiàn)超溫報警功能。
44、其中溫度信號由智能型溫度傳感器DSl8B20采集,DSl8B20在其內(nèi)部直接完成A/D轉(zhuǎn)換,通過單線總線,輸出數(shù)字信號送入單片機進行數(shù)據(jù)處理。單片機實現(xiàn)數(shù)據(jù)處理,采用高級語言和匯編結(jié)合的方法完成軟件設(shè)計。數(shù)據(jù)輸出部分完成溫度的實時顯示及語音超溫報警功能等,從而構(gòu)成一個數(shù)字式多路溫度采集系統(tǒng)。系統(tǒng)運行后首先初始化系統(tǒng)變量、按鍵顯示用到的I/O以及中斷等:之后初始化兩路DSl8B20以確認器件的存在;初始化完成之后,將進行溫度的采樣,并執(zhí)行
45、溫度比較,如果溫度高于系統(tǒng)初始設(shè)置報警值,將進行超溫語音提示。主程序循環(huán)過程中不斷的掃描按鍵,如果有按鍵觸發(fā)將會調(diào)用鍵值處理函數(shù)。</p><p> MSP430是一款性價比很高的十六位單片機,使用它可以非常方便靈活的實現(xiàn)語音的錄放,該芯片擁有8路10位精度的ADC,其電一路為音頻轉(zhuǎn)換通道,并且內(nèi)置有自動增益電路。這為實現(xiàn)語音錄入提供了方便的硬件條件。兩路10位精度的DAC,只需要外接功放(SPY0030A)即
46、可完成語音的播放。該單片機具有一套易學(xué)易用的指令系統(tǒng)和集成開發(fā)環(huán)境,在此環(huán)境中,它支持標準C語言編程,也支持C語言與匯編語言的互相調(diào)用。另外還提供了語音錄放的庫函數(shù),只要了解庫函數(shù)的使用,就可以很容易的完成語音的錄放、識別等功能,這些都為軟件開發(fā)提供了方便的條件。</p><p> 程序的控制思想:系統(tǒng)運行后首先初始化系統(tǒng)變量、按鍵顯示用到的I/O以及中斷等;之后初始化兩路DSl8B20以確認器件的存在;初始化
47、完成之后,將進行溫度的采樣,并執(zhí)行溫度比較,如果溫度大于溫度報警初始值(初始值為30),將進行超溫語音提示。主程序循環(huán)過程中不斷的掃描按鍵,如果有按鍵觸發(fā)將會調(diào)用鍵值處理程序。主程序是整個軟件設(shè)計的主干線,完成底層的溫度傳感器,音頻輸出和LED的顯示等硬件的接口驅(qū)動工作,主程序開始先對I/O,DSl8B20,數(shù)碼管,鍵盤進行初始化,啟動中斷,輔助程序,取鍵值,進入鍵值處理子程</p><p> 序,若是處于溫度
48、確定狀態(tài),則進入測量溫度處理子程序,顯示測量溫度,若有超過限值,則進行語音播報處理。數(shù)據(jù)采集流程:DSl8B20簡單的硬件接口是以相對復(fù)雜的接口編程為代價。由于DSl8B20通過單總線與外部進行通訊,所以其通信功能是分時完成的,它與單片機的接口協(xié)議是通過嚴格的時序來實現(xiàn)的,DSl8B20數(shù)據(jù)的寫入和讀出都是由主控MCU讀寫特定的時間片來完成的。系統(tǒng)對</p><p> DSl8B20的各種操作必須按協(xié)議進行。操
49、作協(xié)議為:初始化DSl8B20(發(fā)復(fù)位脈沖)一發(fā)ROM功能命令一發(fā)存儲器操作令一處理數(shù)據(jù)。要讀出DSl8B20的轉(zhuǎn)換溫度,主控MCU必須先通過單口線發(fā)出初始化脈沖后,接著給DSl8B20發(fā)ROM命令,然后發(fā)6個存儲器命令中的一個命令去控制DSl8B20的工作狀態(tài),來完成溫度的轉(zhuǎn)換和數(shù)據(jù)的讀出。根據(jù)DSl8B20的工作時序包括初始化時序、寫時序和讀時序,分別編寫3個子程序INIT為初始化子程序,WRITE為寫(命令或數(shù)據(jù))子程序,READ
50、為讀數(shù)據(jù)子程序。</p><p> 系統(tǒng)主程序流程圖如圖1.1 ;430單片機結(jié)構(gòu)圖如圖1.2</p><p> 圖1.1系統(tǒng)主程序流程圖</p><p> 圖1.2 430單片機結(jié)構(gòu)圖</p><p> AT89C2051單片機:本方案通過AT89C2051單片機實現(xiàn)數(shù)字式多路溫度采集系統(tǒng),該系統(tǒng)能夠完成多路溫度信號的測量,且各測
51、量點可以單獨監(jiān)控。測量溫度范圍為一55℃-125℃,控制方式采用按鈕模式。該數(shù)字式多路采集系統(tǒng)具有控制精度高、沖擊小、測量通道易于擴充,可以方便地進行多路高精度溫度測量等特點。AT89C205l單片機共有20個引腳,有8個數(shù)據(jù)引腳,兩個中斷引腳,兩個定時器引腳,兩個全雙向串行通信口,一個模擬比較放大器.片內(nèi)有2KB的ROM,128KB的數(shù)據(jù)存儲空</p><p> 間,兼容標準MCS一51指令系統(tǒng),具備省電工作
52、模式,整個系統(tǒng)喚醒方式多樣。本數(shù)字式多路溫度采集系統(tǒng)硬件結(jié)構(gòu)上以AT89C2051為核心,分為前向通道和后向通道。前向通道為傳感器部分。主要負責(zé)溫度的采集工作,在本設(shè)計中采用了三路前向通道,其中每一路通道都包括DSl8B20溫度傳感器電路。后向通道主要完成溫度的顯示工作,在本設(shè)計中,用4位共陰LED數(shù)碼管以動態(tài)掃描方式實現(xiàn)溫度顯示。</p><p> DSl8B20邏輯結(jié)構(gòu)如圖1.3所示,從圖1.3可知。DSl
53、8B20內(nèi)部有兩個振蕩器電路,分別為低溫度系數(shù)振蕩器和高溫度系數(shù)振蕩器,振蕩器電路主要是產(chǎn)生門周期的,為計數(shù)器電路提供技術(shù)脈沖,在DSl8B20有兩個計數(shù)器,分別計數(shù)門脈沖,當(dāng)DSl8B20 工作時,低溫度系數(shù)振蕩器就產(chǎn)生門周期,計數(shù)器就對這個脈沖進行計數(shù)來得到溫度值。其中開始時,計數(shù)器被預(yù)置到對應(yīng)于~55℃的一個值。計數(shù)器開始計數(shù),當(dāng)計數(shù)器在門周期結(jié)束前計數(shù)為零,則溫度寄存器的值增加,表明所測溫度大于55℃,溫度寄存器的初值一般也設(shè)置
54、為一55℃所對應(yīng)的值,這時,計數(shù)器就被復(fù)位到一個值,這個值是由DSl8B20內(nèi)部的斜坡式累加器來給出的,斜坡式累加器電路主要是用來彌補溫度振蕩器所產(chǎn)生門脈沖的拋物線特性的,接著計數(shù)器又開始計數(shù)直到零,如果門周期此時仍未結(jié)束.那么將重復(fù)以上過程。使用斜坡式累加器來補償溫度振蕩器的非線性,主要目的是為了在溫度測量時能獲得比較高的分辨力,這主要是通過修改計數(shù)器對溫度每增加一度所需計數(shù)的門脈沖的數(shù)值來實現(xiàn)的。因此,要想獲得較高分辨力,必須同時知
55、道在給定溫度下計數(shù)器的計數(shù)值和每一度的計數(shù)值。DSl8B20</p><p> 本系統(tǒng)主程序啟動后,先進行整個系統(tǒng)的初始化工作,如設(shè)置系統(tǒng)的變量、顯示按鍵用到的輸入輸出以及處理中斷變量等工作。之后初始化DSl8B20,并啟動DSl8B20工作,接著將進行溫度的采樣和顯示工作,系統(tǒng)程序主要包括C程序主函數(shù)、DSl8B20復(fù)位函數(shù)、DSl8B20寫字節(jié)函數(shù)、DSl8B20讀字節(jié)函數(shù)、溫度計算函數(shù)和顯示函數(shù)等,為了討
56、論的方便性,這里只給出主函數(shù)的程序</p><p> 實現(xiàn)。主函數(shù)的主要功能是初始化、負責(zé)溫度的讀出、處理計算及顯示。溫度測量每2s(或)進行一次,其程序?qū)崿F(xiàn)如下:</p><p><b> main0</b></p><p> {Disdata=0xff; //初始化端口</p><p> discan=0xf
57、f;</p><p> for(h=0;h<4;h++)</p><p> {display[h]=8;//開機顯示”8888”</p><p> }ow_reset0; //開機先轉(zhuǎn)換一次</p><p> write_byte(0xcc); //Skip ROM</p><p> write_byt
58、e(0x44); //發(fā)轉(zhuǎn)換命令</p><p> for(h=0;h<500;h++) //此處調(diào)節(jié)開機顯示時間長短</p><p> {scan0; //開機顯示”8888”2s</p><p><b> }while(1)</b></p><p> {read_temp0; //讀出18B20溫度數(shù)據(jù)
59、</p><p> work_temp0; //處理溫度數(shù)據(jù)</p><p> For(h=0;h<50;h++) //500</p><p> { scan0; //開機顯示2s</p><p><b> }}</b></p><p><b> }</b>&
60、lt;/p><p> 圖1.3 DS18B20溫度測量原理圖</p><p> 第二章 系統(tǒng)的設(shè)計原理</p><p> 2.1 系統(tǒng)的設(shè)計內(nèi)容</p><p> 利用SPCE061A 單片機、DS18B20 實現(xiàn)多路溫度采集,基本要求如下:</p><p> 1.2路溫度的實時采集;</p>&l
61、t;p> 2.溫度通過數(shù)碼管顯示,分手動和自動兩種方式:自動狀態(tài)循環(huán)顯示各通道溫度,每隔2s 切換一個通道;手動方式下只顯示被選擇的通道溫度;3.可以為每一個通道設(shè)置獨立的報警溫度。</p><p><b> 擴展要求:</b></p><p> 將DS18B20 由2 路擴展到4 路;</p><p> 實現(xiàn)在一條數(shù)據(jù)總線上
62、掛接多個18B20 器件; </p><p> 采集的溫度可以通過串口發(fā)送到上位機,并由上位機顯示;</p><p> 可以將采集的溫度值進行備份,并通過按鍵查詢。</p><p> 系統(tǒng)設(shè)計流程框圖如圖2.1</p><p><b> 2.1系統(tǒng)流程框圖</b></p><p><
63、b> 2.2模塊設(shè)計</b></p><p> 2.2.1 SPCE061A 簡介</p><p> SPCE061A 是凌陽科技推出的一款16 位具有語音處理μ'nSP 結(jié)構(gòu)的微控制器。SPCE061A 采用Soc 架構(gòu), 其內(nèi)核為凌陽科技自主研發(fā)的u ' nSP 架構(gòu)內(nèi)核, 該芯片帶有硬件乘法器, 能夠?qū)崿F(xiàn)乘法運算、內(nèi)積運算等復(fù)雜的運算。它不僅運
64、算能力強, 而且處理速度快, 單周期最高可以達到49MHz。內(nèi)置的專用MIC 接口和雙路10bit DAC 使之非常適合于開發(fā)語音電子產(chǎn)品, 可方便靈活地實現(xiàn)高品質(zhì)語音錄制、語音播放等功能。SPCE061A 內(nèi)嵌32K 字的Fla sh 程序存儲器以及2K 的SRAM、8 通道10bit ADC、2 路16位定時器、UART 接口、看門狗、時基輸出以及電壓監(jiān)測等模塊。豐富的外設(shè)資源和良好的監(jiān)控機制使該芯片功能豐富、性能穩(wěn)定,可作為通用微
65、控制器, 廣泛應(yīng)用于工業(yè)控制、家居安防、智能家電等眾多領(lǐng)域。在溫度數(shù)據(jù)的采集上, 利用了兩個I/O 口連接DS18B20 的數(shù)據(jù)引腳, 在顯示上, 利用了12 個I/O 口實現(xiàn)數(shù)碼管的動態(tài)刷新顯示。利用這些特性可以很容易實現(xiàn)溫度采集及顯示, 而且具有語音處理優(yōu)勢, 可以實現(xiàn)語音報警功能。另外凌陽十六位單片機具</p><p> 圖2.1 SPCE061A 內(nèi)部結(jié)構(gòu)圖</p><p>
66、SPCE061A 性能簡介:</p><p> 16位μ’nSP 微處理器 </p><p> 工作電壓(CPU )VDD 為3.0~3.6V ,(I/O)VDDH 為3.0~5. 5V </p><p> CPU 時鐘:0.32~49.152MHz </p><p> 內(nèi)置2K字SRAM </p><p>
67、; 內(nèi)置32K 字FLASH </p><p><b> 可編程音頻處理 </b></p><p><b> 晶體振蕩器 </b></p><p> 系統(tǒng)處于備用狀態(tài)下(時鐘處于停止狀態(tài)),耗電僅為2uA/3.6V </p><p> 2 個16位可編程定時器/ 計數(shù)器(可自動預(yù)置初始計數(shù)
68、值) </p><p> 2 個10位DAC (數(shù)/ 模轉(zhuǎn)換)輸出通道 </p><p> 32位通用可編程輸入/ 輸出通道 </p><p> 14個中斷源可來自定時器A/B、時基、2 個外部時鐘源輸入和鍵喚醒 </p><p> 具備觸鍵喚醒的功能 </p><p> 使用凌陽音頻編碼SAC M_S4 8
69、0 可以播放壓縮的語音資源 </p><p> 鎖相環(huán)PLL 振蕩器提供系統(tǒng)時鐘信號 </p><p> 32768Hz 實時時鐘 </p><p> 7 通道10位電壓模/ 數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模/ 數(shù)轉(zhuǎn)換器 </p><p> 聲音模/ 數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器,并具有自動增益控制(AGC)功能 </p&g
70、t;<p><b> 具備串行設(shè)備接口 </b></p><p> 具備低電壓復(fù)位功能和低電壓檢測功能 </p><p> 內(nèi)置在線仿真電路接口 </p><p> 具有WatchDog功能 </p><p> 2.2.2 DS18B20 溫度傳感器簡介 </p><p>
71、 DS18B20 簡述: DS18B20是DALLAS公司生產(chǎn)的, DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片封裝而成,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。 技術(shù)性能描述 :1獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。 2 測溫范圍 -55℃~+125℃,固有測溫分辨率0.5℃。 3 支持多點組網(wǎng)功能,多個DS18B20
72、可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定。 4 工作電源:3~5V/DC。5 在使用中不需要任何外圍元件 。6 測量結(jié)果以9~12位數(shù)字量方式串行傳送。7 不銹鋼保護管直徑 Φ6。8 適用于DN15~25, DN40~DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測溫。 9 標準安裝螺紋 M10X1, M12X1.5, G1/2”任選。10 PVC電纜直接出線或德式球型接線盒出線,
73、便于與其它電器設(shè)備連接。溫度測量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測溫分辨率可達0.0625℃</p><p> 2.2.3 DS18B20 內(nèi)部結(jié)構(gòu) </p><p> DS18B20 內(nèi)部結(jié)構(gòu)圖 2.2 所示,主要由4 部分組成:64位ROM、溫度傳感器、溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20 的管腳排列如圖 2.3 所示,DQ為數(shù)字信號
74、輸入/ 輸出端;GND為電源地;VDD為外接供電電源輸入端(寄生電源接線方式時接地)</p><p> 圖2.2 DS18B20內(nèi)部結(jié)構(gòu)圖</p><p> 圖2.3 DS18B20封裝形式</p><p> ROM中的64 位序列號是出廠前被光刻好的,它可以看作是該DS18B20 的地址序列碼,每個DS18B20的64位序列號均不相同。64位ROM排放循環(huán)冗
75、余校驗碼(CRC=X8 +X5+X4+1)。ROM的作用是使每一個DS1 8B20 都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B 20 的目的。</p><p> DS18B20 中的溫度傳感器完成對溫度的測量,用16 位符號擴展的二進制補碼讀數(shù)形式提供,以0. 0625℃/LSB 形式表達,其中S 為符號位。例如+125 ℃的數(shù)字輸出為07 D0H,+25.0625℃的數(shù)字輸出為0 191H ,-2
76、5.0625℃的數(shù)字輸出為FF6FH ,-55℃的數(shù)字輸出為FC90H 。</p><p> 2.2.4 DS18B20 的工作時序</p><p> DS18B20 的一線工作協(xié)議流程是:初始化→ROM操作指令→存儲器操作指令→數(shù)據(jù)傳輸。其工作時序包括初始化時序、寫時序和讀時序,如圖 2.4、圖 2.5 和圖2.6 所示。</p><p><b>
77、 圖2.4初始化時序</b></p><p> 主機即單片機首先發(fā)480u s---960 us 的低電平,進行復(fù)位,然后釋放總線,之后總線被外部上拉電阻電阻抬高,大約等待15—60us 之后,DS18B 20 發(fā)出60 到240us 的低電平信號,以示存在,至此初始化結(jié)束。</p><p> 圖2.5 寫操作時序</p><p> 寫“0 “的時
78、候,首先單片機發(fā)復(fù)位信號,然后發(fā)“0 ”于是低電平持續(xù)60us 就完成了寫“0 ”寫“1 ”的時候首先單片機發(fā)復(fù)位信號,持續(xù)時間大于1u s 小于15 us 然后發(fā)“1 ”持續(xù)50us 以上即可。</p><p> 圖2.6 讀操作時序</p><p> 讀時序也是主機先發(fā)低電平,然后在15us 內(nèi)檢測連接DS1 8B20 的數(shù)據(jù)線的引腳,從而讀得相應(yīng)值。</p><
79、;p> 2.2.5 DS18B20 與單片機的典型接口</p><p> 可以采用外接電源與寄生電源供電:采用寄生供電如圖2.7所示,注意需要將DS1 8B20 的VDD引腳接地。采用外接電源供電如圖2.8所示,是較常用的供電方式。</p><p> 寄生電源解釋:輸出端為近似恒壓電源,但是輸出的電流是非常小的,可以一定程度上簡化電路。寄生電源不是實際的電源器件,而是一種供電方
80、式,即通過數(shù)據(jù)線供電。當(dāng)數(shù)據(jù)線電平為高時,給器件內(nèi)的電容充電,為低時,電容放電給器件供電。如DS18B20(采用寄生電源時VDD接地)。</p><p> 采用寄生供電,注意需要將DS18B20的VDD引腳接地。采用外接電源供電,是較常用的供電方式。 常見的DS18B20程序多為DS18B20外加+5V電源供電,很少見到有DS18B20寄生供電的程序。有資料說明需有一個I/O口控制一個場效應(yīng)管進行上拉滿足使用。
81、程序編制上只不過一些指令的要求多一點,如輸入操作指令0x44;開始轉(zhuǎn)換溫度,那么使用寄生電源就需要在轉(zhuǎn)換開始時對I/O口輸入500ms以上的高電平,以提供電源;還有一些指令也如此要求(主指需要它進行自行操作的指令:如轉(zhuǎn)換;存儲等等)。由于晶振不同,所以具體問題具體分析。</p><p> 圖2.7 寄生電源供電</p><p> 圖2.8 外接電源供電</p><p
82、> 2.3 系統(tǒng)總體方案介紹</p><p> 系統(tǒng)整體硬件設(shè)計如圖 2.9 所示,整個系統(tǒng)以SPCE061A 為核心,前向通道包括DS18B20 傳感器輸入電路,按鍵輸入電路;后向通道包括:LED 顯示電路和語音輸出電路。</p><p> 圖2.9 系統(tǒng)整體框圖</p><p> 程序的控制思想: 系統(tǒng)運行后初始化系統(tǒng)變量、按鍵顯示用到的I/O 以
83、及中斷等; 之后初始化兩路DS18B20 以確認器件的存在; 初始化完成之后, 將進行溫度的采樣, 并執(zhí)行溫度比較, 如果溫度大于35 攝氏度( 初始值為35 ) , 將進行超溫語音提示。主程序循環(huán)過程中不斷的掃描按鍵, 如果有按鍵觸發(fā)將會調(diào)用鍵值處理函數(shù)( 系統(tǒng)主程序流程圖2.10) 。整個程序包括:</p><p> 主程序文件, 實現(xiàn)系統(tǒng)的初始化, 整個系統(tǒng)的運行控制, 鍵值的處理和語音處理。</p
84、><p> 數(shù)碼管顯示文件, 包含顯示的端口初始化, 顯存的刷新, 數(shù)碼管的閃爍等。</p><p> 按鍵函數(shù)文件, 按鍵的初始化、掃描及獲取鍵值。</p><p> 語音的API 函數(shù)文件, 內(nèi)含語音播放必須的用戶接口函數(shù)。</p><p> 中斷服務(wù)函數(shù)文件: 系統(tǒng)的顯示刷新、按鍵掃描、通道的自動</p><p&
85、gt; 切換及語音的解碼均通過中斷完成。</p><p> 程序設(shè)計如圖 2.10 所示</p><p> 圖2.10系統(tǒng)主程序流程</p><p> 根據(jù)DS18B20的通訊協(xié)議,主機(單片機)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行 復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS1
86、8B20進行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后 釋放,當(dāng)DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。</p><p> 表4.1:ROM指令表 </p><p> 表4.2:RAM指令表 </p><p> 第三章 系統(tǒng)軟硬件設(shè)計 </p>&
87、lt;p> 3.1 系統(tǒng)的硬件</p><p> 系統(tǒng)的整體硬件電路如所示:以SPCE061A 為核心控制器,包括傳感器電路,鍵盤和顯示電路,下面逐個模塊介紹:</p><p><b> 傳感器電路</b></p><p> DS18B20 采用外電源供電方式,其原理如圖 3.1 所示。</p><p>
88、 圖3.1 DS18B20工作時電路</p><p><b> 按鍵和顯示電路</b></p><p> 按鍵直接使用61 板自帶的按鍵,其電路如圖3.2所示,不需要連接硬件即可使用。</p><p> 圖3.2 1*3獨立按鍵電路原理圖</p><p> 顯示采用6 位數(shù)碼管的其中4 位(D1、D4~D6
89、)進行動態(tài)顯示,電路原理如圖 3.3 所示。在使用時,將a~dp 接IOA8~IOA1 5 ,DIG1接IOB8,DIG4~DIG6 接IOB11~13。</p><p> 圖3.3 顯示電路原理圖</p><p><b> 3.2系統(tǒng)軟件設(shè)計</b></p><p> 3.2.1 軟件的結(jié)構(gòu)</p><p>
90、軟件結(jié)構(gòu)如圖3.4 ,圖中可以看出各文件之間的調(diào)用關(guān)系。</p><p> 圖3.4 結(jié)構(gòu)軟件圖</p><p> 下面簡要介紹一下各個程序文件的功能: </p><p> main.c 主程序文件,實現(xiàn)系統(tǒng)的初始化,整個系統(tǒng)的運行控制,鍵值的處理和語音處理。 </p><p> Dig.asm 數(shù)碼管顯示文件,包含顯示的端口初始
91、化,顯存的刷新,數(shù)碼管的閃爍等。 </p><p> Key.asm 按鍵函數(shù)文件,按鍵的初始化、掃描及獲取鍵值。 </p><p> hardware.asm 語音的API 函數(shù)文件,內(nèi)含語音播放必須的用戶接口函數(shù)。</p><p> ISR.asm 中斷服務(wù)函數(shù)文件:系統(tǒng)的顯示刷新、按鍵掃描、通道的自動切換及語音的解碼均通過中斷完成。</p&g
92、t;<p> 3.2.2 軟件總體設(shè)計 </p><p> 程序的控制思想:系統(tǒng)運行后初始化系統(tǒng)變量、按鍵顯示用到的I/O 以及中斷等;之后初始化兩路DS18B20 以確認器件的存在;初始化完成之后,將進行溫度的采樣,并執(zhí)行溫度比較,如果溫度大于35攝氏度(初始值為35),將進行超溫語音提示。主程序循環(huán)過程中不斷的掃描按鍵,如果有按鍵觸發(fā)將會調(diào)用鍵值處理函數(shù)。 </p><
93、p> 圖3.5 系統(tǒng)主程序</p><p> 3.3 子程序設(shè)計 </p><p> 3.3.1 DS18B20 初始化</p><p> DS18B20 的初始化時序如圖 2.4 所示,SPCE061A 單片機對DS18B20 的初始化程序流程為:</p><p> 圖3.6 DS18B20初始化流程圖</p>
94、<p> 如果DS18B20 初始化成功,將會返回‘1 ’,否則返回‘0 ’。</p><p> 3.3.2 DS18B20 寫操作</p><p> DS18B20 的寫操作時序如圖 3.5 所示,SPCE061A 單片機對DS18B20 的寫操作分為寫 ‘1’ 操作和寫‘0’操作,其程序流程如圖 3.7 、圖 3.8 所示:</p><p>
95、 圖3.7 向DS18B20寫‘0’程序流程</p><p> 圖3.8 向DS18B20寫‘1’程序流程</p><p> SPCE061A 單片機向DS18B 20 寫一個完整字節(jié)的程序流程如圖 3.9 所示:</p><p> 圖3.9 向DS18B20寫一個字節(jié)程序流程</p><p> 3.3.3 DS18B20 讀操作 &
96、lt;/p><p> 讀DS18B20 總線的時序如圖 3.6 所示,SPCE061A 單片機對DS18B20 的讀操作程序流程如圖3.10 所示: </p><p> 圖3.10 從DS18B20讀一位數(shù)據(jù)流程</p><p> SPCE061A 單片機從DS18B2讀一個完整字節(jié)的程序流程如圖3.11所示:(DS1 8B20 數(shù)據(jù)發(fā)送方式,先發(fā)送字節(jié)低位,再發(fā)
97、送字節(jié)高位。)</p><p> 圖3.11 從DS18B20讀一個字節(jié)數(shù)據(jù)流程 </p><p> 3.3.4 DS18B20 采集溫度流程</p><p> 如果想從DS18B20傳感器獲得溫度,必須按照下面的流程操作: </p><p> 圖3.12 從DS18B20讀一位數(shù)據(jù)流程</p><p> 本
98、系統(tǒng)中一根數(shù)據(jù)線上接一個DS18B20 ,所以ROM匹配時采用跳過處理(SKIP),向DS18B20 發(fā)送0xcc 命令字即可;然后向DS18B20 寫命令字0x 44 啟動一次溫度轉(zhuǎn)換。轉(zhuǎn)換結(jié)束后,DS18B20 將采集到的16 位溫度值存儲到其ROM的最低兩個字節(jié)。轉(zhuǎn)換結(jié)束后必須對DS18B 20 進行初始化,然后才能通過向DS18B20 寫命令字0x be 讀取ROM 獲取溫度結(jié)果。溫度轉(zhuǎn)換部分的程序如下:</p>
99、<p> F_18B20_Reset(uiChanne l);</p><p> DS18B20_WriteByte(uiChannel,0xc c ); // 不進行ROM 匹配</p><p> DS18B20_WriteByte (uiChannel,0x44); // 啟動一次溫度轉(zhuǎn)換</p><p> while (F_18B20_Rea
100、d_DQ(uiChannel)==0) // 等待轉(zhuǎn)換結(jié)束</p><p><b> { </b></p><p> *P_Watchdog_Clear = 0x0001; </p><p><b> }</b></p><p> F_18B20_Reset(uiChannel);</
101、p><p> DS18B20_WriteByte(uiChannel,0xc c ); // 不進行ROM 匹配</p><p> DS18B20_WriteByte(uiChannel,0xbe ); // 讀取ROM 命令</p><p> for(uiTemp=0;uiTe mp<2;uiTemp++)</p><p><
102、b> { </b></p><p> Da ta [uiTemp] = DS18B20_ReadByte(uiChannel); </p><p><b> }</b></p><p> F_18B20_Reset(uiChannel);</p><p> Data 數(shù)組存儲溫度值, Data
103、 [0]為溫度值的低8 位, Data [1]為溫度值的高8 位。</p><p> 3.3.5按鍵處理程序</p><p> 該系統(tǒng)共用到3 個按鍵KEY1、KEY2 、KEY3。按鍵用于顯示方式的切換以及設(shè)置報警溫度,其服務(wù)程序如圖 3.13 所示:</p><p> 圖3.13按鍵處理程序流程</p><p> 按鍵掃描程序,
104、該函數(shù)被中斷服務(wù)程序調(diào)用</p><p> F_Key_Scan:</p><p> _Key_Scan:</p><p> push r1,r2 to [sp]</p><p> r2 = [P_Key_Data ] // 獲取IO 端口狀態(tài)</p><p> r2 &= Key_ALL</p
105、><p> jnz ? L_ScanKey_Down // 判斷當(dāng)前是否有鍵按下</p><p> L_ScanKey_Up:</p><p> r1 = 1 // 如果按鍵處于抬起狀態(tài)則KeyUp 置1</p><p> [KeyUp] = r1</p><p> jmp ? L_ScanKey_Exit<
106、;/p><p> L_ScanKey_Down:</p><p> r1 = 0 // KeyUp 置0</p><p> [KeyUp] = r1</p><p> .if Key_IO_HighByte</p><p> r2 = r2 lsr 4</p><p> r2 = r2
107、lsr 4</p><p><b> .endif</b></p><p> cmp r2,[KeyCode ] // 本次得到的鍵值與上次得到的鍵值比較</p><p> je ? L_ScanKey_Cont</p><p> L_ScanKey_Ne w: // 如果與上次鍵值不同則重置鍵值</p&g
108、t;<p> [KeyCode ] = r2</p><p> r1 = 1 // 重新記錄鍵持續(xù)按下的時間</p><p> [ScanCnt] = r1</p><p> jmp ? L_ScanKey_Exit</p><p> L_ScanKey_Cont: // 如果此次鍵值與上次鍵值相同</p>
109、<p> r1 = [ScanCnt] // 更新按鍵持續(xù)時間(ScanCnt加1)</p><p><b> r1 += 1</b></p><p> [ScanCnt] = r1</p><p> L_ScanKey_Exit:</p><p> pop r1,r2 from [sp]<
110、/p><p><b> retf</b></p><p> 3.3.6 中斷服務(wù)程序 </p><p> 該系統(tǒng)用到了以下中斷:FIQ_TMA、IRQ 2_TMB、IRQ4_ 4 KHz 、IRQ 5_2Hz、IRQ 6_TMB2(12 8Hz) 。下面逐個介紹其作用及中斷服務(wù)流程: </p><p> FIQ_T
111、MA 中斷:調(diào)用語音播放服務(wù)函數(shù),實現(xiàn)語音播放。</p><p> 圖3.14 FIQ_TMA中斷服務(wù)流程</p><p> IRQ2_TMB中斷:自動模式下,切換DS18B20通道。</p><p> 圖 3.15 IRQ 2_TM B 中斷服務(wù)流程 </p><p> IRQ4_ 4KHz 中斷:數(shù)碼管動態(tài)顯示的刷新。</
112、p><p> 圖 3.16 IRQ 5_2 H z 中斷服務(wù)流程</p><p> IRQ 6_TMB2(128Hz )中斷:掃描按鍵,獲取鍵值。</p><p> 圖 3.17 IRQ6_TMB2中斷服務(wù)流程</p><p><b> 第四章 系統(tǒng)測試</b></p><p> 4.1
113、 報警語音播報功能</p><p> 凌陽的SPCE061A是16位單片機,具有DSP功能,有很強的信息處理能力,最高時鐘可達到49M,具備運算速度高的優(yōu)勢等等,這為語音的播放、錄放、合成及辨識提供了條件。另外SPCE061A單片機具有32k閃存,事先把所需要的語音信號錄制好,整個語音信號經(jīng)凌陽SACM_S480壓縮算法壓縮只占有13.2K存儲空間,對凌陽SPCE061A單片機的存儲系統(tǒng)來說綽綽有余。凌陽SPC
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機 spce061a的數(shù)字電子鐘畢業(yè)設(shè)計
- 0544、spce061a單片機實驗指導(dǎo)書
- SPCE061A單片機實驗指導(dǎo)書.pdf
- 0544、spce061a單片機實驗指導(dǎo)書
- SPCE061A單片機實驗指導(dǎo)書.pdf
- 基于spce061a單片機實現(xiàn)的步進電機控制系統(tǒng)設(shè)計
- 基于SPCE061A單片機的語音識別系統(tǒng)的研究.pdf
- 基于spce061a單片機實現(xiàn)的步進電機控制系統(tǒng)設(shè)計
- 基于單片機SPCE061A的汽車空調(diào)控制系統(tǒng).pdf
- 基于凌陽spce061a單片機的語音存儲與回放系統(tǒng)設(shè)計
- 基于spce061a單片機設(shè)計的綜述【文獻綜述】
- 單片機課程設(shè)計----凌陽spce061a聲控小車
- 基于SPCE061A單片機的家居智能機器人設(shè)計.pdf
- 基于SPCE061A型單片機的食品螺桿膨化機溫度的檢測與控制.pdf
- 基于凌陽SPCE061A單片機的智能小車的設(shè)計.pdf
- 基于spce061a的數(shù)字溫度計設(shè)計【開題報告】
- 畢業(yè)設(shè)計---基于spce061a單片機的智能電動車設(shè)計
- 基于spce061a的數(shù)字溫度計設(shè)計【任務(wù)書】
- 基于spce061a的數(shù)字溫度計設(shè)計【畢業(yè)論文】
- 0543、spce061a單片機教材書及開發(fā)板資料光盤
評論
0/150
提交評論