资源描述
摘 要
生物医学信号指标与人体的健康息息相关,只有掌握其中规律才能更好的解决人体的健康问题。随着电子信息技术的发展和医学的不断进步,人们对高精度便捷式生物医学信号电子检测设备的需求越来越高.心率和体温是人体的两个重要指标,根据所学知识制作了此心率计。
设计是基于单片机的数字人体心率计,从可实现性和经济性方面考虑,决定采用51单片机作为设计的主控芯片,使用红外光电传感器作为心率的采集模块,而体温的采集则使用18b20温度传感器,外加显示模块和功能选择模块。心率和体温的采集部位均为指尖,采集信号经单片机处理后输出给显示模块显示最终的结果。
从硬件电路到程序设计,主要解决了如下的几个问题:
1、心率信号由红外光电传感器采集,经过两级放大将原信号放大后,再由比较电路进行整形,输出能使单片机更好识别的脉冲波信号;
2、体温信号由单线温度传感器18b20采集,采集数据经过转换计算后变为温度,最后单片机输出体温测量结果;
3、测量的结果都是以数字形式输出,3位一体数码管显示结果,使测量结果的读取简单精确化;
4、按键和程序的结合运用,使得心率计和体温计功能切换更加方便快捷。
关键词:心率;体温;单片机;红外传感器;温度传感器
Abstract
Biomedical signal indexes and human health are closely related, only to master the law can better solve the health problems of the human body. With the development of electronic information technology and the development of medicine, the demand for high precision portable biomedical signal electronic testing equipment is more and more high. Heart rate and body temperature are two important indicators of the human body, based on the knowledge to make the heart rate meter。
The design of digital human body heart rate meter based on SCM, from realization and economic considerations, decided to adopt the 51 microcontroller as the main control chip, the use of infrared photoelectric sensor as the acquisition module, heart rate, and body temperature acquisition using 18B20 temperature sensor is simple, and the display module and the function module. The sampling position of heart rate and body temperature were the fingertips, signal acquisition and processing by the MCU output to the display module to display the final results。
The hardware circuit design procedures, mainly solves several problems as follows:
1, the heart rate signal by infrared photoelectric sensor acquisition, after two grade general raw signal amplification, shaping by comparison circuit, output the pulse wave signal microcontroller better recognition;
2, the temperature signal by a single temperature sensor 18B20 acquisition, acquisition data through the conversion into a temperature measurement results at last, microcontroller output temperature;
3, the measurement results are output in digital form, one of 3 digital tube display results, read the measurement results of simple accurate;
Combining the 4, keys and program, the heart rate meter and thermometer function switching more convenient.
Keywords:heartrate, body temperature,single chip,infrared sensor,temperature sensor
目 录
摘 要·············································I
Abstract···········································II
目 录·············································IV
1 绪 论···········································1
1。1 选题背景及意义······································1
1。2 国内外研究现状和发展趋势····························2
1.3 论文结构概括········································3
2 设计方案及论证···································4
2.1 方案一··············································4
2.2 方案二··············································5
2.3 方案论证············································6
3 硬件电路概述及元器件介绍·························6
3。1 硬件电路总方框图····································6
3.2 单片机模块··········································7
3.3 心率信号采集模块····································10
3.4 体温信号采集模块····································15
3.5 显示模块············································18
3。6 功能选择模块········································23
4 程序设计·········································24
4.1 主程序设计··········································24
4。2 心率测试程序设计····································29
4。3 体温测试程序设计····································34
5 设计完成及整体调试·······························41
5.1 硬件电路的焊接及调试································41
5。2 程序的下载及调试····································43
5.3 调试中的干扰········································45
6 总结和展望·······································46
6。1 总 结··············································46
6.2 展 望··············································47
参考文献···········································48
致 谢·············································50
附 录1 设计总电路图······························51
附 录2 设计实物图································52
附 录3 程序清单··································54
附 录4 外文文献及翻译····························69
VI
山东科技大学本科毕业设计(论文)
1 绪 论
1。1选题背景及意义
心率(Heart Rate)是用来描述心动周期的专业术语,是指心脏每分钟跳动的次数,以第一声音为准。 心率,现代汉语将心率解释为“心脏跳动的频率”。频率就是在单位时间内,某件事情发生的次数。两种解释合起来就是,心脏在一定时间内跳动的次数,也就是在一定时间内,心脏跳动快慢的意思.
健康成人的心率为60~100次/分,大多数为60~80次/分,女性稍快;3岁以下的小儿常在100次/分以上;老年人偏慢.成人每分钟心率超过100次(一般不超过 160次/分)或婴幼儿超过 150次/分者,称为窦性心动过速。常见于正常人运动、兴奋、激动、吸烟、饮酒和喝浓茶后。也可见于发热、休克、贫血、甲亢、心力衰竭及应用阿托品、肾上腺素、麻黄素等。如果心率在 160~220次/分,常称为阵发性心动过速。心率低于60次/分者(一般在40次/分以上),称为窦性心动过缓。可见于长期从事重体力劳动和运动员;病理性的见于甲状腺机能低下、颅内压增高、阻塞性黄疸、以及洋地黄、奎尼丁或心得安类药物过量或中毒。如心率低于40次/分,应考虑有房室传导阻滞。心率过快超过160次/分,或低于40次/分,大多见于心脏病病人,病人常有心悸、胸闷、心前区不适,应及早进行详细检查,以便针对病因进行治疗.
体温是指机体内部的温度。人体的温度是相对恒定的,正常人在24小时内体温略有波动,一般相差不超过1度。生理状态下,早晨体温略低,下午略高.运动、进食后、妇女月经期前或妊娠期体温稍高,而老年人体温偏低。体温高于正常称为发热,37。3~38摄氏度为低热,38.1~39摄氏度为中度发热,39.1~41摄氏度为高热,41摄氏度以上为超高热.人体温度相对恒定是维持人体正常生命活动的重要条件之一,如体温高于41摄氏度或低于25摄氏度时将严重影响各系统(特别是神经系统)的机能活动,甚至危害生命。机体的产热和散热,是受神经中枢调节的,很多疾病都可使体温正常调节机能发生障碍而使体温发生变化。
可见,心率和体温是人体中非常重要的生命信息,与人体的健康问题息息相关,及时检测人体的心率及体温状况,观察其变化对诊断疾病或预防疾病有重要意义。鉴于此,特选择了基于单片机的数字人体心率计作为毕业设计.
本设计是以51单片机作为主控制芯片,用于实现驱动传感器、信息加工计算和驱动数码管显示结果等功能,而心率信号和体温信号分别由红外光电传感器和18b20温度传感器采集,由数码管显现最终结果,是集心率测量和体温测量与于一体的数字式电子设备.
1.2国内外研究现状和发展趋势
近年来,全球医疗器械产业快速发展,贸易往来活跃,平均增速达7%左右,是同期国民经济增长速度的两倍左右。医疗器械产业作为全球高新技术产业竞争的焦点领域,其竞争正在向技术、人才、管理、服务、资本、标准等多维度、全方位拓展。与发达国家相比,我国医疗器械产业基础薄弱,产业链条不完整,整体竞争力弱,基础产品综合性能和可靠性存在一定差距,部分核心关键技术尚未掌握,在产业竞争中处于不利地位。医疗器械是典型的高新技术产业,具有高新技术应用密集、学科交叉广泛、技术集成融合等显著特点,是一个国家前沿技术发展水平和技术集成应用能力的集中体现,是带动和引领多学科技术发展的重要引擎.当前,国际医疗器械领域的科技创新高度活跃,电子、信息、网络、材料、制造、纳米等先进技术的创新成果向医疗器械领域的渗透日益加快,创新产品不断涌现。但是,由于创新能力薄弱,创新体系不完善,产学研医结合不紧密,我国医疗器械科技发展水平与发达国家存在较大差距.提高自主创新能力、培育战略性新兴产业、建设创新型国家的重要阶段,也是进一步深化医药卫生体制改革的攻坚时期.医疗器械是医疗卫生体系建设的重要基础,具有高度的战略性、带动性和成长性,其战略地位受到了世界各国的普遍重视,已成为一个国家科技进步和国民经济现代化水平的重要标志.
单从心率计方面来讲,一般属于心电机的一部分,且常用于医院等一些医疗机构,专门测量心率的仪器并不多,但随着时代的进步和社会的发展,心率计的应用也越来越广泛,在病人监控、临床治疗及体育竞赛等方面都有着广泛的应用。在未来的应用中,心率计也将朝着精度高、轻型化、一体化、可视化、可控化等适合在家庭和社区条件下使用的方向发展.
目前的应用最为广泛的体温计就是大家所熟知的水银体温计,具有精度高、使用简单、价格低廉等优点,但同时也具有水银污染严重、监测不方便等缺点,故在研究人员不断研究下产生了电子体温计,且迅速得到认可,正在向着数字化和一体化方向发展。
1.3论文结构概括
从提出问题到解决方案,再到最终完成,论文对设计的硬件电路、程序设计和调试等方面进行了详尽的叙述,大体的结构安排如下:
第1章介绍了选题的背景及意义,提到了心率和体温是人体中非常重要的生命信息,与人体的健康问题息息相关,及时检测人体的心率及体温状况,观察其变化对诊断疾病或预防疾病有重要意义。
第2章根据问题提出了两个设计方案,经过论证之后,决定采用红外光电传感器采集心率信号、DS18B20温度传感器采集体温信号、3位一体数码管显示最终测试结果的方案。
第3章重点介绍和分析了设计的硬件电路,整个设计分为五大模块:单片机模块、功能选择模块、心率信号采集模块、体温信号采集模块和显示模块,各个元器件的选择和使用情况都有详尽的说明。
第4章运用流程图和部分代码,介绍了设计的程序实现过程,包括主程序的实现流程和各分程序的运行过程。
第5章是对设计的调试过程,从硬件电路的焊接及硬件电路的仿真到程序的下载及测试,以便及时发现设计中出现的问题并提出解决方案,使设计更加实用.
第6章进行了总结和展望.在生活节奏快速、心脑疾病多发的时代下,此设计对诊断疾病或预防疾病有着重要意义。同时,提出设计还有很多需要改进的地方,且还有很大的研究空间。
2 设计方案及论证
2.1方案一
采用压力传感器采集心率信号、模拟温度传感器AD590J采集体温信号、LCD1602显示结果。
2.1.1设计思路
(1)根据设计要求,采用89C51单片机作为主控芯片;
(2)心率和体温的显示使用LCD1602;
(3)采集的心率信号经过放大和整形后,送入单片机;
2.1.2硬件设计方框图
根据设计要求与设计思路,方案一的硬件电路设计框图如图2。1所示。
51单片机模块
模式选择模块
压力心率信号采集模块
1602显示模块
AD590J体温信号采集模块
图 2。1 方案一方框图
2.2方案二
采用红外光电传感器采集心率信号、DS18B20温度传感器采集体温信号、3位一体数码管显示最终测试结果。
2.2。1 设计思路
(1)根据设计要求,采用89C51单片机作为主控芯片;
(2)用温度传感器DS18B20采集的温度信号和用红外对管采集的心电信号直接 送入单片机处理;
(3)心率和体温的显示采用数码管显示.
2。2.2 硬件设计框图
方案二的硬件设计方框图如下图所示:
51单片机模块
模式选择模块
红外光电心率信号采集模块
数码管显示模块
DS18B20体温信号采集模块
图 2。2 方案二方框图
2。3 方案论证
方案一采用压力传感器采集心率信号传出的电信号比较微弱,测量难度大,且容易受外界干扰;显示模块采用1602显示,从价格方面考虑,不是理想选择。相对于方案一,方案二采用红外光电对管采集心率信号抗干扰能力较强,测量到的心率波形比较稳定,波形也很好;DS18B20温度传感器使用比较简单普遍;同时数码管的确是价格便宜实用性较强.
综上所述,本设计采用方案二。
3 硬件电路概述及元器件介绍
3.1 硬件电路总方框图
硬件电路总方框图如下所示,整个设计分为五大模块:单片机模块、功能选择模块、心率信号采集模块、体温信号采集模块和显示模块.其中,功能选择模块用于心率测量和体温测量的选择。
电源模块
复位电路
晶振电路
单片机模块
功能选择模块
心率信号采集模块
显示模块
体温信号采集模块
图 3。1 硬件电路总方框图
3.2单片机模块
3。2。1单片机模块方框图及电路图
单片机模块主要由三部分组成,即STC89C51单片机、晶振电路和复位电路。晶振电路为单片机提供合格的时钟信号,在该设计中使用的晶振频率为12M;复位电路分为上电自动复位和手动复位两种,功能是是单片机恢复到最初的状态。
STC89C51单片机
晶振电路
复位电路
图 3.2 单片机模块方框图及电路图
3。2.2 STC89C51单片机简介
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场.51单片机是基础入门的一个单片机,还是应用最广泛的一种。
图 3.3 51单片机引脚图
51单片机的功能及内部结构
·8位CPU·4kbytes程序存储器(ROM) (52为8K)
·128bytes的数据存储器(RAM) (52有256bytes的RAM)
·32条I/O口线·111条指令,大部分为单字节指令
·21个专用寄存器
·2个可编程定时/计数器·5个中断源,2个优先级(52有6个)
·一个全双工串行通信口
·外部数据存储器寻址空间为64kB
·外部程序存储器寻址空间为64kB
·逻辑操作位寻址功能·双列直插40PinDIP封装
·单一+5V电源供电
图 3。4 51单片机内部结构
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;
RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;
ROM:用以存放程序、一些原始数据和表格;
I/O口:四个8位并行I/O口,既可用作输入,也可用作输出
T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;
五个中断源的中断控制系统;
一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;
片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最佳振荡频率为6M—12M.
3.3 心率信号采集模块
3.3。1 心率传感器分类及红外脉搏传感器原理
心率传感器就是能感受外周血管搏动并转换成可用输出信号的传感器,心率传感器分为:红外脉搏传感器、心率脉搏传感器、光电脉搏传感器、腕部脉搏传感器、数字脉搏传感器、心音脉搏传感器、及集成化脉搏传感器等等.
其中应用比较广泛的是红外脉搏传感器,其工作原理是利用特定波长红外线对血管末端血液微循环产生的血液容积的变化的敏感特性,检测由于心脏的跳动,引起指尖的血液变化,经过信号放大、调整等电路处理.主要应用于临床上脉率的测量、监测和脉搏波的病理分析。
3.3。2 心率采集模块电路图
在此设计中,使用光电传感器将脉搏信号转换为电信号,此装置做成指套用在指尖上。光电传感器一侧的发光二极管放射红外光,当脉搏跳动时,指尖的动脉血管血容量发生周期性变化,透过指尖的红外光强度同时发生变化.另一侧的光电三极管将接收到的红外光信号转化为电信号。但由于光电传感器接收到的脉搏信号极其微弱,仅有几个毫伏,需要进行放大.同时,为了使单片机更好地识别,加入了比较器使输出信号为方波。具体如下图所示。
图 3.5 心率信号采集模块电路图
3.3。3 关于放大及整形
在电路的设计中采用运算放大器进行了两级放大处理.如下图所示,对于第二级放大器,采用同相负反馈的接法,单电源供电,放大光电三极管中的微弱交流小信号,需要加的偏置电压由R9提供,同时还起到了分流的作用。电压的放大倍数最终由R10和R11的比例来决定。
图 3。6 二级放大电路图
由于V- = V+,V+=Vin,V—= R11/(R10+R11)×Vout (电阻分压),故:Vin= R11/(R10+R11)×Vout,Vout/Vin=AV (放大倍数),AV= (R10+R11)/R11= 50,即放大的倍数为50倍。第一级的放大倍数与第二级一样,也为50倍.同时,电压信号在输入两级放大器之前都加了一个4.7uF的滤波电容,其目的是滤去外界对干扰信号,两级放大器之间采用电耦合,隔离两级放大器直流工作点的相互影响,并减少零点漂移。当然,为了使输出的电压信号更加的稳定,在两级放大电路之后又增加了如下的电路.
图 3.7 稳定电路图
经过上述的电路放大之后,其输出的波形如下图所示,是相对稳定的锯齿波。
图 3.8 波形图
但为了使单片机更加准确的识别电压信号,需要将其进行整形处理成脉冲方波形式,故增加了一个比较器,如下图所示:
图 3.9 比较电路
3。3。4 低功率运算放大器MCP6004
MCP6004运算放大器是专门为各种通用应用设计的,且在设计中采用了Microchip先进的CMOS工艺。具有的特征:1MHz增益带宽积;轨到轨输入/输出;提供电压1.8V至5。5V;供电电流100μA;90度相位容限等。其引脚及封装图如下所示。
图 3.10 MCP6004引脚图
其具体的引脚功能表如下:
表 3。1 MCP6004引脚功能表
在设计中的应用主要涉及范围有:汽车、便携式设备、光电二极管放大器、模拟滤波器、电池供电系统等。典型应用如下图:
图 3.11 典型应用图
3。4 体温信号采集模块
3。4。1体温信号采集模块电路图
体温信号采集模块主要由一个上拉电阻和温度传感器DS18B20构成,其中,上拉电阻的目的是使DS18B20更加稳定的工作。
图3.12 温度采集模块电路图
3.4.2 DS18B20温度传感器介绍
1、DS18B20基本知识
DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
2、DS18B20产品的特点
(1)、只要求一个端口即可实现通信。
(2)、在DS18B20中的每个器件上都有独一无二的序列号。
(3)、实际应用中不需要外部任何元器件即可实现测温.
(4)、测量温度范围在-55.C到+125。C之间.
(5)、数字温度计的分辨率用户可以从9位到12位选择。
(6)、内部有温度上、下限告警设置。
3、DS18B20内部结构
DS18B20内部结构如图3.13所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图2所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地,见图4)。
ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
64位ROM和一线端口
存储和控制逻辑
高速暂存器
8位CRC生成器
温度传感器
高温触发器TH
低温触发器TL
配置寄存器
供 电
选择方式
DQ
VDD
INTERNAL VDD
图3。13 DS18B20的内部结构
图3。14 DS18B20的管脚排列
DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25。0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入.其中配置寄存器的格式如下:
R1、R0决定温度转换的精度位数:R1R0=“00",9位精度,最大转换时间为93。75ms;R1R0=“01”,10位精度,最大转换时间为187.5ms;R1R0=“10”,11位精度,最大转换时间为375ms;R1R0=“11”,12位精度,最大转换时间为750ms;未编程时默认为12位精度。
高速暂存器是一个9字节的存储器。开始两个字节包含被测温度的数字量信息;第3、4、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;第6、7、8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。
3.5 显示模块
3。5.1 显示模块的电路图
显示模块由三部分组成,数码管、74LS573锁存器、74LS138译码器.其中,译码器用于数码管的位选择。
图3。15 显示模块电路图
3。5。2 元器件简介
1、74LS573锁存器
74LS573是8位锁存器,三态总线驱动输出:置数全并行存取,缓冲控制输入,使能输入有改善抗扰度的滞后作用.其原理如下:74LS573 的八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q 输出将随数据(D)输入而变.当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口.特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器。
图3.16 74LS573引脚图
输出enable
Latch ENABLE启用
D
输出O
L
H
H
H
L
H
L
L
L
L
X
Q0
H
X
X
Z
H=高电平 L=低电平 ×=不定 Z=高阻态 QO=建立稳态输入条件前Q的电平
表3.2 74LS573真值表
管脚号
功能
D0–D7
数据输入
LE
锁存使能输入(高电平有效)
OE
3态输出使能输入(低电平有效)
O0–O7
3态锁存输出
表3.3 74LS573引脚功能表
2、74LS138译码器
(1)74HC138基本功能
74LS138 为3 线-8 线译码器,共有 54/74S138和 54/74LS138 两种线路结构型式,其74LS138工作原理如下:
当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出.
(2)74LS138的作用:
利用 G1、/(G2A)和/(G2B)可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器.
若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器
图 3。17 74LS138引脚图
图 3。18 74LS138译码器内部电路
(3)3线-8线译码器74LS138的功能表
表 3。4 74LS138功能表
(4)74LS138逻辑图
无论从逻辑图还是功能表我们都可以看到74LS138的八个输出管脚,任何时刻要么全为高电平1—芯片处于不工作状态,要么只有一个为低电平0,其余7个输出管脚全为高电平1。如果出现两个输出管脚在同一个时间为0的情况,说明该芯片已经损坏。
当附加控制门的输出为高电平(S=1)时,可由逻辑图写出
图 3.19 74LS138逻辑图
由上式可以看出,在同一个时间又是这三个变量的全部最小项的译码输出,所以也把这种译码器叫做最小项译码器.
71LS138有三个附加的控制端、和.当、时,输出为高电平(S=1),译码器处于工作状态。否则,译码器被禁止,所有的输出端被封锁在高电平,这三个控制端也叫做“片选”输入端,利用片选的作用可以将多篇连接起来以扩展译码器的功能。
3、LED数码管
数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个(8)可分为1位、2位、3位、4位、5位、6位、7位等数码管。按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮.
图 3。20 数码管引脚图
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二—十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮.通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低.
3。6 功能选择模块
功能选择模块的设置是为了更好地使设计在功能之间更好地互相切换,而不必不断地初始化。功能选择模块实际为两个共阴极的按键,电路图如下所示。其中S2用于选择心率测量模式还是体温测量模式,S3是开始与结束功能键。
图 3.21 功能选择模块电路图
4 程序设计
4。1 主程序设计
4.1。1 主程序流程图
首先单片机进行初始化后,执行的功能是由功能选择模块完成的,模式0为心率计,模式1为体温计。在相应的模式下选择开始或结束,将执行相应的功能。具体流程如下图所示:
图4。1 主程序流程图
4。1。2主程序测试程序
主程序中模式选择的测试程序如下:
#include<reg51。h>
sbit key1=P1^0;
sbit key2=P1^1;
sbit led1=P2^0;
sbit led2=P2^1;
unsigned char mode;
unsigned char begin;
void choosemode()
{
if(mode==0)
{
if(key1==0)
{
mode=1;
while(key1==0);
}
}
if(mode==1)
{
if(key1==0)
{
mode=0;
while(key1==0);
}
}
}
void main()
{
mode=0;
while(1)
{
choosemode();
switch(mode)
{
case 0: if(begin==0)
{
if(key2==0)
{
begin=1;
while(key2==0);
}
led1=1;
}
if(begin==1)
展开阅读全文