付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)用標(biāo)準(zhǔn)文檔1課程設(shè)計(jì)要求基于STM3彈片機(jī)實(shí)現(xiàn)一個(gè)數(shù)據(jù)采集系統(tǒng),具有數(shù)據(jù)采集、顯示、傳輸、存儲(chǔ)、分析這幾個(gè)功能。具體為以下幾個(gè)功能:1、 系統(tǒng)上電啟動(dòng),4個(gè)LED丁閃爍1秒,OLEt顯示學(xué)號、姓名和杭電LOGQ保持1秒后進(jìn)入主界面,顯示系統(tǒng)名稱和功能菜單。通過K1/K2上下選擇功能,K3確定進(jìn)入功能界面。在所有功能界面,默認(rèn)K4返回主界面。2、 功能1為系統(tǒng)測試界面,4個(gè)LED燈顯示流水燈,OLEEW以圖形方式顯示測試內(nèi)容,內(nèi)容包括4個(gè)LED燈狀態(tài)、4個(gè)按鍵狀態(tài)、AD采樣數(shù)據(jù)、陀螺儀傳感器原始數(shù)據(jù)。單頁顯示不下時(shí)通過K1、K2上下翻頁。LED與按鍵狀態(tài)可用圖形或圖片進(jìn)行顯示,AD采樣數(shù)據(jù)以及
2、MPU605散據(jù)可使用柱狀圖結(jié)合文字顯示。3、 功能2為陀螺儀姿態(tài)解算界面,OLED1示內(nèi)容為解算出的MPU605喧態(tài)角數(shù)據(jù)(p4ch俯仰角、roll橫滾角和yaw航向角),精確0.1°,并能以其中的某個(gè)角度控制4個(gè)LED燈的亮度(100%-0喊度可調(diào))。4、 功能3為數(shù)據(jù)傳輸界面,除了定時(shí)向兩個(gè)串口發(fā)送數(shù)據(jù),OLEES示內(nèi)容為:定時(shí)發(fā)送時(shí)間問隔(0.01-1秒)、發(fā)送數(shù)據(jù)格式、發(fā)送計(jì)數(shù)(累計(jì)發(fā)送數(shù)據(jù)幀)、接收字節(jié)計(jì)數(shù)??墒褂肒1調(diào)整發(fā)送時(shí)間問隔,K2切換上傳數(shù)據(jù)格式,K3啟動(dòng)或暫停上傳數(shù)據(jù)。5、 設(shè)計(jì)安卓移動(dòng)端APP軟件,能接受單片機(jī)通過藍(lán)牙模塊上傳的數(shù)據(jù),并提取出數(shù)據(jù)幀中的有效數(shù)
3、據(jù)顯示在設(shè)備界面中。顯示內(nèi)容包括:4個(gè)LED燈狀態(tài)、4個(gè)按鍵狀態(tài)、AD采樣數(shù)據(jù)或采樣電壓值、陀螺儀6軸原始數(shù)據(jù)及解算姿態(tài)角度。6、 沒有安卓設(shè)備的同學(xué),可用PC端自編軟件替代,接收單片機(jī)通過USB用口上傳的數(shù)據(jù),完成第五項(xiàng)內(nèi)容要求。2系統(tǒng)方案設(shè)計(jì)(框圖、原理圖)硬件系統(tǒng)組成:1 .單片機(jī):STM32F103C8T68MH磊振2 .USB轉(zhuǎn)用口芯片:PL2303SA3 .LDO電源:AMS11175V輸入3.3V輸出4 .LEDX4,力口1個(gè)電源顯示5 .按鍵X4,加1個(gè)復(fù)位按鍵6 .精密可調(diào)電阻10KQ7 .IIC接口6軸陀螺儀傳感器:MPU-60508 .IIC接口0.96寸128x64點(diǎn)陣
4、單色OLED9.HC05藍(lán)牙2.0通信模塊文案大全在此處鍵入系統(tǒng)框圖通過AD軟件繪制原理圖:7打g:AWstVWWX3TMU¥DO3EJ0JKijLTJU«eit-rnbcuovti:_zsTiA234匚口il工口0M"3TlFtiTIMPAJTCEVMLKFA;'JZ33DwuiBri.Txra軟件系統(tǒng):1. STM32開發(fā)的集成開發(fā)環(huán)境(IDE):KEIL(ARM公司提供的MDK2. 采用HAL+STM32CubeMX組合來替代寄存器操作或者使用標(biāo)準(zhǔn)外設(shè)庫的開在此處鍵入發(fā)方式3. STM32的軟件調(diào)試下載,常見的方法有串口ISP下載和調(diào)試器(仿真器)下
5、載兩種。串口ISP下載需要引出單片機(jī)的BOOT0BOOT1和串口1,下載時(shí)將BOOTCB高,BOOT1拉低,PC機(jī)通過一根USB轉(zhuǎn)用口線連到單片機(jī)的串口1進(jìn)行下載。有的電子系統(tǒng)直接將USB轉(zhuǎn)用口線的功能集成在電路板上,PC機(jī)進(jìn)行ISP下載時(shí)就只需要一根USB線就可以了。STM32常用的ISP下載工具有ST公司官方的FlashLoaderDemonstrator和第三方的mcuisp、FlyMcu、sscom等工具軟件。這里我們采用sscom®C件進(jìn)彳T串口ISP下載。3軟件設(shè)計(jì)(軟件功能框圖、各模塊流程圖)采用FreeRTOS將功能劃分為多個(gè)任務(wù),每個(gè)任務(wù)負(fù)責(zé)實(shí)現(xiàn)其中的一部分,每個(gè)任
6、務(wù)都是一個(gè)很簡單的程序,通常是一個(gè)死循環(huán)。低憂先抑仟葬怔行兀翅廠務(wù)中嘛服箸程序IKK中心服務(wù)叟序使用FreeRTOS開啟三個(gè)任務(wù)實(shí)現(xiàn)數(shù)據(jù)采集、上傳、按鍵動(dòng)作和界面顯示等綜合在此處鍵入功能,主任務(wù)負(fù)責(zé)MPU605吸據(jù)采集和數(shù)據(jù)上傳、按鍵任務(wù)負(fù)責(zé)按鍵掃描和按鍵動(dòng)作處理、顯示任務(wù)負(fù)責(zé)OLED屏幕顯示刷新。數(shù)據(jù)采集和上傳任務(wù):/*starc.DefauItTaskfunctionvdidStartDefultTask(voidconatI/*HMliRCODE5*/=harbufUDOJ;uint32_tcldrick-.;HALADCEjsCdl_ijrd_QnS(thd.dcl);H2LLADC_
7、Start&二addr(uj.ut32_t*)gvalj2;gbMpiok=t*PU_init();if(gbttpuok)prinlzfI"MFUfOSOir.it.rror!nn>:/*InfiniteIq&F*/for;ifIlinef加果豐口1隹收到一行-數(shù)pri口tfLralJjuff=%s",rjQJjuff:/打印輸出接收內(nèi)容UartSSendStr(char*rxl_buff;/同時(shí)將短據(jù)發(fā)送紿串口2HiHmuHiHHunnflnnn博建戴奈江再/memset(rxlufffL5:z-af灣空豐口1浜與區(qū)psuf=rxl2fcurf;/
8、主而再豐11麥吠尬書泊存放而葉生向筆-M整存的頭部(ShuiartL>->i:RxBuffFtr=pEuf;/重產(chǎn)號E口1行行體的法收胃沖指針擊向母;中城淚去三linelag=0;用口據(jù)UE標(biāo)志法等+_nR號vCqhet;)一iftline_ria(j2)"如索串二二排葭到一行砧提prinrf7'rK2buff-5鏟,rx3_Mff;/打印登收內(nèi)害到串口1nnnuuHHfi/ui/niHHHn度收效有處理/nienset(rx2_buff,sizeof(xx2_buffI;/清交中口工陵存區(qū)pBuf2-«2_buff;/重新將串口可接收敷據(jù)的存放指針指向
9、接收緩存的頭部huart2)->pRxBurntr=pBuf2;壟:勃將蟲口2思構(gòu)體中的會(huì)收第;中指升指向3沖數(shù)包頭烹llne_flag2=;*匚2接收稀土清軍+q_nRevCount;)Iftriit_ok!=HAL_mt)/如果本口1接收中新還沒有焙助*登試再次啟動(dòng)rxit_ck=HAL_UART_fteeeive_lTt&hiiarrljrnfiufj,1);if(riit_ak2!=_flAL_OK)"一如果本口2金收中斷誣沒有啟動(dòng),嘗試再次啟動(dòng)rxlt_ak2=hAL_UARTReceivet*rtthuart2,panfi,1);二上(C_JftpnbJr)
10、7,如稟正UE。5d田始化戌為HFiJ_Qetc.aTa(1;分讀取;專感再數(shù)里it(HAL&et>=oldticlc+gn3ejdTim.e)&工qbSenzil(oldtitk=HALGetTick1)iii(VaKpiok)if(grtastyle)/二笄式化計(jì)算豆數(shù)福德sprintffbuf,"7ysfIfXr",gadval*3.3/419廝fhx,fAYrfz);elseh格式讓原始芍市噢sprintffbuf,”¥MY,3d,Nd,“泮d,就t*心工才。gddvalfax,ay,日“gxrgy,gz);H同時(shí)將字符豐堂送到出口1
11、和二口2printf("Vs",l)uf);uar12s&ndstr(buf;+g_nS?n!iC3unt;J_osJelay(-);“格式化狀態(tài)幀3在此處鍵入spriiitf(buff"7MBDtald-c*"7(gLadstatOjcCI)?T:'O',(g二Sd百口l0x02?*1*:何二Leesei0x041141r:州,*(匚*日八d&CxOQlW*11r'O',(gi2Keypress.Kl_Pin7fD+:*0*,q附*m&K3二Fin)?TDT:dg-Keypre3&K3Pi
12、n!?TDT:PL(g-Keypres&K4Pin)?TDT:TuTlpriizxf("5",bu£);U江工二?39匚d3:工Luf>;+gTLSendCouTit;1siteLayI;)/*USE口CODEEND5*/11按鍵處理任務(wù):veldStartK*72asJ<(vsidcansr:*arewent!(/*U3ERCODEBE白工XSrartKeyrask*/uint32_toldtick-.;/*Infiniteloop*/tort;)4uint0tkey=ScanKsy();stlteh(g_iiSeren)Idefault:七
13、三注0:/主菜單switchk5ycas=1:4-+gnsel;g_nse'fe=3;bre3k;case2;-g_nsel;g_nse_-gnsel/普*普break;case 3:g_iLScreeE-gnScl+1;bceak;ua與三4;g_nScrfeen-C;bieak;)j?redk;占第1:/i潴試界面irlilAL_jaLTlCk(>>Olllitk*JH(-oLdtick-HALs»t;Tickl);RunLJdo1"市水燈剿法DE曲mxituh(key)id_1L:上工三白怔:case1:cue2::-5ribreak;casei:
14、break;case4:g_nScreef:-U;S&lLEDS(LxU.);b工2k;breakcase2:/年算界武Switch(key)(default._break;esse1:casg2:case3:bxeak;case4:g_n5cieer=0;r:rsa>jbreak;Gan七3二H數(shù)據(jù)徑輸界面itHAL_GeDlick()>oldCi_Ck*,I_cldticx-;RHnL3d);fi濟(jì)北rr)awi-ch(iayaefakilt:Er±ak;caae心”切熱發(fā)送時(shí)間間隔x±(g_Et自電ndTiffi占>-1DU_I*g_n;5e
15、ndTinie-50;el-?eIf(g_n3endTiir«>20“g_nS&ndI?nio-1J.0;elseif(g_nSendTinj®>-5。)g_ELOsnaTme=2口-ielseg_Ta3cndTirne1"匚口;pzinf1aiaendtii»"%dr.",g_nSon.dTlmB);br&al;在此處鍵入case2:切換發(fā)送數(shù)據(jù)格式j(luò)nDataStyle=!_nData5tyle;breek;ease3:啟動(dòng),客等發(fā)送j_bSend-!g_bSend;printf("bsend
16、-%dnT,g_bSer.d);breek;case 4:5_nScrean=3;break;)break;)osEelav(1);/*USERCODEENDStartKeyTask*/顯示任務(wù):/*Bt;a£rT;D£epT?ask.luaet-xcii*/voidiSMr'SL-iapTaaJL(T±idCOMt*axg-umen1(/*U3ERCODEBEGINStartDispTaskTI>ED_QPIO_Ttiit(»3etLED3(CxFIT);/史新設(shè)置4工吏丁燈狀態(tài)adDeLy(2rjr*);34LLEE3(CjlOD);o
17、»L-«lay(250):SatlS(CXFS)J/重新設(shè)直4個(gè)LEL丁狀亦oarDol2y(250)iSetLEDS(OxOO);<5UI_Tnitt);H初的住國筆底ATT(fiRTTTF-.nnT13_!=!im3un12.;SOTDc.h口i七1mp#btnlomn*凸*口):,/信募居中市W4kEW小的Lghg!國片"ffERpip5triFg&t('5ftfg",7?,1";字號姓名上“*2*=/GHtEiapatrinqAt(''15(F,32;gn_U|pdmgf>/劇三-顯示nAi_
18、Delay(oc-o>7/期月保持晶木二秒W導(dǎo)/*JtlIiziiteAo;3p*/for(;J)ItGtrrei=ao;/白司川營E-士三邑國3wi_tcH.m_sSlcZJZ=已口)J1c-abt0£/面Drawsexeen0(J;breakjcase1s測試界而Drawscr&Qnl()jtreat;caseZrH姿態(tài)艇算.狎國Dxacx»»n2()jbreak,ca曰0箝:/數(shù)香傳播號而口工占*濟(jì)u工君日口M();break*1GL'I_Vpdate(>H即斷屏MoaDalay(1>j)U8ERCODEENDfltHrtDiffploak*f在此處鍵入初始啟動(dòng)LOGO生名學(xué)號功能在顯示任務(wù)中實(shí)現(xiàn),之后進(jìn)入界面選擇的循環(huán)程序中等待按鍵選擇。功能1流水燈在按鍵任務(wù)中實(shí)現(xiàn),調(diào)用RunLsd()函數(shù);狀態(tài)和數(shù)據(jù)顯示在DrawScreenl函數(shù)中實(shí)現(xiàn);功能2在DrawScreen2中實(shí)現(xiàn),并使用航向角為參數(shù)調(diào)用SetPWMLight函數(shù)調(diào)節(jié)LED亮度;功能3在DrawScreen3函數(shù)中將數(shù)據(jù)采集處理任務(wù)中得到的數(shù)據(jù)傳輸信息
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車除碳知識培訓(xùn)課件
- 紙尿褲的材質(zhì)創(chuàng)新
- 免疫學(xué)基礎(chǔ):繼發(fā)性免疫缺陷類型課件
- 慢病管理科普方向:慢性肝病隨訪課件
- 中國蕁麻疹診療指南解讀(2018版)
- 出入庫登記制度
- 2025-2030中國豬肉食品行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 公司業(yè)務(wù)提成制度
- 分宜介紹教學(xué)課件
- 供貨商退出和評價(jià)制度
- FZ/T 73009-2021山羊絨針織品
- JJF 1069-2012 法定計(jì)量檢定機(jī)構(gòu)考核規(guī)范(培訓(xùn)講稿)
- GB∕T 5900.2-2022 機(jī)床 主軸端部與卡盤連接尺寸 第2部分:凸輪鎖緊型
- 2011-2015廣汽豐田凱美瑞維修手冊wdl
- DFMEA編制作業(yè)指導(dǎo)書新版
- KTronics籃輸送式洗碗碟機(jī)操作手冊
- DB35∕T 1844-2019 高速公路邊坡工程監(jiān)測技術(shù)規(guī)程
- 城市管理綜合執(zhí)法局城管執(zhí)法與執(zhí)法程序PPT模板
- 閥門基礎(chǔ)知識上
- 第二章注射成型工藝與模具結(jié)構(gòu)
- 工業(yè)廢水深度處理活性焦吸附技術(shù)
評論
0/150
提交評論