历史上的今天
返回首页

历史上的今天

今天是:2024年10月13日(星期日)

正在发生

2021年10月13日 | 基于51单片机的脉搏体温监测仪

2021-10-13 来源:eefocus

一.硬件方案

系统以STC89C52单片机为核心,以光电传感器利用单片机系统内部定时器来计算时间,由光电传感器感应产生信号,单片机通过对信号累加得到脉搏跳动次数,时间由定时器定时而得。系统运行中可以通过观察指示灯闪烁,若均匀闪烁说明测量值准确。系统停止运行时,能够显示总的脉搏次数,此外我们也加了温度传感器DS18B20来检测人体温。


主要由51单片机+1602液晶显示+红外对管采集+按键+蜂鸣组成;如图:

二.设计功能

(1)本设计基于STC89C51/52(与AT89S51/52、AT89C51/52通用)单片机。

(2)LCD1602液晶显示当前的心率和当前体温,心率单位是心率/分钟,温度单位为摄氏度。

(3)手指放到红外对管中,2秒内读出心率;将温度传感器握在手中,即可测量出当前体温。

(4)按键可以设置报警的上下限心率,并可设置报警的上下限体温值。

(5)三个按键:一个设置,一个加,一个减。设置键按下,设置心率值,再按下,设置温度值;


三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

(2)Protues仿真图如下:

(3)PCB图如下:

四.软件设计

主程序源码


/****************主函数***************/

void main()

{

    ReadTemperature();

    show1();//显示问候语和其他信息

time_init(); //初始化定时器 

init_int0(); //外部中断0初始化程序

    init_eeprom();      //读eeprom数据

while(1)

{

      key(); //按键扫描

      if(flat300ms>=4) //200ms

   {

    flat300ms=0;

//==================主界面===================

  if(yemian==0)  

{

  if(biaozhi==0)

{

                   biaozhi=1;


   lcd_init();// 初始化

   display(0x00,'H');

   display(0x01,'e');

   display(0x02,'a');

   display(0x03,'r');

   display(0x04,'t');

   display(0x05,':');


   display(0x40,'T');

   display(0x41,'e');

   display(0x42,'m');

   display(0x43,'p');

   display(0x44,':');

                 }

               wendumaibo();

   baojin();

       }


//==================脉搏报警上限 设置===================

  if(yemian==1)  

{

  if(biaozhi==1)

{

                   biaozhi=2;

   Buzzer=1;

   lcd_init();// 初始化

   display(0x04,'H');

   display(0x05,'e');

   display(0x06,'a');

   display(0x07,'r');

   display(0x08,'t');

   display(0x09,'-');

   display(0x0a,'H');


display(0x46,S_heart_H/100+'0');

             display(0x47,S_heart_H%100/10+'0');

                 display(0x48,S_heart_H%100%10+'0');   

               }

                shezhi();

       }


//==================脉搏报警下限 设置===================

  if(yemian==2)  

{

  if(biaozhi==2)

{

                   biaozhi=3;

   Buzzer=1;

   lcd_init();// 初始化

   display(0x04,'H');

   display(0x05,'e');

   display(0x06,'a');

   display(0x07,'r');

   display(0x08,'t');

   display(0x09,'-');

   display(0x0a,'L');


display(0x46,S_heart_L/100+'0');

             display(0x47,S_heart_L%100/10+'0');

                 display(0x48,S_heart_L%100%10+'0');   

               }

                shezhi();

       }

       

//==================温度报警 上限设置===================

  if(yemian==3)  

{

  if(biaozhi==3)

{

                   biaozhi=4;

   Buzzer=1;

   lcd_init();// 初始化

  

   display(0x05,'T');

   display(0x06,'e');

   display(0x07,'m');

   display(0x08,'p');

   display(0x09,'-');

   display(0x0a,'H');


   display(0x46,S_temp_H/100+'0');

               display(0x47,S_temp_H%100/10+'0');

                   display(0x48,S_temp_H%100%10+'0');   

                }

                shezhi();

       }       


//==================温度报警 下限设置===================

  if(yemian==4)  

{

  if(biaozhi==4)

{

                   biaozhi=0;

   Buzzer=1;

   lcd_init();// 初始化

  

   display(0x05,'T');

   display(0x06,'e');

   display(0x07,'m');

   display(0x08,'p');

   display(0x09,'-');

   display(0x0a,'L');


   display(0x46,S_temp_L/100+'0');

               display(0x47,S_temp_L%100/10+'0');

                   display(0x48,S_temp_L%100%10+'0');   

                }

                shezhi();

       }       

      

        

   }

    }

 }

推荐阅读

史海拾趣

Analog公司的发展小趣事

Analog Devices Inc.(ADI)是一家全球领先的半导体公司,提供广泛的模拟和数字信号处理技术。以下是Analog Devices公司发展的相关故事:

  1. 创立与初期发展:Analog Devices成立于1965年,由两位前哈佛大学教授Ray Stata和Matt Lorber创立。公司最初的目标是利用集成电路技术开发高性能的模拟信号处理器。在早期,Analog Devices主要专注于生产模拟运算放大器、数据转换器和传感器等产品。

  2. 技术创新与产品扩展:Analog Devices在技术方面取得了多项重要突破,包括模拟信号处理、数据转换和射频技术等领域。公司不断推出新产品,拓展业务领域,涉及到汽车、工业、通信、医疗和消费类电子等多个行业。其中,ADI的高精度数据转换器和惯性传感器在市场上备受推崇。

  3. 全球扩张与市场渗透:Analog Devices通过不断扩大全球市场的覆盖范围,加强了与客户的合作关系。公司在美国、欧洲和亚洲等地设立了办事处和生产基地,以满足不同地区市场的需求。此外,ADI还与众多的合作伙伴建立了长期稳定的合作关系。

  4. 收购与整合:为了加强自身的技术实力和市场竞争力,Analog Devices积极进行并购,以扩大产品组合和提升技术能力。近年来,ADI收购了一系列具有战略意义的公司,如Linear Technology、Hittite Microwave Corporation和Maxim Integrated等,加速了公司在多个领域的布局和发展。

  5. 持续创新与未来展望:作为模拟和数字信号处理领域的领先者之一,Analog Devices继续致力于技术创新和产品研发。公司不断推出新产品和解决方案,以满足日益复杂和多样化的市场需求。未来,Analog Devices将继续围绕智能化、连接性和可持续性等方面开展创新,助力客户在不同行业实现更多的应用和发展。

BOOKHAM公司的发展小趣事

BOOKHAM公司自创立之初,就专注于光学元件的研发和生产。随着电子行业的快速发展,公司不断投入研发资源,终于在一次技术突破中,成功开发出一款高性能的光学元件。这款元件凭借其卓越的性能和稳定的品质,迅速获得了市场的认可,BOOKHAM公司也因此名声大噪,逐渐在电子行业中崭露头角。

Daniel Woodhead公司的发展小趣事

随着公司业务的不断拓展,Daniel Woodhead公司意识到人才是企业发展的核心。因此,公司加大了对研发团队的投入,引进了一批业界顶尖的技术人才。这些人才的加入不仅为公司带来了更多的创新思路,还提高了整体的技术水平。在团队的共同努力下,公司不断推出具有竞争力的新产品,进一步巩固了市场地位。

EFINIX公司的发展小趣事

EFINIX公司成立于2012年,由一群来自知名FPGA企业的创始人团队创立。他们拥有丰富的FPGA设计经验,并致力于在可编程逻辑行业实现突破性的创新。公司总部位于美国加利福尼亚州圣克拉拉市,计划采用一种全新的现场可编程门阵列(FPGA)技术——量子可编程技术,来设计芯片。这种技术旨在实现芯片尺寸仅为传统芯片的四分之一,能耗减少一半,同时结构更加简化。EFINIX公司相信,这种技术将推动人工智能和深度学习的发展,使数据处理更加高效。

Electro-Mech Components Inc公司的发展小趣事

在1966年,Electro-Mech Components, Inc. (EMC)做出了一个重要的战略决策——在墨西哥北下加利福尼亚州的蒂华纳开设一家制造工厂。这个决定标志着EMC正式进军国际市场,并开始了其在全球范围内的业务布局。蒂华纳工厂的建立为EMC带来了更低的制造成本和更广阔的市场前景。随着工厂规模的逐渐扩大,EMC的产品线也日益丰富,从最初的发光按钮开关逐渐扩展到指示灯和多开关互锁组件等多个领域。

Bel Fuse公司的发展小趣事

随着电子行业的快速发展,Bel Fuse意识到要保持竞争力,必须不断进行技术创新。因此,公司加大了研发投入,推出了一系列具有创新性的电子元件产品。这些产品不仅满足了客户的需求,还为公司带来了可观的市场份额。同时,Bel Fuse也开始积极寻求全球扩张的机会,通过设立海外分公司和建立销售网络,进一步提升了公司的全球影响力。

问答坊 | AI 解惑

74LS47驱动数码管问题!!!

请问大家哈,我用74LS47驱动两个4位数码管,数码管亮度很微弱,我更改为双电源,单独给数码管提供5V电压,但是情况仍没有改变。我一时找不到原因!大家有什么看法没?感谢!!感谢!!感谢!!!…

查看全部问答>

开发PIC绝对不可缺少的仿真软件(转)

来源:http://pic16.com/bbs/dispbbs.asp?boardID=8&ID=41595&page=4 这里一分钟就让你学会使用PROTEUS(完整版) 近期流感爆发 由于小弟天天沉醉在电脑前忘乎所以 被染病多日随入院治疗 忽有客户来寻 手头一无开发工具 二无相关软件 只有笔记本 ...…

查看全部问答>

手机电路中的特殊元器件

一、开关元件 开关、干簧管和霍耳元件都是用来控制线路的通断的器件。不同的是开关一般是人工手动操作的,而干簧管和霍克元件则是通过磁信号来控制线路的通和断。 1.开关 在手机中使用的开关通常是薄膜按键开关,它由触点和触片组成。按键的两个 ...…

查看全部问答>

触摸屏的背光和触摸板驱动电路是分开的吗?为什么黑屏但触摸好用?

触摸屏的背光和触摸板驱动电路是分开的吗?为什么黑屏但触摸好用?…

查看全部问答>

WinCE BSP开发的几个问题,急!!!

我是青岛的目前原来是从事应用程序开发的,想转型做WinCE BSP开发,现在已经辞职在家专心学习WinCE BSP开发,现在实验用的板子是飞凌的OK2440III。由于在青岛没有找到这方面的朋友,所以许多问题只能靠自己研究或是到网上查资料。现在我有下面的一 ...…

查看全部问答>

笔记本HP500键盘无响应?

笔记本HP500键盘无响应? 重起之后就可以用了!但是用不了多久就又没有响应了! 请问如何解决?…

查看全部问答>

LM3S菜鸟成长日记-SD卡-文件写/读

replyreload += \',\' + 813951;实现功能:创建12-29.txt,写入EEWORD GOOD!,然后在读出来 主代码: int main(void){ //系统时钟 SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_OSC| SYSCTL_OSC_MAIN |     &n ...…

查看全部问答>

全局时钟资源的使用方法

IBUFG + BUFG的使用方法:IBUFG后面连接BUFG的方法是最基本的全局时钟资源使用方法,由于IBUFG组合BUFG相当于BUFGP,所以在这种使用方法也称为BUFGP方法。 IBUFGDS + BUFG的使用方法:当输入时钟信号为差分信号时,需要使用IBUFGDS代替IBUFG。 ...…

查看全部问答>

请问,BRR值的怎么得出来的?

小弟手上的开放板的外部晶振是25M,串口通信,波特率为115200时,BRR是0x0135. 想问下0x0135是怎么算出来的?看了STM32的数据手册,没看懂。…

查看全部问答>

大家说说 ,自己都什么情况下把 DSP给烧了.

大家说说 ,自己都什么情况下把 DSP给烧了. 说说我的: AD 的过压.   另外模拟地没有处理好. 短路了.   有经历过更复杂的吗? …

查看全部问答>