1、 本科毕业设计 ( 20 届) 计步器的设计 所在学院 专业班级 通信工程 学生姓名 学号 指导教师 职称 完成日期 年 月 摘 要 计步器可以帮助人们实时掌握锻炼情况。它的主要功能是检测步数 , 通过步数和步幅可计算行走的路程。 并可通过步数,来 计算人体消耗的热量 。课题 的主要任务是完成一个计步器的设计。 计步器的工作原理是以计步传感器测到步行所产生的震动,再由单片机经过软件判断后显示出要求的数据。其硬件部分电路由微处理器系统,计步传感器,信号处理模块以及按键和显示模块。主控单片机选用 AT89C52,振荡传感器选用水银开关,显示选用带汉字显示的 LCD 模块。其软件部分主要由主程序、距
2、离计算程序、卡路里计算程序、显示程序以及功能模式切换程序构成。 经软硬件调试和实地测试,所设计的计步器具有快跑和慢跑模式,能显示所跑的步数,且能计算运动所消耗的卡路里数。符合任务书的要求,体积小, 携带方便和实用等优点,具有一定的实用价值。 关键词: 单片机 ; AT89C52; 计步 器 ;振荡传感器 Abstract Pedometer can help people to control of the exercise real-time. Its primary function is testing at-bats and calculating the distance walki
3、ng through the steps and strides. It can calculate human consumption quantity of heat by the steps. The topic main task is to complete a pedometer design. The process of how pedometer maneuvers is as follows, the sensor detects the vibration change in the walking. Microcontroller shows requirements
4、of the data after software judged. Part circuit of hardware circuit is consists of microprocessor, pedometer sensor, signal processing module, buttons and display module. Master microcontroller chooses AT89C52, Oscillation sensor chooses mercury switch, CRT chooses LCD module with Chinese displaying
5、. The software is mainly consists of the main program, distance calculation procedures, calories calculation procedures, show program and functional mode switch program constitutes. By the software and hardware debugging and field testing, the design of pedometer has tow modes of run and jogging, an
6、d also can show the steps, can calculate the number of calories. It is according with the commitment requirements of small volume, convenient to carry and practical etc, and it has certain practical value. Key Words: Microcontroller; AT89S52; Pedometer; Oscillation Sensor 目 录 1 引言 . 1 1.1 课题的研究背景 .
7、1 1.2 论文内容及章节结构 . 2 2 总体设计 . 3 2.1 设计要求 . 3 2.2 总体方案设计 . 3 3 硬件设计 . 5 3.1 微处理器模块 . 5 3.2 振荡传感器模块 . 6 3.3 显示模块 . 10 3.4 按键处理模块 . 11 3.5 声音模块 . 11 3.6 总体原理图 . 11 3.7 小结 . 12 4 软件设计 . 13 4.1 总体程序 . 13 4.2 主 程序 . 14 4.3 距离计算程序 . 15 4.4 卡路里计算程序 . 17 4.5 显示程序 . 19 4.6 功能模式切换 程序 . 18 4.7 小结 . 22 5 制作和调试 .
8、24 5.1 硬件电路的布线和焊接 . 25 5.2 程序编译和调试 . 25 5.2.1 电路调试 . 25 5.2.2 程序调试 . 26 5.3 计步器成品调试 . 28 6 结论 . 30 致谢 . 31 参考文献 . 32 附录 1 系统实物图 . 33 附录 2 系统原理图 . 35 附录 3 毕业设计作品说明书 . 36 - 1 - 1 引言 1.1 课题的研究背景 随着社会的发展 , 人们越来越注重自己的健康 ,跑步成为一种方便而又有效的锻炼方式。但是如何知道自己跑了多少步 ? 计步器可以帮助人们实时掌握锻炼情况。它的主要功能是检测步数 ,通过步数和步幅可计算行走的路程。 并可
9、通过步数,得 以计算人体消耗的热量 ,因此,各种计步器就应运而生。例如,手表计 步器,鞋子计步器,音乐计步器等。计步器是一个佩戴在身上,用来计算走路步数的小配件。 计步器原理是利用行走时身体的肢体摆动从而影响振荡传感器 , 然后由单片机处理振荡信息并进行后续处理,如:计数,存储,计算。显示等。振荡传感器的原理一般都是一个可随意移动的小球,利用物体移动时产生物理的惯性,导致小球在物体内运动,然后利用感应器检测小球的运动,从而确定被检测物的运动状况 1。本次设计计步器运用到的振荡传感器是水银开关。现在的计步器功能不再只有单一的计步功能,随着技术的提高,还添加进了很多附加功能,有附加 MP3 功能
10、,有的还可验血压,有的计步器可以输入携带者的体重,然后结合步数,计算所消耗的卡路里值,这个功能是最普遍的附加功能。使用者在行走一段路后,计步器可根据预先设定的使用者信息,如体重,可计算并显示出卡路里数。四十年前一位日本研究人员吉城旗野提出“日行万步”的运动理念,理念根据为:医学家统计得出,人一天大约要过剩 300 卡的多余热量,每天步行一万步,就意味着可以把这些过剩热量消耗光 2。走路时带个计步器,可显示步数、运动时消耗的热量,调节灵敏度的计步器。有了电子计步器,一切都改变了,每天定量记录运动的多少,在闲暇时 间适当的步行可以弥补一天运动量的不足。 先进的计步器还应设置由于速度值的不同,导致消
11、耗卡路里值的不同,添加快 /慢两种情况,可正确的反应出所走的步数与能量消耗量。同样一步,消耗的卡路里是不同的,具体数据见表 1-1。因此,添加步行快 /慢对于能量消耗值的计算能更加准确。计步器的使用已经越来越普遍,除传统携带在腰部的计步- 2 - 器之外,还设计出了手表计步器,佩戴在手腕上的计步器,利于随时观察步数,卡路里数的情况。另外,国内有家鞋厂,如 LANEW 公司,更深具创意的将计步器安装在鞋子上,使用更加方便。随着电子技术的高速发展 ,电子系统的应用领域越来越广泛,计步器的技术追求和发展趋势也相当明显。振荡传感器的快速发展,精度不断提高,附加功能不断添加,数字化趋势。而计步器则向智能
12、化,便携化方向发展。 表 1-1 日常运动所消耗的卡路里表 步行速度 时间 消耗 300卡路里所需时间 /分钟 每分钟消耗热量 /大卡 燃烧一千克脂肪所需时间 /分钟 蹒跚步行 3.0 110 2.7 2852 缓慢步行 3.6 100 3.0 2567 自然步行 4.5 90 3.3 2333 快步 5.4 70 4.2 1833 全力走 7.2 38 7.9 975 慢跑 5 55 5.5 1400 1.2 论文的内容及章节结构 本文主要从总体设计、硬件电路和软件设计、调试结果以及结果分析等方面展开叙述。其中,第二章介绍系统总体设计,对多种方案对比,选择其中一种,并对该系统方案进行概述。第
13、三章介绍系统的硬件设计部分,分模块介绍系统的四个硬件模块的设计(微处理器 模块 、 振荡传感器模块 、显示模块、 按键模块 、 声音 模块),其中重点介绍完全自行设计并制作的 微处理 模块。第四章介绍系统的软件部分设计,介绍软件的整体结构以及各个子模块的程序流程图,分析程序功能。重点 介绍单片机配置,以及计步,距离,能量计算公式 模块功能切换 的编写。第五章介绍调试与制作过程,以及测试数据,分析测试结果。第六章介绍本系统的设计过程以及结果。 - 3 - 2 总体设计 2.1 设计要求 本课题研究的主要内容是设计一个能记录步数和消耗的卡路里的多功能计步器 。 基本目标是:在使用者行走时,通过传感
14、器,能准确感测到步行时产生的震动,同时 led 能正确显示出要求的数据,包含行走的总步数,距离,消耗的能量。其中,记录步数的最大值为 9999,当步数为 9999 时,可以按清零键对计步器的数据清零,实现循环使用 ,并且也 设暂停键,暂停期间计步器保持显示最后的数据。 在完成基本功能后,可以进一步增加功能,如:在开始计步和结束计步时计步器会发出提示音;每走 1000 步时,也会发出相应的提示音。 2.2 总体 方案 设计 越来越多的人通过体育活动改善了自己的健康,当下计算行进速度或计算活动量也越加盛行 ,各种计步器就应运而生 。 传统的计步器对步行者的步数进行计数,主要是利用步行时髋关节移动进
15、行计数,灵敏度受髋关节影响较大 ,计步的准确度不高 。 为了克服传统计步器的缺点,设计了一种利用水银开关振荡感应器的具有液晶显示和能计算活动能耗的多功能计步 器,通过水银开关检测步行产生的振荡,通过 主控芯片 计算步数,然后根据所计步数和输入的参数计算能耗,最后通过液晶显示步数 、 能耗以及时间 。对于误差方面,就会利用多次试验,调整水银开关角度,记录各个角度的误差,最后选择最佳角度,即误差值最小,计步的准确度相对最高。 本设计采用 ATMEL公司的 AT89C52单片机为系统核心,先由水银开关传感器采集步行产生的振荡信号,再由单片机的 I/O口记录步数,根据记录到的步数和输入的参数计算 活动
16、量,最后通过液晶实时显示步数,能耗和时间。其系统框图见图 2-1。 - 4 - 复位电路 调整 /比较 振荡 晶振 电路 传感器 蜂鸣器 MCU LCD (AT89C52) 1602 功能键 开始 /停止 电 源 按键 图 2-1 系统组成方框图 选用 AT89C52作为主芯片,此芯片是一种低功耗 、 高性能的 CMOS8 位微处理器,具有 8KB在系统可编程 Flash 存储器, 1000次擦写周期,非常适合开发研究用 3。 显示器 选用 PCD8544LCD液晶显示模块 , 它是由点阵字符液晶显示器和专用的行列驱动器 、 控制器及必要的连接件 , 结构件装配而成的液晶显示模块,可以显示数字
17、和西文字符 。 具有体积小 、 能耗低 、 显示方便 、 超薄轻巧等优点 。 振荡传感器选用水银开关,性价比较高。 - 5 - 3 硬件设计 3.1 微处理器模块 以 AT89C52单片机为核心,完成计步、活动量的计算、声音提醒、参数输入以及液晶显示等。 本设计采用 ATMEL公司的 AT89C52单片机为系统核心,先由水银开关传感器采集步行产生的振荡信号,再由单片机的 I/O口记录步数,根据记录到的步数和输入的参数计算 活动量,最后通过液晶实时显示步数,能耗和时间。 AT89C52是美国 ATMEL 公司生产的低电压 ,高性能 CMOS 8 位单片机 ,片内含 8kbytes的可反复擦写的只
18、读程序存储器 (PEROM)和 256bytes的随机存 取数据存储器 (RAM),器件采用 ATMEL 公司的高密度 ,非易失性存储技术生产 ,与标准MCS-51 指令系统及 8052 产品引脚兼容 ,片内置通用 8 位中央处理器 (CPU) Flash 存储单元 , 和功能强大 AT89C52 单片机适合于许多较为复杂控制应用场合3. 该器件是完全集成的混合信号系统级 MCU 芯片,这些具有片内 VDD 监视器、 WDT 和时钟振荡器的 MCU 是真正能独立工作的片上系统。片内 JTAG 调试支持功能允许使用安装在最终应用系统上的产品 MCU 进行非侵入式(不占用片内资源)、全速、在系统调
19、试 3。该调 试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令。在使用 JTAG 调试时,所有的模拟和数字外设都可全功能运行 3。 AT89C52提供以下标准功能 : 8k字节 Flash闪速存储器 , 256字节内部 RAM,32 个 I/O 口线 , 3 个 16 位定时 /计数器 , 一个 6 向量两级中断结构 , 一个全双工串行通信口 , 片内振荡器及时钟电路 。 同时 , AT89C52 可降至 0Hz的静态逻辑操作 , 并支持两种软件可选的节电工作模式 。 空闲方式停止 CPU 的工作 ,但允许RAM, 定时 /计数器 ,串行通信口及中断系统继续工作 。 掉电方式 保存 RAM 中的内容 , 但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位 4。 在课题的设计中所用到的 AT89C52 的外部接口以及相应的功能具体如下: 1 P1.0: T2(定时 /计数器 2 外部计数脉冲输入 ),时钟输出,用来启动程