基于ARM的溫濕度采集系統(tǒng)_第1頁
基于ARM的溫濕度采集系統(tǒng)_第2頁
基于ARM的溫濕度采集系統(tǒng)_第3頁
基于ARM的溫濕度采集系統(tǒng)_第4頁
基于ARM的溫濕度采集系統(tǒng)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、編編 號(hào)號(hào)2 2期期末末大大作作業(yè)業(yè)題目:題目:基于 ARM 的溫濕度采集系統(tǒng) 物聯(lián)網(wǎng)工程 學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè)學(xué) 號(hào) 0304100222 學(xué)生姓名 仲其龍 指導(dǎo)教師 陳志國(guó) 二一三年五月摘要摘摘 要要課題是基于 S3C44B0 x ARM 微處理器為核心,采用 LCD 液晶顯示,設(shè)計(jì)空氣中的溫溫度和濕度數(shù)據(jù)采集顯示系統(tǒng)。設(shè)計(jì)的過程主要包括硬件設(shè)計(jì)和軟件設(shè)計(jì),其中軟件設(shè)計(jì)為 C 語言設(shè)計(jì)。系統(tǒng)的主要功能是從空氣中采集數(shù)據(jù),通過 A/D 轉(zhuǎn)換器,轉(zhuǎn)換為數(shù)字信號(hào),并通過 LCD 液晶顯示屏顯示。實(shí)現(xiàn)了智能化的溫度數(shù)據(jù)采集、傳輸、處理與顯示功能。關(guān)鍵詞:ARM;S3C44B0 x;嵌入式系

2、統(tǒng);數(shù)據(jù)采集 目錄目目 錄錄摘 要 .I目 錄 .I第 1 章 概述 .11.1 實(shí)驗(yàn)?zāi)康募耙?.11.2 實(shí)驗(yàn)內(nèi)容 .1第 2 章 設(shè)計(jì)原理 .22.1 硬件系統(tǒng)總體設(shè)計(jì) .22.2 LCD 液晶顯示設(shè)計(jì) .22.2.1 S3C44B0X LCD 控制器介紹 .22.2.2 顯示控制 .32.2.3 電路設(shè)計(jì) .32.3 A/D 轉(zhuǎn)換設(shè)計(jì) .42.3.1 采樣保持接口 .42.3.2 分壓電路 .42.4 電源電路設(shè)計(jì) .52.5 溫度采集電路設(shè)計(jì) .6第 3 章 設(shè)計(jì)步驟 .73.1 軟件設(shè)計(jì) .73.2 關(guān)鍵代碼 .8第 4 章 實(shí)驗(yàn)結(jié)果及結(jié)果分析 .124.1 實(shí)驗(yàn)結(jié)果 .124.2

3、 實(shí)驗(yàn)結(jié)果分析 .12第 5 章 小結(jié) .12參考文獻(xiàn) .13嵌入式系統(tǒng)期末大作業(yè)0第第 1 章章 概述概述1.1 實(shí)驗(yàn)?zāi)康募耙髮?shí)驗(yàn)?zāi)康募耙竽壳扒度胧较到y(tǒng)的研究和應(yīng)用中,ARM 芯片的使用越來越廣泛。本課程的目的是了解嵌入式系統(tǒng)基礎(chǔ)理論的前提下,掌握一些常用的 ARM 處理器相關(guān)的匯編語言和 C 語言程序設(shè)計(jì)方法,熟悉基于 S3C44B0X 芯片的硬件接口設(shè)計(jì)方法,學(xué)會(huì)使用 ARM 集成開發(fā)環(huán)境,從而了解嵌入式系統(tǒng)的軟硬件設(shè)計(jì)過程,為今后從事相關(guān)領(lǐng)域的應(yīng)用和研究打好基礎(chǔ)。通過大作業(yè)期望可以實(shí)現(xiàn)如下目的:一、掌握一種 ARM 的開發(fā)工具使用方法;二、掌握 S3C44B0X ARM 處理器的原

4、理和接口設(shè)計(jì)方法;三、掌握 ARM 的 C 語言和匯編語言編程方法;四、培養(yǎng)選用參考書、查閱技術(shù)手冊(cè)及相關(guān)參考文獻(xiàn)的能力;五、培養(yǎng)獨(dú)立思考、分析問題和解決問題的能力;六、培養(yǎng)嚴(yán)肅認(rèn)真的學(xué)習(xí)風(fēng)氣和良好的溝通協(xié)作能力。1.2 實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容題目題目:基于 ARM 的溫濕度顯示系統(tǒng)具體要求:具體要求:1以 S3C44B0X 的 ARM 處理器為核心,選擇合適的元器件,設(shè)計(jì)一個(gè)空氣中的溫度和濕度 的顯示系統(tǒng);2溫度傳感器和濕度傳感器的類型不限,要求溫度測(cè)量范圍為-20+60,濕度測(cè)量范圍 為 10%90%;3溫度和濕度的顯示,可以采用八段數(shù)碼管或 LCD 液晶屏的形式;4要求給出 S3C44B0X

5、和主要裝置的硬件連接電路圖(原理圖) ;5要求編寫相關(guān)的溫濕度采集和顯示程序,并給出合理的程序注釋。本科生畢業(yè)論文(設(shè)計(jì))題目1 1第第 2 章章 設(shè)計(jì)原理設(shè)計(jì)原理2.1 硬件系統(tǒng)總體設(shè)計(jì)硬件系統(tǒng)總體設(shè)計(jì)在本系統(tǒng)的設(shè)計(jì)過程中,根據(jù)嵌入式系統(tǒng)的基本設(shè)計(jì)思想,系統(tǒng)采用了模塊化的設(shè)計(jì)方法;并且根據(jù)系統(tǒng)的功能要求和技術(shù)指標(biāo),系統(tǒng)遵循自上而下、由大到小、由粗到細(xì)的設(shè)計(jì)思想;按照系統(tǒng)的功能層次,在設(shè)計(jì)中把硬件和軟件分成若干功能模塊分別設(shè)計(jì)和調(diào)試,然后全部連接起來統(tǒng)調(diào)。 本設(shè)計(jì)的基于ARM 的嵌入式數(shù)據(jù)采集和顯示裝置的原理框圖如圖1所示。由圖可見,本系統(tǒng)采用“電源部分ARM 核心控制模塊溫度采集模塊”實(shí)現(xiàn)所

6、需功能。下面分別對(duì)各部分的工作原理做簡(jiǎn)要的說明: 多路溫度傳感器協(xié)控制器RS-232電源電路ARM處理器LCD顯示鍵盤Flash ROM存儲(chǔ)器SDRAM存儲(chǔ)器圖1為了實(shí)現(xiàn)系統(tǒng)所要求的功能和指標(biāo),并考慮到系統(tǒng)的可擴(kuò)展性和延伸性,本系統(tǒng)采用主從CPU協(xié)同工作,實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時(shí)采集、傳輸與顯示,具有處理速度快、精度高、人機(jī)交互界面友好、穩(wěn)定性高、擴(kuò)展性好等優(yōu)點(diǎn)。 2.2 LCD 液晶顯示設(shè)計(jì)液晶顯示設(shè)計(jì)2.2.1 S3C44B0X LCD 控制器介紹控制器介紹S3C44B0X 處理器集成 LCD 控制器,支持 4 位單掃描、4 位雙掃描和 8 位單掃描工作方式。處理器使用內(nèi)部 RAM 區(qū)作為顯示緩存

7、,并支持屏幕水平和垂直滾動(dòng)顯示。數(shù)據(jù)的傳送采用 DMA(直接內(nèi)存訪問)方式,以達(dá)到最小的延遲。根據(jù)實(shí)際硬件水平和垂直像素點(diǎn)數(shù)、傳送數(shù)據(jù)位數(shù)、時(shí)間線和幀速率方式等進(jìn)行編程以支持多種類型的液晶屏??梢灾С值囊壕ь愋陀校呵度胧较到y(tǒng)期末大作業(yè)2- 單色液晶- 4 級(jí)或 16 級(jí)灰度屏(基于時(shí)間抖動(dòng)算法或幀速率控制-FRC)- 256 色彩色液晶(STN 液晶)2.2.2 顯示控制顯示控制LCD 控制器主要提供液晶屏顯示數(shù)據(jù)的傳送、時(shí)鐘和各種信號(hào)的產(chǎn)生與控制功能。S3C44B0X處理器的LCD控制器主要部分框圖如圖2所示:寄存器控制數(shù)據(jù)控制DMA傳送控制信號(hào)產(chǎn)生電路323232System BusVCL

8、KVD3:0VMVFRAMEVLNEVD7:3圖2 LCD控制框圖2.2.3 電路設(shè)計(jì)電路設(shè)計(jì)進(jìn)行液晶屏控制電路設(shè)計(jì)時(shí)必須提供電源驅(qū)動(dòng)、偏壓驅(qū)動(dòng)以及LCD 顯示控制器。由于S3C44B0X處理器本身自帶LCD 控制器,而且可以驅(qū)動(dòng)實(shí)驗(yàn)板所選用的液晶屏,所以控制電路的設(shè)計(jì)可以省去顯示控制電路,只需進(jìn)行電源驅(qū)動(dòng)和偏壓驅(qū)動(dòng)的電路設(shè)計(jì)即可。圖 3 液晶顯示電路本科生畢業(yè)論文(設(shè)計(jì))題目3 32.3 A/D 轉(zhuǎn)換設(shè)計(jì)轉(zhuǎn)換設(shè)計(jì)2.3.1 采樣保持接口采樣保持接口在S3C44B0X中A/D模塊有8 個(gè)模擬輸入通道,通道的切換可以由內(nèi)部的定時(shí)器完成。如果要進(jìn)行8個(gè)通道連續(xù)變化的信號(hào)的轉(zhuǎn)換,還必須在8個(gè)通道全部

9、加采樣保持器,采樣保持的接口電路如下圖。模擬輸入信號(hào)為需要轉(zhuǎn)換的信號(hào),驅(qū)動(dòng)控制信號(hào)可以通過編程利用ARM里面的timer產(chǎn)生,也可以通過I/O 口來控制,輸出信號(hào)直接接到A/D模塊中的輸入通道。 圖4 采樣保持接口2.3.2 分壓電路分壓電路分壓電路比較簡(jiǎn)單,為了保證電壓轉(zhuǎn)換時(shí)是穩(wěn)定的,可以直接調(diào)節(jié)可變電阻得到穩(wěn)定的電壓值。嵌入式系統(tǒng)期末大作業(yè)4圖 5 分壓電路2.4 電源電路設(shè)計(jì)電源電路設(shè)計(jì)本系統(tǒng)的電源電路由兩部分組成:系統(tǒng)總電源電路和RAM核心模塊電源電路。如圖:+12V恒定直流電源經(jīng)電容濾波,分別進(jìn)入7809和7805穩(wěn)壓,得到+9V和+5V的穩(wěn)定電壓輸出后分別供給ARM核心控制模塊和其

10、余電路部分使用。圖中IN4148是為了防止輸出端并接高于本穩(wěn)壓模塊的輸出電壓而燒壞7809和7805而特別設(shè)計(jì),達(dá)到了可靠性電源設(shè)計(jì)目的。另外,由于系統(tǒng)正常工作電流較大,因此使用時(shí)均應(yīng)在7809和7805上加散熱片散熱。 由圖可見,系統(tǒng)采用雙電源供電,提供了系統(tǒng)正常工作所需的電源電壓。另外,由于考慮到便攜目的,本系統(tǒng)采用+12V鉛蓄電池提供系統(tǒng)所需的恒定直流電源。 本科生畢業(yè)論文(設(shè)計(jì))題目5 5圖6 電源電路2.5 溫度采集電路設(shè)計(jì)溫度采集電路設(shè)計(jì)溫度采集模塊電路如圖。考慮到系統(tǒng)成本因素,此處采用AT89S52單片機(jī)作為模塊的協(xié)控制器。對(duì)于溫度傳感器的選用DS18B20,因?yàn)镈S18B20是

11、Dallas公司最新單總線數(shù)字溫度傳感器,該傳感器集溫度變換、A/D轉(zhuǎn)換于同一芯片,輸出直接為數(shù)字信號(hào),大大提高了電路的效率。由于現(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性,且提高了CPU的效率。圖4中AT89S52單片機(jī)的P0 口與8路溫度傳感器相連,用于采集溫度數(shù)據(jù);另外,模塊提供RS-232串行口與RAM核心控制模塊通信,達(dá)到數(shù)據(jù)傳輸?shù)哪康摹?圖 7 溫度采集電路嵌入式系統(tǒng)期末大作業(yè)6第第 3 章章 設(shè)計(jì)步驟設(shè)計(jì)步驟3.1 軟件設(shè)計(jì)軟件設(shè)計(jì)本溫度數(shù)據(jù)采集與顯示裝置的主體由S3C44B0 x核心控制模塊和溫度數(shù)據(jù)采集模塊構(gòu)成,所以系統(tǒng)軟件也是圍繞這兩個(gè)模塊來編寫的。

12、而又由于系統(tǒng)采用了 S3C44Box和AT89S52兩個(gè)CPU協(xié)同工作,所以軟件的編寫需要對(duì)這兩個(gè)CPU分別編寫,以實(shí)現(xiàn)所要求的功能。 開始ARM初始化硬件裝置初始化掃描鍵盤處理按鍵鍵盤初始化LCD顯示初始化相應(yīng)顯示數(shù)據(jù)獲取數(shù)據(jù)處理數(shù)據(jù)顯示有鍵按下YN軟件設(shè)計(jì)流程圖由該流程圖可看出,剛上電時(shí),S3C44B0 x 要先進(jìn)行 ARM 內(nèi)部的初始化,以使 ARM 進(jìn)入相應(yīng)的狀態(tài)和模式;然后初始化硬件裝置,以使硬件系統(tǒng)可以正常支持溫度數(shù)據(jù)采集;接著通信初始化,以確定溫度采集模塊與 ARM 核心控制模塊連接正常,并通過 UART 復(fù)位本科生畢業(yè)論文(設(shè)計(jì))題目7 7溫度數(shù)據(jù)采集模塊,確保其進(jìn)入正常溫度數(shù)

13、據(jù)采集狀態(tài);然后初始化 LCD 顯示和鍵盤,在 LCD 上顯示相應(yīng)的 菜單列表,供用戶通過鍵盤選擇操作;至此,系統(tǒng)初始化完成,并進(jìn)入正常主程序循環(huán)狀態(tài)。 在正常主程序循環(huán)狀態(tài)中,首先掃描鍵盤,以快速的響應(yīng)用戶的按鍵操作;若沒有鍵值按下,則 ARM 立即進(jìn)行數(shù)據(jù)的采集、處理與顯示,以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)采集與顯示等功能。 3.2 關(guān)鍵代碼關(guān)鍵代碼LCD 液晶屏初始化:液晶屏初始化:void lcd_init(void)rDITHMODE = 0 x12210;rDP1_2= 0 xa5a5;rDP4_7= 0 xba5da65;rDP3_5= 0 xa5a5f;rDP2_3 = 0 xd6b;rDP5_

14、7 = 0 xeb7b5ed;rDP3_4= 0 x7dbe;rDP4_5 = 0 x7ebdf;rDP6_7 = 0 x7fdfbfe;/ disable,8B_SNGL_SCAN,WDLY=16clk,WLH=16clk,rLCDCON1= (0 x0)|(25)|(MVAL_USED7)|(0 x38)|(0 x310)|(CLKVAL_COLOR12);/ LINEBLANK=10 (without any calculation)rLCDCON2 = (LINEVAL)|(HOZVAL_COLOR10)|(1021);rLCDCON3 = 0;/ 256-color, LCDBANK

15、, LCDBASEUrLCDSADDR1 = (0 x322)1);rLCDSADDR2=M5D(unsigned int)g_unLcdActiveBuffer+(SCR_XSIZE*LCD_YSIZE)1) | (MVAL21);、rLCDSADDR3 = (LCD_XSIZE/2) | ( (SCR_XSIZE-LCD_XSIZE)/2)9 );/The following value has to be changed for better display.rREDLUT =0 xfdb96420; / 1111 1101 1011 1001 0110 0100 0010 0000rG

16、REENLUT=0 xfdb96420; / 1111 1101 1011 1001 0110 0100 0010 0000rBLUELUT =0 xfb40; / 1111 1011 0100 0000rLCDCON1=(0 x1)|(25)|(MVAL_USED7)|(0 x38)|(0 x310)|(CLKVAL_COLOR12);rPDATE=rPDATE&0 x0e;lcd_clr();嵌入式系統(tǒng)期末大作業(yè)8LCDLCD顯示溫度濕度代碼:顯示溫度濕度代碼:/-/顯示溫度濕度/-void word_view320 x240 x256(UINT8T *pBuffer)UINT32

17、T i, j;UINT32T *pView = (UINT32T*)g_unLcdActiveBuffer;for (i = 0; i SCR_XSIZE * SCR_YSIZE / 4; i+)*pView = (*pBuffer) 24) + (*(pBuffer+1) 16) + (*(pBuffer+2) 8) + (*(pBuffer+3);pView+;pBuffer += 4;相應(yīng)溫度處理與轉(zhuǎn)換子程序:相應(yīng)溫度處理與轉(zhuǎn)換子程序: /存放讀取到的當(dāng)前溫度值,未轉(zhuǎn)換 static U16 a-temp-now8=8*0 /存放經(jīng)精度計(jì)算后的實(shí)際溫度值,高8位整數(shù)部分,低8位小數(shù)部分

18、static U16 b-temp-now8=8*0; /存放8路轉(zhuǎn)換后溫度值,分別為百位,十位,個(gè)位,小數(shù)位 static U8 temp-convent-all32=32*0; /- /溫度處理與轉(zhuǎn)換子程序 /- void temp-change(void) U8 negtive=0 x00; /存放數(shù)的符號(hào),若為正=0;若為負(fù),=0 xff U8 j=0; U8 *pt=temp-convent-all; U16 *p1=a-temp-now; U16 *p3=b-temp-now; U16 temp=0; 本科生畢業(yè)論文(設(shè)計(jì))題目9 9for(j=0;j8;j+) negative

19、=0 x00; temp=*p1; /若溫度為負(fù)值,進(jìn)行相應(yīng)處理 if(temp&0 xf80) !=0) temp=(temp)+1;/轉(zhuǎn)為正的原碼 negative=0 xff; / 同時(shí)置符號(hào)為0 xff /根據(jù)精度消除無關(guān)數(shù)據(jù) switch(a-temp-prec) case 0 x1f: /精度為9位,則清除最低3位無效位 temp=temp&0 xfff8;break; case 0 x3f: /精度為10位,則清除最低2位無效位 temp=temp&0 xfffc;break; case 0 x5f: /精度為11位,則清除最低1位無效位 temp=temp&0 xfffe;break; case 0 x7f: /精度為12位 break; /換算成實(shí)際溫度,并擴(kuò)大10倍,去掉小數(shù)部分 嵌入式系統(tǒng)期末大作業(yè)10temp=(U16)(float)(temp)*0.625); /折算放入b-temp-now 數(shù)組中 /高8位放整數(shù)部分,低8位放小數(shù)部分,最高位放符號(hào)位 if(negtive= 0 xff) /若為負(fù)值 *p3=(temp/10)8)|(temp%10)|0 x8000; else *p3=(temp/10)0;j-) *p1+=0 x0; 本科生畢業(yè)論文(設(shè)計(jì))題目1111第第 4 章章 實(shí)驗(yàn)結(jié)果及結(jié)果分析實(shí)驗(yàn)結(jié)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論