【Proteus仿真】【51单片机】坐姿矫正提醒器设计

文章目录

  • 一、功能简介
  • 二、软件设计
  • 三、实验现象
  • 联系作者


一、功能简介

本项目使用Proteus8仿真51单片机控制器,使用LCD1602液晶显示模块、HC-SR04超声波模块、蜂鸣器、按键、人体红外传感器等。

主要功能:
系统运行后,LCD1602显示超声波检测距离、计时时间、报警距离和定时时间;当检测有人时,计时器开启,如果检测坐姿距离小于阈值或者到达设定时间,蜂鸣器发出报警提示音;如果检测距离大于阈值或者手动按下K1键可取消报警;可通过K1和K2键调节定时时间,K3和K4键调节报警距离。


二、软件设计

/*
作者:嗨小易(QQ技术交流群:570487280)*///系统数据显示
void sys_data_show(void)
{u8 buf[5];while(1){//距离显示buf[0]=sys_ctrl.dis/100+0x30;buf[1]='.';buf[2]=sys_ctrl.dis%100/10+0x30;buf[3]=sys_ctrl.dis%100%10+0x30;buf[4]='\0';lcd1602_show_string(3,0,buf);//时间显示lcd1602_show_nums(10,0,sys_ctrl.time[0],2,0x80);lcd1602_show_nums(13,0,sys_ctrl.time[1],2,0x80);	//距离阈值显示buf[0]=sys_ctrl.dish/100+0x30;buf[1]='.';buf[2]=sys_ctrl.dish%100/10+0x30;buf[3]=sys_ctrl.dish%100%10+0x30;buf[4]='\0';lcd1602_show_string(3,1,buf);//设置时间显示lcd1602_show_nums(10,1,sys_ctrl.settime,2,0x80);break;			}
}//系统数据设置
void sys_data_set(void)
{u8 key=0;key=key_scan(0);//时间+if(key==KEY1_PRESS){if(sys_ctrl.alarmflag==0){sys_ctrl.settime++;if(sys_ctrl.settime>60)sys_ctrl.settime=1;}else//取消报警{sys_ctrl.alarmflag=0;sys_ctrl.time[0]=0;sys_ctrl.time[1]=0;	}	}//时间-else if(key==KEY2_PRESS){sys_ctrl.settime--;if(sys_ctrl.settime<1)sys_ctrl.settime=60;	}//距离+else if(key==KEY3_PRESS) {sys_ctrl.dish++;if(sys_ctrl.dish>400)sys_ctrl.dish=0;	}//距离-else if(key==KEY4_PRESS) {sys_ctrl.dish--;if(sys_ctrl.dish<0)sys_ctrl.dish=400;	}
}//系统功能控制
void sys_fun_ctrl(void)
{//如果红外检测到有人if(sys_ctrl.man==1){TR1=1;//打开定时器//如果距离小于阈值if(sys_ctrl.dis<sys_ctrl.dish)sys_ctrl.alarmflag=1;	else sys_ctrl.alarmflag=0;//如果时间到达设置值if(sys_ctrl.time[0]==sys_ctrl.settime){sys_ctrl.alarmflag=2;}			}//如果红外未检测到有人else{TR1=0;//关闭定时器sys_ctrl.alarmflag=0;sys_ctrl.time[0]=0;sys_ctrl.time[1]=0;			}if(sys_ctrl.alarmflag)beep_alarm(100,100);//提示音
}//应用控制系统
void appdemo_show(void)
{sys_parm_init();//系统参数初始化lcd1602_init();ultrasonicwave_init();time1_init();//定时器初始化,10mssys_open_show();//系统开机界面显示while(1){	sys_data_get();//系统数据获取sys_data_show();//系统数据显示sys_data_set();//系统数据设置sys_fun_ctrl();//系统功能控制}
}

三、实验现象

B站演示视频:https://space.bilibili.com/444388619
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

联系作者

视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

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

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

相关文章

如何选择O2OA(翱途)开发平台的部署架构?

概述 O2OA(翱途)开发平台[下称O2OA开发平台或者O2OA]支持公有云&#xff0c;私有云和混合云部署&#xff0c;也支持复杂的网络结构下的分布式部署。本篇主要介绍O2OA(翱途)开发平台支持的部署环境以及常用的集群部署架构。 软硬件环境说明 支持的云化平台&#xff1a; 华为云…

静态链表(3)

尾插函数 尾插就比头插多了一步找尾巴&#xff0c;其他均一样 尾插步骤画图 1.找到空闲结点3 2.空链踢空点&#xff0c;穿透删除 先绑后面 再接前面&#xff0c;就完成插入了 综上所述&#xff0c;静态链表就是处理两条链表&#xff0c;静态链表总的执行一次插入或删除&#…

【MATLAB】语音信号识别与处理:高斯加权移动平均滤波算法去噪及谱相减算法呈现频谱

1 基本定义 高斯加权移动平均滤波算法是一种基于加权平均的滤波方法&#xff0c;它可以有效地去除高斯噪声&#xff0c;同时保留信号的主要特征。该算法的主要思想是通过对信号进行加权平均来消除噪声&#xff0c;其中权值是根据高斯分布计算得到的&#xff0c;越接近中心点的…

大地测量学课堂笔记:1、绪论

慕课网址&#xff1a;https://www.icourse163.org/course/WHU-1464124180?fromsearchPage&outVendorzw_mooc_pcssjg_https://www.icourse163.org/course/WHU-1464124180?fromsearchPage&outVendorzw_mooc_pcssjg_ 1. 大地测量学的定义 大地测量学是专门研究精确测量…

Android使用OpenGL和FreeType绘制文字

Open GL主要是渲染图形的&#xff0c;有时候需要绘制文字&#xff0c;网上搜了一下&#xff0c;基本思路都是把文字转成位图&#xff0c;再使用Open GL纹理进行渲染。加载纹理在特定阶段才能成功&#xff08;在onSurfaceCreated中加载&#xff09;&#xff0c;这样就无法动态的…

【学习心得】请求参数加密的原理与逆向思路

一、什么是请求参数加密&#xff1f; 请求参数加密是JS逆向反爬手段中的一种。它是指客户端&#xff08;浏览器&#xff09;执行JS代码&#xff0c;生成相应的加密参数。并带着加密后的参数请求服务器&#xff0c;得到正常的数据。 常见的被加密的请求参数sign 它的原理和过程图…

Sqli-labs靶场第19关详解[Sqli-labs-less-19]自动化注入-SQLmap工具注入

Sqli-labs-Less-19 通过测试发现&#xff0c;在登录界面没有注入点&#xff0c;通过已知账号密码admin&#xff0c;admin进行登录发现&#xff1a; 返回了Referer &#xff0c;设想如果在Referer 尝试加上注入语句&#xff08;报错注入&#xff09;&#xff0c;测试是否会执行…

C#,基于密度的噪声应用空间聚类算法(DBSCAN Algorithm)源代码

1 聚类算法 聚类分析或简单聚类基本上是一种无监督的学习方法&#xff0c;它将数据点划分为若干特定的批次或组&#xff0c;使得相同组中的数据点具有相似的属性&#xff0c;而不同组中的数据点在某种意义上具有不同的属性。它包括许多基于差分进化的不同方法。 E、 g.K-均值…

C#入门:简单数据类型和强制类型转换

本文由 简悦 SimpRead 转码&#xff0c; 原文地址 mp.weixin.qq.com 本期来讲讲 unity 的脚本语言 —C#&#xff0c;C# 的简单数据类型及范围和强制类型转化的方法。这可是 unity 游戏开发必备技能。 1. 简单数据类型 各个类型的范围&#xff1a; byte -> System.Byte (字节…

汽车碰撞与刮伤的实用维修技术,汽车的车身修复与涂装修补教学

一、教程描述 本套汽车维修技术教程&#xff0c;大小7.44G&#xff0c;共有60个文件。 二、教程目录 01-汽车车身修复教程01-安全规则&#xff08;共3课时&#xff09; 02-汽车车身修复教程02-汽车结构&#xff08;共3课时&#xff09; 03-汽车车身修复教程03-汽车修复所使…

贪心算法(区间问题)

452. 用最少数量的箭引爆气球 题目(求无重复区间) 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points &#xff0c;其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可以沿着…

医学大数据|统计基础|医学统计学(笔记):开学说明与目录

开始学习统计基础&#xff0c;参考教材&#xff1a;医学统计学第五版 点点关注一切来学习吧 责任编辑&#xff1a;医学大数据刘刘老师&#xff1a;头部医疗大数据公司医学科学部研究员 邮箱&#xff1a;897282268qq.com 久菜盒子工作室 我们是&#xff1a;985硕博/美国全奖…