基于STM32單片機的數據采集系統(tǒng)方案_第1頁
基于STM32單片機的數據采集系統(tǒng)方案_第2頁
基于STM32單片機的數據采集系統(tǒng)方案_第3頁
基于STM32單片機的數據采集系統(tǒng)方案_第4頁
基于STM32單片機的數據采集系統(tǒng)方案_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、word專業(yè)整理1課程設計要求基于STM3彈片機實現一個數據采集系統(tǒng),具有數據采集、顯示、傳輸、存儲、 分析這幾個功能.具體為以下幾個功能:1、 系統(tǒng)上電啟動,4個LED丁閃爍1秒,OLEt顯示學號、姓名和杭電LOGQ保持1秒后進入主界面,顯示系統(tǒng)名稱和功能菜單.通過 K1/K2上下選擇功 能,K3確定進入功能界面.在所有功能界面,默認 K4返回主界面.2、 功能1為系統(tǒng)測試界面,4個LED燈顯示流水燈,OLEEW以圖形方式顯 示測試內容,內容包括4個LED燈狀態(tài)、4個按鍵狀態(tài)、AD采樣數據、陀螺 儀傳感器原始數據.單頁顯示不下時通過K1、K2上下翻頁.LED與按鍵狀態(tài) 可用圖形或圖片進行顯示

2、,AD采樣數據以及MPU605散據可使用柱狀圖結合 文字顯示.3、 功能2為陀螺儀姿態(tài)解算界面,OLED1示內容為解算出的MPU605喧態(tài)角數據p4ch俯仰角、roll橫滾角和yaw航向角,精確0.1 ,并能以其 中的某個角度限制4個LED燈的亮度100%-0喊度可調.4、 功能3為數據傳輸界面,除了定時向兩個串口發(fā)送數據,OLEES示內容為:定時發(fā)送時間問隔0.01-1秒、發(fā)送數據格式、發(fā)送計數累計發(fā)送 數據幀、接收字節(jié)計數.可使用K1調整發(fā)送時間問隔,K2切換上傳數據格 式,K3啟動或暫停上傳數據.5、 設計安卓移動端APP軟件,能接受單片機通過藍牙模塊上傳的數據,并提取出數據幀中的有效數

3、據顯示在設備界面中.顯示內容包括:4個LED燈狀態(tài)、4個按鍵狀態(tài)、AD采樣數據或采樣電壓值、陀螺儀6軸原始數據及解 算姿態(tài)角度.6、 沒有安卓設備的同學,可用 PC端自編軟件替代,接收單片機通過 USB用口上傳的數據,完成第五項內容要求.2系統(tǒng)方案設計框圖、原理圖硬件系統(tǒng)組成:1 .單片機:STM32F103C8T 68MH磊振2 .USB 轉用口芯片:PL2303SA3 .LDO 電源:AMS1117 5V輸入 3.3V 輸出4 .LEDX4,力口 1個電源顯示5 .按鍵X 4,加1個復位按鍵6 .精密可調電阻10KQ7 .IIC 接口 6軸陀螺儀傳感器:MPU-60508 .IIC 接口

4、0.96 寸 128x64 點陣單色 OLED9.HC05藍牙2.0通信模塊學習資料整理分享在此處鍵入系統(tǒng)框圖通過AD軟件繪制原理圖:7 打g: A WstVWWX3TMU DO 3EJ 0 JKijLTJUeit-rn bcuovti:_zsTiA234匚口 il工口0M3TlFti TIMPAJTCE VM LKFA; JZ33Dwui Bri. Txra軟件系統(tǒng):1. STM32開發(fā)的集成開發(fā)環(huán)境IDE: KEIL ARM公司提供的MDK2. 采用HAL+STM32CubeMX組合來替代存放器操作或者使用標準外設庫的開在此處鍵入發(fā)方式3. STM32的軟件調試下載,常見的方法有串口 IS

5、P下載和調試器仿真器下 載兩種.串口 ISP下載需要引出單片機的BOOT0BOOT1和串口 1,下載時將 BOOTCB高,BOOT1拉低,PC機通過一根USB轉用口線連到單片機的串口 1 進行下載.有的電子系統(tǒng)直接將USB轉用口線的功能集成在電路板上,PC機 進行ISP下載時就只需要一根USB線就可以了.STM32常用的ISP下載工具有 ST 公司官方的 Flash Loader Demonstrator 和第三方的 mcuisp、FlyMcu、sscom 等工具軟件.這里我們采用sscomC件進彳T串口 ISP下載.3軟件設計軟件功能框圖、各模塊流程圖采用FreeRTOS將功能劃分為多個任務

6、,每個任務負責實現其中的一局部,每 個任務都是一個很簡單的程序,通常是一個死循環(huán).低憂先抑仟葬怔行兀翅廠務中嘛服箸程序IKK中央效勞叟序使用FreeRTOS開啟三個任務實現數據采集、上傳、按鍵動作和界面顯示等綜合在此處鍵入功能,主任務負責 MPU605吸據采集和數據上傳、按鍵任務負責按鍵掃描和按 鍵動作處理、顯示任務負責OLED屏幕顯示刷新.數據采集和上傳任務:/* starc.DefauItTask functionvdid StartDefultTask (void conat I/* HMliR CODE5 */=har buf UDOJ;uint32_t cldrick -.;HAL

7、ADCEjs Cdl_ijrd_Qn S (thd.dcl);H2LL ADC _Start&二addr (uj.ut32_t *) g valj 2 ;g bMpiok = t*PU_init ();if (g bttpuok)prinlzf I MFUfOSO ir.it. rror! nn :/* Infinite Iq&F */ for;if I line f 加果豐口 1W收到一行-數pri口tf LralJjuff = %s, rjQJjuff:/ 打印輸出接收內容UartSSendStr ( (char * rxl_buf f ;/ 同時將短據發(fā)送紿串口2HiHmuHiHHunn

8、flnn n博建戴奈江再/memset (rxlufff L 5: z-af灣空豐口 1 浜與區(qū)psuf = rxl2fcurf;/ 主而再豐11麥吠尬書泊存放而葉生向筆-M整存的頭部(ShuiartL-i:RxBuffFtr = pEuf; /重產號E 口1行行體的法收胃沖指針擊向母;中城淚去三 linelag = 0;用口工據UE標志法等+_nR號 vCqhet;) 一if tline_ria(j2) 如索串二二排葭到一行砧提prinrf7rK2 buff -5鏟,rx3_Mff;/打印登收內害到串口1nnnuuHHfi/ui/niHHHn度收效有處理/nienset (rx2_buf f

9、,sizeof (xx2_buff I;/ 清交中口工陵存區(qū)pBuf2 - 2_buff;/重新將串口可接收敷據的存放指針指向接收緩存的頭部huart2)-pRxBurntr = pBuf2; 壟:勃將蟲口2思構體中的會收第;中指升指向3沖數包頭烹 llne_flag2 =; *匚2接收稀土清軍+q_nRevCount;)If triit_ok != HAL_mt) /如果本口 1接收中新還沒有焙助*登試再次啟動 rxit_ck = HAL_UART_fteeeive_lTt&hiiarrljr nfiufj, 1);if (riit_ak2 !=_flAL_OK)一如果本口2金收中斷誣沒有啟

10、動,嘗試再次啟動rxlt_ak2 = hAL_UART Receive t*r tthuart2, panfi, 1);二上(C_JftpnbJr) 7,如稟正UE.5d田始化戌為HFiJ_Qetc.aT a(1 ; 分 讀取;專感再數里it ( (HAL &et= oldticlc + g n3ejdTim.e) &工 q bSenzil( oldtitk = HAL GetTick1)i ii (V aKpiok)if (grtastyle) / 二 笄式化計算豆數福德sprintf fbuf, 7ysfIfXr, g adval * 3.3 / 419廝 fhx, fAYr fz);el

11、se h格式讓原始芍市噢sprintf fbuf, MY,3d, Nd,“泮d,就t *心工才.g ddvalf ax, ay,曰“ gxr gy, gz);H 同時將字符豐堂送到出口i和二口a printf (Vs, l)uf);ua r12s &n dst r (bu f;+g_nS?n!iC3unt;J _osJelay(-);“格式化狀態(tài)幀3在此處鍵入spriiitf (buff 7MBDtald- c*7(g Ladsta t OjcCI) ? T : O, (g二Sd百口 l 0x02 ? *1 * : 何二口idsti l 0x041 1 41 r :州,. (匚*日八d & C

12、xOQl W *11 r O, (gi2Keypress.Kl_Pin7fD+:*0*,q附*m&K3二Fin)?TDT:dg-Keypre3&K3 Pin!?TDT:PL(g-Keypres&K4Pin)?TDT:TuTlpriizxf (5, bu);U江工二?39匚d3:工Luf;+g TLSendCouTit;1 siteLay I ; )/* USE口 CODE END 5 */11按鍵處理任務:veld StartK*72asJ Olllitk * JH ( -oLdtick - HAL st;Tickl) ;RunLJd o 1 市水燈剿法DE曲 mxituh (key) id

13、_1 L : 上工三白怔: case 1: cue 2::-5r i break;case i: break;case 4:g_nScreef: - U; S&lLEDS(L xU .); b 工 2k; break case 2: /年算界武 Switch (key) ( default. _ break; esse 1: casg 2: case 3: bxeak; case 4:g_n5cieer = 0; r:rsaj break;Gan七 3 二 H數據徑輸界面 it HAL_GeDlick ( ) oldCi_Ck * ,I _ cldticx - ;RHnL3d); fi 濟北r

14、r)awi-ch (iay aef akilt: Erak; caae心切熱發(fā)送時間間隔x (g_Et自電ndTiffi占 -1DU_ I* g_n;5endTinie - 50;el-?e If (g_n3endTiir 20“g_nS&ndI?nio - 1J .0;else if (g_nSendTinj - 5.) g_ELOsnaTme =2口- ielseg_Ta 3cndT irne1 匚口;pzinf 1 aiaendtii %d r., g_nSon.dTlmB); br&al;在此處鍵入case 2: 切換發(fā)送數據格式 jnDataStyle = ! _nData5tyle

15、; breek;ease 3: 啟動,客等發(fā)送j_bSend - !g_bSend;printf (bsend - %dnT, g_bSer.d); breek;case 4:5_nScrean = 3; break;)break;)osEelav(1);/* USER CODE END StartKeyTask */顯示任務:/ * Bt;arT;DepT?as k. luaet-xcii */void iSMrSL-iapTaaJL(Tid COMt * axg-umen 1(/* U3ER CODE BEGIN StartDispTask TIED_QPIO_Ttiit ( ;3etLE

16、D3 (CxFIT) ; /史新設置4 工吏丁燈狀態(tài)adDeLy(2rjr*);34LLEE3 (CjlOD);oL-lay (250):SatlS (CXFS ) J /重新設直4個LEL 丁狀亦oarDol2y (25 0) i SetLEDS(OxOO); ; / 劇三-顯示nAi_Delay ( oc-o 7 / 期月保持晶木 二 秒 W 導/* JtlIiziite Ao;3p */for(;J)I tGtrr ei=ao ;/白司川營E- 士三 邑國3 w i_ t cH. ?m_sSl cZJZ =已口)J 1c-abt 0 / / 面Draws ex e en 0 (J ;br

17、eakjcase 1 s 測試界而Drawscr&Qnl()j treat;case Zr H 姿態(tài)艇算.狎國Dx a cx n 2 () j break, ca曰0箝:/數香傳播號而 口工占*濟u工君日口M ();b re a k *1GLI_Vpdate ( ; H 即斷屏M oaDalay(1 j) U8ER CODE END fltHrtDi ffploak *f在此處鍵入初始啟動LOGO生名學號功能在顯示任務中實現,之后進入界面選擇的循環(huán)程序 中等待按鍵選擇.功能1流水燈在按鍵任務中實現,調用 RunLsd()函數;狀態(tài)和數據顯示在DrawScreenl函數中實現;功能2在DrawScreen2中實現,并使用航向角為參數調用 SetPWMLight函數調節(jié) LED亮度;功能3在DrawScreen3函數中將數據采集處理任務中得到的數據傳輸信息顯示在OLEDho數據采集上傳流程:官社串? 展吹中斷聿二2

溫馨提示

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

評論

0/150

提交評論