【Proteus仿真】【51单片机】井盖安全检测装置设计

news/2024/5/21 5:03:04

文章目录

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


一、功能简介

本项目使用Proteus8仿真51单片机控制器,使用LCD1602液晶显示模块、WIFI模块、蜂鸣器、LED按键、ADC PCF8591、角度/可燃气检测传感器等。

主要功能:
系统运行后,LCD1602显示井盖切斜角和阈值、可燃气浓度和阈值、井盖和可燃气状态;如果井盖正常,WIFI传输井盖角度、可燃气浓度及状态信息到终端;如果井盖正常,可燃气超限,蜂鸣器报警,指示灯亮,同时WIFI传输报警信息到终端;如果井盖未断裂和丢失,井盖倾斜角大于阈值,蜂鸣器报警,同时WIFI传输报警信息;如果井盖断裂或丢失,蜂鸣器报警,报警指示灯亮,WIFI传输报警信息;可通过按键K1和K2修改井盖角度阈值,K3和K4键修改可燃气浓度阈值;


二、软件设计

/*
作者:嗨小易(QQ技术交流群:570487280)*///系统数据显示
void sys_data_show(void)
{while(1){//角度显示lcd1602_show_nums(3,0,sys_ctrl.angle,3,0);//燃气浓度显示lcd1602_show_nums(3,1,sys_ctrl.gas,2,0);//角度阈值显示lcd1602_show_nums(8,0,sys_ctrl.angleh,3,0);//燃气浓度阈值显示lcd1602_show_nums(7,1,sys_ctrl.gash,2,0);//井盖状态显示if(sys_ctrl.sta==0)lcd1602_show_string(14,0,"OK");else if(sys_ctrl.sta==1)lcd1602_show_string(14,0,"DL");else if(sys_ctrl.sta==2)lcd1602_show_string(14,0,"DS");	//燃气状态显示if(sys_ctrl.gassta==0)lcd1602_show_string(12,1,"    ");else lcd1602_show_string(12,1,"Gash");break;			}
}//系统数据设置
void sys_data_set(void)
{u8 key=0;key=key_scan(0);//角度+if(key==KEY1_PRESS){sys_ctrl.angleh++;if(sys_ctrl.angleh>180)sys_ctrl.angleh=0;}//角度-else if(key==KEY2_PRESS){	sys_ctrl.angleh--;if(sys_ctrl.angleh<0)sys_ctrl.angleh=180;			}//燃气+else if(key==KEY3_PRESS){sys_ctrl.gash++;if(sys_ctrl.gash>99)sys_ctrl.gash=0;}//燃气-else if(key==KEY4_PRESS){	sys_ctrl.gash--;if(sys_ctrl.gash<0)sys_ctrl.gash=99;			}
}//系统功能控制
void sys_fun_ctrl(void)
{static u8 cnt[3];u8 buf[4];//如果井盖正常if(sys_ctrl.sta==0){//如果井盖角度倾斜高于阈值和可燃气超限,报警if(sys_ctrl.angle>sys_ctrl.angleh || sys_ctrl.gassta==1)beep_alarm(1,1000);	//如果井盖角度倾斜高于阈值,报警if(sys_ctrl.angle>sys_ctrl.angleh){cnt[0]++;if(cnt[0]%SPEED==0){UART_SendString("\r\n井盖倾斜\r\n");	}}else{LED_DL=1;LED_DS=1;cnt[0]++;if(cnt[0]%SPEED==0){UART_SendString("\r\n井盖OK\r\n");	}	}//如果可燃气超限if(sys_ctrl.gas>sys_ctrl.gash)sys_ctrl.gassta=1;else sys_ctrl.gassta=0;if(sys_ctrl.gassta==1){LED_KRQ=0;cnt[1]++;if(cnt[1]%SPEED==0){UART_SendString("\r\n可燃气超限...\r\n");	}				}//如果天然气正常else{LED_KRQ=1;cnt[1]++;if(cnt[1]%SPEED==0){UART_SendString("\r\n可燃气OK\r\n");	}			}//WIFI传输数据,角度、可燃气cnt[2]++;if(cnt[2]%SPEED==0){UART_SendString("\r\n井盖角度:");buf[0]=sys_ctrl.angle/100+0x30;buf[1]=sys_ctrl.angle%100/10+0x30;buf[2]=sys_ctrl.angle%100%10+0x30;buf[3]='\0';UART_SendString(buf);UART_SendString("\r\n");UART_SendString("可燃气浓度:");buf[0]=sys_ctrl.gas/10+0x30;buf[1]=sys_ctrl.gas%10+0x30;buf[2]='\0';UART_SendString(buf);UART_SendString("\r\n");		}}//如果井盖不正常正常,断裂或丢失else{beep_alarm(1,1000);//如果井盖断裂,指示灯报警if(sys_ctrl.sta==1){LED_DL=0;LED_DS=1;cnt[0]++;if(cnt[0]%SPEED==0){UART_SendString("\r\n井盖断裂...\r\n");	}	}//如果井盖丢失,指示灯报警if(sys_ctrl.sta==2)	{LED_DL=1;LED_DS=0;cnt[0]++;if(cnt[0]%SPEED==0){UART_SendString("\r\n井盖丢失...\r\n");	}			}}	
}

三、实验现象

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

联系作者

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

微服务超大Excel文件导出方案优化

1、在导出Excel时经常会碰到文件过大&#xff0c;导出特别慢 2、微服务限制了请求超时时间&#xff0c;文件过大情况必然超时 优化思路&#xff1a; 1、文件过大时通过文件拆分、打包压缩zip&#xff0c;然后上传到oss,并设置有效期&#xff08;30天过期&#xff09; 2、把…

Kubernetes(K8S第三部分之资源控制器)

资源控制器 什么是控制器 Kubernetes中内建了很多controller&#xff08;控制器&#xff09;&#xff0c;这些相当于一个状态机&#xff0c;用来控制Pod的具体状态和行为。 控制器类型 ReplicationController和ReplicaSet Deployment DaemonSet StateFulSet Job/CronJob…

网络原理与网络的基本概念,TCP/IP协议

一、什么是网络 当我们谈论网络时&#xff0c;我们指的是将多个计算设备连接在一起&#xff0c;使它们能够相互通信和共享资源的系统。网络可以是物理上的连接&#xff0c;例如使用电缆或光纤&#xff0c;也可以是逻辑上的连接&#xff0c;例如通过无线信号或互联网连接。 在…

瑞_23种设计模式_享元模式

文章目录 1 享元模式&#xff08;Flyweight Pattern&#xff09;1.1 介绍1.2 概述1.3 享元模式的结构1.4 享元模式的优缺点1.5 享元模式的使用场景 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 JDK源码解析&#xff08;Integer类&#xff09; &#x1f64a; …

lvs集群

系统性能扩展方式 Scale UP&#xff1a;垂直扩展&#xff0c;向上扩展,增强&#xff0c;性能更强的计算机运行同样的服务 Scale Out&#xff1a;水平扩展&#xff0c;向外扩展,增加设备&#xff0c;并行地运行多个服务调度分配问题&#xff0c;Cluster 垂直扩展不再提及&…

谷歌浏览器连接上WiFi之后无法正常浏览网站-报错:有一款应用正在组织Chrome安全连接到此网站

现象分析&#xff1a; 出现这个报错&#xff1a;&#xff08;明明已经连接上家里的wifi却还是无法正常登录其他网站&#xff09; 解决办法&#xff1a; 是因为电脑上加了网络代理&#xff0c;删除掉就好了 直接搜索&#xff1a;网络代理 把这2个位置记得清空&#xff0c;然…