基于单片机的智能手表 - 详解

目录

具体实现能力

设计介绍

资料内容

全部内容

资料获取


具体实现功能

具体功能:
(1)实时监测人体体温、血压、血氧和心率;
(2)实时显示当前时间及人体体温、血压、血氧和心率;
(3)人体体温、血压、血氧和心率超过设定的阈值,相应的指示灯亮,蜂鸣器响。

仿真演示视频:

基于51单片机的智能手表

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用体系提供灵活、高效的解决方案。

本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

资料内容

仿真达成(protues8.7)

本设计利用protues8.7软件建立仿真设计,具体如图。

程序(Keil5)

本设计利用KEIL5软件建立程序设计。

主函数如下:

///////////////////////////////////////////////////
/*********************************************************/
// 主函数
/*********************************************************/
void main(void)
{
	Ds1302_Init();
	LcdInit();				    	// 液晶功能初始化
	LcdShowInit();					// 液晶显示初始化
	AlarmInit();						// 报警值初始化
	Mode=1;
	while(1)
	{
		//切换
		if(change==0)
		{
			DelayMs(100);
			if(change==0)
			{
				Mode++;
				if(Mode==2)
				{
					Mode=0;
				}
				if(Mode==1)
				{
					Init_LCD();
				}
				else if (Mode==0)
				{
					Init_LCD_shuju();
				}
				else
				{
					;
				}
			}
			while(change==0);
		}
			if(Mode==1)
			{
				Ds1302_Read_Time();
				//显示时间
			  display_NYR(time_buf1);
			}
			else if (Mode==0)
			{
				XL=Get_ADC0832();			// 读取心率强度
				XL=XL/1.5;					// 缩小心率检测结果
				XY=Get_ADC08321();			// 读取血压强度
				XY=XY/2;					// 缩小血压检测结果
				BO=Get_ADC08322();			// 读取血氧强度
				BO=BO/2.5;					// 缩小血氧检测结果
				/*温度读取*/
				check_wendu(); 							// 检测温心率数据;
			  	LcdGotoXY(0,2);							// 液晶定位到第0行第6列
			    LcdPrintNum1(XY);						// 显示测量结果
					LcdGotoXY(0,10);	 						// 定位到要显示的地方
					LcdPrintNum1(BO);						// 显示测量结果
				  LcdGotoXY(1,2);							// 液晶定位到第0行第6列
				  LcdPrintNum1(XL);						// 显示测量结果
			    LcdGotoXY(1,10);	 						// 定位到要显示温度的地方
				  display();					// 显示温度值
			}
			else
			{
				;
			}
		// 报警判断
		AlarmJudge();
	}
}

程序运行结果如图:

全部内容

全部资料包括程序(keil5)、protues仿真(protues8.7)、设计说明、答辩PPT、开发资料、资料使用介绍、仿真视频、最小系统介绍视频等。

资料获取

https://docs.qq.com/doc/DT2J6VFNwZ2ZLQ1RY

posted @ 2025-12-14 17:15  clnchanpin  阅读(4)  评论(0)    收藏  举报