基于51单片机的心率体温检测系统设计

目 录

摘 要 I
Abstract II
引 言 1
1 控制系统设计 2
1.1 主控系统方案设计 2
1.2 脉搏传感器方案设计 3
1.3 系统工作原理 5
2 硬件设计 6
2.1 主电路 6
2.1.1 单片机的选择 6
2.1.2 STC89C51的主要功能及性能参数 6
2.1.3 STC89C51单片机引脚说明 6
2.2 驱动电路 8
2.2.1 比较器的介绍 8
2.3放大电路 8
2.4最小系统 11
3 软件设计 13
3.1编程语言的选择 13
3.2 Keil程序开发环境 13
3.3 STC-ISP程序烧录软件介绍 14
3.4 CH340串口程序烧写模块介绍 14
4 系统调试 16
4.1 系统硬件调试 16
4.2 系统软件调试 16
结 论 17
参考文献 18
附录1 总体原理图设计 20
附录2 源程序清单 21
致 谢 25

摘 要

随着日新月异科技发展,在心率体温测量方面,我们取得了迅速的发展,就近日而言,脉搏测量仪已经在多个领域大展身手,除了在医学领域有所建树,在人们的日常生活方面的应用也不断拓展,如检疫中心的额温枪都用到了技术先进的脉搏测量仪。在今年的疫情爆发的同时,我们可以积极应对,利用所学的知识,方便高效地检测出人体有无异常体温,在上学签到时,我们可以利用此来检测温度,预防集体性感染事件。为了在心率测量仪的精准性和便携性方面做出重大改变,我计划设计一种以51单片机为核心的心率体温测量仪。我们的心率体温检测系统以STC89C51单片机为核心,借用单片机系统的内部计时器计算时间。其大致的步骤为通过ST188光电传感器感应生成脉冲,心跳次数由单片机累计所得,其对应的时间根据定时器获取。本设计使用的时候可以展现脉搏心率次数以及时间长短,当其终止使用的时候可以展示总的脉搏心率次数以及时间长短。经过我的个人测试,系统成功运行,符合设计要求。通过软件与硬件方面的整体调试并进行实验,得出结论为在技术上可行,预期可以实现功能,准确、快速地完成测量任务。

关键词:心率体温检测系统;STC89C51单片机;光电传感器

Abstract

With the rapid development of technology, we have made rapid progress in the measurement of heart rate and body temperature. In recent days, pulse measuring instruments have already shown their talents in many fields, in addition to making achievements in the medical field, in people’s daily life. The application of the technology has also been continuously expanded. For example, the frontal temperature gun of the quarantine center has used a technologically advanced pulse measuring instrument. At the same time as the outbreak of this year, we can actively respond and use the knowledge we learned to conveniently and efficiently detect whether the human body has abnormal body temperature. When we sign in to school, we can use this to detect the temperature and prevent collective infections. In order to make major changes in the accuracy and portability of the heart rate measuring instrument, I plan to design a heart rate and temperature measuring instrument with 51 single-chip as the core. Our heart rate and temperature detection system uses STC89C51 microcontroller as the core, and uses the internal timer of the microcontroller system to calculate the time. When this design is used, it can show the pulse heart rate times and the length of time, and when it is terminated, it can show the total pulse heart rate times and the length of time. When the system stops running, the total pulse time and time can be displayed; when the number of pulses exceeds the specified upper and lower limits, the clock will issue a warning. After going through my personal test, the system runs successfully and meets the design requirements. Through the overall debugging of software and hardware and experiments, it is concluded that it is technically feasible, and it is expected to realize the function and complete the measurement task accurately and quickly.

Keywords: Heart rate and body temperature monitoring system;STC89C51 single chip microcomputer; Photoelectric sensor

引 言

体温是生人们命活动的征兆,也是我们人体日常新陈代谢重要的参数。体温既具有生理上和临床上的重要性,也是临床诊断的重要指标。无论是生产生活,我们都必不可少地接触到体温测量仪。在日常生活中,我们应用最多的,就该是水银温度测量仪了,传统的温度计十分容易破碎,破碎时还会发生水银污染,严重危害人体健康,并且他的测量十分不方便,每次测量花费的时间都较长,而且它的读数也不太准确,人眼的识别容易产生偏差。
为此,我想设计一种新型的体温计,测量精度与传统水银温度计相当,相比而言,它会大大地缩短了测量时间,对环境几乎没有污染,也不用担心携带不方便,结实耐用是他的一大优势[1]。若温度高于人的正常体温系统就会直观显示出来,在当前形势下就会引起人们注意。相比于正常的温度计,我们添加的液晶显示,足够引起人们的警觉。
脉冲波的节奏变化可以从多方面反映心血管系统是否健康。STC89C51单片机是本次系统的核心,这是一种实用的脉冲测量仪器。我们可以利用光电脉冲传感器收集人体脉冲和心率的数据。接收到的信号发送至STC89C51进行处理,得到的数据将会在显示屏上显示,液晶显示屏上显示得到得的脉搏数和温度[2]。得以提醒人们脉搏或体温异常。
本文首先描述本设计的整体思路,然后着重介绍方案的比较,选择,优劣。最后介绍各软件硬件及焊接的重点。第一部分说明系统的控制系统设计,阐述本设计用途及运用方向;第二部分介绍了系统的硬件设计,着重介绍各个元器件的原则及优劣点;第三部分阐述了系统的软件设计,介绍项目的软件开发环境及选择该语言的原因;第四部分综述了系统调试方面的问题。

1 控制系统设计

1.1 主控系统方案设计
方案一:单片机作为主要的控制芯片,是集成电路的一种,可以单独完成现代产业所需要的控制功能。单片机外形很小,但是所具备的功能却是很大的,它将微处理器、储存器、输入/输出接口电路通过导线焊接到板子上,集成到同一片芯片。图1.1是采用单片机作为本设计的控制部分,该系统主要有单片机、传感器和显示器构成。
人体检测心率脉搏时,通过传感器采集输出脉冲信号,传递给单片机,单片机经过计算输出给显示电路进行显示。而在液晶显示屏上的,也就是我们得到的结果。通过得到的结果,来判断我们是否处于非正常状态。
在这里插入图片描述

图1.1 基于单片机的心率脉搏检测系统结构图
方案二:以TI公司生产的DSP芯片作为核心。SP即数字信号处理器,是一种研究用数字对信号进行分析、转换、滤波、检测、调制、解调和高速算法的元件[3]。该系统主要由光电脉搏传感器、脉搏信号调理电路和DSP实时检测及处理系统三部分组成[4]。如图1.2所示,当传感器采集到人体生理脉搏信号时,信号就会经调理电路传送到DSP系统中,实现心率脉搏的检测。
在这里插入图片描述

图1.2 基于DSP的心率脉搏检测系统结构图
总之,DSP的运行速度很高,但与之相对应的,是它负责的控制算法。相比而言单片机系统的控制方法相对简单,可靠性高,价格低,功耗低。虽然单片机与DSP相比功能相对简单,但完全可以满足设计要求。因此,综合个人实际以及现在市面上的元器件花费情况,我们选用单片机作为这次系统研究的主控芯片。
1.2 脉搏传感器方案设计
传感器也被称为换能器、转换器等。相当于我们身体中的五官,用来感受外界传递给我们的信息。
脉搏传感器是脉搏检测系统的重要部分。在本次系统设计之前,我花费了大量的精力,通过广泛的社会调查,结合在大学期间所学习的知识,融汇贯通,研究出了几套方案,具体如下面三种:
方案一:光电式传感器。众所周知,人体血液是一种不透明的液体。光对一般组织的穿透力相对于血液来说,是它的几十倍。根据这项功能,我将目光放到了光电式传感器上,使用光电效应手指脉冲传感器,用它来记录我们的脉冲信号。在它的内部结构中,我们用光电二极管的来锁定装置,其光电效应特性决定了光照强度与电流成正比,光照强度越大,相对应的锁定电流也就越大。当然有固定的光强范围。
在元器件所决定的光强范围中,光电二极管的阻断电流与光强成正比的线性关系[5]。当脉搏跳动时,人体中的血管体积和光透过血液的散发随着脉搏的跳动而变化,随之而对应的,不同强度的光传递到光电管的两极,将会得到不同强度的光流。再由模拟量转换成数字量,可以得到相对应的数字型号,再将得到的信号分别传输到通常用于测脉冲的光电传感器的红外对管和红外放射管。
下面对红外对管和红外放射管分别做简短的功能介绍,两者相互作用,得到所需的数据资料。
我们首先用手指尖按住红外对管,因为手指尖易于测量。手指的血液浓度和光头率会伴随着心脏的跳动而产生相对应的变化(一定范围内),相对应的,红外对管对应的信号也会不停改变。我们可以使用一些常规的处理方法,如放大、滤波、比较等,将采集到的模拟信号转换成我们所需要的理想的数字信号 。
采用反射式的红外管。这是目前市面上最主流的传感器,我们通常都采用这种传感器来采集信号,因为红外线管是在手指的同一侧接收和传输的,所以就可以忽视个体的差异,通常可以适用于大部分用户。这种传感器通过接收血液散射反射的光,通过这次的采集方式,我们能够准确测量血管内部容积的变化。
方案二:压电式传感器。目前来说,一次性心电电极是使用最多的,这种传感器通常采用接扣与敏感区分离的方法,通过这种方式我们能明显的感受到干扰量的减少,因为人体运动会产生大量干扰,这对传感器的准确性会产生极大地偏导。在考虑到人的体液会对我们的测量造成极大的干扰,所以我选择了相对贴合我们实际的电机,我们所采集到的心电信号质量起着很大程度上取决于电极的好坏,我们采用的电极必须要有强大的粘合力,能紧帖在我们所需要的测量的部位[6]。为了在实际应用中统一和比较接收到的脉冲信号,在记录脉冲信号时,我们对电极的位置、各部分元器件的连接有着极其严格的要求。
目前,市场上已开发出一种新型高分子压电材料聚偏氟乙烯研制的压电传感器,作为压电传感器,它有着十分优良的特点:他的灵敏度较高,可以精确检测出数据;在灵敏度较高的情况下,他还能有着十分可观的频率范围;他的结构简单,易于上手并且使用相比较其他方式来说十分方便。
当手指前端处于接触状态时,模拟信号从传感器中提取出来,转换为电信号。这样传感器通过捕捉手指脉冲的波长,可以得到人体的脉搏信号。
方案三:集成传感器。当前,集成心电传感器在市场是数不胜数,相比于其他传感器,它具有最高的灵敏度,并且它的集成度高,个头小巧,方便携带,它还可以比较直观地看到心率的变化,其中且已包含了滤波等抗干扰电路,波形经过放大处理后,可以直接应用在单片机之中。它的缺点也十分明显,就是它的价格非常昂贵,价格是其他传感器的数十倍,就本次设计来说,考虑到经费以及锻炼自己的目的,不会轻易选择使用该型传感器。
综上所述,光电式传感器的实用性,便捷性抗干扰性都要优于压电式传感器,并且在价格上碾压集成传感器,经多方考虑,本次设计选用了光电式传感器来进行设计研究。
1.3 系统工作原理
本设计控制器采用 STC89C51单片机,用于实现人体的心率体温测量系统检测。我们可以利用光电脉冲传感器收集人体脉冲和心率的数据。接收到的信号发送至STC89C51进行处理,得到的数据将会在液晶显示屏上显示,液晶显示屏上显示得到得的脉搏数和温度。若有异常,显示屏将会显示出具体的脉搏温度,得以提醒人们脉搏或提问异常。心率监测系统设计框图如图1.3所示:
在这里插入图片描述

图1.3 心率监测系统设计框图
日常的测试操作中,我们可以将手指位于传感器的位置。当心脏跳动收缩时,血管内液体的浓度和流量也会发生变化。当光照射手指组织时,血管中血氧饱和度的变化会导致接收管中接收到的光强度发生变化,这里就呈现出线性正比的联系,从而使光脉冲和心跳相等。当接收管波长变化时,红外接收管也随之变化,电流也随之波动。此时,红外接收器可以检测转换为脉冲信号的电压变化。信号在单片机端口经过滤波、放大、成形后发射。单片机在接收到外部中断信号后执行相应的命令[7]。CPU对输入的脉冲信号进行处理,将得到的数值进行输出,输出的心率数值将会在液晶上面显示。

2 硬件设计

2.1 主电路
2.1.1 单片机的选择
此次设计选用单片机当作主控芯片,为了保证系统更好的运行,STC89C51单片机掌握起来更方便,成本低廉,超强的抗干扰性,在系统中可以进行编程,不需要编程器。故本设计采用STC89C51单片机[8]。
基于此有以下两种方案可供选择:
方案一:STC89S51单片机作为心率监测系统的CPU是因为其低廉的价格和编程的方便性。虽然STC89S51单片机的功能是有限的,但是对于心率监测系统的功能实现是没有问题的。
方案二:飞思卡尔公司的嵌入式芯片9S12XS128,这款单片机的最实用的优点就是可以专门计数,这对于我们本系统来说是十分有利的。
最终,在考虑实际应用后,我选择了STC89S51单片机放弃了嵌入式芯片9S12XS128,嵌入式芯片9S12XS128对比其他的单片机功能齐全,操作也更加简单,与之相对应的是昂贵的价格。综合来说,不符合设计心率体温监测系统的设计初衷[9]。
2.1.2 STC89C51的主要功能及性能参数
此次设计选用的STC89C51单片机,使用COMOS8作为单片机的微处理器,片内具有4KB的Flash存储器。该设备有40个管脚,速度快,价格便宜,燃录方便,通过串行口下载,在线编程一般情况下增强型是6时钟然而普通型是12时钟;工作频率范围在40MHZ以内,和8051的80MHZ以内基本相一致;STC89C1相应的Flash可以划分成4KB/8KB/15KB;内部存储器为512B;定时器一共有3个16位;中断源一共有8个;其不需要专用编程器;通用I/O口一般由32/36个;工作电压通常情况下为3.8-5.5V;外形封装可以分为40脚PDIP、44脚PLCC以及PQFP等[10]。
2.1.3 STC89C51单片机引脚说明
在这里插入图片描述

图2.1 STC89C51封装形式
管脚说明:STC89C51外部有32个端口可供使用,相关引脚运用说明见如表2.1所示(其中VCC是电源电压接电源,GND接地)。
表2.1 P3口的第二功能
端口引脚 第二功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 (外中断0)
P3.3 (外中断1)
P3.4 T0(定时/计数0)
P3.5 T1(定时/计数1)
P3.6 (外部数据存储器写选通)
P3.7 (外部数据存储器读选通)
时钟振荡器:其为STC89C51里存在构成内部振荡器的高增益反相放大器,引脚XTAL1以及XTAL2是其输入端以及输出端。其能够和当作反馈元件的片外石英晶体或者陶瓷谐振器组成自激振荡器,振荡电路的详细分布如图2.2所示。
在这里插入图片描述

图2.2内部震荡电路
2.2 驱动电路
2.2.1 比较器的介绍
本次设计由于脉搏信号本身就比较微弱,所以是通过比较灵敏的红外光电传感器来采集脉搏信号。因此首先要将滤波处理的波形进行适当的运放;故本次课题的设计最终决定采用的是LM393比较器[11]。使用方法:当传感器接口端接入传感器时,通过参考电压调节电位器调整产生基准电压,传感器与分压电阻产生的电压与基准电压进行比较,实现高低电平的比较结果输出。
2.3放大电路
脉冲低通比较器是基于身体脉搏心率运动后跳动次数200次/min来设计的,如图2.3所示。R6、C6形成了低通滤波器从而能够消除残留的影响并决定着截止频率。运放LM358能够把信号放大而放大倍数依据R12/R13来决定,低通放大之后输出的信号是叠加有噪声的脉动正弦波如图2.4所示。
在这里插入图片描述

图2.3 低通放大电路
在这里插入图片描述

图2.4 心率脉搏传感器输出波形图
在实际使用中,通过示波器直接检测脉搏心率传感器的输出端,得出的波形图如图2.5所示。和理论波形一致。
在这里插入图片描述

图2.5 心率脉搏传感器实际输出信号波形
由此可见,波形并不是标准的方波信号,为了方便单片机检测心率传感器的输出信号,选择LM393比较器将波形滤波一下,使传感器输出信号转换为标准方波信号,更利于单片机采集,保证了信号的稳定检测[12]。通过LM393比较器模块滤波后的波形图如图2.6所示。
在这里插入图片描述

图2.6心率脉搏传感器经比较器滤波后输出的波形图
经过放大滤波后的脉搏信号仍是不规则的脉冲信号,且有低频干扰,仍不满足计数器的要求,必须采用整形电路,当有输入信号时,LM393在比较器输入信号的每个后沿到来时输出低电平,用发光二极管D1作脉搏心率测量状态显示,脉搏心率跳动一次发光二极管随之亮一次。同时,该脉冲电平送到单片机/INTO脚,进行对心率的计算和显示。波形整形电路如图2.7所示。
在这里插入图片描述

图2.7 波形整形电路
2.4最小系统
STC89C51单片机掌握起来更方便,成本低廉,超强的抗干扰性,在系统中可以进行编程,不需要编程器。故本设计采用STC89C51单片机。
此次设计选用的STC89C51单片机,使用COMOS8作为单片机的微处理器,片内具有4KB的Flash存储器。该设备有40个管脚,速度快,价格便宜,燃录方便,通过串行口下载,在线编程三部分对单片机的正常运行起着不同的作用。电源电路主要负责提供单片机工作期间的电压电流;复位电路主要是对单片机进行初始化;晶振电路则是给单片机工作提供标准的时钟[13] 。51单片机最小系统电路图如图2.8所示。
在这里插入图片描述

图2.8单片机最小系统
本设计采用的电源电路为USB电源线,可连接电脑端或是手机充电插头连接电源即可。
复位电路是在通电过程中保持单片机复位的情况下打开电源运行程序的不稳定过程中,防止错误行为或故障的电路。首先电源稳定上升,然后通过RST针脚电平稳定降下之后,单片机方可工作正常[14]。
晶振电路可以认为是电容与电阻并联连接再串联电容连接的系统,在该电路中负载电容的值起着决定性作用。晶振电路中有两个独立的反向比较器,比较器都要接入电容并且两个电容串联起来的容量值应等于负载电容值,两个电容会对震动频率起作用,从而进行调节频率[15]。一个完整的作品,必须要有硬件的支持,也需要有软件的支持。只有软件完成的好,才能使硬件的功能发挥出来,即烧写到单片机内部的程序[16]。

3 软件设计

3.1编程语言的选择
再进行编写的时候,语言的选择很重要,选择一门正确的语言可以看起来简单易懂、加快整个毕设的进程,在对比C语言和汇编语言的优缺点时,C语言具有很大的优势,例如极大地提升程序的可读性,研究开发的时间大大缩短,并且,它具有极大地库文件,为我们的程序编写提供了巨大的方便。因此选择C语言[17]。
3.2 Keil程序开发环境
在本设计中,选择使用Keil软件、C语言进行编程,在短时间内很容易熟悉掌握其中Keil有以下特点:
(1)Keil软件在很多的电脑操作系统中都能够使用,下载方便快捷,提供了丰富的库函数,并有功能强大的开发工具为之辅助[18]。这是其他软件所不具有的;
(2)在使用Keil软件编程的过程中,写成程序进行编译的过程中,如有错误不能直接的下载,会有提示;
(3)Keil软件可以配合仿真软件使用,将编译好的程序下载到在仿真软件中,通过仿真软件可以查看程序的不足之处,方便进行修改;
(4)Keil可以完成许多开发过程,从编辑、编译到连接和调试。Keil软件界面如图3.1所示。
在这里插入图片描述

图3.1 Keil开发界面图
3.3 STC-ISP程序烧录软件介绍
STC-ISP是为STC系列单片机开发的单片机下载编程软件。它是一个用于下载代码、在线模拟和显示串行接口的集成软件。它是在智能51系列产品开发过程中获得的。它具有广泛性和高性能。是目前51系列单片机控制系统研发中不可缺少的一部分[19]。
可以通过下载器下载微控制器程序(即用于串行接口的编程模块,如CH340)。在连接了MCU开发板、下载程序和PC机之后,首先就是要选定单片机的型号,波特率将根据定时器的初值计算出来,在程序编写完成且编译也没有出现错误的时候,在选定的文件夹中会有系统自动存放进去的“Hex”文件,选定好之后,最后单击程序的下载按钮即可。具体下载界面如图3.2所示。
在这里插入图片描述

图3.2 烧录软件对话框
3.4 CH340串口程序烧写模块介绍
本设计通过CH340串口烧写模块实现对单片机程序的烧写。CH340串口烧写模块使用USB接口,十分方便的解决了笔记本电脑用户对STC系列单片机的程序烧写问题,本下载器低价格、高性能,是开发STC系列单片机的首选优秀工具。模块如图3.3所示。
在这里插入图片描述

图3.3 CH340串口烧写模块
CH340串口烧写模块引脚说明:(1)电源输出,因有USB电源线,故本开发板不接,不需要。(2)VCC 本开发板不接,不需要。(3)本开发板不接,不需要。(4)TXD 接单片机的RXD引脚。(5)RXD 接单片机的RXD引脚。(6)GND 接GND。
CH340串口烧写模块与单片机的具体接线图如表3.1所示。
表3.1 CH340串口烧写模块与单片机接线
CH340模块 单片机开发板
TXD RXD
RXD TXD
GND GND

4 系统调试

4.1 系统硬件调试
根据选好的元器件,在熟悉掌握每一个引脚之后,要绘制电路图。在绘制电路图的过程中,要注意美观、耐用、走线尽可能地少一些,是电路板看起来不会那么乱。在焊接的过程中,既要有正确的焊接技术,还要保证待焊接面是干净的,这样才能保证防止不良焊点的出现。如果待焊接面不干净,需要将其清理干净,才可以重新进行焊接。当板子根据原理图焊接好之后,在对硬件进行调试的时候,首先就要检查每个元器件的引脚有没有完全的和板子焊接上或者会出现脱焊、虚连的这种情况,还要根据电路图仔细检查一下,看看有没有漏焊的情况,同时要看需要连接的线路有没有都连上,特别要注意电源线和地线的连接[20]。以免在通电的时候发生短路,烧毁某些元器件,或者不能正常工作的情况。
当单片机中有程序下载进去时,会发现LCD1602液晶屏没有光亮,也不显示任何的数字。如果发生上述的这种情况,不要心急,要逐一的去检查每个元器件,参照原理图,使用万用表进行测量,确定是什么部位错误导致的。在万用表上会有一个蜂鸣器,可以根据蜂鸣器有无声音来判断是否有问题[21]。
4.2 系统软件调试
本设计是基于单片机控制,利用单片机的主程序完成对心率脉搏计的控制,使用的是STC89C51系列,这个系列的单片机应用非常广泛,编译语言以C语言为主。本次设计以Keil μVision 4软件进行编写。
Keil μVision 4使用的基本方法,首先需要建立一个新的项目,选择使用的单片机类型,可以编写一个新的文件,编写完程序后进行编译,编译就是检测程序是否有错误和警告,警告不会影响程序的运行。在编译程序之后,生成.HEX文件。程序写入控制芯片STC89C51后,接通电源,电源指示灯亮,系统启动。当人的手指接触到光电传感器时,指示灯亮说明系统开始工作,记录一分钟心率脉搏次数,则心率脉搏计工作正常。

结 论

本篇论文是针对提高心率体温测量的效率,节省时间并更精确的反应出心率体温的正常与否而设计出的一种基于单片机的心率体温测量系统。测量者可以通过心率脉搏计测量出自己的一分钟内的心跳次数,还有温度传感器测量出人体的体温。
本论文设计主要对单片机的最小系统进行相应的设计从而使得心率体温的测量系统更为完备,脉搏光电传感器将收集到的数据传输到LM393比较器中,LM393比较器输出相对应的标准方波,以单片机的外部中断形式获取输出信号,并通过液晶显示屏来表示。依据单片机自身的定时中断、外部中断以及计数等功能,一方面能够展现出这次心率测量的次数及人体温度,另一方面还可以自动保存这个数据。
本次设计经过了硬件和软件的测试,各部分均达到了预期功能:实现了心率体温的测量,显示每分钟内心跳次数已经人体的温度。该系统操作简单,可靠性高,灵敏度高等优点,最主要的,是贴近人们日常生活,应用于人们的日常生活。应用本设计产品,可提高测量心率体温的效率,使我们的生活变得更加的方便。

参考文献

[1]王娜丽.单片机制作语音录放电路[J].电子技术与软件工程, 2014
[2]程丽媛,江国栋.采用单片机压缩编码的数码录放系统设计[J].南京工业职业技术学院学报, 2013
[3]温洪昌,黄应强.单片机的多段语音组合录放系统设计[J].单片机与嵌入式系统应用, 2011
[4]易群.基于单片机的语音录放系统硬件电路设计与研究[J].机电信息, 2015
[5]孙莹.单片机控制网络录音盒设计[J]. 仪器仪表, 2007
[6]李文军.基于单片机控制的语音定时自动录音播放系统的设计[J].电子技术, 2008
[7]李守奎,梁纪袖,刘蕾.基于ISD1760数字存储式自动应答录音系统的设计[J].科学之友.2011(22)
[8]胡汗才.单片机原理与接口技术[M].清华大学出版社,2004
[9]王萍.电子技术实验教程[M].机械工业出版社,2009
[10]韩改宁,李永锋.基于AT89C51单片机的语音录放系统实现[J].电子设计工程, 2009
[11]吕晓光,杨鹏.智能语音录放系统的设计[J].电子世界,2014
[12]郝晓剑,杨述平,张连红.仪器电路设计与应用[M].北京电子工业出版社,2007.6
[13]毕满清,王黎明,高文华.模拟电子技术基础[M].北京电子工业出版社,2008.6:15-20
[14]王雪,朱嘉林.基于51单片机便携式脉搏测量仪设计[J].背景信息科技大学学报,2016,(4):51
[15]朱国富,廖明涛,王博亮.袖珍式脉搏波测量仪[J].电子技术应用, 1998,(1):1-3
[16]张振荣.MCS-51单片机原理及实用技术[M].北京:人民邮电出版社, 2000.8:10-13
[17]梁小廷.单片机技术的发展及应用研究[J].民营科技,2008,(6):9
[18]杨新.电子设计从零开始[M].北京:北京清华大学出版社,2005.7:155-262
[19]史静,李煜.一种基于单片机和LCD1602的多行文本显示方法[J].科技世界,2017,(20):24-27
[20]李林功,吴飞青,王兵,丁晓.单片机原理及应用[M].北京:机械工业出版社,2007.8:63-128
[21]The Rational Unified Process An Introduction[J].Second Edition, Addison-Wesley,2002:703

附录1 总体原理图设计

在这里插入图片描述

附录2 源程序清单

#include <reg51.h>
#include <intrins.h>
#include “1602.h”
#include “18b20.h”
#include “delay.h”

unsigned char i_i=0,timecount=0,displayOK=0,rate=0,aa=0;
unsigned int time[6]={0};
unsigned char tab_sk[16]="WO DE BI SHE “;
unsigned char tab_ht[16]=” 000/min 00.0C ";

unsigned long time_50ms=0xaaaaaaaa;
unsigned char sys_times=0;

void time_init(void);
void init_int0(void);
void SendStr(unsigned char *s,unsigned char length);
void SendByte(unsigned char dat);
void UART_Init(void);

void main()
{
int temp;
float temperature;

UART_Init();
time_init();                     
init_int0();	  LCD_Init();           
DelayMs(20);          
LCD_Clear();          		DelayMs(10);
LCD_Write_String(0,0,tab_sk);	
LCD_Write_String(0,1,tab_ht);	 while(1)
{			if(displayOK==0)		{rate = 0;}else//Èç¹ûÏÔʾ¿ª{rate=60000/(time[1]/5+time[2]/5+time[3]/5+time[4]/5+time[5]/5);	  }if(sys_times>=15){sys_times=0;temp=ReadTemperature();							  	temperature=(float)temp*0.0625;				tab_ht[10]=((unsigned int)(temperature*10)/100)+0x30;		  tab_ht[11]=((unsigned int)(temperature*10)/10%10)+0x30;tab_ht[13]=((unsigned int)(temperature*10)%10)+0x30;tab_ht[1]=rate/100+'0';	  	tab_ht[2]=rate/10%10+'0';tab_ht[3]=rate%10+'0';LCD_Write_String(0,1,tab_ht);	 LCD_Write_String(0,0,tab_sk);	   SendStr(tab_sk,16);	  SendStr("\r\n",2);SendStr(tab_ht,16);	 SendStr("\r\n",2);}sys_times++;DelayMs(50);
}

}

void time_init(void)
{
EA = 1;
TMOD |= 0x01;
ET0 = 1;
TR0 = 1;
}

void init_int0(void)
{
EX0=1;
EA=1;
IT0 = 1;
}

void int0() interrupt 0
{
EX0=0;
if(timecount<8) ¦Àí
{
TR0=1;
}
else
{
time[i_i]=timecount50+TH00.256+TL0/1000;
TH0 = 0x3c;
TL0 = 0xb0;
timecount=0;
i_i++;
if(i_i==6)
{
i_i=1;
displayOK=1;
}
}
EX0=1;
}

void time0_int() interrupt 1
{
TH0 = 0x3c;
TL0 = 0xb0;
timecount++;
if(timecount>65)
{
i_i=0
timecount=0;
displayOK=0;
TR0=0;
TH0 = 0x3c;
TL0 = 0xb0;
}
}
void UART_Init(void)
{
SCON = 0x50;
TMOD |= 0x20;
TH1 = 0xFD;
TL1 = TH1;
TR1 = 1;
EA = 1;
ES = 1;
}

void SendByte(unsigned char dat)
{
unsigned char time_out;
time_out=0x00;
SBUF = dat;
while((!TI)&&(time_out<100))
{time_out++;DelayUs2x(10);}
TI = 0;
}

void SendStr(unsigned char *s,unsigned char length)
{
unsigned char NUM;
NUM=0x00;
while(NUM<length)
{
SendByte(*s);
s++;
NUM++;
}
}

void UART_SER (void) interrupt 4
{
if(RI)
{
RI=0;
}
if(TI)
TI=0;
}

致 谢

在本次的毕业设计中,我采用了大学四年所学到的专业知识,这次也是我最后一次完成学校的任务。从这次的设计中,我突然地发现,自己需要学习的还有太多太多。荏苒时光,收获了知识,收获了关爱,收获了人生最为重要的财富。
本设计从选题研究到设计制作的过程中,得到了许多老师和同学们的帮助,非常感谢李作纪老师及陈乃周老师表对我的帮助,在本次设计过程中,我遇到了很多的问题,但每次与老师沟通后都能找到解决思路,同时本次设计的完成也离不开在实习单位时各位前辈的帮助,如果不是通过与他们的沟通调研,也不会在选题时如此顺利。
感谢我的各位专业授课老师,正是你们的辛勤工作,使我对本专业产生了浓厚的兴趣,而且学到了很多的知识,掌握了很多的方法。你们的谆谆教诲使我有志于在本专业继续深造。
感谢学院、学校的各级领导,为我们创造的良好的学习氛围,还记得在炎炎夏日,孟老师给我们考研学生准备了安静的空教室,让我们躁动的内心平静下来,诸多小事不一一列举,千言万语汇成一句感谢!
四年的大学生活即将在此刻画上一个句号,在校学习所收获的不仅仅是愈加丰厚的知识,更重要的是在阅读、实践中培养的思维方式、表达能力和广阔视野。很庆幸这四年来遇到如此多的良师益友,让我度过了一个美好的大学时代。
在今后的学习道路上,我依旧要想在先,干在前,不满足,不停步,做最积极的绿岛学子。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/723559.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第八篇 - 预测受众(Predictive audience)技术是如何赋能数字化营销生态的?- 我为什么要翻译介绍美国人工智能科技巨头IAB公司

IAB平台&#xff0c;使命和功能 IAB成立于1996年&#xff0c;总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司&#xff0c;互动广告局&#xff08;IAB- the Interactive Advertising Bureau&#xff09;自1996年成立以来&#xff0c;先后为700多家媒…

基于springboot+vue的政府管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

2024BAT大厂Android社招面试题,OMG,学它

开头 中国互联网发展的这些年&#xff0c;如今90后程序员是中国程序员的主力军&#xff0c;互联网的热潮也让一批批00后蠢蠢欲动&#xff0c;尝试涌入互联网圈。 当程序员容易&#xff0c;当一个优秀的程序员需要不断学习&#xff0c;从初级程序员到高级程序员&#xff0c;从…

【NR 定位】3GPP NR Positioning 5G定位标准解读(三)

目录 前言 5 NG-RAN UE定位架构 5.1 架构 5.2 UE定位操作 5.3 NG-RAN定位操作 5.3.1 通用NG-RAN定位操作 5.3.2 OTDOA定位支持 5.3.3 广播辅助信息支持 5.3.4 NR RAT相关定位支持 5.4 NG-RAN中与UE定位相关的元素功能描述 5.4.1 用户设备&#xff08;UE&#xff09; …

蓝桥杯嵌入式省赛模板构建——测量两路频率和占空比

结合测量一路PWM频率编程 测量占空比&#xff1a;测量高电平持续时间和周期 思路&#xff1a; ①.第一次上升沿中断&#xff0c;清零计数器&#xff0c;开始计时并改成下降沿中断 ②.下降沿中断&#xff0c;获取计数值T1&#xff0c;并改为上升沿中断 ③.第二次上升沿中断…

小猫挑食不吃猫粮是为什么?排行榜靠前适口性好的生骨肉冻干分享

现在的猫咪主人都把自家的小猫当成了心头的宝贝&#xff0c;呵护备至。但宠爱过度有时会导致猫咪形成挑食的坏习惯。小猫挑食不吃猫粮是为什么呢&#xff1f;面对这一问题&#xff0c;我们应该如何解决呢&#xff1f; 今天&#xff0c;我给大家剖析一下小猫挑食不吃猫粮是为什…

青少年软件编程图形化编程等级考试二级模拟测试

青少年软件编程图形化编程等级考试二级模拟测试 第 1 题 【单选题】 下面积木块的执行结果是&#xff1f;&#xff08; &#xff09; A :香蕉苹果 B :香蕉和苹果 C :香苹 D :香果 正确答案:D 试题解析: 第 2 题 【单选题】 执行下面的指令后&#xff0c; 舞台上的小…

ActivityRecordInputSink深入剖析全网独家分析

背景&#xff1a; 学员粉丝朋友们在学习马哥的android framework实战高级课程时候&#xff0c;有一些细心的学员提出了一个无问题&#xff0c;那就是再看dumpsys SurfaceFlinger的图层或者是dumpsys input相关信息时候发现了一个叫做ActivityRecordInputSink的图层。 如下图所…

OWASP Top 10 网络安全10大漏洞——A02:A02:2021-加密机制失效

10大Web应用程序安全风险 2021年top10中有三个新类别、四个类别的命名和范围变化&#xff0c;以及一些合并。 A02&#xff1a;A02:2021-加密机制失效 上升一个位置&#xff0c;当前top2&#xff0c;以前称为敏感数据泄露&#xff0c;是一种状况而不是根本原因。更新后的类别…

MacOS开发环境搭建

MacOS开发环境搭建 一、MacOS二、Python三、MacOS搭建Python开发环境1.Python下载地址1.1 Python官网地址1.2 Python下载地址 2.安装Python3.安装Python4.安装PyCharm5.创建一个Python项目6.配置PyCharm7.安装Python包8.运行Python代码9.总结 一、MacOS macOS是一套由苹果开发的…

2024京东Java面试真题解析,每次面试必问的二叉树的设计与编码

一、背景 我们日常在电商网站购物时经常会遇到一些高并发的场景&#xff0c;例如电商 App 上经常出现的秒杀活动、限量优惠券抢购&#xff0c;还有我们去哪儿网的火车票抢票系统等&#xff0c;这些场景有一个共同特点就是访问量激增&#xff0c;虽然在系统设计时会通过限流、异…

前面说什么是前后端分类,那到底是怎么个分类法呢?

前后端分离是指将一个web 系统的动态内容和静态内容进行分离&#xff0c;包括其开发、部署等。 比如传统的 MVC 架构&#xff0c;HTML、JS、CSS… 等前端代码和 Java、spring、mybatis… 等后端代码是在同一个项目中进行开发、部署的。那前后端分离后&#xff0c;就可以分多个项…

学习vue3使用在线官方开发环境play.vuejs.org进行测试

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a; http://122.227.135.243:9666 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbach…

C++ STL自定义排序

更具体的看【速记】C STL自定义排序 - 知乎 (zhihu.com) sort sort第三个位置放的greater<int>和less<int>萌新可能会弄错&#xff0c;这两个单词不是更大和更小的意思&#xff0c;而是大于和小于&#xff0c;并且比较就是自定义排序中的前者和后者。 如果是less…

如何使用DS file+cpolar内网穿透实现远程访问本地群晖NAS传输文件

文章目录 1. 群晖安装Cpolar2. 创建TCP公网地址3. 远程访问群晖文件4. 固定TCP公网地址5. 固定TCP地址连接 DS file 是一个由群晖公司开发的文件管理应用程序&#xff0c;主要用于浏览、访问和管理存储在群晖NAS&#xff08;网络附加存储&#xff09;中的文件。这个应用程序具有…

【BUG】Windows状态栏总卡死解决办法

屋漏偏逢连夜雨&#xff0c;正在赶deadline呢&#xff0c;Windows状态老卡死&#xff0c;一时间崩溃。 解决办法&#xff1a; 右键状态栏新闻和咨询关掉 这个烧笔新闻与资讯我真服了

java算法第十五天 | ● 层序遍历 ● 226.翻转二叉树 ● 101.对称二叉树

层序遍历 思路&#xff1a; 需要借用一个辅助数据结构即队列来实现&#xff0c;队列先进先出&#xff0c;符合一层一层遍历的逻辑&#xff0c;而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。 而这种层序遍历方式就是图论中的广度优先遍历&#xff0c;只不过我们应用在…

在nginx 服务器部署vue项目

以人人快速开发的开源项目&#xff1a;renren-fast-vue 为例 注&#xff1a;这里开始认为各位都会使用nginx 打包vue项目 npm run build 测试打包的项目是否可以运行 serve dist 可以正常运行 编译报错请移步到&#xff1a;renren-fast-vue1.2.2 项目编译报错: build g…

2024三掌柜赠书活动第十三期:API安全技术与实战

目录 前言 API安全威胁与漏洞 API安全技术与实践 API安全实战案例 关于《API安全技术与实战》 编辑推荐 内容简介 作者简介 图书目录 书中前言/序言 《API安全技术与实战》全书速览 结束语 前言 随着互联网的快速发展和应用程序的广泛使用&#xff0c;API&#xff…

贪心刷题3-合并果子

题目来源&#xff1a;[NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G - 洛谷 参考书目&#xff1a;《深入浅出程序设计竞赛&#xff08;基础篇&#xff09;》 解题思路&#xff1a;这道题的关键在于每次选择合并时都要选择最小的两堆果子来合并&#xff0c;从而保…