项目功能实现说明:

1、oled显示图片

初始化oled屏幕

void Oled_Init(void)
{Oled_Pin_Init();OLED_RES_H;Delay_ms(100);OLED_RES_L;Delay_ms(100);OLED_RES_H;Delay_ms(100); Mcu_Send_Cmd_Oled(0xAE); //关闭显示Mcu_Send_Cmd_Oled(0xD5); //设置时钟分频因子,震荡频率Mcu_Send_Cmd_Oled(80);   //[3:0],分频因子;[7:4],震荡频率Mcu_Send_Cmd_Oled(0xA8); //设置驱动路数Mcu_Send_Cmd_Oled(0X3F); //默认0X3F(1/64)Mcu_Send_Cmd_Oled(0xD3); //设置显示偏移Mcu_Send_Cmd_Oled(0X00); //默认为0Mcu_Send_Cmd_Oled(0x40); //设置显示开始行 [5:0],行数.Mcu_Send_Cmd_Oled(0x8D); //电荷泵设置Mcu_Send_Cmd_Oled(0x14); //bit2,开启/关闭Mcu_Send_Cmd_Oled(0x20); //设置内存地址模式Mcu_Send_Cmd_Oled(0x02); //[1:0],00,列地址模式;01,行地址模式;10,页地址模式;默认10;Mcu_Send_Cmd_Oled(0xA1); //段重定义设置,bit0:0,0->0;1,0->127;Mcu_Send_Cmd_Oled(0xC8); //设置COM扫描方向;bit3:0,普通模式;1,重定义模式 COM[N-1]->COM0;N:驱动路数Mcu_Send_Cmd_Oled(0xDA); //设置COM硬件引脚配置Mcu_Send_Cmd_Oled(0x12); //[5:4]配置Mcu_Send_Cmd_Oled(0x81); //对比度设置Mcu_Send_Cmd_Oled(0xEF); //1~255;默认0X7F (亮度设置,越大越亮)Mcu_Send_Cmd_Oled(0xD9); //设置预充电周期Mcu_Send_Cmd_Oled(0xf1); //[3:0],PHASE 1;[7:4],PHASE 2;Mcu_Send_Cmd_Oled(0xDB); //设置VCOMH 电压倍率Mcu_Send_Cmd_Oled(0x30); //[6:4] 000,0.65*vcc;001,0.77*vcc;011,0.83*vcc;Mcu_Send_Cmd_Oled(0xA4); //全局显示开启;bit0:1,开启;0,关闭;(白屏/黑屏)Mcu_Send_Cmd_Oled(0xA6); //设置显示方式;bit0:1,反相显示;0,正常显示Mcu_Send_Cmd_Oled(0xAF); //开启显示Oled_Clear_Screen();
}//显示图片void Oled_Show_Pic(u8 *buf)
{int i,j;u8 w,h;w = buf[2];h = buf[4];int m,n;m = h/8;if(h % 8 != 0 ){m+=1;}for(i=0;i<m;i++){Mcu_Send_Cmd_Oled(0xb0|i);      //页地址Mcu_Send_Cmd_Oled(0x00);        //列地址低四位Mcu_Send_Cmd_Oled(0x10);        //列地址高四位for(j=0;j<w;j++){Mcu_Send_Data_Oled(buf[j+i*w+6]);}}
}

2、显示时钟

dateAndTime_t *dateAndTime;//时间&日期
while (1)
{dateAndTime = RTC_getDateAndTime ();//获取时间日期//显示年月日
sprintf(uiBuf, "20502d/%02d/%02d" , dateAndTime->year, dateAndTime->month, dateAndTime-1
OLED_showString(10,l ,uiBuf,16);sprintf(uiBuf, "%02d:802d;%02d" , dateAndTime->hour , dateAndTime-"minute, dateAndTime->//参数1:转换后的字符串参数2:转换的格式参数3:转换的数据
OLED_Showstring (18,4,uiBuf,12);
if(key scan (=-l,
{
FLAG++;return;}

实验结果:

3、测量温湿度(sht20传感器)

u8 uiBuf[40];//接收转换后的字符串while (1)
{SHT20_readTemAndHum (& humidity, stemperature);
sprintf(uiBuf,"E: %d%RH T:&d c", (char) humidity, (char)temperature);OLED_show (10,1,uiBuf) ;
if (key_scan ()=-1)
{
FLAG++;
return;}

实验结果:

4、心率检测HP_06模块

uint8_t HP_6_OpenBp(void)
{uint32_t i;for( i = 0; i < PROTOCLO_BUF_MAX_LEN; i++){tx_buf[i] = cmd_bp_open[i];}return HP_6_SendCmd( tx_buf, rx_buf);
}uint8_t HP_6_CloseBp(void)
{uint32_t i;for( i = 0; i < PROTOCLO_BUF_MAX_LEN; i++){tx_buf[i] = cmd_bp_close[i];}return HP_6_SendCmd( tx_buf, rx_buf);
}

实验结果:

基于stm32F4智能手环设计相关推荐

  1. 智能手环功能模块设计_基于STM32实现智能手环设计

    龙源期刊网 http://www.qikan.com.cn 基于 STM32 实现智能手环设计 作者:付海生 陈婷婷 韩百科 涂曾兵 来源:<科学导报 · 学术> 2017 年第 10 期 ...

  2. 基于STM32智能手环心率计步器体温显示设计

    目录 一.项目功能 二.原理图 三.实物照片 四.程序 五.文档资料 一.项目功能 本设计由STM32F103C8T6单片机核心板电路+ADXL345传感器电路+心率传感器电路+温度传感器+lcd16 ...

  3. 基于STM32单片机的智能手环设计(OLED显示)(Proteus仿真+程序+报告)

    编号8 基于STM32单片机的智能手环设计(OLED显示) 功能描述: 由 STM32单片机+按键模拟计步+RTC时钟模块+DS18B20温度传感器模块+心率采集模块+串口模块+OLED显示模块+键盘 ...

  4. 基于单片机智能手环心率老人防跌倒心率体温 步数里程

    功能介绍 以STM32单片机作为主控系统: OLED液晶显示心率体温步数等信息: 通过按键设置心率.体温上限设置: 当心率或者体温超过按键设置上限蜂鸣器进行声光报警提醒: 通过wifi模块esp826 ...

  5. “巨无霸”智能手环设计

    毕业设计分享---智能手环设计 前言 一.我做的是个啥? 二.手环介绍 1.功能介绍 2.涉及的技术介绍 - 软件部分 - 硬件部分 总结 前言 最近终于完成了本科毕业设计的制作,论文也差不多改好了, ...

  6. android 行车记录仪分析,基于Android智能行车记录仪设计及实现.doc

    基于Android智能行车记录仪设计及实现 基于Android智能行车记录仪设计及实现 摘要:移动互联网的出现,极大的方便了人们的衣食住行,同时人们当下对行车安全非常看重,因此设计一款智能行车记录仪A ...

  7. 基于STM32智能窗帘设计proteus仿真

    本设计: 基于STM32智能窗帘设计(含源程序+proteus仿真) 仿真:proteus8.11 程序编译器:keil 5 编程语言:C语言 编号C0007 [腾讯文档]C0007 网盘链接 资料下 ...

  8. c语言程序设计闹钟,基于单片机智能闹钟设计.doc

    基于单片机智能闹钟设计.doc 基于单片机的智能闹钟设计 摘 要:本文通过单片机来实现电子打铃系统.基于单片机的智能闹钟设计包括:电源电路,单片机最小系统及扩展LCD显示电路,4*4矩阵键盘电路,打铃 ...

  9. 物联网毕业设计 单片机智能手环设计与实现

    文章目录 1 简介 1 项目背景意义 2 系统方案的设计 3 系统总体结构 4 系统硬件设计 4.1 主控模块 4.2 姿态解算模块:MPU6050 4.3 DS3231实物图 4.4 TFT显示模块 ...

最新文章

  1. Hack Into Linux Packet Schedulers
  2. Android.mk文件编写
  3. 区块链教程Fabric1.0源代码分析Chaincode(链码)体系总结
  4. 笔记本安装linux系统_Win10怎么安装linux双系统?win10安装linux双系统教程
  5. Linux 0-1 修改主机名及IP地址
  6. 【Python】Matplotlib使用字符串代替变量绘制散点图
  7. 今日头条电脑版官方版_雷霆拯救电脑版-雷霆拯救pc版下载v4.0.9 官方版
  8. java迭代器不能修改集合值_关于使用迭代器对集合进行遍历时,不能对集合进行修改的论证...
  9. 17.XML 命名空间(XML Namespaces)
  10. ThinkPad SL400 改装Win2003方法以及驱动下载列表
  11. 查看服务器远程桌面端口命令,Windows系统服务器远程桌面端口查看和修改方法...
  12. 高等数学积分公式大全
  13. HTML教程(完整版).pdf,HTML教程详解(完整版).pdf
  14. Win7闪屏黑屏蓝屏解决办法
  15. Ultra Recal 一款DIY的个人管理软件
  16. 100+大数据开源处理工具汇总
  17. Echarts实现省级地图的两种方法(以浙江省为例)
  18. android默认打开adb,android user 版本如何默认adb调试为打开(示例代码)
  19. 第二周例行报告(王伟东)
  20. 基于JAVA高校社区生鲜配送系统计算机毕业设计源码+数据库+lw文档+系统+部署

热门文章

  1. mysql数据库损坏修复方法介绍
  2. linux安装服务不能被识别,解决HP ProLiant DL380 G5的CentOS 7安装与启动不能识别硬盘问题...
  3. window.open被浏览器拦截的问题(附解决方案)
  4. generator代码自动生成工具(动态生成注释、类注解、方法注解等)适用于swagger等需要配置实体类的场景
  5. 20V,24V转5V,20V,24V转3.3V降压芯片,IC介绍
  6. Zookeeper实战-分布式锁的现实
  7. Rainbow Sort
  8. 磁盘管理删除受保护的“恢复分区”、或合并磁盘发现中间有恢复分区无法合并,怎么办?方法如下
  9. 后端开发-MySQL学习之索引机制最详细版(B+树)
  10. nginx响应超时upstream timed out (110: Connection timed out) while reading response header from upstream