×

oled计步手表(开机滚屏)

消耗积分:3 | 格式:rar | 大小:392KB | 2017-07-30

chaogege_00_

分享资料个

刚刚做了一个手表,(咳咳,要求是手环,//笑哭)主控芯片是STC15F2K32S2,可以实现调整时间,调整闹铃,计步,计时四个功能,用oled屏显示,振动马达实现静音闹铃。用ADC检测电池电量,计步是用MPU6050实现的。本来还想加一个蓝牙模块和抬腕亮屏的功能,可MPU6050的数据分析还没弄懂,时间也不够了。压缩包里有原理图和程序代码,全部分享给大家,马上要学32了,希望我的代码可以帮助大家。

  #include“ADC.h”

  #include “config.h”

  #include “display.h”

  #define N 20

  #define VCC 5.0

  float Vin,value;

  float sum = 0;

  uchar ch=0x03;

  /*ADC初始化*/

  void ADC_init()

  {

  P1ASF=0xff; //设置P1口为AD口,这个与小灯泡的I/O口冲突,不能用小灯检测

  ADC_RES = 0; //清除结果寄存器

  ADC_RESL = 0;

  ADC_CONTR = ADC_POWER | SPEEDLL;

  CLK_DIV=ADRJ0;

  delay(2); //ADC上电并延时

  }

  /*输出模拟电压*/

  float ADC_P10(char a)

  {

  ADC_RES = 0; //AD数据寄存器高8位清空

  ADC_RESL = 0;

  ADC_CONTR= ADC_POWER|SPEEDHH|ADC_START| a;

  delay(2);

  while (!(ADC_CONTR & ADC_FLAG)); //等待ADC转换完成

  ADC_CONTR &= ~ADC_FLAG; //Close ADC

  value=(ADC_RES《《2)|(ADC_RESL&0x03); //高低字节拼接成一个10位数

  Vin=VCC*value/1023; // 注意是1023才正确

  return Vin;
oled计步手表(开机滚屏)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !