版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、南京航空航天大學(xué)研究生實(shí)驗報告項目名稱:ARM嵌入式系統(tǒng)設(shè)計與應(yīng)用技術(shù)設(shè)計專題:綜合實(shí)驗二類:數(shù)據(jù)采集和顯示系統(tǒng)班級:小組成員(1)姓名:學(xué)號:學(xué)科:電話:Email:導(dǎo)師:(2)姓名:學(xué)號:學(xué)科:電話:Email:導(dǎo)師:(3)姓名:學(xué)號:學(xué)科:電話:Email:導(dǎo)師:20XX年XX月XX日一、本實(shí)驗主要內(nèi)容及要求本次綜合實(shí)驗的主要內(nèi)容是,利用ARM內(nèi)部的A/D轉(zhuǎn)換器進(jìn)行數(shù)據(jù)采集和顯示系統(tǒng)設(shè)計。實(shí)驗要求如下:1、采用STM32開發(fā)板上的12位A/D轉(zhuǎn)換器(參考電壓3.3V)采集電位器測試點(diǎn)的電壓值。電位器與A/D的輸入通道14相連接。2、當(dāng)按下Key鍵之后任意旋轉(zhuǎn)電位器,利用A/D轉(zhuǎn)化器采樣2
2、0組電壓值(每1ms采樣一次,使用定時器TIM2計時),并在液晶屏幕上顯示當(dāng)前電壓值,當(dāng)再次按下Key鍵之后將20組電壓值存入到FLASH中。3、復(fù)位后按下Temper鍵將保存的20組電壓值在液晶屏幕中央繪制出波形(要求各點(diǎn)連接,每個點(diǎn)為5個像素,要有坐標(biāo)系)。1)橫坐標(biāo)為T20”,每個橫坐標(biāo)之間的間隔為8個像素點(diǎn);2)縱坐標(biāo)為電壓值“0V,1V,2V,3V,4V”,相鄰坐標(biāo)之間的為10個像素點(diǎn)。4、在液晶屏合適的位置顯示組名、姓名、學(xué)號、開發(fā)日期等信息??衫肧TM32開發(fā)板的資源擴(kuò)展其他自定義功能(如增加溫度采集通道、當(dāng)前采樣頻率顯示和設(shè)置、采樣率調(diào)節(jié)等)。二、硬件框圖本次實(shí)驗的硬件部分主
3、要是計算機(jī)和STM32兩個部分,對于計算機(jī)部分不做過多的介紹,下面著重介紹STM32中的與本實(shí)驗相關(guān)模塊。1.1ADC模塊12位ADC是一種逐次逼近型模擬數(shù)字轉(zhuǎn)換器。它有多達(dá)18個通道,可測量16個外部和2個內(nèi)部信號源。各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。ADC的結(jié)果可以左對齊或右對齊方式存儲在16位數(shù)據(jù)寄存器中。模擬看門狗特性允許應(yīng)用程序檢測輸入電壓是否超出用戶定義的高/低閥值。ADC的輸入時鐘不得超過14MHz,它是由PCLK2經(jīng)分頻產(chǎn)生。STM32教學(xué)平臺的電位器是信號是連接到STM32的PC4口的,PC4正好是A/D轉(zhuǎn)換的通道14,STM32實(shí)驗教學(xué)平臺上也標(biāo)注了AD
4、C12_14(14通道),電位器硬件框圖如圖1所示,ADC硬件框圖如圖1所示。圖1ADC硬件框圖1.2Flash存儲模塊STM32F103ZET6有3個SPI,分別為SPI1、SPI2和SPI3。其中SP2和I2S2,SPI3和I2S3共用管腳,采用SPI功能還是I2S功能是由SPI_I2S_CFGR寄存器的第11位I2SMOD來決定的。SPI_I2S配置寄存器(SPI_I2S_CFGR),如下圖3所示。其中I2SMODE位為1時表示選擇I2S模式,為0時表示選擇SPI模式。.in_尸1-1廠=A.1Try'"II1°1I!H占-I:W41HlTLsu在STM32開
5、發(fā)板上,是采用STM32的SPI1連接SPIFLASH的,如圖2所示STM32與M25P80的IO接口對應(yīng)關(guān)系如表1所示。<Ffah_$CK/riEiP.V圖2STM32的SPI1硬件框圖STM32按u£轉(zhuǎn)何專FM接u兀特PB2CCS)S幷lift號PA5(SPlL_SUk)c(申廿時鐘】FA6(SPELMFSO)Q(串片趺軀輪出)PA7(SPEIMOSI)D(審懺扛祕崔入)通常的按鍵所用開關(guān)為機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時,由于機(jī)械觸點(diǎn)的彈性作用,一個按鍵開關(guān)在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,為了不產(chǎn)生這種
6、現(xiàn)象而作的措施就是按鍵消抖。消抖是為了避免在按鍵按下或是抬起時電平劇烈抖動帶來的影響。按鍵的消抖,可用硬件或軟件兩種方法。Key硬件框圖如圖3所示,按鍵輸入與PG8口連接。當(dāng)按鍵不按下時,PG8口輸入高電平;當(dāng)按鍵按下時,PG8口輸入低電平。圖3Key硬件框圖41.4定時器STM32有4個定時器單元,一共有8個定時器。定時器1和定時器8構(gòu)成功能強(qiáng)大的高級定時器,這兩個定時器在電機(jī)控制方面有絕對的優(yōu)勢。其他剩下的定時器是通用定時器。STM32的定時器除了可以計時外,還可以捕獲比較。這些定時器具有捕獲比較功能,同時還有一些特殊的工作模式。如在捕獲模式下,定時器將啟用一個輸入過濾器和一個特殊的PWM
7、測量模塊,同時還支持編碼器輸入,這些編碼輸入可以測出電機(jī)的旋轉(zhuǎn)方向甚至可以測出速度。而在比較模式下,定時器可以實(shí)現(xiàn)標(biāo)準(zhǔn)的比較功能、輸可以調(diào)節(jié)占空比的PWM波。STM32定時器內(nèi)部結(jié)構(gòu),如圖4所示。圖4STM32定時器內(nèi)部結(jié)構(gòu)三、程序流程圖1、主程序流程圖圖5主程序的流程框圖如圖5所示,對于該流程框圖的分析如下:1)對STM32的初始化,其中包括ADC初始化、SPI串口初始化、LCD初始化等,初始化過程在其相應(yīng)的子程序中執(zhí)行。2)顯示組員的信息和時間,正如實(shí)驗七所學(xué)的,運(yùn)用函數(shù)LCD_ShowString(),即可在LCD上顯示自己所需要的信息,其顯示的位置可以根據(jù)設(shè)定的坐標(biāo)來設(shè)置。3)設(shè)置Ke
8、y鍵,當(dāng)Key鍵被按下時,開始采集數(shù)據(jù)并將其顯示,而數(shù)據(jù)采集和顯示的編程及其分析過程在前面的實(shí)驗七中已經(jīng)有過比較詳細(xì)的介紹了,所以這里不再贅述。同時,采集到的數(shù)據(jù)及時的將其存儲在Flash中,F(xiàn)lash的設(shè)置在其初始化中已經(jīng)完成。4)設(shè)置Temper鍵,當(dāng)Temper鍵被按下的時候,開始對之前采集到的數(shù)據(jù)進(jìn)行繪圖,而繪圖的過程在之后的子程序中有比較詳盡地介紹,這里也不在作詳細(xì)的說明。2、子程序流程圖對于采集20組數(shù)據(jù)并顯示、20組數(shù)據(jù)繪圖兩個子程序進(jìn)行詳細(xì)地說明如下:1)采集20組數(shù)據(jù)并顯示子程序。ADC數(shù)據(jù)采集的編程在之前的實(shí)驗中已經(jīng)介紹過,STM32芯片的ADC轉(zhuǎn)換模塊是12位的逐次逼近,
9、所以在采集到14通道的數(shù)據(jù)除以4096(212),同時應(yīng)當(dāng)熟悉ADC轉(zhuǎn)換的初始化過程,在采集一個數(shù)據(jù)之后,將其保存在flash中,同時經(jīng)過一定的延時之后進(jìn)行下一個數(shù)據(jù)采集,直到采集滿20個數(shù)據(jù)為止,流程圖如圖6所示。圖6采集數(shù)據(jù)并顯示子程序流程圖2)將20組數(shù)據(jù)繪圖。在采集完20組數(shù)據(jù)后,進(jìn)入繪圖子程序,繪圖最初是進(jìn)行坐標(biāo)的建立,坐標(biāo)軸繪制好之后,依次讀取存入Flash中的數(shù)據(jù),并通過計算將其轉(zhuǎn)換成坐標(biāo)系中相應(yīng)的坐標(biāo)值,并通過函數(shù)LCD_DrawLine(X1,Y1,X2,Y2)將其顯示出來,直到繪制完20個數(shù)據(jù)為止,流程圖如圖7所示。圖7數(shù)據(jù)繪制子程序四、實(shí)驗結(jié)果和分析1、軟件的調(diào)試結(jié)果將程
10、序燒錄到STM32中進(jìn)行調(diào)試,調(diào)試結(jié)果如圖89所示,從圖中可知,程序滿足實(shí)驗要求。圖8顯示日期及組員信息圖9顯示電壓值及數(shù)據(jù)繪圖2、結(jié)果分析如調(diào)試結(jié)果可知,程序基本上滿足了本實(shí)驗的要求,其中,20個數(shù)據(jù)的值是通過擰動電位器上的旋轉(zhuǎn)鍵而得到的,在采樣周期和操作人員擰動速度合適的情況下,數(shù)據(jù)所繪的圖有一定的連續(xù)性。如果設(shè)置的采樣周期太短的話,繪制的圖就可能是一條直線,采集的數(shù)據(jù)是相同的值,所以在編程的時候,盡量把采樣時間設(shè)置的合理一點(diǎn)。在編寫顯示組員信息的程序時,重要的是把坐標(biāo)點(diǎn)設(shè)置合理,不然的話會出現(xiàn)顯示的字母重疊現(xiàn)象,或是離的比較遠(yuǎn),上面的調(diào)試結(jié)果圖是經(jīng)過組員對程序的坐標(biāo)的調(diào)整,而得到的比較合
11、適的位置。五、源程序清單#include"include.h"#defineKEY_ON0#defineKEY_OFF1floatset_valuel;floatGet_adcvaluel;floatADC_Flash20;voidDraw_BigPoint(u16x,u16y)LCD_DrawPoint(x,y);LCD_DrawPoint(x-1,y);LCD_DrawPoint(x+1,y);LCD_DrawPoint(x,y-1);LCD_DrawPoint(x,y+1);intmain(void)inti;intsectorCnt;u32Flash_ID;char
12、j=0;charflag=0;u16X1,Y1,X2,Y2;floatAdc_Value,lastvalue,adctemp;floatadcgroup20;u32ADC_ConvertedValue;charfilename260;delay_init();uart_init(9600);NVIC_Configuration();Key_GPIO_Config();Adc_Init();LCD_Init();SPI_FLASH_Init();TIM2_Int_Init(9999,71999);LED_GPIO_Config();Flash_ID=SPI_FLASH_ReadID();POIN
13、T_COLOR=BLACK;LCD_ShowString(40,5,"The11thGroup,2014.5.28");LCD_ShowString(30,30,"ChenMaowuSX1403012");LCD_ShowString(30,50,"ZengRuipengSX1403006");LCD_ShowString(30,70,"GeZhishangSX1405117");while(1)if(Key_Scan(GPIOG,GPIO_Pin_8)=KEY_ON)LCD_Clear(WHITE);POINT_
14、COLOR=GREEN;LCD_DrawLine(60,200,240,200);LCD_ShowString(40,195,"0V");LCD_DrawLine(60,200,60,110);LCD_DrawLine(58,180,62,180);LCD_ShowString(40,175,"1V");LCD_DrawLine(58,160,62,160);LCD_ShowString(40,155,"2V");LCD_DrawLine(5&140,62,140);LCD_ShowString(40,135,"3V
15、");LCD_DrawLine(58,120,62,120);LCD_ShowString(40,115,"4V");LCD_ShowString(36,100,"Voltage");LCD_DrawLine(100,198,100,202);LCD_ShowString(96,205,"5");LCD_DrawLine(140,198,140,202);LCD_ShowString(136,205,"10");LCD_DrawLine(180,198,180,202);LCD_ShowString(17
16、6,205,"15");LCD_DrawLine(220,198,220,202);LCD_ShowString(216,205,"20");if(flag=0)for(j=0;jv20;j+)ADC_ConvertedValueGet_Adc(ADC_Channel_14);Adc_Value=(float)ADC_ConvertedValue/4096*3.3;adcgroupj=Adc_Value;sprintf(filename,"CurrentValue:%.3f",adcgroupj);LCD_ShowString(30,
17、60,filename);POINT_COLOR=BLUE;X1=68+8*j;Y1=200-20*Adc_Value;Draw_BigPoint(X1,Y1);delay_ms(1000);if(flag=1)sectorCntsizeof(adcgroup)/SPI_FLASH_SectorSize;if(sizeof(adcgroup)%SPI_FLASH_SectorSize!=0)sectorCnt+;for(i=0;i<sectorCnt;i+)SPI_FLASH_SectorErase(i*SPI_FLASH_SectorSize);for(j=0;j<20;j+)s
18、et_value0=adcgroupj;SPI_FLASH_BufferWrite(u8*)set_value,4*j,sizeof(float);LCD_Clear(WHITE);POINT_COLOR=RED;LCD_ShowString(60,120,"HaveStoredInFlash!");flag=!flag;if(Key_Scan(GPIOC,GPIO_Pin_13)=KEY_0N)for(j=0;jv20;j+)SPI_FLASH_BufferRead(u8*)Get_adcvalue,4*j,4);ADC_Flashj=Get_adcvalueO;POIN
19、T_COLOR=GREEN;LCD_DrawLine(60,200,240,200);LCD_ShowString(40,195,"OV");LCD_DrawLine(60,200,60,110);LCD_DrawLine(58,180,62,180);LCD_ShowString(40,175,"1V");LCD_DrawLine(58,160,62,160);LCD_ShowString(40,155,"2V");LCD_DrawLine(58,140,62,140);LCD_ShowString(40,135,"3V");LCD_DrawLine(58,120,62,120);LCD_ShowString(40,115,"4V");LCD_ShowString(36,100,"Voltage");LCD_DrawLine(100,198,100,202);LCD_ShowString(96,205,"5");LCD
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村環(huán)境衛(wèi)生整治工程實(shí)施方案
- 外墻裝飾藝術(shù)施工方案
- 礦山安防設(shè)備故障處置預(yù)案
- 物業(yè)管理安全管理制度及突發(fā)事件應(yīng)急預(yù)案
- 學(xué)校附近房屋租用協(xié)議書
- 智能家居施工合同
- 2024至2030年中國鈷基合金電焊條數(shù)據(jù)監(jiān)測研究報告
- 2024至2030年中國線槽二通數(shù)據(jù)監(jiān)測研究報告
- 2024至2030年中國塑制拋光刷數(shù)據(jù)監(jiān)測研究報告
- 2024年中國骨封袋市場調(diào)查研究報告
- 煤礦采掘大數(shù)據(jù)分析與應(yīng)用
- 2024重度哮喘診斷與處理中國專家共識解讀課件
- 種植土回填施工方案
- 老年專科護(hù)理考試試題
- 2024年浙江杭州錢塘新區(qū)城市發(fā)展集團(tuán)限公司招聘30人公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 成人住院患者靜脈血栓栓塞癥Caprini、Padua風(fēng)險評估量表
- 排球《正面上手發(fā)球》教案
- 股骨粗隆間骨折
- 小班安全我要跟著老師走
- (正式版)JBT 14795-2024 內(nèi)燃機(jī)禁用物質(zhì)要求
- 基于核心素養(yǎng)初中數(shù)學(xué)跨學(xué)科教學(xué)融合策略
評論
0/150
提交評論