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