基于ARM的溫度采集系統(tǒng)設(shè)計課程論文_第1頁
基于ARM的溫度采集系統(tǒng)設(shè)計課程論文_第2頁
基于ARM的溫度采集系統(tǒng)設(shè)計課程論文_第3頁
基于ARM的溫度采集系統(tǒng)設(shè)計課程論文_第4頁
基于ARM的溫度采集系統(tǒng)設(shè)計課程論文_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、hubei normal university嵌入式系統(tǒng)開發(fā)課程設(shè)計論文courses thesis課程名稱嵌入式系統(tǒng)開發(fā)論文題目基于arm的溫度采集系統(tǒng)學生姓名學 號指導(dǎo)教師所在院系計算機科學與技術(shù)學院專業(yè)名稱通信工程完成時間基于arm的溫度采集系統(tǒng)arm概述arm(advanced risc machines),既可認為是一個公司的名字,也可認為是對一類微處理器的通稱,還可認為是一種技術(shù)的名字。1990年arm公司成立于英國劍橋,主要出售芯片設(shè)計技術(shù)的授權(quán)。目前,采用arm技術(shù)知識產(chǎn)權(quán)ip核的微處理器,即通常所說的arm微處理器,己遍及工業(yè)控制、消費類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無線系統(tǒng)

2、、軍用系統(tǒng)等各類產(chǎn)品市場,基于arm技術(shù)的微處理器應(yīng)用占據(jù)了32位risc微處理器70%以上的市場份額,arm技術(shù)正在逐步滲入到我們生活的各個方面。arm公司是專門從事基于risc技術(shù)芯片設(shè)計開發(fā)的公司,作為知識產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計許可,由合作公司生產(chǎn)各具特色的芯片。世界各大半導(dǎo)體生產(chǎn)商從arm公司購買其arm微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當?shù)耐鈬娐罚瑥亩纬勺约旱腶rm微處理器芯片進入市場。一、設(shè)計內(nèi)容1.1設(shè)計目的1、注重培養(yǎng)綜合運用所學知識、獨立分析和解決實際問題的能力,培養(yǎng)創(chuàng)新意識和創(chuàng)新能力,并獲得科學研究的基礎(chǔ)訓練。2、了解所選擇的arm芯片各

3、個引腳功能,工作方式,計數(shù)/定時,i/o口,中斷等的相關(guān)原理,并鞏固學習嵌入式的相關(guān)內(nèi)容知識。3、通過軟硬件設(shè)計實現(xiàn)利用arm芯片對周圍環(huán)境溫度信號的采集及顯示。1.2設(shè)計意義嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),且軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統(tǒng)。它一般由以下幾部分組成:嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)。嵌入式系統(tǒng)是面向用戶、面向產(chǎn)品、面向應(yīng)用的,它必須與具體應(yīng)用相結(jié)合才會具有生命力、才更具有優(yōu)勢。因此嵌入式系統(tǒng)是與應(yīng)用緊密結(jié)合的,它具有很強的專用性,必須結(jié)合實際系統(tǒng)需求進行合理的裁減利用。嵌入式系統(tǒng)是將先進的計算機技術(shù)

4、、半導(dǎo)體技術(shù)和電子技術(shù)和各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,這一點就決定了它必然是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。嵌入式系統(tǒng)必須根據(jù)應(yīng)用需求對軟硬件進行裁剪,滿足應(yīng)用系統(tǒng)的功能、可靠性、成本、體積等要求。所以,如果能建立相對通用的軟硬件基礎(chǔ),然后在其上開發(fā)出適應(yīng)各種需要的系統(tǒng),是一個比較好的發(fā)展模式。目前的嵌入式系統(tǒng)的核心往往是一個只有幾k到幾十k微內(nèi)核,需要根據(jù)實際的使用進行功能擴展或者裁減,但是由于微內(nèi)核的存在,使得這種擴展能夠非常順利的進行。數(shù)據(jù)采集(daq),是指從傳感器和其它待測設(shè)備等模擬和數(shù)字被測單元中自動采集非電量或者電量信號,送到上位機中進行分析,處理。

5、數(shù)據(jù)采集系統(tǒng)是結(jié)合基于計算機或者其他專用測試平臺的測量軟硬件產(chǎn)品來實現(xiàn)靈活的、用戶自定義的測量系統(tǒng)。被采集數(shù)據(jù)是已被轉(zhuǎn)換為電訊號的各種物理量,如溫度、水位、風速、壓力等,可以是模擬量,也可以是數(shù)字量。采集一般是采樣方式,即隔一定時間(稱采樣周期)對同一點數(shù)據(jù)重復(fù)采集。采集的數(shù)據(jù)大多是瞬時值,也可是某段時間內(nèi)的一個特征值。準確的數(shù)據(jù)量測是數(shù)據(jù)采集的基礎(chǔ)。數(shù)據(jù)量測方法有接觸式和非接觸式,檢測元件多種多樣。不論哪種方法和元件,均以不影響被測對象狀態(tài)和測量環(huán)境為前提,以保證數(shù)據(jù)的正確性。傳統(tǒng)的溫度采集系統(tǒng)由于存在響應(yīng)慢、精度低、可靠性差、效率低、操作繁瑣等弊端,已經(jīng)不能完全適應(yīng)現(xiàn)代化工業(yè)的高速發(fā)展。隨

6、著嵌入式技術(shù)的迅猛發(fā)展,設(shè)計高速度、高效率、低成本、高可靠性、操作方便的溫度采集系統(tǒng)成為當務(wù)之急?;赼rm的溫度采集系統(tǒng)就成為了解決傳統(tǒng)溫度采集系統(tǒng)各種弊端的優(yōu)先選擇方案。溫度控采集是無論是在工業(yè)生產(chǎn)過程中,還是在日常生活中都起著非常重要的作用,現(xiàn)代冶金、石油、化工及電力生產(chǎn)過程中,溫度是極為重要而又普遍的熱工參數(shù)之一。在環(huán)境惡劣或溫度較高等場合下,為了保證生產(chǎn)過程正常安全地進行,提高產(chǎn)品的質(zhì)量和數(shù)量,以及減輕工人的勞動強度、節(jié)約能源。在本系統(tǒng)的設(shè)計過程中,根據(jù)嵌入式系統(tǒng)的基本設(shè)計思想,系統(tǒng)采用了模塊化的設(shè)計方法,并且根據(jù)系統(tǒng)的功能要求和技術(shù)指標,系統(tǒng)遵循自上而下、由大到小、由粗到細的設(shè)計思

7、想,按照系統(tǒng)的功能層次,在設(shè)計中把硬件和軟件分成若干功能模塊分別設(shè)計和調(diào)試,然后全部連接起來統(tǒng)調(diào)。二、設(shè)計方案2.1設(shè)計要求1、查閱相關(guān)文獻資料,熟悉所選arm芯片及溫度傳感器2、總體設(shè)計方案規(guī)劃3、系統(tǒng)硬件設(shè)計,熟悉ad轉(zhuǎn)換原理及過程,溫度傳感器與arm芯片的硬件接口實現(xiàn)及溫度顯示。4、系統(tǒng)軟件設(shè)計,包括溫度的ad轉(zhuǎn)換及顯示的軟件實現(xiàn),用c語言編程。本設(shè)計是基于嵌入式技術(shù)作為主處理器的溫度采集系統(tǒng),利用s3c44b0x arm微處理器作為主控cpu,輔以單獨的數(shù)據(jù)采集模塊采集數(shù)據(jù)(溫度采集模塊電路采用at89s52單片機作為模塊的協(xié)控制器),實現(xiàn)了智能化的溫度數(shù)據(jù)采集、傳輸、處理與顯示等功能

8、,并討論了如何提高系統(tǒng)的速度、可靠性和可擴展性。并解決了傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)由于存在響應(yīng)慢、精度低、可靠性差、效率低、操作繁瑣等弊端,能夠完全適應(yīng)現(xiàn)代化工業(yè)的高速發(fā)展。2.2方案論證有許多客觀需求促進了arm處理器的設(shè)計改進。首先,便攜式的嵌入式系統(tǒng)往往需要電池供電。為降低功耗,arm處理器已被特殊設(shè)計成較小的核,從而延長了電池的使用時間。 高的代碼密度是嵌入式系統(tǒng)的又一個重要需求。由于成本問題和物理尺寸的限制,嵌入式系統(tǒng)的存儲器是很有限的。所以,高的代碼密度對于那些只限于在板存儲器的應(yīng)用是非常有幫助的。另外,嵌入式系統(tǒng)通常都是價格敏感的,因此一般都使用速度不高、成本較低的存儲器。 arm 內(nèi)核

9、不是一個純粹的risc體系結(jié)構(gòu),這是為了使它能夠更好的適應(yīng)其主要應(yīng)用領(lǐng)域嵌入式系統(tǒng)。在某種意義上,甚至可以認為arm 內(nèi)核的成功,正是因為它沒有在risc的概念上沉入太深?,F(xiàn)在系統(tǒng)的關(guān)鍵并不在于單純的處理器速度,而在于有效的系統(tǒng)性能和功耗。在本系統(tǒng)的設(shè)計過程中,根據(jù)嵌入式系統(tǒng)的基本設(shè)計思想,系統(tǒng)采用了模塊化的設(shè)計方法,并且根據(jù)系統(tǒng)的功能要求和技術(shù)指標,系統(tǒng)遵循自上而下、由大到小、由粗到細的設(shè)計思想,按照系統(tǒng)的功能層次,在設(shè)計中把硬件和軟件分成若干功能模塊分別設(shè)計和調(diào)試,然后全部連接起來統(tǒng)調(diào)。三、硬件設(shè)計3.1 s3c44b0x arm微處理器簡介:嵌入式微處理器s3c44b0x中集成了arm公

10、司的arm7tdmi核,這個核也稱為cpu單元,此外還集成了邊界掃描控制器等多個功能模塊(也稱模塊、單元)。s3c44b0x中有2條總線,即系統(tǒng)總線和外設(shè)總線。通過系統(tǒng)總線,將cpu單元、電源管理模塊(含時鐘發(fā)生器)、存儲器控制器、lcd控制器、中斷控制器和2通道zdma連接在一起??偩€仲裁器對系統(tǒng)總線上的總線請求進行仲裁。通過外設(shè)總線,將ad轉(zhuǎn)換器、看門狗定時器、rtc、通用io控制器(gpio)、iic總線控制器、iis總線控制器、uart、sio、pwm等連接在一起。系統(tǒng)總線與外設(shè)總線通過系統(tǒng)總線橋與仲裁2通道bdma連接在一起。s3c44b0x的160個引腳中,有71個引腳可以通過編程

11、的方法,定義為多功能輸入輸出引腳。這71個引腳被分成a、b、c、d、e、f和g端口。例如,端口a可以定義為輸出端口,或定義為地址總線addr24addr16和addr0。在reset后,默認值是地址總線addr24addr16和addr0,之后可以重新定義端口a的功能。除這71個引腳外,其余引腳功能是單一的。s3c44b0x微處理器中含有arm7tdmi核,使用的指令系統(tǒng)就是arm7tdmi的指令系統(tǒng)。arm7tdmi有2種指令集:32位的arm指令集和16位的thumb指令集。arm指令集的主要特點有:所有的指令都是32位定長,便于譯碼和流水線實現(xiàn),并且在內(nèi)存中以4字節(jié)邊界地址對齊保存;只有

12、 load-store類型的指令才可以訪問內(nèi)存;所有的指令都可以條件執(zhí)行;使用了桶型(barrel)移位器,可以在一個指令周期內(nèi)完成移位操作和alu(算術(shù)邏輯)操作。片上集成的主要功能如下:*2.5v arm7tdmi 內(nèi)核,帶有8k cache(samba ii總線體系結(jié)構(gòu),主頻高至66mhz);*外部存儲器控制器(fp/edo/sdram控制器,片選邏輯):*lcd控制器(最大支持256色dstn),并帶有1通道lcd專用dma:*2通道通用dma,2通道外設(shè)dma 并具有外部請求引腳;*2通道uart帶有握手協(xié)議(支持irda1.0,具有16-byte fifo)/1通道sio;*1通道

13、多主iic-bus控制器;*1通道iis-bus控制器;*5個pwm定時器和1個內(nèi)部定時器;*看門狗定時器;*71個通用i/o口/8通道外部中斷源*功耗控制:具有正常,低速,空閑和停止模式;*8通道10位adc;*具有日歷功能的rtc;*帶pll的片上時鐘發(fā)生器.體系結(jié)構(gòu):*集成了手持設(shè)備和通用嵌入式系統(tǒng)應(yīng)用的解決方案:*13/32位risc體系結(jié)構(gòu)和arm7tdmi處理器內(nèi)核強大的指令體系;*thumb代碼壓縮機,最大化代碼密度同時保持了32位指令的性能;*基于jtag的片上集成ice調(diào)試支持解決方案;*32*8位硬件乘法器;*實現(xiàn)低功耗sambaii的新型總線結(jié)構(gòu);系統(tǒng)存儲管理:*支持大/

14、小端模式(通過外部用腳來選擇);*地址空間:每bank位32m字節(jié)(共256m字節(jié));*支持每bank可編程的5.16/32位數(shù)據(jù)總線寬度;*7個bank具有固定的bank起始地址和可編程的bank大?。?1個bank具有可編程的bank起始地址和bank大?。?8個存儲器bank;-6個rom,sram存儲器bank;-2個rom/sram/dram(快速頁面,edo和同步dram);*所有的存儲器bank具有可編程的訪問周期;*支持外部等待信號延長總線周期;*支持掉電時dram/sdram的自刷新模式;*支持對稱和非對稱地址的dram.3.2 at89s52單片機簡介at89s52是一種低

15、功耗、高性能cmos8位微控制器,具有8k 在系統(tǒng)可編程flash 存儲器。使用atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80c51 產(chǎn)品指令和引腳完全兼容。片上flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使得at89s52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。at89s52具有以下標準功能:8k字節(jié)flash,256字節(jié)ram,32 位i/o 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,at89s52 可降至0

16、hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu停止工作,允許ram、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。常用i/o口具體介紹如下:1、p0 口:p0口是一個8位漏極開路的雙向i/o口。作為輸出口,每位能驅(qū)動8個ttl邏輯電平。對p0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,p0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,p0具有內(nèi)部上拉電阻。在 flash編程時,p0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。 2、

17、p1 口:p1 口是一個具有內(nèi)部上拉電阻的8 位雙向i/o 口,p1 輸出緩沖器能驅(qū)動4 個ttl 邏輯電平。對p1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。此外,p1.0和p1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(p1.0/t2)和時器/計數(shù)器2的觸發(fā)輸入(p1.1/t2ex),具體如下表所示。在flash編程和校驗時,p1口接收低8位地址字節(jié)。引腳號 第二功能p1.0 t2 (定時器/計數(shù)器t2的外部計數(shù)輸入),時鐘輸出p1.1 t2ex (定時器/計數(shù)器t2的捕捉/重載觸發(fā)信號和方向控制

18、)p1.5 mosi (在系統(tǒng)編程用)p1.6 miso (在系統(tǒng)編程用)p1.7 sck (在系統(tǒng)編程用) 3、p2 口:p2 口是一個具有內(nèi)部上拉電阻的8 位雙向i/o 口,p2 輸出緩沖器能驅(qū)動4 個ttl 邏輯電平。對p2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行movx dptr)時,p2 口送出高八位地址。在這種應(yīng)用中,p2 口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如movx ri)訪問外部數(shù)據(jù)存儲器時,p2口輸出p2鎖

19、存器的內(nèi)容。在flash編程和校驗時,p2口也接收高8位地址字節(jié)和一些控制信號。 4、p3 口:p3 口是一個具有內(nèi)部上拉電阻的8 位雙向i/o 口,p2 輸出緩沖器能驅(qū)動4 個ttl 邏輯電平。對p3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。p3口亦作為at89s52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗時,p3口也接收一些控制信號。3.3設(shè)計思路本設(shè)計的基于arm 的嵌入式數(shù)據(jù)采集和顯示裝置的原理框圖如圖3-1 所示。由圖可見,本系統(tǒng)采用“電源部分arm 核心控制模塊溫度

20、采集模塊”實現(xiàn)所需功能。并考慮到系統(tǒng)的可擴展性和延伸性,本系統(tǒng)采用主從cpu協(xié)同工作,實現(xiàn)了數(shù)據(jù)的實時采集、傳輸與顯示,具有處理速度快、精度高、人機交互界面友好、穩(wěn)定性高、擴展性好等優(yōu)點。本設(shè)計的基于arm 的嵌入式數(shù)據(jù)采集和顯示裝置的原理框圖如圖3-1 所示。由圖可見,本系統(tǒng)采用“電源部分arm 核心控制模塊溫度采集模塊”實現(xiàn)所需功能。 電源部分lcd顯示器溫度采集模塊電源電路多路溫度傳感器flash rom存儲器協(xié)控制器rs-232arm處理器sd ram存儲器鍵 盤arm核心控制模塊圖3-1 系統(tǒng)原理框圖3.2系統(tǒng)電路設(shè)計3.2.1 電源電路設(shè)計本系統(tǒng)的電源電路由兩部分組成:系統(tǒng)總電源電

21、路和ram核心模塊電源電路。如圖3-2:+12v恒定直流電源經(jīng)電容濾波,分別進入7809和7805穩(wěn)壓,得到+9v和+5v的穩(wěn)定電壓輸出后分別供給arm核心控制模塊和其余電路部分使用。圖中in4148是為了防止輸出端并接高于本穩(wěn)壓模塊的輸出電壓而燒壞7809和7805而特別設(shè)計,達到了可靠性電源設(shè)計目的。另外,由于系統(tǒng)正常工作電流較大,因此使用時均應(yīng)在7809和7805上加散熱片散熱。 由圖可見,系統(tǒng)采用雙電源供電,提供了系統(tǒng)正常工作所需的電源電壓。另外,由于考慮到便攜目的,本系統(tǒng)采用+12v鉛蓄電池提供系統(tǒng)所需的恒定直流電源。圖3-2 系統(tǒng)電源電路原理圖如圖3-2:i/o 口提供了相應(yīng)的穩(wěn)定

22、直流電源。其中的in4004是為了防止電源輸入反接燒壞集成穩(wěn)壓塊而設(shè)計的。由于s3c44b0x采用2.5v作為arm 內(nèi)核電源,使用3.3v作為i/o 口電壓,故arm核心控制模塊電源需要另外單獨設(shè)計,其電源電路如圖3-2所示。由系統(tǒng)總電源電路提供的+9v穩(wěn)壓電源作為輸入,分別經(jīng)as1117-5.0、as1117-3.3、 as1117-2.5穩(wěn)壓后,輸出5.0v、3.3v和2.5v恒定電源,為ram 內(nèi)核和i/o口提供了相應(yīng)的穩(wěn)定直流電源 。其中的in4004是為了防止電源輸入反接燒壞集成穩(wěn)壓塊而設(shè)計的。3.2.2溫度采集電路設(shè)計 溫度采集模塊電路采用at89s52單片機作為模塊的協(xié)控制器。

23、對于溫度傳感器的選用ds18b20,因為ds18b20是dallas公司最新單總線數(shù)字溫度傳感器,該傳感器集溫度變換、a/d轉(zhuǎn)換于同一芯片,輸出直接為數(shù)字信號,大大提高了電路的效率。由于現(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性,且提高了cpu的效率。at89s52單片機的p0 口與8路溫度傳感器相連,用于采集溫度數(shù)據(jù);另外,模塊提供rs-232串行口與ram核心控制模塊通信,達到數(shù)據(jù)傳輸?shù)哪康?。溫度采集模塊電路原理圖如圖3-3。圖3-3 溫度采集電路原理圖四、軟件設(shè)計本系統(tǒng)軟件設(shè)計是在codewarrior for ads開發(fā)環(huán)境下完成的。本溫度數(shù)據(jù)采集與顯示裝置的主

24、體由s3c44b0x核心控制模塊和溫度數(shù)據(jù)采集模塊構(gòu)成,所以系統(tǒng)軟件也是圍繞這兩個模塊來編寫的。而又由于系統(tǒng)采用了s3c44box和at89s52兩個cpu協(xié)同工作,所以軟件的編寫需要對這兩個cpu分別編寫,以實現(xiàn)所要求的功能。4.1設(shè)計思路本系統(tǒng)軟件設(shè)計是在codewarrior for ads開發(fā)環(huán)境下完成的。本溫度數(shù)據(jù)采集與顯示裝置的主體由s3c44b0x核心控制模塊和溫度數(shù)據(jù)采集模塊構(gòu)成,所以系統(tǒng)軟件也是圍繞這兩個模塊來編寫的。而又由于系統(tǒng)采用了s3c44box和at89s52兩個cpu協(xié)同工作,所以軟件的編寫需要對這兩個cpu分別編寫,以實現(xiàn)所要求的功能。程序流程圖如圖4-1。開始a

25、rm初始化硬件裝置初始化通信初始化led顯示初始化鍵盤初始化掃描鍵盤有鍵按下處理數(shù)值相應(yīng)顯示數(shù)據(jù)獲取數(shù)據(jù)處理數(shù)據(jù)顯示yn圖4-1程序流程圖由該流程圖可看出,剛上電時,s3c44b0x要先進行arm 內(nèi)部的初始化,以使arm進入相應(yīng)的狀態(tài)和模式;然后初始化硬件裝置,以使硬件系統(tǒng)可以正常支持溫度數(shù)據(jù)采集;接著通信初始化,以確定溫度采集模塊與arm核心控制模塊連接正常,并通過uart復(fù)位溫度數(shù)據(jù)采集模塊,確保其進入正常溫度數(shù)據(jù)采集狀態(tài);然后初始化lcd顯示和鍵盤,在lcd上顯示相應(yīng)的菜單列表,供用戶通過鍵盤選擇操作;至此,系統(tǒng)初始化完成,并進入正常主程序循環(huán)狀態(tài)。在正常主程序循環(huán)狀態(tài)中,首先掃描鍵盤

26、,以快速的響應(yīng)用戶的按鍵操作;若沒有鍵值按下,則arm立即進行數(shù)據(jù)的采集、處理與顯示,以實現(xiàn)實時數(shù)據(jù)采集與顯示等功能。其主程序包括溫度采集程序、arm獲取溫度子程序、溫度處理和轉(zhuǎn)換子程序。當arm 處理器接收到正確的溫度數(shù)據(jù)后,立即進行相應(yīng)的溫度數(shù)據(jù)處理與轉(zhuǎn)換,變成可被lcd直接顯示的正確溫度值。4.2程序代碼溫度處理與轉(zhuǎn)換子程序如下:/存放讀取到的當前溫度值,未轉(zhuǎn)換static u16 a-temp-now8=8*0/存放經(jīng)精度計算后的實際溫度值,高8位整數(shù)部分,低8位小數(shù)部分static u16 b-temp-now8=8*0;/存放8路轉(zhuǎn)換后溫度值,分別為百位,十位,個位,小數(shù)位stat

27、ic u8 temp-convent-all32=32*0;/-/溫度處理與轉(zhuǎn)換子程序/-void temp-change(void)u8 negtive=0x00; /存放數(shù)的符號,若為正=0;若為負,=0xffu8 j=0;u8 *pt=temp-convent-all;u16 *p1=a-temp-now;u16 *p3=b-temp-now;u16 temp=0;for(j=0;j8;j+)negative =0x00;temp=*p1;/若溫度為負值,進行相應(yīng)處理if(temp&0xf80) !=0)temp=(temp)+1;/轉(zhuǎn)為正的原碼negative=0xff; / 同時置符

28、號為0xff/根據(jù)精度消除無關(guān)數(shù)據(jù)switch(a-temp-prec)case 0x1f: /精度為9位,則清除最低3位無效位temp=temp&0xfff8;break;case 0x3f: /精度為10位,則清除最低2位無效位temp=temp&0xfffc;break;case 0x5f: /精度為11位,則清除最低1位無效位temp=temp&0xfffe;break;case 0x7f: /精度為12位break;/換算成實際溫度,并擴大10倍,去掉小數(shù)部分temp=(u16)(float)(temp)*0.625);/折算放入b-temp-now 數(shù)組中/高8位放整數(shù)部分,低8位放小數(shù)部分,最高位放符號位if(negtive= 0xff) /若為負值*p3=(temp/10)8

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論