芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

芯片解密stm32单片机的智能血压计程序原理图

芯片解密单片机源程序如下:

  1. /* Includes ------------------------------------------------------------------*/
  2. #include "main.h"
  3. #include "adc.h"
  4. #include "i2c.h"
  5. #include "rtc.h"
  6. #include "tim.h"
  7. #include "usart.h"
  8. #include "gpio.h"

  9. /* Private includes ----------------------------------------------------------*/
  10. /* USER CODE BEGIN Includes */
  11. #include "oled.h"        // OLED显示屏头文件
  12. #include "stdio.h"       // 标准输入输出头文件
  13. #include "rtc.h"         // 实时时钟头文件
  14. #include "led.h"         // LED控制头文件
  15. #include "key.h"         // 按键控制头文件
  16. #include "ds18B20.h"     // DS18B20温度传感器头文件
  17. #include "eeprom.h"      // EEPROM存储器头文件
  18. //#include "adc0832.h"     // ADC0832模数转换器头文件
  19. #include "string.h"      // 字符串处理头文件
  20. /* USER CODE END Includes */

  21. /* Private typedef -----------------------------------------------------------*/
  22. /* USER CODE BEGIN PTD */

  23. /* USER CODE END PTD */

  24. /* Private define ------------------------------------------------------------*/
  25. /* USER CODE BEGIN PD */
  26. #define SAMPLE_COUNT 20 // 采样次数,调整此值以改变采样率
  27. uint8_t screen = 0; // 当前显示的界面:0表示第一个界面,1表示第二个界面,2表示第三个界面
  28. /* USER CODE END PD */

  29. /* Private macro -------------------------------------------------------------*/
  30. /* USER CODE BEGIN PM */

  31. /* USER CODE END PM */

  32. /* Private variables ---------------------------------------------------------*/

  33. /* USER CODE BEGIN PV */
  34. RTC_DateTypeDef GetData;  // 获取日期结构体
  35. RTC_TimeTypeDef GetTime;  // 获取时间结构体
  36. uint32_t key_Tick;        // 按键时间标志
  37. uint16_t adc_value;       // ADC读取值

  38. uint8_t saveEEPROM = 0;          // 保存EEPROM标志
  39. uint8_t showEEPROM = 0;          // 显示EEPROM标志
  40. uint8_t eepromDisplayed = 0; // 新增变量,用于标记EEPROM值是否已显示
  41. uint8_t measureInProgress = 0;   // 测量进行中的标志
  42. uint16_t highPressure = 0;       // 高压值
  43. uint16_t lowPressure = 0;        // 低压值
  44. uint16_t adc_values[SAMPLE_COUNT];  // ADC采集的值数组
  45. /* USER CODE END PV */

  46. /* Private function prototypes -----------------------------------------------*/
  47. void SystemClock_Config(void);
  48. /* USER CODE BEGIN PFP */

  49. /* USER CODE END PFP */

  50. /* Private user code ---------------------------------------------------------*/
  51. /* USER CODE BEGIN 0 */
  52. void KEY_Process() // 按键功能处理函数
  53. {
  54.     if (uwTick - key_Tick < 20) return; // 防抖处理,避免误触发
  55.     key_Tick = uwTick; // 记录当前时间
  56.     Key_Read(); // 读取按键状态
  57.     if (Trg & 0x01) // 按键1按下
  58.     {
  59.                 HAL_UART_Transmit(&huart3, (uint8_t*)"B", 1, 50); // 通过串口发送字符'B',语音播报:测量中,不要移动和说话
  60.                 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_SET);
  61.         screen = 1; // 切换到第2个界面
  62.         measureInProgress = 1; // 开始测量
  63.         eepromDisplayed = 0; // 重置EEPROM显示标记
  64.     }
  65.     if (Trg & 0x02) // 按键2按下
  66.     {
  67.         screen = 2; // 切换到第3个界面
  68.                 HAL_UART_Transmit(&huart3, (uint8_t*)"C", 1, 50);
  69.         showEEPROM = 1; // 设置显示EEPROM标志
  70.         eepromDisplayed = 0; // 重置EEPROM显示标记
  71.     }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信