健康计步器优质毕业设计.docx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 健康 计步器 优质 毕业设计
- 资源描述:
-
健康计步器设计 摘要:改革开放三十年来,伴随社会不停进步,大家生活水平也不停提升了,很多人把健身当做天天一门必修功课,在很多健身方法中,跑步便成了她们最有效,最简单运动方法。计步器是一个颇受欢迎日常锻炼进度监控器,能够激励大家挑战自己,增强体质,帮助瘦身,也成了计量跑步时间、步数和里程最简易、有效工具。计步器功效能够依据计算人运动情况来分析人体健康情况。而人运动情况能够经过很多特征来进行分析。和传统机械式传感器不一样,MMA7455是微机械式三轴传感器,由它捕捉人体运动时加速度信号,愈加正确。信号经过低通滤波器滤波,由单片机内置A/D转换器对信号进行采样、A/D转换。软件采取自适应算法实现计步功效,降低误计数,愈加正确。单片机STC89C52控制液晶显示计步状态。整机工作电流只有1-1.5mA,实现超低功耗。 关键字:计步器 MMA7455 加速度传感器 低功耗 Abstract: Thirty years of reform and opening up, with the constant progress of the society, people’s living standard has been improved, many people consider fitness as every one of the compulsory courses, in many fitness method, running as their most effective, the most simple method, pedometer is a popular daily exercise progress monitor, can motivate people to challenge themselves, enhance physical fitness, to help lose weight. pedometer also became the running time, measurement step number and calories burned the most simple, effective tool. Pedometer function can calculate the movement of people to analyze the situation of human health. And the movement of people can be analyzed by many features. With the traditional mechanical sensors differ, MMA7455 three-axis sensor is a capacitive acceleration signal by its human motion capture, and more accurate. Signal through a low pass filter, the microcontroller built-in A / D converter for signal sampling, A / D conversion. Software uses an adaptive algorithm pedometer function, reduce error count is more accurate. STC89C52 SCM control LCD pedometer state. Machine operating current of only 1-1.5mA, ultra-low power consumption. Key words: pedometer, MMA7455, Acceleration sensor, low power consumption 1 绪论 1.1引言 伴随社会发展,大家物质生活水平日渐提升,大家越来越重视自己健康,跑步成为了一个方便而又有效锻炼方法。不过怎样知道自己运动情况?计步器能够帮助大家实时掌握锻炼情况。它关键功效是检测步数,经过步数和步幅可计算行走旅程。经过运动步数,得以计算人体消耗热量,所以大家能够定量制订运动方案来健身,并依据运行情况分析人体健康情况,所以越来越流行。手持式电子计步器是适应市场需求设计,使用起来简单方便。 计步器原理是利用行走时身体肢体摆动从而影响振动传感器,然后单片机处理振荡信息并进行后续处理。振荡传感器内部有一个可随意移动小球,利用物体移动时产生物理惯性,造成小球在物体内运动,然后利用感应器检测小球运动,从而确定被检测物运动情况。电子计步器关键组成部分是振动传感器和电子计数器。步行时候人重心会上下移动。以腰部上下移动最为显著,所以计步器挂在腰带上最为适宜。所谓振动传感器其实就是一个平衡锤在上下振动时平衡被破坏使一个触点能出现通/断动作,由电子计数器完成了关键统计和显示功效,其它列如热量消耗,旅程换算均由电路完成。计步器中通常采取一个加速度计来感受外界震动。常见加速度计原理以下:在一段塑料管中密封着一小块磁铁,管外缠绕着线圈,当塑料管运动时,磁铁因为惯性在管中反向运动,切割线圈,因为电磁感应,线圈中产生电流,人体运动时,上下起伏加速度近似为正弦过程,线圈输出电流也是正弦波,测量正弦波频率就能够得出运动步数,再计算出速度,距离,和消耗卡路里。 1.2研究意义 计步器最早是由意大利伦纳德·达芬奇酝酿,但现存最早计步器是在达芬奇以后150年,是德国于1667年制作。在中世纪和近代,计步器并未被广泛使用,因为大家并不清楚它用途。这说明机器发明(硬件)不及找到它对人类用途(软件)关键。这使得计步器通常利用摆钟原理作为记步技术,利用加重机械开关检测步伐,并带有一个简单计数器。假如晃动这些装置,就能够听到有一个金属球往返滑动,或一个摆钟左右摆动敲响当块。这种机械式计步器早已淡出历史,取而代之是电子式计步器。 1.3 研究内容 本文是一个基于STC89C52低速单片机,结合MMA7455倾角传感器来实现计步功效。依据设计要求选择了基于三轴加速度MMA7455功效计步器设计方案,对硬件中微处理器电路模块、传感器数据采集模块和LCD1602显示模块进行介绍,并对软件步骤图和计步检测算法进行介绍,最终完成对实物调试和功效验证。 2 方案设计及选择 2.1 设计要求 (1)使用单片机技术处理数据。 (2)能够有效检测人体步行动作。 (3)能够显示而且统计单位时间内步数。 (4)超出设定值报警。 (5)能够经过按键设置每步距离、总步数和总里程预警值。 2.2 MCU微处理器选择 方案一:采取8位微控制器 8位微控制器经典代表是8051微控制器。8051微控制器是一款入门级微控制器,它内核简易,应用广泛,资料齐全,很适合入门学习。同时价格低廉,是一款适适用于追求低成本不求实时性电子产品。很长一段时间内,8051微控制器在中国占据了小型家电市场,其中原因是超低成本。 方案二:采取16位微控制器 MSP430微控制器是一款以低功耗著名16位微控制器,有很多低功耗工作模式,采取了精简指令集(RISC)结构,含有丰富寻址方法,高效率查表处理指令。这些特点全部确保了用它能够编写出高效率源程序。 方案三:采取32位微控制器 现现在32位微控制器拥有超低功耗模式多个灵活功率模式,适合不一样应用情形,可最大程度延长电池寿命;多个技术优化功耗,包含时钟和电源门控技术,和带有位处理引擎、外围交叉桥和零等候闪存控制器高效平台等;深度睡眠模式下,可在不唤醒内核情况下进行智能决议并处理数据。 综合上述多个单片机优缺点而且依据试验要求,就地取材选择了由STC企业生产一个价格廉价、低功耗、高性能CMOS8位微控制器,含有8K在系统可编程Flash存放器。 2.3 传感器选择 方案一:选择机械式振动传感器 机械式振动传感器内部有一个平衡锤,当传感器振动时,平衡被破坏,所以会造成触点上下断通。佩戴者在跑步过程中,身体起伏重心高低发生改变,计算机内部振动传感器就会将这一改变转换为数字量送至控制单元,从而取得佩戴者运动信息。机械式振动传感器原理简单、精度和成本低,适适用于振幅较大场所。 方案二:选择加速度传感器 三轴加速度传感器分为压阻式,压电式和电容式。加速度改变能够改变电阻、电压或电容改变,从而取得空间位置三个垂直方向加速度分量。佩戴者在跑步过程中,身体上下起伏,计步器内部微控制器读取三轴加速度传感器三组模拟量,经过计步算法分析,获取运动信息。三轴加速度传感器含有精度高、反应速度快、通讯协议简单可靠等特点,广泛使用于汽车、数码产品、航天设备等领域。 方案三:选择压力传感器 压力传感器是将压力改变转化为电压改变。利用这一特征,可将压力传感器内置在鞋底部,当用户在行进过程中,压力传感器受到压力不一样(抬脚时脚对鞋无压力,放脚时脚对鞋有连续压力),这么,计步器主控单元读取压力值,经过计步算法即可判定运动状态。 现在内置于鞋底压力传感器属于柔性传感器。在北京奥运会上曾将它用于检测运动员蹬地力、蹬地时间、足底接触形状、运动速度、离心力等信息,方便指导运动员取得愈加好成绩。这种传感器价格昂贵,设计难度较大,不适合本设计。机械设振动传感器应用于早期计步器,测量精度低,误判、漏判严重,不符合本课题高精度设计标准。伴随加速度传感器工艺逐步成熟,测量精度也逐步提升,功耗已达成微安等级,伴随市场大量使用,价格也降了下来,很符合本课题设计理念。结合价格、功耗和精度等多方面考虑,本课题选择三轴加速度传感器MMA7455作为计步传感器。 2.4 系统总体设计 图2-1所表示,该计步器是由STC89C52单片机、MMA7455加速度传感器和LED1602显示器等组成。传感器采集数据,经内部A/D传唤后,输入单片机内部,将数据处理后输入液晶显示。 LCD1602数据显示 微处理器STC89C52单片机 MMA7455传感器采集器 图2-1 总体方框图 3 系统硬件设计 3.1 微处理器电路模块 STC89C52是STC企业生产一个低功耗、高性能CMOS8位微控制器,含有8K在系统可编程Flash存放器。STC89C52使用经典MCS-51内核,但做了很多改善使得芯片含有传统51单片机不含有功效。在单芯片上,拥有灵巧8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效处理方案。 含有以下标准功效:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中止,一个7向量4级中止结构(兼容传统515向量2级中止结构),全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,许可RAM、定时器/计数器、串口、中止继续工作。掉电保护方法下,RAM内容被保留,振荡器被冻结,单片机一切工作停止,直到下一个中止或硬件复位为止。最高运作频率35MHz,6T/12T可选。 STC89C52RC单片机内有8K字节程序存放空间,512字节数据存放空间,内带2K字节EEPROM存放空间,可直接使用串口下载,图3-1所表示: 图3-1 单片机最小系统电路图 3.2 计步器传感器采集模块 MMA7455内部功效结构图3-1所表示,X、Y、Z三个相互正交方向上加速度由 G-Cell传感器感知,经过容压变换器、增益放大、滤波器和温度赔偿后以电压信号输出。 图3-1 MMA7455内部结构功效框图 所谓G-Cell传感器是由半导体材料(多晶硅)经半导体工艺加工得到,其结构可简化为三块电容极板,图3-2所表示,两端极板圈定,中间极板在加速度作用下,偏离无加速度位置,这么它到两端极板距离发生改变,造成电容值改变。这个改变值经容压变换、增益放大,滤波等后表现在最终电压输出值上,从而完成对加速度测量。 图3-2 G-Cell传感器物理模型 MMA7455三个相互正交测量方向,固定在人体上后,这三个方向上数据意义也就随之确定了。引脚配置(顶视图)图3-3所表示: 图3-3 引脚功效图 MMA7455是一款小而薄超低功耗3轴加速度计,分辨率高(13位),测量范围达±16g。数字输出数据为16位二进制补码格式,可经过SPI(3线或4线)或I2C数字接口访问。MMA7455很适合移动设备应用。它能够在倾斜检测应用中测量静态重力加速度,还能够测量运动或冲击造成动态加速度。其高分辨率(3.9mg/LSB),能够测量不到1.0°倾斜角度改变。图3-4所表示,为传感器底座,接口电路连接: 图3-4 传感器连接模块 此模块电路关键功效就用于做MMA7455加速度传感器一个转接口,而且利用MMA7455该加速度传感器产生对应改变值。相当于整个系统信号产生模块。 3.3 显示模块 液晶显示器(LCD)为平面超薄显示设备,液晶显示器功耗很低,适适用于使用电池电子设备.它由一定数量彩色或黑白像素组成,放置于光源或反射面前方。它关键原理是以电流刺激液晶分子产生点、线、面配合背部灯管组成画面。LCD特点:机身薄,节省空间。和比较粗笨CRT显示器相比,液晶显示器只要前者三分之一空间。省电,不产生高温,它属于低耗电产品,能够做到完全不发烧(关键耗电和发烧部分存在于背光灯管或LED),而CRT显示器,因显像技术不可避免产生高温。低辐射,益健康。液晶显示器辐射远低于CRT显示器(仅仅是低,并不是完全没有辐射,电子产品多多少少全部有辐射)。画面柔和不伤眼,不一样于CRT技术,液晶显示器画面不会闪烁,能够降低显示器对眼睛伤害,眼睛不轻易疲惫。图3-5所表示: 图3-5 LCD1602标准16脚接口 第1脚:GND为电源地。 第2脚:VCC接5V电源正极。 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时能够经过一个10K电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:RW为读写信号线,高电平1时进行读操作,低电平0时进行写操作。 第6脚:E(或EN)端为使能(enable)端,高电平1时读取信息,负跳变时实施指令。 第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。 第15脚背光正极。 第16脚背光负极。特征3.3V或5V工作电压,对比度可调。 3.4 键盘输入模块 采取独立式键盘接法,每个I/O口上只接一个按键,按键另一端接地,这种接法相比矩阵式键盘接法程序比较简单且系统更稳定。在用单片机对键盘处理时会包含键盘去抖动,也就是机械抖动,实现方法是先查询按键当有低电平出现时立即延时10~200毫秒以避开抖动(通常为20毫秒),延时结束后再读一次I/O口值,这一次值假如为1表示低电平时间不到10~200毫秒,视为干扰信号。当读出值是0时则表示有按键按下,调用对应处理程序。硬件电路图图3-6所表示: 图3-6 键盘控制电路图 3.5 蜂鸣器模块 蜂鸣器是一体化结构电子讯响器,采取直流电压供电,广泛应用于计算机、复印机、打印机、汽车电子设备、电子玩具、电话机等电子产品中作发声器件。蜂鸣器关键分为电磁式蜂鸣器和电压式蜂鸣器两种类型。 此次设计蜂鸣器驱动电路包含以下多个部分:一个三极管、一个蜂鸣器、一个限流电阻、一个自锁开关。图3-7所表示: 图3-7 蜂鸣器驱动电路 4 软件设计 4.1 总体步骤图 此次设计单片机程序采取C语言编写,开发环境为WAVE。软件编写好坏直接影响到计步正确度和是否有良好人机交互功效。软件部分包含单片机对硬件个模块整合、控制,关键实现计步、液晶显示等功效,其关键由以下多个程序模块组成。整个软件采取C语言编程。 开 始 程序初始化 调用各功效模块程序 显示程序 结 束 图4-1 系统设计程序步骤图 图4-1是计步器软件系统设计步骤图。首先对所用到多种部件进行初始化,然后依据应用功效,调用各个子程序完成对应功效。 4.2 主程序步骤图 开 始 调用按键扫描程序 按键功效判定 相关数据操作 显示数据 返 回 图4-2 主程序步骤图 主程序运行过程图4-2表现。程序开始实施,开始各I/O口初始化,各功效按键定义,分配单片机各个I/O口位,然后液晶显示器进行显示,判定各功效按键是否被按下,假如有功效键被按下,则经过液晶显示器显示,如此循环。 4.3 子程序步骤图 预 采 样 自适应阀 判定阀值是否有效 Y 计 数 Y Count% N 继续计数 图4-3 子步骤图 图4-3所表示,在完成扫描按键,确定工作状态后,计步器进入正常工作状态,经过检测传感器工作状态,可判定是否完成一个步行动作。假如确定为一个步行动作,经过程序对数据处理,产生距离数据,并将步数和距离一起显示在LCD上。这只是一个过程,计步器功效实现关键经过循环,在完成上述一个过程后,会返回扫描按键,检测按键有没有动作,如按键没动作,程序将继续检测,统计步数,一直循环下去。如检测到按键有动作后,将立即退出循环状态。 4.3 计步器算法实现 在可用于分析跑步或步行特征当中,我们选择“加速度”作为相关参数。个体(及其相关轴)运动包含三个分量,分别是前向(“滚动”)、竖向(“偏航”)和侧向(“俯仰”),图4-4所表示,MMA7455检测其三个轴—x、y和z上加速度。计步器处于未知方向,所以测量精度不应严重依靠于运动轴和加速度计测量轴之间关系。 图4-4 跑步时三个分量 让我们考虑步行特征。一个步伐,我们将其定义为单位步行周期,步行周期各阶段和竖向和前向加速度改变之间有一定关系。要实现检测步数首先要对人走路姿态有一定了解。行走时,脚、腿、腰部,手臂全部在运动,它们运动全部会产生对应加速度,而且会在某点有一个峰值。从脚加速度来检测步数是最正确,不过考虑到携带方便,我们选择利用腰部运动来检测步数。 图4-5显示了和一名跑步者竖向、前向和侧向加速度相对应x、y和z轴测量结果经典图样。不管怎样穿戴计步器,总有最少一个轴含有相对较大周期性加速度改变,所以峰值检测和针对全部三个轴上加速度动态阈值决议算法对于检测单位步行或跑步周期至关关键。 图4-5 x、y和z轴加速度经典图样 首先,为使信号波形变得平滑,需要一个数字滤波器。能够使用四个寄存器和一个求和单元,图4-6所表示。当然,能够使用更多寄存器以使加速度数据愈加平滑,但响应时间会变慢。 图4-6 数字滤波器 图4-7显示了来自一名步行者所戴计步器最活跃轴滤波数据。对于跑步者,峰峰值会更高。 图4-7 最活跃滤波数据 动态阈值和动态精度:系统连续更新三轴加速度最大值和最小值,每采样50次更新一次。平均值(Max + Min)/2称为“动态阈值”。接下来50次采样利用此阈值判定个体是否迈出步伐。 因为此阈值每50次采样更新一次,所以它是动态。这种选择含有自适应性,而且足够快。除动态阈值外,还利用动态精度来实施深入滤波。步伐迈出条件定义为:当加速度曲线跨过动态阈值下方时,加速度曲线斜率为负值(sample_new < sample_old)。 峰值检测:步伐计数器依据x、y、z三轴中加速度改变最大一个轴计算步数。假如加速度改变太小,步伐计数器将忽略。 步伐计数器利用此算法能够很好地工作,但有时显得太敏感。当计步器因为步行或跑步之外原所以很快速或很缓慢地振动时,步伐计数器也会认为它是步伐。为了找到真正有节奏步伐,必需排除这种无效振动。利用“时间窗口”和“计数规则”能够处理这个问题。 “时间窗口”用于排除无效振动。假设大家最快跑步速度为每秒5步,最慢步行速度为每2秒1步。这么,两个有效步伐时间间隔在时间窗口[0.2s~2.0s]之内,时间间隔超出该时间窗口全部步伐全部应被排除。MMA7455用户可选输出数据速率特征有利于实现时间窗口。表4-1列出了TA=25°C、VS=2.5V、VDDI/O=1.8V时可配置数据速率(和功耗)。 表4-1数据速率和功耗 输出数据速率(Hz) 带宽(Hz) 速率代码 IDD (µA) 3200 1600 1111 146 1600 800 1110 100 800 400 1101 145 400 200 1100 145 200 100 1011 145 100 50 1010 145 50 25 1001 100 25 12.5 1000 65 12.5 6.25 0111 55 6.25 3.125 0110 40 此算法使用50 Hz数据速率(20 ms)。采取interval寄存器统计两步之间数据更新次数。假如间隔值在10和100之间,则说明两步之间时间在有效窗口之内;不然,时间间隔在时间窗口之外,步伐无效。 “计数规则”用于确定步伐是否是一个节奏模式一部分。步伐计数器有两个工作状态:搜索规则和确定规则。步伐计数器以搜索规则模式开始工作。假设经过四个连续有效步伐以后,发觉存在某种规则(in regulation),那么步伐计数器就会刷新和显示结果,并进入“确定规则”工作模式。在这种模式下工作时,每经过一个有效步伐,步伐计数器就会更新一次。不过,假如发觉哪怕一个无效步伐,步伐计数器就会返回搜索规则模式,重新搜索四个连续有效步伐。 5 测试及分析 5.1 系统调试及功效 6 总结 在此次计步器制作过程中,体会到不少。而在处理问题同时也是对本身专业素质一个提升。在焊接过程中元件必需清洁和镀锡焊接前最好擦掉氧化膜,然后再进行焊接,焊接时使用电骡铁温度高于焊锡温度以烙铁头接触松香刚刚冒烟为好。焊接点上锡数量焊接点上焊锡数量不能太少,焊少了焊接不牢靠,机械强度也太差,上锡时间不宜过长,会造成元器件损坏。 同时让我也愈加了解了MMA7455是一款出色加速度计,很适累计步器应用。它含有小巧纤薄特点,采取3mm×5mm×0.95mm塑封封装,利用它开发计步器已经出现在医疗仪器和高级消费电子设备中。它在测量模式下功耗仅40μA,待机模式下为0.1μA,堪称电池供电产品理想之选。嵌入式FIFO极大地减轻了主处理器负荷,使功耗显著降低。另外,能够利用可选输出数据速率进行定时,从而替换处理器中定时器。13位分辨率能够检测很小峰峰值改变,为开发高精度计步器发明了条件。最终,它含有三轴输出功效,结合上述算法,用户能够将计步器戴在身上几乎任何部位。 参考文件 [1] 曹赟 周宇 徐寅林. 加速度传感器在步态信号采集系统中应用[J]. 信息化研究, ,35(9). [2] 钱朋安,葛运建,唐毅等.加速度计在人体运动检测中应用[J].计算机技术和应用进展,:632—636. [3] 陈义华.基于加速度传感器定位系统研究[D].福建:厦门大学,. [4] 孟维国.三轴加速度计ADXL345特点及其应用[J].电子设计工程,(2):47-50. [5] 贾朱红,张晓冬.基于I²C总线单主多从单片机之问通信[J].微计算机信息,,25(3-2):101. [6] 高吉祥.模拟电子线路设计[M].北京:北京电子工业出版社, . [7] 陈尔绍.电子控制电路实例[M].北京: 电子工业出版社,. [8] 王彦朋.大学生电子设计和应用[M].北京:中国电力出版社,. [9] 彭勃,何晓平,苏伟.微机械静电伺服加速度计[J].中国惯性技术学报,,8(1):63—66. [10] 刘宗林,李圣怡,吴学忠.新型三轴加速度计[J].传感器技术学报,,17(3):488—492. [11] 段晓敏,李杰,刘文怡,等.基于MEMS加速度计数字倾角测量仪设计[J].电子设计工程,,17(8):71—72. 致 谢 此次毕业设计经过了六个月时间现,在已经靠近尾声,因为以前学习时候没有过多重视实践,所以造成了经验匮乏,所以在很多地方考虑不够周全,所以假如没有我老师和同学帮助我可能极难出色完成这篇论文。 在这里首先要感谢我导师孙慧老师。孙老师平日里工作繁多,看得出来每次去找她时候她全部比较繁忙,不过不管怎么样每次她全部会抽时间给我细心讲解我错误和不足之处,在我做毕业设计每个阶段,全部给了我悉心指导。她科学研究精神和治学严谨也是我永远学习楷模,并将主动影响我以后学习和工作。 其次我要感谢是我同学们,使她们在做毕业设计期间她们给了我极大帮助,有部分老是平时全部讲过小问题我没有能够全部接收,作为同学她们总是细心地讲解给我听。 然后要感谢大学来全部老师,为做毕业设计我们打下电子专业知识基础,我相信这些知识对我以后在社会上生存有着不可磨灭力量。 最终感谢机电和信息工程学院和我母校重庆人文科技学院对我大力栽培。 附录A 系统总电路图 图A1 系统原理图 附录B 程序清单 #include"head.h" #include"1602.c" #include"MMA7455.c" //包含头文件 #define Mid_Ang 62 //设置中间值 uchar number[] = ""; uchar Number16[] = "abcdef"; uint Step, Dis_Alarm, Step_Alarm; uchar Step_Dis = 8; //定义变量和数组 sbit Key0 = P3^0; sbit Key1 = P3^1; sbit Key2 = P1^0; sbit Key3 = P1^1; sbit Key4 = P1^2; sbit Key5 = P1^3; //定义按键端口 sbit Bee = P1^4; //定义蜂鸣器端口 int X, Y, Z; uint Count = 0, Time; void Init_Dis(void) //初始化显示函数 { Display_Str(0, "D: m"); Display_Str(9, "T: s"); Display_Str(17, "Step: "); Display_Str(22, "000"); Display_Str(26, "OFF"); } void Display_Step(void) //显示步数函数 { uint Dis; Write_Ord(0x80 + 0x45); Write_Byte(number[Step / 100]); Write_Byte(number[Step % 100 / 10]); Write_Byte(number[Step % 10]); Dis = Step * Step_Dis / 10; Write_Ord(0x80 + 0x02); Write_Byte(number[Dis / 1000]); Write_Byte(number[Dis % 1000 / 100]); Write_Byte(number[Dis % 100 / 10]); Write_Byte(number[Dis % 10]); } void MMA7455_Step(void) //检测步数函数 { while(!((X > (Mid_Ang - 7)) && (X < (Mid_Ang + 7))) && Key0) //假如加速度计接收到加速度值超出中间值,则说明走了一步 { Get_Acc(); Delay(20); Write_Ord(0x80 + 0x0b); Write_Byte(number[Time / 1000]); Write_Byte(number[Time % 1000 / 100]); Write_Byte(number[Time % 100 / 10]); Write_Byte(number[Time % 10]); } Delay(50); while(((X > (Mid_Ang - 7)) && (X < (Mid_Ang + 7))) && Key0) { Get_Acc(); Delay(20); Write_Ord(0x80 + 0x0b); Write_Byte(number[Time / 1000]); Write_Byte(number[Time % 1000 / 100]); Write_Byte(number[Time % 100 / 10]); Write_Byte(number[Time % 10]); } Delay(50); Step++; } void Display_Acc(void) //显示加速度值函数 { Get_Acc(); Write_Ord(0x80 + 0x01); if(X & 0x80) { Write_Byte('-'); X &= 0x7F; } else Write_Byte(' '); Write_Byte(number[X / 100]); Write_Byte('.'); Write_Byte(number[X % 100 / 10]); Write_Byte(number[X % 10]); Write_Ord(0x80 + 0x09); if(Y & 0x8000) { Write_Byte('-'); Y &= 0x7F; } else Write_Byte(' '); Write_Byte(number[Y / 100]); Write_Byte('.'); Write_Byte(number[Y % 100 / 10]); Write_Byte(number[Y % 10]); Write_Ord(0x80 + 0x41); if(Z & 0x8000) { Write_Byte('-'); Z &= 0x7F; } else Write_Byte(' '); Write_Byte(number[Z / 100]); Write_Byte('.'); Write_Byte(number[Z % 100 / 10]); Write_Byte(number[Z % 10]); Delay(10); } void main(void) { Init_1602(); //初始化1602 TMOD = 0x01; //初始化定时器 TL0 = T1MS; TH0 = T1MS >> 8; ET0 = 1; EA = 1; Count = 0; Delay(1000); //延时1s Write_Reg(0x16, 0x01); //配置加速传感器 Key0 = Key1 = Key2 = Key3 = Key4 = Key5 = 1; //初始化按键 Bee = 1; //初始化蜂鸣器 Display_Str(0, "BJ:");//步距报警 Display_Str(6, "LC:"); //里程报警 Display_Str(17, "BS:");//步数报警 while(Key1) //等候开始计步按键被按下 { if(!Key2 || !Key3) //设置按键被按下则实施对应动作 { Delay(5); if(!Key2) { Step_Dis += 1; } else if(!Key3) { Step_Dis -= 1; } if(Step_Dis < 2) { Step_Dis = 2; } else if(Step_Dis > 20) { Step_Dis = 20; } } if(!Key4 || !Key5) { Delay(5); if(!Key4) { Dis_Alarm += 10; } else if(!Key5) { Step_Alarm += 5; } if(Dis_Alarm > 5000) { Dis_Alarm = 20; } if(Step_Alarm > 5000) { Step_Alarm = 20; } } Write_Ord(0x80 + 0x03); Write_Byte(number[Step_Dis % 100 / 10]); Write_Byte(number[Step_Dis % 10]); Write_Ord(0x80 + 0x0a); Write_Byte(number[Dis_Alarm / 1000]); Write_Byte(number[Dis_Alarm % 1000 / 100]); Write_Byte(number[Dis_Alarm % 100 / 10]); Write_Byte(number[Dis_Alarm % 10]); Write_Ord(0x80 + 0x43); Write_Byte(number[Step_Alarm / 1000]); Write_Byte(number[Step_Alarm % 1000 / 100]); Write_Byte(number[Step_Alarm % 100 / 10]); Write_Byte(number[Step_Alarm % 10]); //显示阀值 } Write_Ord(0x01); Init_Dis(); //初始化显示 Display_Str(26, "ON "); //显示计步功效打开 while(1) { TR0 = 1; //开始计时 //Display_Acc(); MMA7455_Step(); //检测步子 Display_Step(); //显示步数 if(Key0 == 0) //假如停止键被按下则复位全部功效 { Bee = 1; //复位蜂鸣器 Display_Str(26, "OFF"); //显示计步功效关 TR0 = 0; //计时器停止 Ti展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




健康计步器优质毕业设计.docx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/2366328.html