基于某STM32单片机地大数据采集系统_第1页
基于某STM32单片机地大数据采集系统_第2页
基于某STM32单片机地大数据采集系统_第3页
基于某STM32单片机地大数据采集系统_第4页
基于某STM32单片机地大数据采集系统_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用标准文档1课程设计要求基于STM3弹片机实现一个数据采集系统,具有数据采集、显示、传输、存储、分析这几个功能。具体为以下几个功能:1、 系统上电启动,4个LED丁闪烁1秒,OLEt显示学号、姓名和杭电LOGQ保持1秒后进入主界面,显示系统名称和功能菜单。通过K1/K2上下选择功能,K3确定进入功能界面。在所有功能界面,默认K4返回主界面。2、 功能1为系统测试界面,4个LED灯显示流水灯,OLEEW以图形方式显示测试内容,内容包括4个LED灯状态、4个按键状态、AD采样数据、陀螺仪传感器原始数据。单页显示不下时通过K1、K2上下翻页。LED与按键状态可用图形或图片进行显示,AD采样数据以及

2、MPU605散据可使用柱状图结合文字显示。3、 功能2为陀螺仪姿态解算界面,OLED1示内容为解算出的MPU605喧态角数据(p4ch俯仰角、roll横滚角和yaw航向角),精确0.1°,并能以其中的某个角度控制4个LED灯的亮度(100%-0喊度可调)。4、 功能3为数据传输界面,除了定时向两个串口发送数据,OLEES示内容为:定时发送时间问隔(0.01-1秒)、发送数据格式、发送计数(累计发送数据帧)、接收字节计数。可使用K1调整发送时间问隔,K2切换上传数据格式,K3启动或暂停上传数据。5、 设计安卓移动端APP软件,能接受单片机通过蓝牙模块上传的数据,并提取出数据帧中的有效数

3、据显示在设备界面中。显示内容包括:4个LED灯状态、4个按键状态、AD采样数据或采样电压值、陀螺仪6轴原始数据及解算姿态角度。6、 没有安卓设备的同学,可用PC端自编软件替代,接收单片机通过USB用口上传的数据,完成第五项内容要求。2系统方案设计(框图、原理图)硬件系统组成:1 .单片机:STM32F103C8T68MH磊振2 .USB转用口芯片:PL2303SA3 .LDO电源:AMS11175V输入3.3V输出4 .LEDX4,力口1个电源显示5 .按键X4,加1个复位按键6 .精密可调电阻10KQ7 .IIC接口6轴陀螺仪传感器:MPU-60508 .IIC接口0.96寸128x64点阵

4、单色OLED9.HC05蓝牙2.0通信模块文案大全在此处键入系统框图通过AD软件绘制原理图:7打g:AWstVWWX3TMU¥DO3EJ0JKijLTJU«eit-rnbcuovti:_zsTiA234匚口il工口0M"3TlFtiTIMPAJTCEVMLKFA;'JZ33DwuiBri.Txra软件系统:1. STM32开发的集成开发环境(IDE):KEIL(ARM公司提供的MDK2. 采用HAL+STM32CubeMX组合来替代寄存器操作或者使用标准外设库的开在此处键入发方式3. STM32的软件调试下载,常见的方法有串口ISP下载和调试器(仿真器)下

5、载两种。串口ISP下载需要引出单片机的BOOT0BOOT1和串口1,下载时将BOOTCB高,BOOT1拉低,PC机通过一根USB转用口线连到单片机的串口1进行下载。有的电子系统直接将USB转用口线的功能集成在电路板上,PC机进行ISP下载时就只需要一根USB线就可以了。STM32常用的ISP下载工具有ST公司官方的FlashLoaderDemonstrator和第三方的mcuisp、FlyMcu、sscom等工具软件。这里我们采用sscom®C件进彳T串口ISP下载。3软件设计(软件功能框图、各模块流程图)采用FreeRTOS将功能划分为多个任务,每个任务负责实现其中的一部分,每个任

6、务都是一个很简单的程序,通常是一个死循环。低忧先抑仟葬怔行兀翅厂务中嘛服箸程序IKK中心服务叟序使用FreeRTOS开启三个任务实现数据采集、上传、按键动作和界面显示等综合在此处键入功能,主任务负责MPU605吸据采集和数据上传、按键任务负责按键扫描和按键动作处理、显示任务负责OLED屏幕显示刷新。数据采集和上传任务:/*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隹收到一行-数pri口tfLralJjuff=%s",rjQJjuff:/打印输出接收内容UartSSendStr(char*rxl_buff;/同时将短据发送绐串口2HiHmuHiHHunnflnnn博建戴奈江再/memset(rxlufffL5:z-af湾空丰口1浜与区psuf=rxl2fcurf;/

8、主而再丰11麦吠尬书泊存放而叶生向笔-M整存的头部(ShuiartL>->i:RxBuffFtr=pEuf;/重产号E口1行行体的法收胃冲指针击向母;中城泪去三linelag=0;用口据UE标志法等+_nR号vCqhet;)一iftline_ria(j2)"如索串二二排葭到一行砧提prinrf7'rK2buff-5铲,rx3_Mff;/打印登收内害到串口1nnnuuHHfi/ui/niHHHn度收效有处理/nienset(rx2_buff,sizeof(xx2_buffI;/清交中口工陵存区pBuf2-«2_buff;/重新将串口可接收敷据的存放指针指向

9、接收缓存的头部huart2)->pRxBurntr=pBuf2;垄:勃将虫口2思构体中的会收第;中指升指向3冲数包头烹llne_flag2=;*匚2接收稀土清军+q_nRevCount;)Iftriit_ok!=HAL_mt)/如果本口1接收中新还没有焙助*登试再次启动rxit_ck=HAL_UART_fteeeive_lTt&hiiarrljrnfiufj,1);if(riit_ak2!=_flAL_OK)"一如果本口2金收中断诬没有启动,尝试再次启动rxlt_ak2=hAL_UARTReceivet*rtthuart2,panfi,1);二上(C_JftpnbJr)

10、7,如禀正UE。5d田始化戌为HFiJ_Qetc.aTa(1;分读取;专感再数里it(HAL&et>=oldticlc+gn3ejdTim.e)&工qbSenzil(oldtitk=HALGetTick1)iii(VaKpiok)if(grtastyle)/二笄式化计算豆数福德sprintffbuf,"7ysfIfXr",gadval*3.3/419厮fhx,fAYrfz);elseh格式让原始芍市噢sprintffbuf,”¥MY,3d,Nd,“泮d,就t*心工才。gddvalfax,ay,日“gxrgy,gz);H同时将字符丰堂送到出口1

11、和二口2printf("Vs",l)uf);uar12s&ndstr(buf;+g_nS?n!iC3unt;J_osJelay(-);“格式化状态帧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按键处理任务: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数据径输界面itHAL_GeDlick()>oldCi_Ck*,I_cldticx-;RHnL3d);fi济北rr)awi-ch(iayaefakilt:Er±ak;caae心”切热发送时间间隔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:切换发送数据格式jnDataStyle=!_nData5tyle;breek;ease3:启动,客等发送j_bSend-!g_bSend;printf("bsend

16、-%dnT,g_bSer.d);breek;case 4:5_nScrean=3;break;)break;)osEelav(1);/*USERCODEENDStartKeyTask*/显示任务:/*Bt;a£rT;D£epT?ask.luaet-xcii*/voidiSMr'SL-iapTaaJL(T±idCOMt*axg-umen1(/*U3ERCODEBEGINStartDispTaskTI>ED_QPIO_Ttiit(»3etLED3(CxFIT);/史新设置4工吏丁灯状态adDeLy(2rjr*);34LLEE3(CjlOD);o

17、»L-«lay(250):SatlS(CXFS)J/重新设直4个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导/*JtlIiziiteAo;3p*/for(;J)ItGtrrei=ao;/白司川营E-士三邑国3wi_tcH.m_sSlcZJZ=已口)J1c-abt0£/面Drawsexeen0(J;breakjcase1s测试界而Drawscr&Qnl()jtreat;caseZrH姿态艇算.狎国Dxacx»»n2()jbreak,ca曰0箝:/数香传播号而口工占*济u工君日口M();break*1GL'I_Vpdate(>H即断屏MoaDalay(1>j)U8ERCODEENDfltHrtDiffploak*f在此处键入初始启动LOGO生名学号功能在显示任务中实现,之后进入界面选择的循环程序中等待按键选择。功能1流水灯在按键任务中实现,调用RunLsd()函数;状态和数据显示在DrawScreenl函数中实现;功能2在DrawScreen2中实现,并使用航向角为参数调用SetPWMLight函数调节LED亮度;功能3在DrawScreen3函数中将数据采集处理任务中得到的数据传输信息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论