基于STM32单片机的数据采集系统.docxVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[在此处键入] PAGE \* MERGEFORMAT2 1 课程设计要求 基于STM32单片机实现一个数据采集系统,具有数据采集、显示、传输、存储、分析这几个功能。 具体为以下几个功能: 系统上电启动,4个LED灯闪烁1秒,OLED屏显示学号、姓名和杭电LOGO,保持1秒后进入主界面,显示系统名称和功能菜单。通过K1/K2上下选择功能,K3确定进入功能界面。在所有功能界面,默认K4返回主界面。 功能1为系统测试界面,4个LED灯显示流水灯,OLED屏以图形方式显示测试内容,内容包括4个LED灯状态、4个按键状态、AD采样数据、陀螺仪传感器原始数据。单页显示不下时通过K1、K2上下翻页。LED与按键状态可用图形或图片进行显示,AD采样数据以及MPU6050数据可使用柱状图结合文字显示。 功能2为陀螺仪姿态解算界面,OLED显示内容为解算出的MPU6050姿态角数据(pitch俯仰角、roll横滚角和yaw航向角),精确0.1°,并能以其中的某个角度控制4个LED灯的亮度(100%-0%亮度可调)。 功能3为数据传输界面,除了定时向两个串口发送数据,OLED显示内容为:定时发送时间间隔(0.01-1秒)、发送数据格式、发送计数(累计发送数据帧)、接收字节计数。可使用K1调整发送时间间隔,K2切换上传数据格式,K3启动或暂停上传数据。 设计安卓移动端APP软件,能接受单片机通过蓝牙模块上传的数据,并提取出数据帧中的有效数据显示在设备界面中。显示内容包括:4个LED灯状态、4个按键状态、AD采样数据或采样电压值、陀螺仪6轴原始数据及解算姿态角度。 没有安卓设备的同学,可用PC端自编软件替代,接收单片机通过USB串口上传的数据,完成第五项内容要求。 2 系统方案设计(框图、原理图) 硬件系统组成: 1.单片机:STM32F103C8T6,8MHz晶振 2.USB转串口芯片:PL2303SA 3.LDO电源:AMS1117,5V输入3.3V输出 4.LED×4,加1个电源显示 5.按键×4,加1个复位按键 6.精密可调电阻10KΩ 7.IIC接口6轴陀螺仪传感器:MPU-6050 8.IIC接口0.96寸128x64点阵单色OLED 9.HC05蓝牙2.0通信模块 系统框图: 通过AD软件绘制原理图: 软件系统: STM32 开发的集成开发环境(IDE):KEIL(ARM)公司提供的MDK 采用HAL+STM32CubeMX 的组合来替代寄存器操作或者使用标准外设库的开发方式 STM32 的软件调试下载,常见的方法有串口ISP 下载和调试器(仿真器)下载两种。串口ISP 下载需要引出单片机的BOOT0、BOOT1 和串口1,下载时将BOOT0 拉高,BOOT1 拉低,PC 机通过一根USB 转串口线连到单片机的串口1 进行下载。有的电子系统直接将USB 转串口线的功能集成在电路板上,PC 机进行ISP下载时就只需要一根USB 线就可以了。STM32 常用的ISP下载工具有ST 公司官方的Flash Loader Demonstrator和第三方的mcuisp、FlyMcu、sscom 等工具软件。这里我们采用sscom软件进行串口ISP下载。 3 软件设计(软件功能框图、各模块流程图) 采用FreeRTOS,将功能划分为多个任务,每个任务负责实现其中的一部分,每个任务都是一个很简单的程序,通常是一个死循环。 使用FreeRTOS 开启三个任务实现数据采集、上传、按键动作和界面显示等综合功能,主任务负责MPU6050 数据采集和数据上传、按键任务负责按键扫描和按键动作处理、显示任务负责OLED 屏幕显示刷新。 数据采集和上传任务: 按键处理任务: 显示任务: 初始启动LOGO姓名学号功能在显示任务中实现,之后进入界面选择的循环程序中等待按键选择。 功能1流水灯在按键任务中实现,调用RunLsd()函数;状态和数据显示在DrawScreen1函数中实现; 功能2在DrawScreen2中实现,并使用航向角为参数调用SetPWMLight函数调节LED亮度; 功能3在DrawScreen3函数中将数据采集处理任务中得到的数据传输信息显示在OLED上。 数据采集上传流程: 4 功能测试 以达到三个基本功能要求,并完成PC端上位机接收单片机通过串口上传数据。 功能1: 功能2: 功能3: 上位机测试: 5 课程反馈 在开始的几天,安装好软件,做好准备工作,通过对测试例程学习,比较好地学习STM32的各模块的开发,再学习了大的系统工程的流程结构,更加合理有效地设计出单片机软件系统,再学习上位机的开发,循序渐进,对这门课有更好的认识。通过这几天的学习,我了解了Keil、cube、Qt等软件的使用,学习了STM32的开发流程以及整个

文档评论(0)

ygxt89 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档