ARM9報(bào)告-基于ARM9的數(shù)據(jù)采集應(yīng)用程序設(shè)計(jì)_第1頁
ARM9報(bào)告-基于ARM9的數(shù)據(jù)采集應(yīng)用程序設(shè)計(jì)_第2頁
ARM9報(bào)告-基于ARM9的數(shù)據(jù)采集應(yīng)用程序設(shè)計(jì)_第3頁
ARM9報(bào)告-基于ARM9的數(shù)據(jù)采集應(yīng)用程序設(shè)計(jì)_第4頁
ARM9報(bào)告-基于ARM9的數(shù)據(jù)采集應(yīng)用程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第1章需求分析1.1 實(shí)驗(yàn)設(shè)計(jì)題目基于ARM9勺數(shù)據(jù)采集應(yīng)用程序設(shè)計(jì)。1.2 設(shè)計(jì)目的鞏固、實(shí)踐本課程所學(xué)理論知識(shí),由于這門課程是理論與實(shí)踐相結(jié)合且實(shí)踐性很強(qiáng)的課程,該課程的學(xué)習(xí)目標(biāo)是培養(yǎng)學(xué)生嵌入式開發(fā)的基本能力,通過實(shí)驗(yàn)設(shè)計(jì)培養(yǎng)學(xué)生查閱、合理運(yùn)用參考資料的能力。1.3 設(shè)計(jì)任務(wù)及要求1.3.1 設(shè)計(jì)任務(wù)通過S3c2410X(ARM9的ADC采集實(shí)驗(yàn)箱電位器的值,旋轉(zhuǎn)電位器時(shí)可在屏幕上看到當(dāng)前采集值的變化。實(shí)驗(yàn)箱有三個(gè)電位器,學(xué)生可自選一個(gè)或多個(gè)??稍龉δ埽?1)中斷功能:按下中斷按鍵觸發(fā)中斷,中斷時(shí)三個(gè)LED燈閃爍一次,且屏幕上打印正在中斷的提示。(2)報(bào)警功能:設(shè)定一個(gè)臨界值(如500),

2、當(dāng)采集的值超過此臨界值時(shí),燈閃爍報(bào)警,三個(gè)電位器可與三個(gè)燈一一對(duì)應(yīng)。、1.3.2報(bào)告要求(1) 實(shí)現(xiàn)的功能(2) 軟硬件平臺(tái)(3) 硬件原理分析及原理圖(4) 硬件驅(qū)動(dòng)的實(shí)現(xiàn)步驟及分析(5) 代碼設(shè)計(jì):所有需要編寫的代碼(如adc.c、adc.h、main.c、Makefile等)、代碼的注釋。(6) 運(yùn)行及調(diào)試的步驟(7) 心得體會(huì)1.4實(shí)驗(yàn)平臺(tái)硬件平臺(tái):博創(chuàng)經(jīng)典UP-NETARM241或驗(yàn)箱(S3c2410處理器)。軟件平臺(tái):eclipse+keil+PUTTY(串口調(diào)試助手)。第2章實(shí)驗(yàn)分析2.1 硬件原理在ADC章中相應(yīng)的硬件原理圖截圖如下:圖1硬件原理圖2.2 設(shè)計(jì)原理由硬件原理圖可

3、知AD和DA轉(zhuǎn)化與AIN0,AIN1,AIN2三個(gè)引腳有關(guān),在gpio一章中查找可知這三個(gè)引腳均不是多功能引腳。在AD和DA轉(zhuǎn)化時(shí)也不需要用到時(shí)鐘信號(hào)。A/D轉(zhuǎn)換器是模擬信號(hào)和CPU之間聯(lián)系的接口,它將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),以供計(jì)算機(jī)和數(shù)字系統(tǒng)進(jìn)行分析、處理、存儲(chǔ)、控制和顯示。在編寫驅(qū)動(dòng)是可以通過查找數(shù)據(jù)手冊(cè)。2.3 選擇通道通過底板AD-DA-CAN可知三個(gè)ADC電位器對(duì)應(yīng)AINO2,所以選擇通道2。ADCCON53=010;ADCCON&=(0x73);ADCCON|=0x14;2.4 時(shí)鐘配置與分頻ADC$制寄存器(ADCCQN地址為0x58000000。ADC(Slouch

4、Screen)115ControlPCLKintoADCblock.0=Disable,1=Enable1圖2ADC控制寄存器圖時(shí)鐘配置,CLKCON15=0b1,表示使能CLKCON|=0x115;時(shí)鐘分頻:市5CVL1136JAllconvprtArprescalervM汜Datavalue:1255Motethat枷國nfaclorisiN-r)wlienthepnescalefvalueisN.NOTE:ADCfrequencyshouldbesetIc&sthanPCLKby6(Ex.PCLK-10MHz,ADCFrequency/2MH/GxFFA/D轉(zhuǎn)換器當(dāng)預(yù)定標(biāo)器值N,預(yù)定數(shù)據(jù)

5、值是(N+1),初始狀態(tài)是0XFFADCCON14=0b1,ADCCON13:6=0xFF;ADCCON|=0x114;ADCCON|=0xFF6;2.5 選擇模式(如圖2-3)STDBM2Standbymadeselect,10-Normaloperationinode1二Stardbymode圖4選擇模式圖模式選擇:選擇正常模式ADCCON2=0;ADCCON&=(0x12);2.6 設(shè)置啟動(dòng)設(shè)置啟動(dòng)AD轉(zhuǎn)換的方式:讀啟動(dòng)ADCCON&=(0x11);啟動(dòng)AD轉(zhuǎn)換ADCCON|=0X1;2.7 實(shí)現(xiàn)功能判斷采樣轉(zhuǎn)換完成以及讀取while(!(ADCCON&(1ebkI口n夕.0-RE1紇e

6、IFprm?e-w-s1erf用5n-ooirwoEmdPRSCEN1*VOCCM1Mieta-rLBSWlliWeTKBbfe06注匕。1-EnatiSeiRRSCVLAjDpkssiuaiArwialuiA.口#eiMlmi.1-登融dOEAUWIdntfiiioniLacHSiAKH-1)iwr-ura2i.Z.HOTfc-AtlGiTAQUPEC/B-llOU*ldlgBrttoEbitryJtlrnB.=4EnRCLX.ICIMHe.AIKQmFFSSLMLIK1631A110irtpuiOCK3-AIMQoai川*i-AIMZgi1,AIN“1WJ工AIW41Q1*AIN&150,

7、AIN昨111-典m70STDBiM閉31KltNkMTnHilopemllonmcMfe1,SltindtiyTiode1陽2二START1|A/D8ngi3453通行FodL0-.DwsbisetaFlh,road口penHgn1-Ervabrifi*3iltsytQE_ZA&LJSTART(0)Gonvts-rBlGjnv-Carts;Es-oianf)Ifilntrit.IfRFAD_START巾叫卜出口式而gw*itrui*bopAfiatjcai-i1wA/DQGfirxinabartAantsEheitunhs0(VP=Ertemalwkagci)1nYPONoulpulis-1

8、(Yl5由connedwithAiM5i.1XMi_SEN向匕cioutpuivaijeorXMON0*XKlOhQUtpULla0(XMHkZJ.1=XMQHwlpulIE1XM=GNQioXF_$ENHl部nifiGrwu4麗lnq面rffiiPOJ0rtXPOTJOLrffaLi|WIXP-ExLerriaJ1MPCMndbputkft1(XPA&cahnMtedwflhA1N7UlVEULJ產(chǎn)同PulO-upMiluhenable.0工XPenable1xppai-up日證ehei1AUTQ_PaTPMtGEAlmlyMJiquanDmgconmrkriofKipoastionnnd拿

9、二曄,幅on。事NormalACconvraiqo1=Aufci(SequeniQiiX/PosdxnGonwersioinModeXY_PSTsMsnusirrefi&jremenlofK-;poJlkncrVpositon00NaoptiPiidJanmode01KgBrtlMmMMJWnfK10 =V-pogiiionmBacummerrl11 -MdEilmg1orlintemjcCModoWOFElinAuksmcnlw,ADCTSCregate#iiouldbe-e-oxljfiguredbefcreread口ziefaLion.圖6ADC觸摸屏控制寄存器圖ADC啟動(dòng)延時(shí)寄存器(A

10、DCDLY):ADCSTARTDELAY(ADCDLTlREGISTERRcgiSftrRMDescriptionAC-CDLYMSBOOOOOgFbWADCorin*.如Kay5杳應(yīng)DnOOffADCDLYBit口Men曲wlntnal8ltELAY11501ijNwmiQ)nweranMode.物仲“審pmjmCwite博mModerhMAgio(Sequant.nlX/PoflltinmCor.gMi松曲hX/YPmAdfiCcnveninAlayValue21WailingifbrIrwruptModMienStylusdownoccurain聊art1叫l(wèi)wInlemjptModet

11、trtsr&gWferIrrierruSignaljlNT_TC)MmHaifhmkrAu10JCffRosigcngMrsMNOTE:Dgnetuw加v砥醇(OcQQOOlowr圖7DC啟動(dòng)延時(shí)寄存器圖ADC專換數(shù)據(jù)寄存器(ADCDAT0)如下:ADCC0NYEH3ICNUATAAtKbATO)RLGk1tFRtglMtrAddmiRWVtlMADGDATOOmaBOOOOQCRADGcscnwrwrajS,同峰業(yè)ADCtMTDaa口0時(shí)訶的lnMJa.1期很UPDOWN|1G|UporWgmngUy礴mjprMod4RcwmkIImo)RawedYPDAT*僧叼Y-pwUunGOrvmSU

12、uDatavfliue:0-3FF-圖9ADC轉(zhuǎn)換數(shù)據(jù)寄存器2.9 相關(guān)寄存器定義AHDconverterADCCON。蜷gg歡Q4-wFVWADCConvnlADCTSC0點(diǎn)B30OD4ADCTouchScreenConrtiolAUGDLVUxStWWJHADCSlktwInternalLJekJyADCDTOX5800000CRADCCorheiTion匚示總ADCDAT1IUxSBOOOOIOADCConversion口源已圖10相關(guān)寄存器定義ADC蟲摸屏控制寄存器(ADCTSC地址為0x58000004ADCB動(dòng)延時(shí)寄存器(ADCDLY)地址為 0x58000008ADC專換數(shù)據(jù)寄存

13、器(ADCDAT0)地址為 0X5800000CADC專換數(shù)據(jù)寄存器(ADCDAT1)地址為 0x58000010時(shí)鐘寄存器(CLKCON地址為0X4C00000C2.10 查數(shù)據(jù)手冊(cè)根據(jù)底板確定與AIN0有關(guān)在gpio中查找AIN0查找結(jié)果如下圖:P52SSCLKJGPE1T2Q6/GPD8U16AJNUP6SDCUD/GPFnT3VQ7flfGPDl3LJ17AIU2P7SDDT2/GPE9T4VD22/PSS1CPD14一圖11在gpio中查找AIN0查找結(jié)果圖第三章實(shí)驗(yàn)步驟以及相關(guān)程序設(shè)計(jì)3.1 eclipse工程運(yùn)行步驟3.1.1 啟動(dòng)串口調(diào)試首先連接串口線,一端連實(shí)驗(yàn)箱的RS232

14、-0,另一端連電腦主機(jī)的串口。雙擊桌面的出現(xiàn)下圖界面:圖12雙擊后的界面圖選中Serial ,如下圖所示:將“9600”改為“115200”,如下圖所示:圖14將“9600”改為“115200”后的界面圖點(diǎn)擊左邊樹形列表中的“Serial圖15點(diǎn)擊左邊樹形列表中的“Serial”后的界面圖將右邊最后一項(xiàng)改為“None:點(diǎn)擊Open”按鈕,出現(xiàn)如下串口調(diào)試界面:1?日立lj1-iiTTV1|W癡圖17出現(xiàn)如下串口調(diào)試界面的界面圖撥動(dòng)實(shí)驗(yàn)箱電源開關(guān),若串口調(diào)試界面中有如下顯示,表示串口通了,配置好了:CDIJ-PnTTT-|X|VIVIver-icii0.141nyjd&lKZ4LLhn3tlIo

15、czaJ_d!UiHla_LxL:iGqu匚version2.9Sa22CDQD51Cfx*lH疸啟自世世耳包二口=to.1.4wel19CST2(17Hmiltablta3addiresj*-g33Mle。0HSucc-edMarxmhHANDdevicc:MnnufactUTeID:OireCjChriID;g76(SamffQ-ngR-9D12C0VOHJ,CuLll-ln-QZfQLLn-a3口amaVivipaj.-uecz:3.口廿七TeH3UJL工Vl-Jlpa二dn匚工當(dāng).firwiDttyoooEtfieratCoBTr*llerHPressReturnto討thT-THUV

16、cmiw,4nyothr*0了forvivicvikhspmtheip圖18撥動(dòng)實(shí)驗(yàn)箱電源開關(guān)的界面圖按電腦鍵盤的任意鍵,光標(biāo)停在vivi處,等待eclipse程序運(yùn)行。3.1.2 啟動(dòng)H-JTAG先確定實(shí)驗(yàn)箱電源打開,并口線連接好,然后單擊“開始-所有程序-H-JTAG-H-JTAG”,可以自動(dòng)檢測(cè)到CPU型,如下:3.1.3 運(yùn)行Eclipse工程以及編寫相關(guān)程序創(chuàng)建Eclipse工程,雙擊桌面的eclipse。圖20雙擊后的界面圖選擇工作空間(存放源代碼及工程文件的地方),點(diǎn)擊OK按鈕,打開如下界面:圖21選擇工作空間的界面圖進(jìn)入主界面后,單擊File-New-CProject菜單項(xiàng),E

17、clipse將打開一個(gè)標(biāo)準(zhǔn)對(duì)話框,輸入project_s3c2410(希望新建工程的名字)單擊Finish即可創(chuàng)建一個(gè)新的工程,建議對(duì)每個(gè)新建工程使用才立的文件夾。創(chuàng)建Keil工程,點(diǎn)擊如下菜單:C/CJ-4lerVs+;11-+.s-Eclipjre-ax|Fill工也tSpjwflifm-zrTEnt門*北gbrjiKi叫弼Ylaiif陋0xwttrenn-nr匚MErl/目r;HCm4:Trflject出CjC-H-1:U:M噸3start.9hd_iviM.b6led3”SdidsledTTpcA6iinixtrvfznr帆flIhdivjf&jnlIthrfsle,42打向IULMJ

18、;二BR1_hdklm/1中,rEmtiiS口M-.-r卜|$Tt-nrt52如以Wf國DinibOiL,抑臚:1,M附由jghAlShtfl+aQ仃口同iMwJwd。強(qiáng)W田機(jī)即i砧面yUVl=3ECIkl-pAltiShkll+lVPjtrwitUpdate司131ML門陽軌匕進(jìn)入如下界面:_,_三-JI-L隹式3ff71小央:HC=EXd圖22F=MTiffionProjectpVtsioiiProjectGeneratorThiswizardcratts/upiatestPVisiomLprojectAdditioCcompilerciptiom0Launch-*-1sionprojec

19、tonFinishC&nctl點(diǎn)擊Next按鈕,如下圖圖24點(diǎn)擊Next按鈕的界面圖選擇S3c2410A設(shè)備,點(diǎn)擊Finish按鈕,這時(shí)會(huì)打開keil軟件,關(guān)閉keil工程。添加文件到工程??截惱蠋煱l(fā)的工程文件夾“project_s3c2410空”中的所有內(nèi)容到D:eclipse_projects_cygproject_s3c2410工程目錄下,在Eclipse軟件下,按F5刷新ctrl+s 保存,按ctrl+b 編譯工程目錄,再按照上課講的新建文件夾和文件,添加程序,按工程。調(diào)試工程,點(diǎn)擊下圖菜單:右鍵單擊,下面紅顏色部分:圖26右鍵單擊的界面圖出現(xiàn)如下菜單:點(diǎn)擊New菜單,出現(xiàn)如下界面:圖

20、28點(diǎn)擊New菜單后的界面圖點(diǎn)擊Browse.,出現(xiàn)下面界面:選中l(wèi)ed,點(diǎn)擊OK按鈕,出現(xiàn)如下界面:圖30選中l(wèi)ed點(diǎn)擊OK按鈕的界面圖點(diǎn)擊Browse.,出現(xiàn)下面界面:圖31點(diǎn)擊Browse.后的界面圖選中l(wèi)ed.uvproj,然后點(diǎn)擊。儂鈕,出現(xiàn)如下界面:口!?”:r-nFii.511at甚匚FJlFErraainagerHmdnvnrciinfirjyratbpi5Llg*圖32選中l(wèi)ed.uvproj的界面圖點(diǎn)擊TargetOptions按鈕,出現(xiàn)如下界面:圖33點(diǎn)擊TargetOptions按鈕的界面圖選才OOutput標(biāo)簽,界面如下:OptT-fnrrd丁依丁百弋十3JC才4II

21、IR圖34選才iOutput標(biāo)簽的界面圖點(diǎn)擊SelectFolderforObjects按鈕,出現(xiàn)如下界面:圖35點(diǎn)擊SelectFolderforObjects的界面圖點(diǎn)擊向上按鈕,如下圖:Brdivf?ipfcijrPnlaJfllder;|Qled二|一電廿匿tlfpl事tivi.diffiinistrat-oruv和i_Adfiiinistr*torUYptuwprojibek匚匚-JnBi匚eEJIslg回國回cprojsct-projiact.ExtDll.iexFathOK點(diǎn)擊OK按鈕,出現(xiàn)如下界面:圖37點(diǎn)擊OK按鈕的界面圖點(diǎn)擊Debug標(biāo)簽,出現(xiàn)如下界面:選才iH-JTAGA

22、RM然后點(diǎn)擊。儂鈕,出現(xiàn)如下界面:圖39選才iH-JTAGARM勺界面圖點(diǎn)擊Debug按鈕,開始調(diào)試程序,如下圖:.feiK餐LIii咯2m2Mn,6rs.工打壯門網(wǎng)“LQli2fc=l:L:-_l2c色llU*r1“回Bh一471山TuEdEHaijuimHUuf.1L.MJ1L*iMil41.113441!演“yjd士IljUJulL勺*1.迪金filET”電07FPjSc1i-jEtllllunB刊正3TbjK-:_a-4ll41fEli:ra:ct:ijlciksLiriTCjd-BMf&t:&i:*PCEEC|旬include文件夾-adc文件夾-adc.h,在adc.h中添加:#d

23、efineADCCON(volatileunsignedint*)0x58000000)adc控制寄存器#defineADCTSC(volatileunsignedint*)0x58000004)adc觸摸屏控制寄存器#defineADCDLY(*(volatileunsignedint*)0x58000008)adc啟動(dòng)或間延時(shí)寄存器#defineADCDAT0(*(volatileunsignedint*)0x5800000C)/adc轉(zhuǎn)化數(shù)據(jù)寄存器0#defineADCDAT1(*(volatileunsignedint*)0x58000010)/adc轉(zhuǎn)化數(shù)據(jù)寄存器1#defineCL

24、KCON(*(volatileunsignedint*)0x4C00000C)intadc_read(void);/讀取模擬型號(hào)voidadc_init(void);/A/D轉(zhuǎn)化初始化3.3.1 實(shí)現(xiàn)驅(qū)動(dòng)在工程中新建drivers文件夾,在drivers中新建adc文件夾,在adc中新建adc.c文件,在adc.c中添加如下代碼:#includeadc/adc.hvoidadc_init(void)/時(shí)鐘配置,CLKCON15=0b1,表示使能CLKCON|=0x115;/時(shí)鐘分頻ADCCON14=0b1,ADCCON13:6=0xFF;ADCCON|=0x114;ADCCON|=0xFF6;

25、/通道選擇,選擇通道2,ADCCON:53=010;ADCCON&=(0x73);ADCCON|=0x14;/模式選擇:選擇正常模式ADCCON2=0;ADCCON&=(0x12);/設(shè)置啟動(dòng)AD專換的方式:讀啟動(dòng)ADCCON&=(0x11);/啟動(dòng)AD專換ADCCON|=0X1;intadc_read(void)intdata;/啟動(dòng)AD專換ADCCON|=0X1;/判斷采樣轉(zhuǎn)換完成while(!(ADCCON&(1main.c,在main.c中添力口:#includeadc/adc.h#includeuart/uart.h#includekey/key.h#includegpio/led.

26、hintmain(void)uart_init();led_init();key_init();adc_init();while(1)讀寫采樣值intch,i=0,j=0;ch=adc_read();printf(%dn,ch);return0;voiddo_irq(void)/中斷采樣值部分intsrc=INTOFFSET;inti;printf(中斷操作中:doirqn);打印中斷switch(src)case4:key_isr();led_off();for(i=0;i1000000;i+);led_on();for(i=0;i1000000;i+);break;INTPND|=1key

27、中,在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鏈接到工程中1.1.4 保存文件并編譯3.4 創(chuàng)建Keil工程打開eclipse中run-debugconfigurations,右擊科Visionproject創(chuàng)建NewBrowse選中adc,點(diǎn)擊TargetOptions,打開output中SelectFolderforObjects.點(diǎn)擊向上按鈕后ok.接著點(diǎn)擊debug選擇H-JTAGARM最后點(diǎn)擊D

溫馨提示

  • 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)論