版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、南京航空航天大學(xué)研究生實(shí)驗(yàn)報(bào)告項(xiàng)目名稱: ARM嵌入式系統(tǒng)設(shè)計(jì)與應(yīng)用技術(shù) 設(shè)計(jì)專題:綜合實(shí)驗(yàn)二類:數(shù)據(jù)采集和顯示系統(tǒng) 班級(jí) : 小組成員(1)姓名: 學(xué)號(hào): 學(xué)科: 電話: Email: 導(dǎo)師: (2)姓名: 學(xué)號(hào): 學(xué)科: 電話: Email: 導(dǎo)師: (3)姓名: 學(xué)號(hào): 學(xué)科: 電話: Email: 導(dǎo)師: 20XX年XX月XX日一、本實(shí)驗(yàn)主要內(nèi)容及要求本次綜合實(shí)驗(yàn)的主要內(nèi)容是,利用ARM內(nèi)部的A/D轉(zhuǎn)換器進(jìn)行數(shù)據(jù)采集和顯示系統(tǒng)設(shè)計(jì)。實(shí)驗(yàn)要求如下:1、 采用STM32開發(fā)板上的12位A/D轉(zhuǎn)換器(參考電壓3.3V)采集電位器測(cè)試點(diǎn)的電壓值。電位器與A/D的輸入通道14相連接。2、 當(dāng)按下
2、Key鍵之后任意旋轉(zhuǎn)電位器,利用A/D轉(zhuǎn)化器采樣20組電壓值(每1ms采樣一次,使用定時(shí)器TIM2計(jì)時(shí)),并在液晶屏幕上顯示當(dāng)前電壓值,當(dāng)再次按下Key鍵之后將20組電壓值存入到FLASH中。3、 復(fù)位后按下Temper鍵將保存的20組電壓值在液晶屏幕中央繪制出波形(要求各點(diǎn)連接,每個(gè)點(diǎn)為5個(gè)像素,要有坐標(biāo)系)。1) 橫坐標(biāo)為“120”,每個(gè)橫坐標(biāo)之間的間隔為8個(gè)像素點(diǎn);2) 縱坐標(biāo)為電壓值“0V,1V,2V,3V,4V”,相鄰坐標(biāo)之間的為10個(gè)像素點(diǎn)。4、 在液晶屏合適的位置顯示組名、姓名、學(xué)號(hào)、開發(fā)日期等信息??衫肧TM32開發(fā)板的資源擴(kuò)展其他自定義功能(如增加溫度采集通道、當(dāng)前采樣頻率
3、顯示和設(shè)置、采樣率調(diào)節(jié)等)。二、硬件框圖本次實(shí)驗(yàn)的硬件部分主要是計(jì)算機(jī)和STM32兩個(gè)部分,對(duì)于計(jì)算機(jī)部分不做過多的介紹,下面著重介紹STM32中的與本實(shí)驗(yàn)相關(guān)模塊。1.1 ADC模塊12位ADC是一種逐次逼近型模擬數(shù)字轉(zhuǎn)換器。它有多達(dá)18個(gè)通道,可測(cè)量16個(gè)外部和2個(gè)內(nèi)部信號(hào)源。各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。ADC的結(jié)果可以左對(duì)齊或右對(duì)齊方式存儲(chǔ)在16位數(shù)據(jù)寄存器中。模擬看門狗特性允許應(yīng)用程序檢測(cè)輸入電壓是否超出用戶定義的高/低閥值。ADC的輸入時(shí)鐘不得超過14MHz,它是由PCLK2經(jīng)分頻產(chǎn)生。STM32教學(xué)平臺(tái)的電位器是信號(hào)是連接到STM32的PC4口的, PC4
4、正好是A/D轉(zhuǎn)換的通道14,STM32實(shí)驗(yàn)教學(xué)平臺(tái)上也標(biāo)注了ADC12_14(14通道),電位器硬件框圖如圖1所示,ADC硬件框圖如圖1所示。圖1 ADC硬件框圖1.2 Flash存儲(chǔ)模塊STM32F103ZET6有3個(gè)SPI,分別為SPI1、SPI2和SPI3。其中SP2和I2S2,SPI3和I2S3共用管腳,采用SPI功能還是I2S功能是由SPI_I2S_CFGR寄存器的第11位I2SMOD來決定的。SPI_I2S配置寄存器(SPI_I2S_CFGR)昨天 00:52 上傳,如下圖3所示。其中I2SMODE位為1時(shí)表示選擇I2S模式,為0時(shí)表示選擇SPI模式。在STM32開發(fā)板上
5、,是采用STM32的SPI1連接SPI FLASH的,如圖2所示,STM32與M25P80的IO接口對(duì)應(yīng)關(guān)系如表1所示。圖2 STM32的SPI1硬件框圖前天 19:47 上傳下載附件 (28.5 KB) 表1 STM32與M25P80的IO接口對(duì)應(yīng)關(guān)系STM32接口名稱M25P80接口名稱PB2(CS)S(片選信號(hào))PA5(SPI1_SCK)C(串行時(shí)鐘)PA6(SPI1_MISO)Q(串行數(shù)據(jù)輸出)PA7(SPI1_MOSI)D(串行數(shù)據(jù)輸入)1.3 Key按鍵介紹通常的按鍵所用開關(guān)為機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時(shí),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地
6、接通,在斷開時(shí)也不會(huì)一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng),為了不產(chǎn)生這種現(xiàn)象而作的措施就是按鍵消抖。消抖是為了避免在按鍵按下或是抬起時(shí)電平劇烈抖動(dòng)帶來的影響。按鍵的消抖,可用硬件或軟件兩種方法。Key硬件框圖如圖3所示,按鍵輸入與PG8口連接。當(dāng)按鍵不按下時(shí),PG8口輸入高電平;當(dāng)按鍵按下時(shí),PG8口輸入低電平。圖3 Key硬件框圖1.4 定時(shí)器STM32有4個(gè)定時(shí)器單元,一共有8個(gè)定時(shí)器。定時(shí)器1和定時(shí)器8構(gòu)成功能強(qiáng)大的高級(jí)定時(shí)器,這兩個(gè)定時(shí)器在電機(jī)控制方面有絕對(duì)的優(yōu)勢(shì)。其他剩下的定時(shí)器是通用定時(shí)器。STM32的定時(shí)器除了可以計(jì)時(shí)外,還可以捕獲比較。這些定時(shí)器具有捕獲比較功
7、能,同時(shí)還有一些特殊的工作模式。如在捕獲模式下,定時(shí)器將啟用一個(gè)輸入過濾器和一個(gè)特殊的PWM測(cè)量模塊,同時(shí)還支持編碼器輸入,這些編碼輸入可以測(cè)出電機(jī)的旋轉(zhuǎn)方向甚至可以測(cè)出速度。而在比較模式下,定時(shí)器可以實(shí)現(xiàn)標(biāo)準(zhǔn)的比較功能、輸可以調(diào)節(jié)占空比的PWM波。STM32定時(shí)器內(nèi)部結(jié)構(gòu),如圖4所示。圖4 STM32定時(shí)器內(nèi)部結(jié)構(gòu)三、程序流程圖1、主程序流程圖圖5 主程序的流程框圖如圖5所示,對(duì)于該流程框圖的分析如下:1) 對(duì)STM32的初始化,其中包括ADC初始化、SPI串口初始化、LCD初始化等,初始化過程在其相應(yīng)的子程序中執(zhí)行。2) 顯示組員的信息和時(shí)間,正如實(shí)驗(yàn)七所學(xué)的,運(yùn)用函數(shù)LCD_ShowSt
8、ring(),即可在LCD上顯示自己所需要的信息,其顯示的位置可以根據(jù)設(shè)定的坐標(biāo)來設(shè)置。3) 設(shè)置Key鍵,當(dāng)Key鍵被按下時(shí),開始采集數(shù)據(jù)并將其顯示,而數(shù)據(jù)采集和顯示的編程及其分析過程在前面的實(shí)驗(yàn)七中已經(jīng)有過比較詳細(xì)的介紹了,所以這里不再贅述。同時(shí),采集到的數(shù)據(jù)及時(shí)的將其存儲(chǔ)在Flash中,F(xiàn)lash的設(shè)置在其初始化中已經(jīng)完成。4) 設(shè)置Temper鍵,當(dāng)Temper鍵被按下的時(shí)候,開始對(duì)之前采集到的數(shù)據(jù)進(jìn)行繪圖,而繪圖的過程在之后的子程序中有比較詳盡地介紹,這里也不在作詳細(xì)的說明。2、子程序流程圖對(duì)于采集20組數(shù)據(jù)并顯示、20組數(shù)據(jù)繪圖兩個(gè)子程序進(jìn)行詳細(xì)地說明如下:1) 采集20組數(shù)據(jù)并顯
9、示子程序。ADC數(shù)據(jù)采集的編程在之前的實(shí)驗(yàn)中已經(jīng)介紹過, STM32芯片的ADC轉(zhuǎn)換模塊是12位的逐次逼近,所以在采集到14通道的數(shù)據(jù)除以4096(212),同時(shí)應(yīng)當(dāng)熟悉ADC轉(zhuǎn)換的初始化過程,在采集一個(gè)數(shù)據(jù)之后,將其保存在flash中,同時(shí)經(jīng)過一定的延時(shí)之后進(jìn)行下一個(gè)數(shù)據(jù)采集,直到采集滿20個(gè)數(shù)據(jù)為止,流程圖如圖6所示。圖6 采集數(shù)據(jù)并顯示子程序流程圖2) 將20組數(shù)據(jù)繪圖。在采集完20組數(shù)據(jù)后,進(jìn)入繪圖子程序,繪圖最初是進(jìn)行坐標(biāo)的建立,坐標(biāo)軸繪制好之后,依次讀取存入Flash中的數(shù)據(jù),并通過計(jì)算將其轉(zhuǎn)換成坐標(biāo)系中相應(yīng)的坐標(biāo)值,并通過函數(shù)LCD_DrawLine(X1,Y1,X2,Y2)將其
10、顯示出來,直到繪制完20個(gè)數(shù)據(jù)為止,流程圖如圖7所示。圖7 數(shù)據(jù)繪制子程序四、實(shí)驗(yàn)結(jié)果和分析1、軟件的調(diào)試結(jié)果將程序燒錄到STM32中進(jìn)行調(diào)試,調(diào)試結(jié)果如圖89所示,從圖中可知,程序滿足實(shí)驗(yàn)要求。圖8 顯示日期及組員信息圖9 顯示電壓值及數(shù)據(jù)繪圖2、結(jié)果分析如調(diào)試結(jié)果可知,程序基本上滿足了本實(shí)驗(yàn)的要求,其中,20個(gè)數(shù)據(jù)的值是通過擰動(dòng)電位器上的旋轉(zhuǎn)鍵而得到的,在采樣周期和操作人員擰動(dòng)速度合適的情況下,數(shù)據(jù)所繪的圖有一定的連續(xù)性。如果設(shè)置的采樣周期太短的話,繪制的圖就可能是一條直線,采集的數(shù)據(jù)是相同的值,所以在編程的時(shí)候,盡量把采樣時(shí)間設(shè)置的合理一點(diǎn)。在編寫顯示組員信息的程序時(shí),重要的是把坐標(biāo)點(diǎn)設(shè)
11、置合理,不然的話會(huì)出現(xiàn)顯示的字母重疊現(xiàn)象,或是離的比較遠(yuǎn),上面的調(diào)試結(jié)果圖是經(jīng)過組員對(duì)程序的坐標(biāo)的調(diào)整,而得到的比較合適的位置。五、源程序清單12#include "include.h"#define KEY_ON0#define KEY_OFF1float set_value1;float Get_adcvalue1;float ADC_Flash20;void Draw_BigPoint(u16 x,u16 y)LCD_DrawPoint(x,y);LCD_DrawPoint(x-1,y);LCD_DrawPoint(x+1,y);LCD_DrawPoint(x,y-1
12、);LCD_DrawPoint(x,y+1);int main(void)int i;int sectorCnt;u32 Flash_ID;char j=0;char flag=0;u16 X1,Y1,X2,Y2;float Adc_Value,lastvalue,adctemp;float adcgroup20;u32 ADC_ConvertedValue;char filename260;delay_init(); uart_init(9600); NVIC_Configuration(); Key_GPIO_Config();Adc_Init();LCD_Init();SPI_FLASH
13、_Init();/TIM2_Int_Init(9999,71999);LED_GPIO_Config();Flash_ID = SPI_FLASH_ReadID();POINT_COLOR=BLACK;LCD_ShowString(40, 5, "The 11th Group, 2014.5.28");LCD_ShowString(30, 30, "Chen Maowu SX1403012");LCD_ShowString(30, 50, "Zeng Ruipeng SX1403006");LCD_ShowString(30, 70,
14、 "Ge Zhishang SX1405117");while(1) if(Key_Scan(GPIOG, GPIO_Pin_8) = KEY_ON) LCD_Clear(WHITE);POINT_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"); L
15、CD_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_Show
16、String(96, 205, "5"); LCD_DrawLine(140,198, 140, 202);LCD_ShowString(136, 205, "10"); LCD_DrawLine(180,198, 180, 202);LCD_ShowString(176, 205, "15"); LCD_DrawLine(220,198, 220, 202);LCD_ShowString(216, 205, "20");if(flag=0) for(j=0;j<20;j+)ADC_ConvertedValu
17、e = Get_Adc(ADC_Channel_14);Adc_Value= (float)ADC_ConvertedValue / 4096 * 3.3; adcgroupj=Adc_Value;sprintf(filename,"Current Value:%.3f",adcgroupj);LCD_ShowString(30,60,filename);POINT_COLOR=BLUE;X1=68+8*j;Y1=200-20*Adc_Value;Draw_BigPoint(X1,Y1);delay_ms(1000); if(flag=1)sectorCnt = sizeo
18、f(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+)set_value0=adcgroupj;SPI_FLASH_BufferWrite(u8*)set_value, 4*j, sizeof(float);LCD_Clear(WHITE);POINT_COLOR=R
19、ED;LCD_ShowString(60, 120, "Have Stored In Flash!");flag=!flag; if(Key_Scan(GPIOC, GPIO_Pin_13) = KEY_ON)for(j=0;j<20;j+)SPI_FLASH_BufferRead(u8*)Get_adcvalue, 4*j, 4);ADC_Flashj=Get_adcvalue0;POINT_COLOR=GREEN;LCD_DrawLine(60, 200, 240, 200);LCD_ShowString(40, 195, "0V");LCD_
20、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, "
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度新能源技術(shù)股份合作開發(fā)合同3篇
- 2025年度離婚協(xié)議中未成年人監(jiān)護(hù)權(quán)及撫養(yǎng)權(quán)爭(zhēng)議調(diào)解書6篇
- 二零二五年供用電合同擔(dān)保與電力設(shè)施建設(shè)合作協(xié)議3篇
- 淘寶小白運(yùn)營(yíng)課程設(shè)計(jì)
- 2025版綠色食品認(rèn)證家禽養(yǎng)殖訂購協(xié)議
- 2025年度新型城鎮(zhèn)化項(xiàng)目驗(yàn)收委托合同3篇
- 二零二五年度多功能辦公用品定制加工合作協(xié)議3篇
- 二零二五年度影視劇臨時(shí)演員表演權(quán)益合同3篇
- 機(jī)械操作工安全技術(shù)操作規(guī)程(3篇)
- 2025年建筑施工企業(yè)安全生產(chǎn)許可證制度(2篇)
- 無人機(jī)應(yīng)用技術(shù)概論-第-1-章-緒論
- 二年級(jí)數(shù)學(xué)上冊(cè)100道口算題大全 (每日一套共25套)
- 【安踏集團(tuán)國(guó)際化戰(zhàn)略環(huán)境的PEST分析及SWOT分析4100字(論文)】
- 污水廠智慧化運(yùn)維模式與績(jī)效評(píng)估
- 清熱解毒片的復(fù)方配伍研究
- 智慧農(nóng)業(yè)總體實(shí)施方案(2篇)
- 北師大版五年級(jí)上冊(cè)第四單元多邊形的面積
- 2024年大學(xué)試題(宗教學(xué))-佛教文化筆試參考題庫含答案
- MOOC 理論力學(xué)-國(guó)防科技大學(xué) 中國(guó)大學(xué)慕課答案
- 《植物生產(chǎn)與環(huán)境》專業(yè)知識(shí)考試題庫大全-中(多選題)
- JTG F90-2015 公路工程施工安全技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論