加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

基于单片机的可语音播报的脉搏检测仪设计

11/06 08:32
730
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
实物图
相关方案
  • 方案介绍
  • 相关文件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

设计功能:

1.ST188光电传感器检测脉搏信号,并有脉搏信号指示灯;

2.具有温度检测功能,可检测人体温度,温度传感器DS18B20

3.脉搏和温度检测完成后,LCD1602会显示当前温度和脉搏数值;

4.增加语音播报功能,显示完成后可语音播报脉搏和温度数值;

5.按键可设置脉搏检测的安全范围;

6.超出所设安全范围时,蜂鸣器报警;

	EX0=1;			  //允许外部中断0中断
	EA=1;	 		  //开总中断
	IT0 = 1; 		  //外部中断0负跳变中断
}

/********************独立按键程序*****************/
uchar key_can;	 //按键值

void key()	 //独立按键程序
{
	static uchar key_new;
	key_can = 20;                   //按键值还原
	P3 |= 0x78;                     //对应的按键IO口输出为1
	if((P3 & 0x78) != 0x78)		//按键按下
	{
		delay_1ms(2);	     	//按键消抖动
		if(((P3 & 0x78) != 0x78) && (key_new == 1))
		{						//确认是按键按下
			key_new = 0;
			switch(P3 & 0x78)
			{
				case 0x68:  key_can = 3;  break;	 //得到按键值
				case 0x58:  key_can = 2;  break;	 //得到按键值
				case 0x38:  key_can = 1;  break;	 //得到按键值
			}
		}			
	}
	else 
		key_new = 1;	
}

/**********************设置函数************************/
void key_with()
{
	if(key_can == 1)	//设置键
	{
		menu_1++;
		if(menu_1 > 2)    //回到正常显示
		{
			menu_1 = 0;
			write_guangbiao(1,2,0);	 //关闭光标
			init_1602();      //初始化液晶显示		
		}
	}
	
/***************设置*********************/
	  if(menu_1 != 0)
	{
		 if(menu_1 == 1)		  //设置上限报警
		{
			if(key_can == 2)	//加
			{
		    	rate_h ++;
				if(rate_h >= 255)
					rate_h = 0;
			}		
			if(key_can == 3)	//减	  
			{
				rate_h -- ;
				if(rate_h <= rate_l)
					rate_h = rate_l + 1;
			}	
		}
	
		else if(menu_1 == 2)		  //设置下限报警
		{
			if(key_can == 2)	//加
			{
	    		rate_l ++;
				if(rate_l >= rate_h)
					rate_l = rate_h - 1;
			}	
			if(key_can == 3)	//减	  
			{
				if(rate_l == 0x00)
					rate_l = 1;
				rate_l -- ;			
			}
		}
	 
		write_sfm3(2,4,rate_h);	   
		write_sfm3(2,11,rate_l);	   
		switch(menu_1)	   // 光标显示
		{
			case 1:  write_guangbiao(2,4,1); break;
			case 2:  write_guangbiao(2,11,1); break;
		}	
	}
}

/****************报警函数***************/
void clock_h_l()
{
	if(rate != 0)
	{

 

  • 有需要资料的可了解一下.docx

相关推荐

电子产业图谱