找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4241|回复: 3
收起左侧

STM32单片机+ADS1292测温度心率步数源程序 2020电赛A题

  [复制链接]
ID:490361 发表于 2020-10-17 16:56 | 显示全部楼层 |阅读模式
最终实现步数测量、距离测量、温度测量,并且在手机和OLED屏幕上实时显示当前的运动信息,心电图由于无心电图模拟设备,无心电测量标准线线,不好调试,但有波在手机上显示,可能需要自己调试
蓝牙上位机.jpg

STM32单片机源程序如下:
  1. //-----------------------------------------------------------------
  2. // 程序描述:
  3. //    - ADS1292模块测试实验
  4. // 版    本: V1.0
  5. // 调试工具: 凌智STM32核心开发板、LZE_ST LINK2、USB转串口模块、ADS1292模块
  6. // 说    明:
  7. //                                         (1)接口说明
  8. //                                                ADS1292模块            核心板
  9. //                                                   PWDN                           ->                           PA0
  10. //                                             START              ->                           PA1
  11. //                                                   CS                                   ->                           PA2
  12. //                                                   DRDY                           ->                           PA3
  13. //                                                   SCLK                           ->                           PA5
  14. //                                                   DOUT                           ->                           PA6
  15. //                                                   DIN                            ->                           PA7
  16. //              5V                                         ->                           +5V
  17. //                                                  GND                                        ->                                 GND
  18. //
  19. //                                         USB转串口模块           核心板
  20. //                                                        RXD                                        ->                                PA9
  21. //                                                        TXD                                        ->                                PA10
  22. //                                                        GND                                        ->                                GND
  23. //                                   (2)显示说明
  24. //                                                使用串口调试助手显示
  25. //-----------------------------------------------------------------

  26. //-----------------------------------------------------------------
  27. // 头文件包含
  28. //-----------------------------------------------------------------
  29. #include "stm32f10x.h"
  30. #include "Delay.h"
  31. #include "EXTInterrupt.h"
  32. #include "LED.h"
  33. #include "lze_lcd.h"
  34. #include "usart.h"         
  35. #include "ADS1292.h"        
  36. #include "spi.h"
  37. #include "PeripheralInit.h"
  38. #include "usart3.h"
  39. #include "adc.h"
  40. #include "exti.h"
  41. #include "lmt70.h"
  42. #include "oled.h"
  43. #include "mpu6050.h"
  44. #include "mpuiic.h"
  45. #include "inv_mpu.h"
  46. #include "inv_mpu_dmp_motion_driver.h"
  47. #include "algorithm.h"


  48. s32        p_Temp[2];        //数据缓存(有符号)

  49. extern int heart_test;

  50. int read_data(void);

  51. unsigned long step_num=0;
  52. extern int meter;
  53. extern int temp_usart;
  54. //-----------------------------------------------------------------
  55. // 主程序
  56. //-----------------------------------------------------------------
  57. int main(void)
  58. {        
  59.   NVIC_Configuration();
  60.   uart3_init(115200);                                                        // 串口初始化
  61.   GPIO_ADS1292_Configuration();                // ADS1292引脚初始化
  62.   SPI1_Init();                                                                                // SPI1初始化
  63.   ADS1292_PowerOnInit();
  64.   OLED_Init();                   //=====OLED初始化
  65.   OLED_Clear();                                                                         //=====OLED清屏
  66.         MPU_Init();                                                                     //=====初始化MPU6050
  67.         mpu_dmp_init();                                                                 //=====初始化MPU6050的DMP模式        
  68.    
  69.    MPU6050_EXTI_Init();
  70.     Adc_Init();
  71.         OLED_ShowString(0,0,"Pitch:",12);
  72.         OLED_ShowString(0,2,"meter:",12);
  73.         OLED_ShowString(0,4,"temp:",12);
  74.         OLED_ShowString(0,6,"step:",12);
  75.     dmp_set_pedometer_step_count(step_num);

  76.   while (1);
  77. }
  78. int read_data()
  79. {
  80.   static u8 read_data[9];                                                                          // 数据缓存区  
  81.   static u32 ch1_data;
  82.   static u32 ch2_data;
  83.   static u32 ch1_data_del;
  84.   static u32 ch2_data_del;
  85.    
  86.   int quyu;
  87.   
  88.   ch1_data=0;  
  89.   ch2_data=0;
  90.    ADS1292_Read_Data(read_data);
  91.                
  92.                 // 计算ADS1292通道1的数据-呼吸阻抗测量
  93.     ch1_data |= (uint32_t)read_data[3] << 16;
  94.     ch1_data |= (uint32_t)read_data[4] << 8;
  95.     ch1_data |= (uint32_t)read_data[5] << 0;

  96.                 // 计算ADS1292通道2的数据-心电图测量
  97.     ch2_data |= (uint32_t)read_data[6] << 16;
  98.     ch2_data |= (uint32_t)read_data[7] << 8;
  99.     ch2_data |= (uint32_t)read_data[8] << 0;
  100.    
  101.     ch1_data_del=ch1_data^0x800000;  
  102.     ch2_data_del=ch2_data^0x800000;
  103.    
  104. //    ch1_data_del=ch1_data_del%32760;      
  105. //    quyu=ch2_data_del%30000;

  106.         p_Temp[0] = get_volt(ch1_data_del);        //把采到的3个字节转成有符号32位数  为什么要变成4个字节?
  107.         p_Temp[1] = get_volt(ch2_data_del);        //把采到的3个字节转成有符号32位数
  108.               
  109.     x_test();
  110.    
  111.     quyu=heart_test;
  112.    
  113.     return quyu;
  114. }
  115. //-----------------------------------------------------------------
  116. // End Of File
  117. //-----------------------------------------------------------------
复制代码
51hei.png
所有资料51hei提供下载:
51黑电子.7z (2.21 MB, 下载次数: 172)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:851926 发表于 2020-11-30 19:16 | 显示全部楼层
楼主,您能帮忙弄一套ads1292的51单片机的A/D代码
回复

使用道具 举报

ID:851926 发表于 2020-11-30 19:24 | 显示全部楼层
楼主,您好,您能帮忙弄一套ads1292的51单片机A/D代码 吗?
回复

使用道具 举报

ID:650653 发表于 2020-12-22 18:39 | 显示全部楼层
文件里有PCB的相关文件吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表