![ARM9報告-基于ARM9的數(shù)據(jù)采集應用程序設計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/2286e638-8940-4640-ac67-92a389c240a0/2286e638-8940-4640-ac67-92a389c240a01.gif)
![ARM9報告-基于ARM9的數(shù)據(jù)采集應用程序設計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/2286e638-8940-4640-ac67-92a389c240a0/2286e638-8940-4640-ac67-92a389c240a02.gif)
![ARM9報告-基于ARM9的數(shù)據(jù)采集應用程序設計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/2286e638-8940-4640-ac67-92a389c240a0/2286e638-8940-4640-ac67-92a389c240a03.gif)
![ARM9報告-基于ARM9的數(shù)據(jù)采集應用程序設計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/2286e638-8940-4640-ac67-92a389c240a0/2286e638-8940-4640-ac67-92a389c240a04.gif)
![ARM9報告-基于ARM9的數(shù)據(jù)采集應用程序設計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/2286e638-8940-4640-ac67-92a389c240a0/2286e638-8940-4640-ac67-92a389c240a05.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第1章 需求分析1.1實驗設計題目基于ARM9的數(shù)據(jù)采集應用程序設計。1.2 設計目的鞏固、實踐本課程所學理論知識,由于這門課程是理論與實踐相結(jié)合且實踐性很強的課程,該課程的學習目標是培養(yǎng)學生嵌入式開發(fā)的基本能力,通過實驗設計培養(yǎng)學生查閱、合理運用參考資料的能力。1.3 設計任務及要求1.3.1 設計任務通過S3C2410X(ARM9)的ADC采集實驗箱電位器的值,旋轉(zhuǎn)電位器時可在屏幕上看到當前采集值的變化。實驗箱有三個電位器,學生可自選一個或多個。可增功能:(1)中斷功能:按下中斷按鍵觸發(fā)中斷,中斷時三個LED燈閃爍一次,且屏幕上打印正在中斷的提示。(2)報警功能:設定一個臨界值(如500)
2、,當采集的值超過此臨界值時,燈閃爍報警,三個電位器可與三個燈一一對應。、1.3.2 報告要求(1)實現(xiàn)的功能(2)軟硬件平臺(3)硬件原理分析及原理圖(4)硬件驅(qū)動的實現(xiàn)步驟及分析(5)代碼設計:所有需要編寫的代碼(如adc.c、adc.h、main.c、Makefile等)、代碼的注釋。(6)運行及調(diào)試的步驟(7)心得體會1.4 實驗平臺硬件平臺:博創(chuàng)經(jīng)典UP-NETARM2410實驗箱(S3C2410處理器)。軟件平臺:eclipse+keil+PUTTY(串口調(diào)試助手)。第2章 實驗分析2.1硬件原理在ADC這章中相應的硬件原理圖截圖如下:圖1 硬件原理圖2.2設計原理由硬件原理圖可知A
3、D和DA轉(zhuǎn)化與AIN0,AIN1,AIN2三個引腳有關(guān),在gpio一章中查找可知這三個引腳均不是多功能引腳。在AD和DA轉(zhuǎn)化時也不需要用到時鐘信號。A/D轉(zhuǎn)換器是模擬信號和CPU之間聯(lián)系的接口,它將連續(xù)變化的模擬信號轉(zhuǎn)換為數(shù)字信號,以供計算機和數(shù)字系統(tǒng)進行分析、處理、存儲、控制和顯示。在編寫驅(qū)動是可以通過查找數(shù)據(jù)手冊。2.3選擇通道通過底板AD-DA-CAN圖可知三個ADC電位器對應AINO2,所以選擇通道2。ADCCON5:3=010;ADCCON&=(0x7<<3);ADCCON|=0x1<<4;2.4時鐘配置與分頻ADC控制寄存器(ADCCON)地址為0x
4、58000000。 圖2 ADC控制寄存器圖時鐘配置,CLKCON15 = 0b1,表示使能 CLKCON |= 0x1 << 15;時鐘分頻:圖3 時鐘分頻圖A / D轉(zhuǎn)換器當預定標器值N,預定數(shù)據(jù)值是(N + 1),初始狀態(tài)是0XFF ADCCON14=0b1,ADCCON13:6=0xFF;ADCCON|=0x1<<14;ADCCON|=0xFF<<6;2.5選擇模式(如圖2-3)圖4 選擇模式圖模式選擇:選擇正常模式 ADCCON2=0;ADCCON&=(0x1<<2);2.6設置啟動設置啟動AD轉(zhuǎn)換的方式:讀啟動ADCCON&a
5、mp;=(0x1<<1);啟動AD轉(zhuǎn)換ADCCON|=0X1;2.7實現(xiàn)功能判斷采樣轉(zhuǎn)換完成以及讀取while(!(ADCCON&(1<<15);data=ADCDAT0&0xFFF;2.8列出寄存器列表如下圖ADC控制寄存器:圖5 ADC控制寄存器圖ADC觸摸屏控制寄存器(ADCTSC)如下:圖6 ADC觸摸屏控制寄存器圖ADC啟動延時寄存器(ADCDLY):圖7 DC啟動延時寄存器圖ADC轉(zhuǎn)換數(shù)據(jù)寄存器(ADCDAT0) 如下:圖8 ADC轉(zhuǎn)換數(shù)據(jù)寄存器ADC轉(zhuǎn)換數(shù)據(jù)寄存器(ADCDAT1) 如下:圖9 ADC轉(zhuǎn)換數(shù)據(jù)寄存器2.9相關(guān)寄存器定義圖10
6、 相關(guān)寄存器定義ADC觸摸屏控制寄存器(ADCTSC)地址為0x58000004ADC啟動延時寄存器(ADCDLY) 地址為0x58000008ADC轉(zhuǎn)換數(shù)據(jù)寄存器(ADCDAT0) 地址為0x5800000CADC轉(zhuǎn)換數(shù)據(jù)寄存器(ADCDAT1) 地址為0x58000010時鐘寄存器(CLKCON)地址為0x4C00000C2.10查數(shù)據(jù)手冊根據(jù)底板確定與AIN0有關(guān)在gpio中查找AIN0查找結(jié)果如下圖:圖11 在gpio中查找AIN0查找結(jié)果圖第三章 實驗步驟以及相關(guān)程序設計3.1 eclipse工程運行步驟3.1.1啟動串口調(diào)試首先連接串口線,一端連實驗箱的RS232-0,另一端連電腦
7、主機的串口。雙擊桌面的,出現(xiàn)下圖界面:圖12 雙擊后的界面圖選中Serial,如下圖所示:圖13選中Serial后的界面圖將“9600”改為“115200”,如下圖所示:圖14將“9600”改為“115200”后的界面圖點擊左邊樹形列表中的“Serial”:圖15 點擊左邊樹形列表中的“Serial”后的界面圖將右邊最后一項改為“None”:圖16將右邊最后一項改為“None”的界面圖點擊“Open”按鈕,出現(xiàn)如下串口調(diào)試界面:圖17 出現(xiàn)如下串口調(diào)試界面的界面圖撥動實驗箱電源開關(guān),若串口調(diào)試界面中有如下顯示,表示串口通了,配置好了:圖18撥動實驗箱電源開關(guān)的界面圖按電腦鍵盤的任意鍵,光標停在
8、vivi處,等待eclipse程序運行。3.1.2啟動H-JTAG先確定實驗箱電源打開,并口線連接好,然后單擊“開始->所有程序->H-JTAG->H-JTAG”,可以自動檢測到CPU類型,如下:圖19 自動檢測到CPU類型的界面圖3.1.3運行Eclipse工程以及編寫相關(guān)程序創(chuàng)建Eclipse工程,雙擊桌面的eclipse。圖20 雙擊后的界面圖選擇工作空間(存放源代碼及工程文件的地方),點擊OK按鈕,打開如下界面:圖21選擇工作空間的界面圖進入主界面后,單擊File ->New-> C Project菜單項,Eclipse將打開一個標準對話框,輸入proje
9、ct_s3c2410 (希望新建工程的名字)單擊Finish即可創(chuàng)建一個新的工程,建議對每個新建工程使用獨立的文件夾。創(chuàng)建Keil工程,點擊如下菜單:圖22進入如下界面:圖23進入主界面后的界面圖點擊Next按鈕,如下圖圖24點擊Next按鈕的界面圖選擇S3C2410A設備,點擊Finish按鈕,這時會打開keil軟件,關(guān)閉keil工程。添加文件到工程??截惱蠋煱l(fā)的工程文件夾“project_s3c2410空”中的所有內(nèi)容到D:eclipse_projects_cygproject_s3c2410工程目錄下,在Eclipse軟件下,按F5刷新工程目錄,再按照上課講的新建文件夾和文件,添加程序,
10、按ctrl+s保存,按ctrl+b編譯工程。調(diào)試工程,點擊下圖菜單:圖25添加程序的界面圖右鍵單擊,下面紅顏色部分:圖26右鍵單擊的界面圖出現(xiàn)如下菜單:圖27 出現(xiàn)的界面圖點擊New菜單,出現(xiàn)如下界面:圖28點擊New菜單后的界面圖點擊Browse.,出現(xiàn)下面界面:圖29點擊Browse.后的界面圖選中l(wèi)ed,點擊OK按鈕,出現(xiàn)如下界面:圖30選中l(wèi)ed點擊OK按鈕的界面圖點擊Browse.,出現(xiàn)下面界面:圖31點擊Browse.后的界面圖選中l(wèi)ed.uvproj,然后點擊OK按鈕,出現(xiàn)如下界面:圖32選中l(wèi)ed.uvproj的界面圖點擊Target Options按鈕,出現(xiàn)如下界面:圖33
11、點擊Target Options按鈕的界面圖選擇Output標簽,界面如下:圖34選擇Output標簽的界面圖點擊Select Folder for Objects按鈕,出現(xiàn)如下界面:圖35 點擊Select Folder for Objects的界面圖點擊向上按鈕,如下圖:圖36點擊向上按鈕的界面圖點擊OK按鈕,出現(xiàn)如下界面:圖37點擊OK按鈕的界面圖點擊Debug標簽,出現(xiàn)如下界面:圖38點擊Debug標簽的界面圖選擇H-JTAG ARM,然后點擊OK按鈕,出現(xiàn)如下界面:圖39選擇H-JTAG ARM的界面圖點擊Debug按鈕,開始調(diào)試程序,如下圖:圖40點擊Debug按鈕的界面圖出現(xiàn)下圖
12、的對話框時,點“Yes”。圖41 出現(xiàn)的界面圖調(diào)試成功時出現(xiàn)下圖的界面:圖42 調(diào)試成功時的界面圖點擊綠色三角“運行”按鈕,看實驗箱上的運行效果。點擊紅色方塊“停止”按鈕,停止運行。3. 2打開軟件新建一個c project工程,將第三次試驗(I/O口,串口,中斷)的文件復制到該工程,并刪除創(chuàng)建的工程,刷新界面,獲取之前的實驗目錄。3.3相關(guān)寄存器定義 工程->include文件夾->adc文件夾->adc.h,在adc.h中添加:#define ADCCON (*(volatile unsigned int *)0x58000000)/adc控制寄存器#define ADC
13、TSC (*(volatile unsigned int *)0x58000004)/adc觸摸屏控制寄存器#define ADCDLY (*(volatile unsigned int *)0x58000008)/adc啟動或間延時寄存器#define ADCDAT0 (*(volatile unsigned int *)0x5800000C)/adc轉(zhuǎn)化數(shù)據(jù)寄存器0#define ADCDAT1 (*(volatile unsigned int *)0x58000010)/adc轉(zhuǎn)化數(shù)據(jù)寄存器1#define CLKCON (*(volatile unsigned int *)0x4C00
14、000C)int adc_read(void);/讀取模擬型號void adc_init(void); /A/D轉(zhuǎn)化初始化3.3.1實現(xiàn)驅(qū)動在工程中新建drivers文件夾,在drivers中新建adc文件夾,在adc中新建adc.c文件,在adc.c中添加如下代碼:#include "adc/adc.h"void adc_init(void)/時鐘配置,CLKCON15 = 0b1,表示使能 CLKCON |= 0x1 << 15;/時鐘分頻ADCCON14=0b1,ADCCON13:6=0xFF;ADCCON|=0x1<<14;ADCCON|=0
15、xFF<<6;/通道選擇,選擇通道2,ADCCON5:3=010;ADCCON&=(0x7<<3);ADCCON|=0x1<<4;/模式選擇:選擇正常模式 ADCCON2=0;ADCCON&=(0x1<<2);/設置啟動AD轉(zhuǎn)換的方式:讀啟動ADCCON&=(0x1<<1);/啟動AD轉(zhuǎn)換ADCCON|=0X1;int adc_read(void) int data;/啟動AD轉(zhuǎn)換ADCCON|=0X1;/判斷采樣轉(zhuǎn)換完成while(!(ADCCON&(1<<15);data=ADCDAT0
16、&0xFFF;/啟動AD轉(zhuǎn)換ADCCON|=0X1;return data;3.3.2編寫main.c common文件夾-> main.c,在main.c中添加:#include "adc/adc.h"#include "uart/uart.h"#include "key/key.h"#include "gpio/led.h"int main(void) uart_init(); led_init(); key_init(); adc_init(); while(1) /讀寫采樣值 int ch,i
17、=0,j=0; ch=adc_read(); printf("%dn",ch); return 0;void do_irq(void) /中斷采樣值部分int src = INTOFFSET;int i;printf("中斷操作中:do irq n");/打印中斷switch (src) case 4:key_isr();led_off();for(i=0;i<1000000;i+);led_on();for(i=0;i<1000000;i+);break;INTPND |= 1 << src;3.3.3修改兩個Makefile
18、復制工程中common文件夾中的Makefile文件到drivers->key中, 在drivers->adc下的Makefile中找到:“COBJS:=”改為:COBJS:= adc.o /即將adc.c編譯成adc.o 找到“LIB=” 改為:LIB= libadc.a /將adc.o生成庫文件libadc.a 找到工程中的Makefile文件,在其中添加:LIBS += drivers/adc/libadc.a /將libadc.a 鏈接到工程中3.3.4保存文件并編譯3.4創(chuàng)建Keil工程打開eclipse中run->debug configurations,右擊Vision project創(chuàng)建New Browse選中adc,點擊Target Options,打開out
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育行業(yè)在線教育平臺的課程評價體系方案
- 造價咨詢合同
- 2025年天津貨運從業(yè)資格證模擬試題答案解析大全
- 2025年寧德貨物運輸駕駛員從業(yè)資格考試系統(tǒng)
- 電子消費券采購合同(2篇)
- 電力電量分配合同(2篇)
- 電池焊接維修合同(2篇)
- 2024年高考歷史二輪復習“12+2+3”專項練第46題選做題專練
- 2024-2025學年四年級語文上冊第五單元19奇妙的國際互聯(lián)網(wǎng)教案2蘇教版
- 2024-2025學年高中化學第二章化學反應與能量第二節(jié)化學能與電能2發(fā)展中的化學電源課時訓練含解析新人教版必修2
- 早點出租承包合同(2篇)
- 施工現(xiàn)場人力資源施工機具材料設備等管理計劃
- 第八章《運動和力》達標測試卷(含答案)2024-2025學年度人教版物理八年級下冊
- 初二物理彈力知識要點及練習
- QE工程師簡歷
- 復合材料成型工藝及特點
- 輔音和輔音字母組合發(fā)音規(guī)則
- 2021年酒店餐飲傳菜員崗位職責與獎罰制度
- 最新船廠機艙綜合布置及生產(chǎn)設計指南
- 可降解塑料制品項目可行性研究報告-完整可修改版
- 《三希堂法帖》釋文匯總
評論
0/150
提交評論