单片机技术网|技术阅读
登录|注册

您现在的位置是:单片机技术网 > 技术阅读 > 基于51单片机的蓝牙计步器设计

基于51单片机的蓝牙计步器设计

.

       STC89C52APP1-1.5mAAPP


   51+ADXL345+lcd1602+++

.

1ADXL345

2

3lcd1602standliewalkrun

4


.

1AD,

2PCB

.

1

2

void main (void){ Init_Timer0(); //定时器0初始化 UART_Init(); LCD_Init(); //初始化液晶 DelayMs(20); //延时有助于稳定 LCD_Clear();
Init_ADXL345(); //清屏 if(Single_Read_ADXL345(0X00)==0xe5) //读出的数据为0XE5,表示正确 { DelayMs(5); } else { DelayMs(3); } led=1; while (1) //主循环 { if(ReadAdxl345==1) //定时读取adxl345数据 { BuShuCheck(); //检测步数 sprintf(dis1,"B:%04d J:%4.1fm ",BuShu/2,JuLi); //打印 LCD_Write_String(0,0,dis1);//显示 sprintf(dis2,"%7.2fcal ",KaLuLi); //打印 LCD_Write_String(0,1,dis2);//显示
if(statFlag == 0)//站着状态 {LCD_Write_String(11,1,"Stand");} else if(statFlag == 1)////躺着状态 {LCD_Write_String(11,1,"Lie ");} else if(statFlag == 2)//跑着状态 {LCD_Write_String(11,1,"Run ");} else if(statFlag == 3)//走着状态 {LCD_Write_String(11,1,"Walk ");} }
if(ReportFlag==1) //2s { ReportFlag=0; sprintf(dis0,"*B:%04d",BuShu/2); //上报步数 SendStr(dis0,7); sprintf(dis0,"J:%04.1fm",JuLi); //上报距离 SendStr(dis0,7); sprintf(dis0,"K:%07.2fcal",KaLuLi); //上报卡路里 SendStr(dis0,12);
if(statFlag == 0)//站着状态 {SendStr("Stand#",6);} else if(statFlag == 1)////躺着状态 {SendStr("Lie #",6);} else if(statFlag == 2)//跑着状态 {SendStr("Run #",6);} else if(statFlag == 3)//走着状态 {SendStr("Walk #",6);} SendStr("\r\n",2); } }}