基于STM32单片机的心率计步体温显示系统设计_第1页
基于STM32单片机的心率计步体温显示系统设计_第2页
基于STM32单片机的心率计步体温显示系统设计_第3页
基于STM32单片机的心率计步体温显示系统设计_第4页
基于STM32单片机的心率计步体温显示系统设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要科技在进步,时代在发展,科学的生物学信号指标与人们的生活健康紧紧地联系在一起,只有更全面地了解其中规律,才能更科学地解决人体健康问题和拥有高质量的生活。随着科学技术的发展,便捷式生物医学电子设备技术也愈来愈趋于成熟,人们的生活水平越来越高,对便捷式生物医学信号电子实时监测显示设备的需求也越来越高。健康指标很多,本设计是根据人们行走的步数和心跳的频率两个重要的健康指标进行开发设计,因此,本次毕业设计按照现在发展的需要设计一款基于STM32单片机的运动实时监测显示系统。运动实时监测显示系统主要采用STM32F103C8T6核心板电路,而计算人的走路步数,走过的路程距离和行走的状态主要通过重力加速度传感器ADXL345来实现检测。通过心率传感器和温度传感器实时检测心跳频率和身体温度。而实时显示步数多少、距离长短、心率快慢以及温度高低则通过LCD1602来实现。关键词:STM32F103步数ADXL345模块心率模块温度AbstractScienceandtechnologyareprogressing,thetimesaredeveloping,andthebiologicalsignalindicatorsofsciencearecloselyrelatedtothehealthofpeople'slives.Onlybymorecomprehensiveunderstandingoftherules,canwesolvehumanhealthproblemsmorescientificallyandhaveahighqualityoflife.Withthedevelopmentofscienceandtechnology,convenientbiomedicalelectronicequipmenttechnologyisbecomingmoreandmoremature,people'slivingstandardisgettinghigherandhigher,andthedemandforconvenientbiomedicalsignalelectronicreal-timemonitoringanddisplayequipmentisbecominghigherandhigher.Therearemanyhealthindicators,thisdesignisbasedonthenumberofpeoplewalkingandthefrequencyofheartbeattwoimportanthealthindicatorstodevelopthedesign,therefore,thisgraduationprojectAccordingtotheneedofdevelopment,areal-timemotionmonitoringanddisplaysystembasedonSTM32singlechipmicrocomputerisdesigned.Thereal-timemotionmonitoringanddisplaysystemmainlyadoptstheSTM32F103C8T6coreboardcircuit,andcalculatesthenumberofwalkingsteps,thedistanceandthestateofwalkingmainlythroughthegravityaccelerationsensorADXL345torealizethedetection.real-timedetectionofheartbeatfrequencyandbodytemperaturethroughheartratesensorsandtemperaturesensors.Andthereal-timedisplayofthenumberofsteps,thelengthofdistance,heartratespeedandtemperaturethroughtheLCD1602toachieve.Keywords:STM32F103stepsadxl345moduleheartratemoduletemperature目录TOC\o"1-3"\h\u6667第一章绪论 1250181.1课题背景及研究意义 1196821.2国内外研究现状 293421.3本设计论文结构安排 229536第二章设计方案的选择 3247512.1STM32单片机芯片选择 318492.2显示模块选择 395272.3计步模块选择 4250502.4心率监测模块选择 417871第三章硬件电路设计 5295113.1系统功能分析及系统结构设计 599383.1.1系统功能分析 5292023.1.2系统结构 574873.2模块电路设计 5161613.2.1主控板电路 5206543.2.2显示模块电路 7210213.2.3计步模块电路 862693.2.4心率模块电路 9241993.2.5温度模块电路 125466第四章系统软件应用 1463334.1系统编程语言选择 1438214.2程序开发环境 149004.3软件开发流程 15224584.4程序烧录软件介绍 16242814.5程序烧写模块介绍 16125874.6系统算法设计 18291614.6.1心率算法设计 18291614.6.2计步与距离算法设计 18291614.6.3体温算法设计 18125874.7系统编程流程 1827220第五章系统调试 19326775.1系统调试 19291615.1.1程序调试 19281465.1.2硬件测试 19201715.2实物测量数据 20201715.3实物测试 2027220第六章总结与展望 211305参考文献 224242致谢 23广东东软学院本科毕业设计(论文)第一章绪论1.1课题背景及研究意义

伴随着当今社会的不断发展,人们的生活水平不断的提高,实时监测人体健康指标在预防突发疾病方面愈发重要,人们也通过各种各样的方式去保持自己的身体健康。人们在日常生活中最容易注意到心率、体温等方面的健康指标。心脏是人体中最关键的器官,在我国人口死亡中因为心脏病病发死亡的人数每年所占百分比都很高。为了防止突发心脏病,人们自然而然就会想着实时监测到自己的身体状况,随着生物学技术和电子科学技术的发展,便携式健康电子监测设备引入了人们的生活。人们可以通过有计划的制定适量的运动方案来健身,并且能够通过便携式健康电子监测设备来实时分析人体的健康状况,还有就是便携式健康电子监测设备也会迅速的适应市场需求,因而越发流行。心率是指描述心脏周期性跳动的频率,简单阐述也就是指心脏在一分钟周期内跳动的次数。在生物学方面,心脏跳动的频率也是有具体的健康范围值,正常人心跳频率是由窦房结主管,窦房结发放冲动的频率是60-100次/分。但是正常人在睡眠状态下,心率可以低于60次/分。体育运动员,经常参加体育锻炼的人和重体力劳动者,心率常低于60次/分,在50次/分左右,没有任何心动过缓的症状,也考虑是正常的。对于体质虚弱、缺乏锻炼的人,基础心率可能会偏高,常在100次/分左右,甚至超过100次/分,也可以视为正常,建议增加体育锻炼,降低基础心率。人们在运动状态下以及过度的激动的时候,心率也会增快。计步器的出现,正是因为人们为了做适量的跑步运动来锻炼心肺功能而设计的便携式“健康”电子实时监测设备。人们会通过计步器有计划性的制定适量运动来锻炼身体,从而达到符合生物医学方面规律性的运动,这时就不容易出现运动过度或运动量不足的情况。通过规律性的制定运动计划,从而提高人体的健康水平。体温就是用来描述人体内部温度的数值度量。从生物学方面来说,人体内部温度是相对保持在恒定的状态,相对恒定的体温是保证人体机能新陈代谢和生命运动进行的必要条件,一个正常人的体温又分很多种,腋下的温度会在36.1℃~37℃,口腔的温度会在36.3℃~37.2℃,然而在人体体温正常的情况下,人体其他部位表面皮肤的温度会在33℃左右。人们为了保证人体机能新陈代谢和生命运动的进行,从而提高人体的免疫力,人们就会不断的关注自己的体温变化情况,这时实时监测体温的便携式电子设备就符合了市场的需求。基于此,本设计选择研发一种将步数、心率和体温连接一体的实时监测显示系统。1.2

国内外研究状况

通过调查情况显示,近年来,我国乃至全球科学技术发展迅猛,其中在医疗器械方面的产业发展较为突出,全球在医疗电子智能设备研发和生产方面的投入力度不断增涨,与此同时,全球在医疗电子智能设备方面的贸易往来也变得越来越活跃,并且在贸易往来中每年平均增速在7%左右,如今医疗器械产业技术方面的研发和贸易作为全球较为关注和竞争的焦点。因此,全球的医疗器械产业也会相应在创新性、资金链、人才培养、服务型、管理型等方面不断进行拓展。相对于其他的发达国家来说,我国的医疗器械产业方面的发展还是远远不够的,在技术创新方面,我国医疗器械产业要比发达国家薄弱,在贸易往来中,我国目前很多较为先进的医疗器械都需要在发达国家中引进来。在人才培养方面,我国相对于发达国家来说还是有一点差距。重要的核心技术掌握程度还是很匮乏。因此,我们要不断的提高技术型人才培养,从而更好地掌握医疗器械核心技术,提高技术水平。我国在不断提高医疗器械技术水平方面是具有高度的战略性、带动性和成长性。一个国家经济发展快慢和现代化水平的高低也与医疗器械技术方面是否发达息息相关。在当今国际社会医疗电子智能设备的发展中,便携式的医疗电子智能设备也在市场上掀起了一股浪潮,不断受到人们的广大欢迎,并且在市场的需求量上也是不断提高。单从心率计方面来讲,医院或者一些私人医疗机构中专门用来测量心电图的仪器不多,并且只适合于临床监测,然而在人们日常生活健康的监测上是不够轻型化,这时便携式的心率实时监测电子设备就满足了当今人们日常生活的健康监测。虽然便携式心率电子设备在精度上有所欠缺,但是在未来的科技发展趋势中,便携式心率电子实时监测设备将是不可忽视。1.3本设计论文结构安排第一章:主要针对本设计内容进行国内外背景及研究现状的介绍。第二章:主要针对本设计整体组成思路的介绍以及所需材料的优选分析。第三章:主要针对本设计相关硬件部分的应用原理图设计以及功能分析。第四章:主要针对本设计在系统程序方面的整体操作流程。第五章:主要针对本设计系统程序方面的调试以及硬件部分的调试操作。第六章:主要针对本设计系统作出总结与展望。第二章设计方案的选择2.1STM32单片机芯片选择方案一:可编程逻辑器件CPLD本设计是心率计步体温实时显示系统,CPLD是一种较为复杂的可编程逻辑器件,其具有较高的密度以及处理速度快,并且在功耗方面也是比较低,在应用于大规模的控制系统中具有更明显的效果,但是本设计控制系统不需要复杂的逻辑功能以及在处理数据的速度上也要求不高,综合考虑其使用和经济等方面因素,本系统设计采用可编程逻辑器件CPLD作为处理器不合适,从而不选择作为本设计主要的控制器。方案二:STC89C52单片机STC89C52单片机可以说是8051单片机增强版,不仅在内核上采用了8051经典的内核,而且也完全兼容8051上的指令代码,其作为控制器不仅具有很高的性能和低功耗,而且还有8k在线编程Flash存储器,该单片机作为本设计的主控器是完全符合的,并且可达到相应的功能效果。方案三:STM32单片机本设计系统所选的单片机主控器是一种意法半导体,ST公司生产的STM32系列单片机。STM32系列单片机具有低功耗和处理速度快,由于采用ARM最新的内核,从而使其具有优异的实时仿真性能,并且在应用于开发方面较为容易上手,在应用于本设计作品上具有很好的体现效果,其产品在市场上也极受欢迎。通过以上的各方面的参数对比考虑后决定选择方案三。2.2显示模块选择方案一:LED数码管动态扫描显示使用多个发光二极管封装组成“8”字型的LED数码管,在应用于单片机开发中占用的线口较少和设计电路简单,并且对于显示数字十分的合适。因为本设计需要显示的数据较多,所以LED数码管显示明显就不合适。方案二:点阵式数码管显示点阵式数码管在工艺设计上和LED数码管具有相似性,两种数码管都是由发光二极管组成,其在显示文字和数字方面都不够清晰和美观,因此,本系统在显示模块电路设计中不采用点阵式数码管。方案三:LCD液晶显示LCD液晶显示,由单片机驱动,它主要用来显示大量数据、文字、图形,能够显示的位数多,显示清晰多样和美观,同时液晶显示器的编写程序简单,价格便宜,而且功率消耗小、寿命长和抗干扰能力强。通过以上的各方面的参数对比考虑后决定选择方案三。2.3计步模块选择方案一:陀螺仪陀螺仪是一种常用于角运动检测的装置,众多的角运动检测装置中,陀螺仪具有较高的精准度以及稳定性,在应用于本设计系统中可以达到很好的精准度效果,但是其在控制起来比较复杂。方案二:ADXL345模块采用基于ADI公司的倾角加速传感器ADXL345模块来检测人体的位置信息,ADXL345模块功能强大,内置很多寄存器,而且成本低,易于控制。通过以上的各方面的参数对比考虑后决定选择方案二。2.4心率监测模块选择方案一:压力传感器压力传感器是一种通过感受外界压力传导后产生电信号的传感器。其在设计应用上电信号传输比较微弱,从而难以用于检测细微的压力传导。因为在应用于本设计的心率监测方面明显达不到相应的功能效果,所以本设计不采用压力传感器模块。方案二:心率模块通过红外感应方式来采集心率电信号,红外感应模块对采集的心率电信号抗干扰能力较强,检测到的心率电信号输出波形比较稳定,在本设计中是一种比较理想的选择。通过以上的各方面的参数对比考虑后决定选择方案二。第三章硬件电路设计3.1系统功能分析及系统结构设计3.1.1系统功能分析本设计系统主要采用STM32F103C8T6系统板控制心率模块、计步模块和温度模块进行数据采集,再控制显示模块对相应数据进行显示,具体功能分析如下:(1)使用Pulsesensor模块和DS18b20模块分别采集心率和温度数据。(2)使用ADXL345模块实时检测人体运动状态,并且采集三轴的变化情况,计算出相应的步数和距离数值。(3)使用LCD1602模块显示计算得到心率、步数、温度和距离的数值。3.1.2系统结构本系统具体框图如下图3-1所示:图3-1系统原理框图3.2模块电路的设计3.2.1主控板电路一、STM32F103C8T6单片机的主要优点:(1)STM32单片机具有低功耗性能和处理速度快;(2)在嵌入式硬件开发上具有优异的实时仿真性能[1];(3)在嵌入式开发上可以达到很大集成化;二、STM32F103C8T6单片机——最佳的平台选项本设计系统在开发上使用到较多模块器件,在面向多个项目的开发上更适合选择STM32单片机,单个STM32平台不管在储存空间和引脚等方面的应用上都具有很好的适配性,并且在外设连接应用以及软件应用开发上的兼容性高。在应用于本设计系统中可以达到高度的集成化。STM32F103C8T6单片机核心板接口电路图如下图3-2所示:图3-2STM32单片机核心板接口原理图STM32单片机核心板内部电路图如下图3-3所示:图3-3STM32单片机核心板内部原理图STM32单片机实物图如下图3-4所示:图3-4STM32单片机核心板实物图3.2.2显示模块电路本设计系统在进行数据显示方面采用了LCD1602液晶显示模块[2],其在工艺设计原理上主要是由若干个点阵字符位组成,虽然间隔式的液晶显示不美观,但是液晶显示模块在本设计显示字符上具有高度适用性。本设计系统采用的LCD1602点阵型显示模块电路连接设计图3-5如下,原理图中VDD和A引脚都接上5V的电源来点亮显示模块;VSS与K引脚都接上地;RS作为选择寄存器的引脚连接到处理器PB5信号引脚,再通过处理器控制PB5高低电平信号来选择数据寄存器还是指令寄存器;RW作为读取信号的引脚连接到处理器PB6信号引脚,再通过处理器控制PB6引脚高低电平信号来选择读操作还是写操作;E作为使能信号引脚连接到处理器PB7信号引脚,再通过处理器控制PB7引脚高低电平信号来控制显示模块执行命令;D0到D7分别和PB8到PB15引脚连接作为处理器和显示模块之间的双向数据传输功能。最后AO引脚与地之间接上一个PR1电阻,其中PR1电阻在本设计中采用了滑动变阻器,从而达到通过调节电阻大小来控制显示模块的对比度。图3-5LCD1602液晶显示电路原理图LCD1602实物图如下图3-6所示。图3-6LCD1602液晶显示屏3.2.3计步模块电路本系统在设计计步时采用一种低功耗3轴加速计ADXL345传感器模块,其传感器模块针对移动端的设备应用具有很好的作用效果。ADXL345传感器模块主要通过检测到物体倾斜角度和动态加速度变化来计算出相应人体运动的步数以及距离等方面的运动状态,其检测的高分辨率可以对运动的物体测量到1.0°的倾斜角度变化,而且传感器还可以通过比较任意轴上的加速度和设置的阀值来检测物体的运动和非运动情况,所以在本设计系统中起到很好计步作用效果。本设计ADXL345模块相应的接口图如图3-7所示。图3-7ADXL345模块接口图ADXL345模块内部电路图如图3-8所示。U2即为稳压芯片,实现5V直流电转化为3.3V直流电,C1-C4为滤波电容。R2和R3作为上拉电阻,使信号输入更加稳定。D1作为电源指示灯,R1作为限流电阻,主要用来保护LED灯D1。图3-8ADXL345模块电路图ADXL345模块实物图如下图3-9所示。图3-9ADXL345模块实物图3.2.4心率模块电路本设计系统在检测心率数据方面采用了Pulsesensor脉搏心率模块,此脉搏心率模块实质是一款基于光信号转为电信号的光学传感器[3],其整体内部电路原理图设计了放大电路和噪声消除电路,从而使输出信号更加稳定。本设计采用的心率模块是佩戴[4]在手指端进行心率数据采集,脉搏心率模块主要通过发光二极管发光来实时检测手指端血管舒张和收缩情况,当心脏跳动时,手指端血管血容量就会产生周期性的变化,心率模块发光二极管[5]在手指端的透光率也会产生周期性变化,从而心率模块将检测到红外光信号[6]变化转为电信号。一、接口说明:(1)正极引脚外接上5V电源(2)负极引脚外接上GND(3)信号输出接口(0和1)Pulsesensor脉搏心率传感器模块接口原理图如图3-10所示:图3-10心率模块接口原理图Pulsesensor脉搏心率传感器模块实物图如下图3-11所示:图3-11心率模块实物图本设计系统采用的Pulsesensor脉搏心率模块[7]模拟输出波形图如图3-12,示波器实际显示输出波形图如图3-13,两者波形图显示基本一致。图3-12理论输出波形图图3-13实际输出信号波形本设计系统直接采用心率模块输出波形信号并不是数字方波信号[8],在进行数据读取时不够精确、快捷、稳定,因此,本设计系统采用LM393比较器和心率模块连接,从而使心率传感器模块经过滤波后输出更加稳定,并且便于数据采集的标准数字方波信号。LM393比较器滤波后输出的波形图如图3-14所示。图3-14心率脉搏传感器经比较器滤波后输出的波形图LM393比较器模块对Pulsesensor脉搏心率传感器模块滤波的电路原理图如下图3-15所示。图3-15心率检测电路原理图本设计系统心率模块和LM393比较器设计原理图如图3-16所示,在心率传感器模块与LM393模块之间设计R1电阻、C1和C2电容是为了使LM393模块检测到的模拟信号转化为模拟电压时进行分压[9]、滤波[10]后输出更加稳定的数字信号。其中R1起到了分压的作用;C1起到了对电源端的滤波作用;C2起到了对模拟信号端的滤波作用。还有为了保护LED不容易被损坏而设计了R2和R3电阻进行限流,设计R4电阻为上拉电阻是为了保证将不确定的信号源保持在一个高电平状态,与此同时R4也起到了限流的作用。最终通过这些设计保证心率模块与单片机端的信号传输信号更加稳定有效。图3-16LM393比较器模块内部电路图LM393比较器模块实物图如下图3-17所示。图3-17LM393比较器模块实物图温度模块电路一、DS18B20技术参数:(1)DS18B20模块自身具有独特的单线接口达到双线传输[11]数据的功能,在与单片机之间只需要进行单线口连接即可。(2)在实测过程与单片机之间是以9到12位的串行数字传输,并且测试范围值在负55摄氏度到正125摄氏度之间,测试范围较广。(3)在应用于嵌入式硬件电路设计中都不需要与其他的元器件组合使用,单独接线单片机即可。(4)DS18B20模块在应用于嵌入式硬件设备中还可以多个模块并联使用,从而达到多个测试点作用。(5)DS18B20模块在使用是需要接上3到5V的电源本设计系统采用DS18B20模块主要基于其9到12位的分辨率,并且在进行监测温度转为12位的数字格式速度是750ms,器件技术参数是能满足本设计要求的。市场上主要存在两种DS18B20温度传感器模块,一种工艺设计原理上是芯片直接裸露,并且不具有防水功能,实物图如图3-18,则适用于本设计系统温度检测。另一种是长芯片钢管封装形式,具有防水功能,主要应用于液体温度检测装置,实物图如图3-19,则不适用本设计系统体温检测。图3-18DS18B20传感器实物图(裸露)图3-19DS18B20传感器实物图(防水)DS18B20温度传感器原理图如图3-20。传感器原理图中GND引脚与处理器GND引脚相连;引脚DQ与处理器的PC13信号引脚相连;引脚VDD与处理器5V电源引脚相连;其中引脚DQ和引脚VDD之间接上一个R1电阻作为上拉电阻,从而保证DS18B20传感器数据读取更稳定。图3-20DS18B20温度传感器原理图第四章系统软件应用4.1系统编程语言选择因为本设计采用的处理器是基于STM32系列的单片机,其中应用到了不少器件模块,所以整体系统程序较为复杂和计算量较大,则采用C语言作为程序设计语言。STM32系列单片机开发上C语言比汇编语言的优点:(1)C语言在开发上不需要了解相关的指令,在嵌入式硬件设计中使用C语言编程的用例较多以及具有很多标准的库文件,从而大大提高了在线编程开发和调试的效率。C语言的应用函数以及关键字更加贴切用户的使用思维,提高了程序结构上的可读性。(2)作为计算机专业中一门基础语言,C语言编译器的适用性更加广泛,更加适合用户的入门学习和实践。(3)在使用C语言编程时不需要考虑相关寄存器的分配和存储器寻址等问题,针对系统开发更加的简化和方便。4.2程序开发环境本设计系统在程序开发方面应用了KeiluVision5软件,KeiluVision5软件是STM32系列单片机主流开发环境,具有完整的STM32单片机开发应用库文件,能够实时在线对系统程序进行编译、连接和调试,开发界面完整、简洁,并且采用了C或C++基础语言开发。在开发者使用方面来说,系统程序编辑效率更高,能够使开发者更快更好的完成项目开发。开发界面如图4-1所示。图4-1开发界面图其中Keil有以下特点:(1)KeiluVision5作为STM32单片机主流开发环境,其应用的操作系统更加广泛,比如windows和macOS等操作系统,并且具有完整的STM32单片机库函数文件。(2)KeiluVision5是一个高度一体化开发环境,其能使开发者在线进行对系统程序整改和调试,具有很高的仿真性。(3)KeiluVision5作为KeiluVision4的升级版开发环境,扩大了对STM32系列单片机处理器的开发应用层面,并且开发形式更加方便和快捷。4.3软件开发流程本设计系统开发首先需要新建一个.c主函数文件,再建立心率、体温、计步等模块应用的.c程序文件,并且往“Project”工程里面添加相关的STM32系列单片机.h库函数文件。本设计是基于STM32F103C8T6单片机的心率计步体温显示系统,则“Project”工程芯片设置时选择STM32F103C8T6,最后通过参考STM32单片机及模块开发手册进行C语言编写系统程序,并且编译和调试,直至程序无误后下载到单片机。具体工程开发流程如图4-2所示。图4-2软件开发流程图4.4程序烧录软件介绍本设计在进行系统程序烧写时采用了FlyMcu软件,FlyMcu软件不仅可以进行程序编写,还可以进行程序校验以及读取相关器件信息。程序烧写时需要连接PC端和STM32单片机,具体的烧写操作界面如图4-3所示。图4-3烧写操作界面FlyMcu具体下载步骤如下:(1)在FlyMcu软件操作界面中选择USB转串口COMPORT模式。(2)选择本设计系统程序编译生成的.hex文件。(3)设置适用于STM32的DTR低电平复位和RTS高电平烧写模式。(4)完成以上步骤,直接进行编程操作完成程序烧写。4.5程序烧写模块介绍一、PL2303串口烧写模块特点:(1)PL2303模块USB接口主要以2.0和1.1的传输速度与电脑端USB接口进行数据传输。(2)PL2303模块能够适用于所有主流操作系统,如Window和macOS等操作系统。(3)模块在使用时主要通过USB口与PC端连接供电。(4)PL2303模块不仅支持全系列STC芯片烧写,而且常用于STM32系列单片机的程序烧写。(5)PL2303可以为STM32单片机提供5V或者3.3V的电压。(6)PL2303因为在工艺设计上采用了高精度芯片,所以烧写速度变得更快和更稳定。(7)系统程序编写可以与STM32单片机运行同时进行。PL2303模块实物图如下图4-4所示:图4-4PL2303模块二、PL2303与STM32单片机引脚接线说明:(1)3.3V或5V输出电压接上单片机3.3V或5V引脚。(2)PL2303模块GND引脚接上STM32F103C8T6单片机GND引脚。(3)PL2303接收数据引脚RXD与单片机发送数据引脚TXD相连接。(4)PL2303发送数据引脚TXD与单片机接收数据引脚RXD相连接。三、PL2303模块与STM32单片机的实物接线图如图4-5所示:图4-5PL2303模块与单片机接线图4.6系统算法设计4.6.1心率算法设计心率就是在一分钟内心跳动的次数,心率也会分为平均心率[12]与瞬时心率[13]的两种测量数据。本设计在设计实时监测心率是采用了PulseSensor心率数据[14]采集模块,主要通过模块对手指端脉搏跳动产生不同的透光率来获取模拟信号量[15]的变化,再设定一个固定的阈值点计算得出实时的心率数据值。4.6.2计步与距离算法设计本系统设计采用ADXL345模块实时测量步数和距离,主要通过模块X、Y、Z轴上加速度[16]变化幅度与设定的动态阀值相比较来确定人体是否跨步,为了消除一些无效的检测跨步并设置相应的时间窗口[17]。距离主要通过不同身高的人体在不同的加速度状态下跨出每步的距离长度和步数值计算后得到。4.6.3体温算法设计体温就是人体内为了保证新陈代谢进行的一个恒定温度值[18],本设计在设计实时监测温度时采用了DS18B20温度数据采集模块[19],主要通过采集手指端表面皮肤的实时温度来体现人体温度是否处于正常范围值。人体内各处温度有异,本系统设计在腋下或口腔温度处于正常的37摄氏度左右时人体手指端的表面皮肤处于30摄氏度左右的范围来判断人体温度是否处于正常情况。4.7系统运行流程本设计系统主程序运行流程图如下图4-6所示:图4-6系统运行流程图第五章整体系统调试5.1系统调试本设计系统在进行整体测试前要确保电路在焊接后是否存在元器件的断裂、漏焊、虚焊以及元器件的正负极接反等比较明显的问题,接着再通过使用万用表检测一下整体系统电路是否存在短路,然后在搭建好的软件平台上对整体系统程序进行测试和调试,最后反复进行测试整体系统是否实现了本设计的所有功能效果。5.1.1程序调试软件调试步骤如下:(1)在KeiluVision5软件中先创建一个工程:单击菜单栏中的“工程”,输入新建工程名,并保存;然后单片机型号是“STM32F103”。(2)新建程序源文件:在新建空白.c文件中编写好本设计系统的主函数代码和.h头文件源代码,然后编码完成并且进行文件的保存。(3)程序编译和调试:通过对编码好的整体系统源代码进行编译直至输出窗口提示没有错误信息以及实物运行实现全部的功能为止,编译无误如下图5-1所示。图5-1编译无误界面图5.1.2硬件测试最后通过对本设计硬件系统进行静态和动态的调试,利用万用表和示波器对设计好的实物进行上电测试和调试,从而确保所有元器件和模块能够正常运行。一、静态调试:(1)主要观察关于整体电路在焊接后是否存在元器件断裂、漏焊、虚焊以及元器件正负极接反等比较明显的问题。(2)通过使用万用表对整体系统设计电路的元器件引脚检测来排除电路短路以及接错线的问题。(3)通过接上电源观察所有的元器件、模块等是否正常运行,并且检测元器件之间是否存在接口连接的问题。二、动态调试:在完成静态调试后,接着对系统进行反反复复的上电测试直至实现本设计开发的功能为止,并且在测试过程同时观察所有的器件运行状况以防止损坏,从而影响到整个系统。5.2实物测量数据表5-1测量数据心率(次/min)温度(摄氏度)距离(m)步数18029.75.01027830.14.01036830.24.51047529.85.11058229.54.31067730.34.21077029.93.8105.3实物测试本设计系统经过静态和动态的调试,全部的设计功能都能实现效果并且运行稳定,实物测试如下图5-2所示:图5-2系统测试图第六章总结与展望本文实现了一种基于STM32单片机实时心率体温计步显示系统的设计与制作。本显示系统主要通过心率、计步、温度模块实时对数据的采集,再设计算法计算得到相应的心率、温度、步数以及距离显示在LCD模块上,因为体温和心率模块主要通过手指端进行检测采集数据,所以采集数据的精确度上有时会存在一定的误差问题,在实验测量数据的采集上分析来看,总体上本设计系统是相对较稳定。期望在将来可以通过不断的学习和实践中改善本设计系统的完善度和精准度。参考文献[1][杨振江,蔡德芳·新型集成电路使用指南与典型应用[M]·西安:西安电子科技大学出版社1998.10[2]蔚承英,陈勇刚,杨利平等.基于GPRS和嵌入式计算机的远程监控系统研究[J].安防科技,2016,2(12):18-20.[3]黄伟荣.可穿戴式健康参数监测方法与系统设计[D].西安理工大学.[4]刘劲松,朱纯午,杨莉.一种基于STM32和PPG技术的腕戴式心率计设计[J].电子技术应用,2016,42(10):62-64.[5]张俊谟.单片机中级教程原理与应用.北京航空航天大学出版社.2002.[6]杨春玉,李琴.基于STM32刑事审讯之心率检测设计与实现[J].重庆工商大学学报(自然科学版),2016(6):98-104.[7]陈孝英,杨济民.基于STM32血氧心率检测仪的研制[J].电脑知识与技术(15).[8]胡汉才.

单片机原理及系统设计.

北京:清华大学出版社,

2002.[9]李广弟,单片机基础,北京:北京航空航天大学出版社,2001,56~64.[10]霍孟友.单片机原理与应用[M

].北京:机械工业出版社,2004.[11]卢本,王君.材料成形过程的测量与控制[M].上海:机械工业出版社,2005.

[12]梁伟鄯,王健,魏千.基于STM32单片机的智能手环设计与实现[J].教育界:高等教育研究(下),2016(8):81-81.[13]涂颖,刘会衡.基于STM32的心率实时监测系统[J].电子制作,2019(7).[14]王毅,杨志,黄晓英,etal.基于STM32单片机的人体心率采集系统[J].电子世界,2016(20):51-52.[15]陈景霞,肖琳,路铭.基于STM32NUCLEO的心率检测仪设计[J].现代信息科技,3(04):158-159+162.[16]奚维立,郑仲龙,王利利.基于STM32可穿戴式老人摔倒及其生理检测系统设计[J].科技创新导报,v.12;No.353(29):54-55.

[17]孙志勇,龚琼,苏大明,等.基于STM32的多参数手环的系统设计[J].科技视界(27).[18]方琳.基于ARM的智能家居系统设计与实现[D].南京邮电大学,2015.[19]杨晓芬.基于无线传感器网络的博物馆环境监测系统[J].电子世界,2016,19(10):75-78.致谢短短的四年大学生涯即将画上句号,经过四年的学习和实践,再到6个月的努力付出,毕业设计也将结束了。回顾过往这四年,此时此刻,我心里的一块重担总算放下了,在这里,我要向我的指导老师致以最高的敬意以及表示感谢!在我进行毕业设计和毕业实习的这段时间里,不管是在毕业设计的选题上,还是在设计整个毕业设计作品和撰写毕业设计论文上,郭老师都提供了最大的帮助。我印象中的郭老师是一位在工作作风上非常严谨、精益求精、认真负责的好老师。除此之外,我还要郑重的向电子信息工程的所有老师们表示感谢!你们辛苦了!正是因为有你们授予了我很多专业的知识以及给与丰富的实践机会,从而对我在本科学习的这四年里受益匪浅。我还要感谢我的辅导员以及学院的所有工作人员在生活上、工作上以及学习上提供的帮助。我要感谢一起奋斗四年的同学们,我要感谢你们在生活上提供的帮助以及包容,我要感谢你们在学习上帮助我解决了很多困难。期望在将来我们一样能在社会中互帮互助,一起奋进。最后向审阅此文的所有教授、老师致以最高的敬意以及表示感谢,同时也衷心祝愿母校的明天更加美好!

ExcelXP的八则快速输入技巧如果我们在用ExcelXP处理庞大的数据信息时,不注意讲究技巧和方法的话,很可能会花费很大的精力。因此如何巧用ExcelXP,来快速输入信息就成为各个ExcelXP用户非常关心的话题,笔者向大家介绍几则这方面的小技巧。1、快速输入大量含小数点的数字如果我们需要在ExcelXP工作表中输入大量的带有小数位的数字时,按照普通的输入方法,我们可能按照数字原样大小直接输入,例如现在要在单元格中输入0.05这个数字时,我们会把“0.05”原样输入到表格中。不过如果需要输入若干个带有小数点的数字时,我们再按照上面的方法输入的话,每次输入数字时都需要重复输入小数点,这样工作量会变大,输入效率会降低。其实,我们可以使用ExcelXP中的小数点自动定位功能,让所有数字的小数点自动定位,从而快速提高输入速度。在使用小数点自动定位功能时,我们可以先在ExcelXP的编辑界面中,用鼠标依次单击“工具”/“选项”/“编辑”标签,在弹出的对话框中选中“自动设置小数点”复选框,然后在“位数”微调编辑框中键入需要显示在小数点右面的位数就可以了。以后我们再输入带有小数点的数字时,直接输入数字,而小数点将在回车键后自动进行定位。例如,我们要在某单元格中键入0.06的话,可以在上面的设置中,让“位数”选项为2,然后直接在指定单元格中输入6,回车以后,该单元格的数字自动变为“0.06”,怎么样简单吧?2、快速录入文本文件中的内容现在您手边假如有一些以纯文本格式储存的文件,如果此时您需要将这些数据制作成ExcelXP的工作表,那该怎么办呢?重新输入一遍,大概只有头脑有毛病的人才会这样做;将菜单上的数据一个个复制/粘贴到工作表中,也需花很多时间。没关系!您只要在ExcelXP中巧妙使用其中的文本文件导入功能,就可以大大减轻需要重新输入或者需要不断复制、粘贴的巨大工作量了。使用该功能时,您只要在ExcelXP编辑区中,依次用鼠标单击菜单栏中的“数据/获取外部数据/导入文本文件”命令,然后在导入文本会话窗口选择要导入的文本文件,再按下“导入”钮以后,程序会弹出一个文本导入向导对话框,您只要按照向导的提示进行操作,就可以把以文本格式的数据转换成工作表的格式了。3、快速输入大量相同数据如果你希望在不同的单元格中输入大量相同的数据信息,那么你不必逐个单元格一个一个地输入,那样需要花费好长时间,而且还比较容易出错。你可以通过下面的操作方法在多个相邻或不相邻的单元格中快速填充同一个数据,具体方法为:首先同时选中需要填充数据的单元格。若某些单元格不相邻,可在按住Ctrl键的同时,点击鼠标左键,逐个选中;其次输入要填充的某个数据。按住Ctrl键的同时,按回车键,则刚才选中的所有单元格同时填入该数据。4、快速进行中英文输入法切换一张工作表常常会既包含有数字信息,又包含有文字信息,要录入这样一种工作表就需要我们不断地在中英文之间反复切换输入法,非常麻烦,为了方便操作,我们可以用以下方法实现自动切换:首先用鼠标选中需要输入中文的单元格区域,然后在输入法菜单中选择一个合适的中文输入法;接着打开“有效数据”对话框,选中“IME模式”标签,在“模式”框中选择打开,单击“确定”按钮;然后再选中输入数字的单元格区域,在“有效数据”对话框中,单击“IME模式”选项卡,在“模式”框中选择关闭(英文模式);最后单击“确定”按钮,这样用鼠标分别在刚才设定的两列中选中单元格,五笔和英文输入方式就可以相互切换了。5、快速删除工作表中空行删除ExcelXP工作表中的空行,一般的方法是需要将空行都找出来,然后逐行删除,但这样做操作量非常大,很不方便。那么如何才能减轻删除工作表中空行的工作量呢?您可以使用下面的操作方法来进行删除:首先打开要删除空行的工作表,在打开的工作表中用鼠标单击菜单栏中的“插入”菜单项,并从下拉菜单中选择“列”,从而插入一新的列X,在X列中顺序填入整数;然后根据其他任何一列将表中的行排序,使所有空行都集中到表的底部。删去所有空行中X列的数据,以X列重新排序,然后删去X列。按照这样的删除方法,无论工作表中包含多少空行,您就可以很快地删除了。6、快速对不同单元格中字号进行调整在使用ExcelXP编辑文件时,常常需要将某一列的宽度固定,但由于该列各单元格中的字符数目不等,致使有的单元格中的内容不能完全显示在屏幕上,为了让这些单元格中的数据都显示在屏幕上,就不得不对这些单元格重新定义较小的字号。如果依次对这些单元格中的字号调整的话,工作量将会变得很大。其实,您可以采用下面的方法来减轻字号调整的工作量:首先新建或打开一个工作簿,并选中需要ExcelXP根据单元格的宽度调整字号的单元格区域;其次单击用鼠标依次单击菜单栏中的“格式”/“单元格”/“对齐”标签,在“文本控制”下选中“缩小字体填充”复选框,并单击“确定”按钮;此后,当你在这些单元格中输入数据时,如果输入的数据长度超过了单元格的宽度,ExcelXP能够自动缩小字符的大小把数据调整到与列宽一致,以使数据全部显示在单元格中。如果你对这些单元格的列宽进行了更改,则字符可自动增大或缩小字号,以适应新的单元格列宽,但是对这些单元格原设置的字体字号大小则保持不变。7、快速输入多个重复数据在使用ExcelXP工作表的过程中,我们经常要输入大量重复的数据,如果依次输入,无疑工作量是巨大的。现在我们可以借助ExcelXP的“宏”功能,来记录首次输入需要重复输入的数据的命令和过程,然后将这些命令和过程赋值到一个组合键或工具栏的按钮上,当按下组合键时,计算机就会重复所记录的操作。使用宏功能时,我们可以按照以下步骤进行操作:首先打开工作表,在工作表中选中要进行操作的单元格;接着再用鼠标单击菜单栏中的“工具”菜单项,并从弹出的下拉菜单中选择“宏”子菜单项,并从随后弹出的下级菜单中选择“录制新宏”命令;设定好宏后,我们就可以对指定的单元格,进行各种操作,程序将自动对所进行的各方面操作记录复制。8、快速处理多个工作表有时我们需要在ExcelXP中打开多个工作表来进行编辑,但无论打开多少工作表,在某一时刻我们只能对一个工作表进行编辑,编辑好了以后再依次编辑下一个工作表,如果真是这样操作的话,我们倒没有这个必要同时打开多个工作表了,因为我们同时打开多个工作表的目的就是要减轻处理多个工作表的工作量的,那么我们该如何实现这样的操作呢?您可采用以下方法:首先按住“Shift"键或“Ctrl"键并配以鼠标操作,在工作簿底部选择多个彼此相邻或不相邻的工作表标签,然后就可以对其实行多方面的批量处理;接着在选中的工作表标签上按右键弹出快捷菜单,进行插入和删除多个工作表的操作;然后在“文件”菜单中选择“页面设置……”,将选中的多个工作表设成相同的页面模式;再通过“编辑”菜单中的有关选项,在多个工作表范围内进行查找、替换、定位操作;通过“格式”菜单中的有关选项,将选中的多个工作表的行、列、单元格设成相同的样式以及进行一次性全部隐藏操作;接着在“工具”菜单中选择“选项……”,在弹出的菜单中选择“视窗”和“编辑”按钮,将选中的工作表设成相同的视窗样式和单元格编辑属性;最后选中上述工作表集合中任何一个工作表,并在其上完成我们所需要的表格,则其它工作表在相同的位置也同时生成了格式完全相同的表格。高效办公Excel排序方法"集中营"排序是数据处理中的经常性工作,Excel排序有序数计算(类似成绩统计中的名次)和数据重排两类。本文以几个车间的产值和名称为例,介绍Excel2000/XP的数据排序方法。一、数值排序1.RANK函数RANK函数是Excel计算序数的主要工具,它的语法为:RANK(number,ref,order),其中number为参与计算的数字或含有数字的单元格,ref是对参与计算的数字单元格区域的绝对引用,order是用来说明排序方式的数字(如果order为零或省略,则以降序方式给出结果,反之按升序方式)。例如图1中E2、E3、E4单元格存放一季度的总产值,计算各车间产值排名的方法是:在F2单元格内输入公式“=RANK(E2,$E$2:$E$4)”,敲回车即可计算出铸造车间的产值排名是2。再将F2中的公式复制到剪贴板,选中F3、F4单元格按Ctrl+V,就能计算出其余两个车间的产值排名为3和1。如果B1单元格中输入的公式为“=RANK(E2,$E$2:$E$4,1)”,则计算出的序数按升序方式排列,即2、1和3。需要注意的是:相同数值用RANK函数计算得到的序数(名次)相同,但会导致后续数字的序数空缺。假如上例中F2单元格存放的数值与F3相同,则按本法计算出的排名分别是3、3和1(降序时)。2.COUNTIF函数COUNTIF函数可以统计某一区域中符合条件的单元格数目,它的语法为COUNTIF(range,criteria)。其中range为参与统计的单元格区域,criteria是以数字、表达式或文本形式定义的条件。其中数字可以直接写入,表达式和文本必须加引号。仍以图1为例,F2单元格内输入的公式为“=COUNTIF($E$2:$E$4,">"&E2)+1”。计算各车间产值排名的方法同上,结果也完全相同,2、1和3。此公式的计算过程是这样的:首先根据E2单元格内的数值,在连接符&的作用下产生一个逻辑表达式,即“>176.7”、“>167.3”等。COUNTIF函数计算出引用区域内符合条件的单元格数量,该结果加一即可得到该数值的名次。很显然,利用上述方法得到的是降序排列的名次,对重复数据计算得到的结果与RANK3.IF函数Excel自身带有排序功能,可使数据以降序或升序方式重新排列。如果将它与IF函数结合,可以计算出没有空缺的排名。以图1中E2、E3、E4单元格的产值排序为例,具体做法是:选中E2单元格,根据排序需要,单击Excel工具栏中的“降序排序”或“升序排序”按钮,即可使工作表中的所有数据按要求重新排列。假如数据是按产值由大到小(降序)排列的,而您又想赋予每个车间从1到n(n为自然数)的排名。可以在G2单元格中输入1,然后在G3单元格中输入公式“=IF(E3=E2,G3,G3+1)”,只要将公式复制到G4等单元格,就可以计算出其他车间的产值排名。二、文本排序选举等场合需要按姓氏笔划为文本排序,Excel提供了比较好的解决办法。如果您要将图1数据表按车间名称的笔划排序,可以使用以下方法:选中排序关键字所在列(或行)的首个单元格(如图1中的A1),单击Excel“数据”菜单下的“排序”命令,再单击其中的“选项”按钮。选中“排序选项”对话框“方法”下的“笔画排序”,再根据数据排列方向选择“按行排序”或“按列排序”,“确定”后回到“排序”对话框(图2)。如果您的数据带有标题行(如图1中的“单位”之类),则应选中“有标题行”(反之不选),然后打开“主要关键字”下拉列表,选择其中的“单位”,选中排序方式(“升序”或“降序”)后“确定”,表中的所有数据就会据此重新排列。此法稍加变通即可用于“第一名”、“第二名”等文本排序,请读者自行摸索。三、自定义排序如果您要求Excel按照“金工车间”、“铸造车间”和“维修车间”的特定顺序重排工作表数据,前面介绍的几种方法就无能为力了。这类问题可以用定义排序规则的方法解决:首先单击Excel“工具”菜单下的“选项”命令,打开“选项”对话框中的“自定义序列”选项卡(图3)。选中左边“自定义序列”下的“新序列”,光标就会在右边的“输入序列”框内闪动,您就可以输入“金工车间”、“铸造车间”等自定义序列了,输入的每个序列之间要用英文逗号分隔,或者每输入一个序列就敲回车。如果序列已经存在于工作表中,可以选中序列所在的单元格区域单击“导入”,这些序列就会被自动加入“输入序列”框。无论采用以上哪种方法,单击“添加”按钮即可将序列放入“自定义序列”中备用(图3)。使用排序规则排序的具体方法与笔划排序很相似,只是您要打开“排序选项”对话框中的“自定义排序次序”下拉列表,选中前面定义的排序规则,其他选项保持不动。回到“排序”对话框后根据需要选择“升序”或“降序”,“确定”后即可完成数据的自定义排序。需要说明的是:显示在“自定义序列”选项卡中的序列(如一、二、三等),均可按以上方法参与排序,请读者注意Excel提供的自定义序列类型。谈谈Excel输入的技巧在Excel工作表的单元格中,可以使用两种最基本的数据格式:常数和公式。常数是指文字、数字、日期和时间等数据,还可以包括逻辑值和错误值,每种数据都有它特定的格式和输入方法,为了使用户对输入数据有一个明确的认识,有必要来介绍一下在Excel中输入各种类型数据的方法和技巧。一、输入文本Excel单元格中的文本包括任何中西文文字或字母以及数字、空格和非数字字符的组合,每个单元格中最多可容纳32000个字符数。虽然在Excel中输入文本和在其它应用程序中没有什么本质区别,但是还是有一些差异,比如我们在Word、PowerPoint的表格中,当在单元格中输入文本后,按回车键表示一个段落的结束,光标会自动移到本单元格中下一段落的开头,在Excel的单元格中输入文本时,按一下回车键却表示结束当前单元格的输入,光标会自动移到当前单元格的下一个单元格,出现这种情况时,如果你是想在单元格中分行,则必须在单元格中输入硬回车,即按住Alt键的同时按回车键。二、输入分数几乎在所有的文档中,分数格式通常用一道斜杠来分界分子与分母,其格式为“分子/分母”,在Excel中日期的输入方法也是用斜杠来区分年月日的,比如在单元格中输入“1/2”,按回车键则显示“1月2日”,为了避免将输入的分数与日期混淆,我们在单元格中输入分数时,要在分数前输入“0”(零)以示区别,并且在“0”和分子之间要有一个空格隔开,比如我们在输入1/2时,则应该输入“01/2”。如果在单元格中输入“81/2”,则在单元格中显示“81/2”,而在编辑栏中显示“三、输入负数在单元格中输入负数时,可在负数前输入“-”作标识,也可将数字置在()括号内来标识,比如在单元格中输入“(88)”,按一下回车键,则会自动显示为“-88”。四、输入小数在输入小数时,用户可以向平常一样使用小数点,还可以利用逗号分隔千位、百万位等,当输入带有逗号的数字时,在编辑栏并不显示出来,而只在单元格中显示。当你需要输入大量带有固定小数位的数字或带有固定位数的以“0”字符串结尾的数字时,可以采用下面的方法:选择“工具”、“选项”命令,打开“选项”对话框,单击“编辑”标签,选中“自动设置小数点”复选框,并在“位数”微调框中输入或选择要显示在小数点右面的位数,如果要在输入比较大的数字后自动添零,可指定一个负数值作为要添加的零的个数,比如要在单元格中输入“88”后自动添加3个零,变成“88000”,就在“位数”微调框中输入“-3”,相反,如果要在输入“88”后自动添加3位小数,变成“0.088”,则要在“位数”微调框中输入“3”。另外,在完成输入带有小数位或结尾零字符串的数字后,应清除对“自动设置小数点”符选框的选定,以免影响后边的输入;如果只是要暂时取消在“自动设置小数点”中设置的选项,可以在输入数据时自带小数点。五、输入货币值Excel几乎支持所有的货币值,如人民币(¥)、英镑(£)等。欧元出台以后,Excel2000完全支持显示、输入和打印欧元货币符号。用户可以很方便地在单元格中输入各种货币值,Excel会自动套用货币格式,在单元格中显示出来,如果用要输入人民币符号,可以按住Alt键,然后再数字小键盘上按“0165”即可。六、输入日期Excel是将日期和时间视为数字处理的,它能够识别出大部分用普通表示方法输入的日期和时间格式。用户可以用多种格式来输入一个日期,可以用斜杠“/”或者“-”来分隔日期中的年、月、日部分。比如要输入“2001年12月1日”,可以在单元各种输入“2001/12/1”或者“2001-12-1七、输入时间在Excel中输入时间时,用户可以按24小时制输入,也可以按12小时制输入,这两种输入的表示方法是不同的,比如要输入下午2时30分38秒,用24小时制输入格式为:2:30:38,而用12小时制输入时间格式为:2:30:38p,注意字母“p”和时间之间有一个空格。如果要在单元格中插入当前时间,则按Ctrl+Shift+;键。了解Excel公式的错误值经常用Excel的朋友可能都会遇到一些莫名奇妙的错误值信息:#N/A!、#VALUE!、#DIV/O!等等,出现这些错误的原因有很多种,如果公式不能计算正确结果,Excel将显示一个错误值,例如,在需要数字的公式中使用文本、删除了被公式引用的单元格,或者使用了宽度不足以显示结果的单元格。以下是几种常见的错误及其解决方法。1.#####!原因:如果单元格所含的数字、日期或时间比单元格宽,或者单元格的日期时间公式产生了一个负值,就会产生#####!错误。解决方法:如果单元格所含的数字、日期或时间比单元格宽,可以通过拖动列表之间的宽度来修改列宽。如果使用的是1900年的日期系统,那么Excel中的日期和时间必须为正值,用较早的日期或者时间值减去较晚的日期或者时间值就会导致#####!错误。如果公式正确,也可以将单元格的格式改为非日期和时间型来显示该值。2.#VALUE!当使用错误的参数或运算对象类型时,或者当公式自动更正功能不能更正公式时,将产生错误值#VALUE!。原因一:在需要数字或逻辑值时输入了文本,Excel不能将文本转换为正确的数据类型。解决方法:确认公式或函数所需的运算符或参数正确,并且公式引用的单元格中包含有效的数值。例如:如果单元格A1包含一个数字,单元格A2包含文本"学籍",则公式"=A1+A2"将返回错误值#VALUE!。可以用SUM工作表函数将这两个值相加(SUM函数忽略文本):=SUM(A1:A2)。原因二:将单元格引用、公式或函数作为数组常量输入。解决方法:确认数组常量不是单元格引用、公式或函数。原因三:赋予需要单一数值的运算符或函数一个数值区域。解决方法:将数值区域改为单一数值。修改数值区域,使其包含公式所在的数据行或列。3.#DIV/O!当公式被零除时,将会产生错误值#DIV/O!。原因一:在公式中,除数使用了指向空单元格或包含零值单元格的单元格引用(在Excel中如果运算对象是空白单元格,Excel将此空值当作零值)。解决方法:修改单元格引用,或者在用作除数的单元格中输入不为零的值。原因二:输入的公式中包含明显的除数零,例如:=5/0。解决方法:将零改为非零值。4.#NAME?在公式中使用了Excel不能识别的文本时将产生错误值#NAME?。原因一:删除了公式中使用的名称,或者使用了不存在的名称。解决方法:确认使用的名称确实存在。选择菜单"插入"|"名称"|"定义"命令,如果所需名称没有被列出,请使用"定义"命令添加相应的名称。原因二:名称的拼写错误。解决方法:修改拼写错误的名称。原因三:在公式中使用标志。解决方法:选择菜单中"工具"|"选项"命令,打开"选项"对话框,然后单击"重新计算"标签,在"工作薄选项"下,选中"接受公式标志"复选框。原因四:在公式中输入文本时没有使用双引号。解决方法:Excel将其解释为名称,而不理会用户准备将其用作文本的想法,将公式中的文本括在双引号中。例如:下面的公式将一段文本"总计:"和单元格B50中的数值合并在一起:="总计:"&B50原因五:在区域的引用中缺少冒号。解决方法:确认公式中,使用的所有区域引用都使用冒号。例如:SUM(A2:B34)。5.#N/A原因:当在函数或公式中没有可用数值时,将产生错误值#N/A。解决方法:如果工作表中某些单元格暂时没有数值,请在这些单元格中输入"#N/A",公式在引用这些单元格时,将不进行数值计算,而是返回#N/A。6.#REF!当单元格引用无效时将产生错误值#REF!。原因:删除了由其他公式引用的单元格,或将移动单元格粘贴到由其他公式引用的单元格中。解决方法:更改公式或者在删除或粘贴单元格之后,立即单击"撤消"按钮,以恢复工作表中的单元格。7.#NUM!当公式或函数中某个数字有问题时将产生错误值#NUM!。原因一:在需要数字参数的函数中使用了不能接受的参数。解决方法:确认函数中使用的参数类型正确无误。原因二:使用了迭代计算的工作表函数,例如:IRR或RATE,并且函数不能产生有效的结果。解决方法:为工作表函数使用不同的初始值。原因三:由公式产生的数字太大或太小,Excel不能表示。解决方法:修改公式,使其结果在有效数字范围之间。8.#NULL!当试图为两个并不相交的区域指定交叉点时将产生错误值#NULL!。原因:使用了不正确的区域运算符或不正确的单元格引用。解决方法:如果要引用两个不相交的区域,请使用联合运算符逗号(,)。公式要对两个区域求和,请确认在引用这两个区域时,使用逗号。如:SUM(A1:A13,D12:D23)。如果没有使用逗号,Excel将试图对同时属于两个区域的单元格求和,但是由于A1:A13和D12:D23并不相交,所以他们没有共同的单元格。在Excel中快速查看所有工作表公式只需一次简单的键盘点击,即可可以显示出工作表中的所有公式,包括Excel用来存放日期的序列值。要想在显示单元格值或单元格公式之间来回切换,只需按下CTRL+`(位于TAB键上方)。EXCEL2000使用技巧十招1、Excel文件的加密与隐藏如果你不愿意自己的Excel文件被别人查看,那么你可以给它设置密码保护,采用在保存文件时用加密的方法就可以实现保护目的,在这里要特别注意的是,自己设定的密码一定要记住,否则自己也将被视为非法入侵者而遭拒绝进入。给文件加密的具体方法为:A、单击“文件”菜单栏中的“保存或者(另存为)”命令后,在弹出的“保存或者(另存为)”的对话框中输入文件名;B、再单击这个对话框中“工具”栏下的“常规选项”按钮,在弹出的“保存选项”的对话框中输入自己的密码;这里要注意,它提供了两层保护,如果你也设置了修改权限密码的话,那么即使文件被打开也还需要输入修改权限的密码才能修改。C、单击“确定”按钮,在弹出的密码确认窗口中重新输入一遍密码,再点击“确认”,最后点“保存”完成文件的加密工作。当重新打开文件时就要求输入密码,如果密码不正确,文件将不能打开。2、对单元格进行读写保护单元格是Excel执行其强大的计算功能最基本的元素,对单元格的读写保护是Excel对数据进行安全管理的基础。对单元格的保护分为写保护和读保护两类,所谓写保护就是对单元格中输入信息加以限制,读保护是对单元格中已经存有信息的浏览和查看加以限制。对单元格的写保护有两种方法:A、对单元格的输入信息进行有效性检测。首先选定要进行有效性检测的单元格或单元格集合,然后从数据菜单中选择“有效数据”选项,通过设定有效条件、显示信息和错误警告,控制输入单元格的信息要符合给定的条件。B、设定单元格的锁定属性,以保护存入单元格的内容不能被改写。可分为以下步骤:(1)选定需要锁定的单元格或单元格集合;(2)从格式菜单中选择“单元格”选项;(3)在设置单元格格式的弹出菜单中选择“保护”标签,在弹出的窗口中,选中“锁定”;(4)从工具菜单中选择“保护”选项,设置保护密码,即完成了对单元格的锁定设置。对单元格的读保护有三种方法:A、通过对单元格颜色的设置进行读保护。例如:将选定单元格或单元格集合的背景颜色与字体颜色同时设为白色,这样,从表面看起来单元格中好像是没有输入任何内容,用户无法直接读出单元格中所存储的信息。B、用其他画面覆盖在需要保护的单元格之上,遮住单元格的本来面目,以达到读保护目的。例如:使用绘图工具,画一不透明矩形覆盖在单元格之上,从格式菜单中选定矩形的“锁定”选项,然后保护工作表,以保证矩形不能被随意移动。这样,用户所看到的只是矩形,而看不到单元格中所存储的内容。C、通过设置单元格的行高和列宽,隐藏选定的单元格,然后保护工作表,使用户不能直接访问被隐藏的单元格,从而起到读保护的作用。3、快速填充相同数据如果你希望在不同的单元格中输入大量相同的数据信息,那么你不必逐个单元格一个一个地输入,那样需要花费好长时间,而且还比较容易出错。我们可以通过下面的操作方法在多个相邻或不相邻的单元格中快速填充同一个数据,具体方法为:A、同时选中需要填充数据的单元格。若某些单元格不相邻,可在按住Ctrl键的同时,点击鼠标左键,逐个选中;B、输入要填充的某个数据。按住Ctrl键的同时,按回车键,则刚才选中的所有单元格同时填入该数据。4、使用Excel中的“宏”功能宏的概念,相信使用过WORD的人都会知道,她可以记录命令和过程,然后将这些命令和过程赋值到一个组合键或工具栏的按钮上,当按下组合键时,计算机就会重复所记录的操作。在实践工作中,它可以代替经常输入大量重复而又琐碎的数据,具体宏的定义方法如下::A、打开工作表,在工作表中选中要进行操作的单元格;B、用鼠标单击菜单栏中的“工具”菜单项,并从弹出的下拉菜单中选择“宏”子菜单项,并从随后弹出的下级菜单中选择“录制新宏”命令;C、设定好宏后,我们就可以对指定的单元格,进行各种操作,程序将自动对所进行的各方面操作记录复制。5、连续两次选定单元格我们有时需要在某个单元格内连续输入多个数值,以查看引用此单元格的其他单元格的效果。但每次输入一个值后按回车键,活动单元格均默认下移一个单元格,非常不便。解决此问题的一般做法是通过选择“工具”\“选项”\“编辑”,取消“按回车键后移动”选项的选定来实现在同一单元格内输入许多数值,但以后你还得将此选项选定,显得比较麻烦。其实,采用连续两次选定单元格方法就显得灵活、方便:单击鼠标选定单元格,然后按住Ctrl键再次单击鼠标选定此单元格。此时,单元格周围将出现实线框。6、在工作表之间使用超级连接首先须要在被引用的其他工作表中相应的部分插入书签,然后在引用工作表中插入超级链接,注意在插入超级链接时,可以先在“插入超级链接”对话框的“链接到文件或URL”设置栏中输入目标工作表的路径和名称,再在“文件中有名称的位置”设置栏中输入相应的书签名,也可以通过“浏览”方式选择。完成上述操作之后,一旦使用鼠标左键单击工作表中带有下划线的文本的任意位置,即可实现中文Excel2000在自动打开目标工作表并转到相应的位置处,这一点与WORD的使用很相似。7、快速清除单元格的内容首先用鼠标选定该单元格,然后按住键盘上的Delete键,此时你会发现你只是删除了单元格内容,它的格式和批注还保留着。那么如何才能彻底清除单元格呢,请看下面的两种操作步骤:A、选定想要清除的单元格或单元格范围;B、选择“编辑”菜单中的“清除”命令,这时显示“清除”菜单;C、选择要清除的命令,可以选择“全部”、“格式”、“内容”或“批注”中的任一个。8、快速修改单元格次序在实际操作的过程中,我们有时需要快速修改单元格内容的次序。在拖放选定的一个或多个单元格至新的位置的同时,按住Shift键可以快速修改单元格内容的次序。具体方法如下:A、首先用鼠标选定单元格,同时按下键盘上的Shift键;B、接着移动鼠标指针到单元格边缘,直至出现拖放指针箭头,然后进行拖放操作。上下拖拉时鼠标在单元格间边界处会变成一个水平“工”状标志,左右拖拉时会变成垂直“工”状标志,释放鼠标按钮完成操作后,单元格间的次序即发生了变化。、在Excel中利用公式来设置加权平均加权平均在财务核算和统计工作中经常用到,并不是一项很复杂的计算,关键是要理解加权平均值其实就是总量值(如金额)除以总数量得出的单位平均值,而不是简单的将各个单位值(如单价)平均后得到的那个单位值。在Excel中可设置公式解决(其实就是一个除法算式),分母是各个量值之和,分子是相应的各个数量之和,它的结果就是这些量值的加权平均值。10、用Excel绘制函数图像函数图像能直观地反映函数的性质,用手工方法来绘制函数图像效果不太好,而用Excel绘制函数图像非常简便,所作图像非常标准、漂亮,具体方法如下:A、首先打开电子表格的操作窗口,然后用鼠标选择菜单栏中的“新建”命令,这时屏幕上会出现一个空白的电子表格;B、然后在A列的A1格输入“X=”,表明这是自变量,再在A列的A2及以后的格内逐次从小到大输入自变量的各个值;实际输入的时候,通常应用等差数列输入法,先输入前三个值,定出自变量中数与数的距离,然后点击A2格,按住鼠标拖到A4格选中这三项,使这三项变成一个黑色矩形,再用鼠标指向这黑色矩形的右下角的小方块,当光标变成“+”后,按住鼠标拖动光标到适当的位置,就完成自变量的输入;C、接着在B列的B1格输入函数式y=f(x)的一般函数表达式,如y=1/x;也可在点击工具栏上的函数图标“fx”后,在出现的不同函数列表的选项中选择需要的一种;输入结束后,点击函数输入对话框旁的勾号,B2格内马上得出了计算的结果。这时,再选中B2格,让光标指向B2矩形右下角的方框,当光标变成“+”时按住光标沿B列拖动到适当的位置即完成函数值的计算。注意一定要把该函数中自变量x的位置输入前面A列自变量的绝对位置A2格,这样下面计算的时候才会对不同的自变量进行计算;D、最后点击工具栏上的“图表向导”图标,在出现的各种图表格式图标中选择“X,Y散点图”,然后在出现的“X,Y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论