【Proteus仿真】【51单片机】超声波测距系统

文章目录

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


一、功能简介

本项目使用Proteus8仿真51单片机控制器,使用动态数码管、按键、HCSR04超声波、蜂鸣器模块等。

主要功能:
系统运行后,数码管显示超声波检测距离,当检测距离小于阈值,默认50CM;蜂鸣器报警,且距离越近报警频率越快;
可通过按键K3进入阈值设置模式,K1和K2调节阈值。


二、软件设计

/*
作者:嗨小易(QQ技术交流群:570487280)*///系统数据显示
void sys_data_show(void)
{u8 buf[4];while(1){//正常模式显示if(sys_ctrl.mode==0){buf[0]=0;if(sys_ctrl.dis>=100){buf[1]=gsmg_code[sys_ctrl.dis/100];buf[2]=gsmg_code[sys_ctrl.dis%100/10];buf[3]=gsmg_code[sys_ctrl.dis%100%10];	}	else if(sys_ctrl.dis>=10){buf[1]=0;buf[2]=gsmg_code[sys_ctrl.dis%100/10];buf[3]=gsmg_code[sys_ctrl.dis%100%10];	}else if(sys_ctrl.dis>=0){buf[1]=0;buf[2]=0;buf[3]=gsmg_code[sys_ctrl.dis%100%10];	}	}//阈值设置显示else{buf[0]=0x48;buf[1]=gsmg_code[sys_ctrl.disl/100];buf[2]=gsmg_code[sys_ctrl.disl%100/10];buf[3]=gsmg_code[sys_ctrl.disl%100%10];		}smg_display(buf,1);break;				}
}//系统数据设置
void sys_data_set(void)
{u8 key=0;key=key_scan(0);//设置if(key==KEY3_PRESS){	sys_ctrl.mode=!sys_ctrl.mode;	}//阈值设置模式if(sys_ctrl.mode==1){//加if(key==KEY1_PRESS){sys_ctrl.disl++;if(sys_ctrl.disl>500)sys_ctrl.disl=0;		}//减else if(key==KEY2_PRESS){sys_ctrl.disl--;if(sys_ctrl.disl<0)sys_ctrl.disl=500;		}}
}//系统功能控制
void sys_fun_ctrl(void)
{static u16 i=0;//正常模式if(sys_ctrl.mode==0){//如果检测距离小于阈值,蜂鸣器报警if(sys_ctrl.dis<sys_ctrl.disl){i++;if(i<sys_ctrl.dis)BEEP=0;else if(i<2*sys_ctrl.dis)BEEP=1;	else i=0;}else{i=0;BEEP=1;}	}
}

三、实验现象

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/319262.html

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

相关文章

PET塑料粘接时,要求强力粘接性能,那么怎么选胶呢?

聚对苯二甲酸乙二醇酯 简称PET。 需要强力粘接塑料PET时&#xff0c;可以选择以下几种胶水&#xff1a; 1.环氧树脂胶 具有较高的强度&#xff0c;硬度和耐久性&#xff0c;能够有效地粘合PET材料。但是&#xff0c;对于某些特殊环境和温度条件&#xff0c;可能需要选择耐高…

JDK、JRE、JVM的联系与区别

JDK、JRE、JVM的联系与区别 一、JDK,JRE,JVM定义 JDK(Java Development Kit),包含JRE,以及增加编译器和调试器等用于程序开发的文件。 JRE(Java Runtime Environment)&#xff0c;包含Java虚拟机、库函数、运行Java应用程序所必须的文件。 JVM(Java Virtual Machine)是一个虚…

SCT2330C——3.8V-28V输入,3A,低EMI,超低功耗同步降压DCDC转换器

描述&#xff1a; SCT2330C是3A同步buck变换器&#xff0c;输入电压范围高达28V&#xff0c;完全集成了80mΩ高压侧MOSFET和42mΩ低压侧MOSFET&#xff0c;提供高效降压DC-DC转换。SCT2330C采用峰值电流模式控制&#xff0c;集成补偿网络&#xff0c;通过最小化片外元件数量&a…

Matlab机械臂运动学示教演示

对于昨天的matlab程序&#xff0c;又进行了优化&#xff0c;直接将3*3姿态矩阵转为欧拉角(ZYX)显示。优化后的程序如下&#xff1a; T robot.fkine([0 0 0 0 0 0]).T %T robot.fkine([-0.081522 0.590650 2.562666 0.439001 1.575855 -0.840727]).T %robot.plot([0 0 0 0 0 0…

RTC模块在汽车电池管理系统中的优势

汽车行业目前正在经历一个巨大的时期&#xff0c;关键词是 “案例”。CASE是连接、自治、共享和电气的缩写。它 表明了该汽车制造商在日益数字化的世界中的战略方向。市场的 电动汽车正在快速增长&#xff0c;预计将有助于减少二氧化碳排放和对抗 全球变暖 在本文中&#…

Spring事务传播问题 — PROPAGATION_REQUIRES_NEW

一、描述 Spring遇到嵌套事务时&#xff0c;当被嵌套的事务被定义为“PROPAGATION_REQUIRES_NEW”时&#xff0c; 内层Service的方法被调用时&#xff0c;外层方法的事务被挂起&#xff1b; 内层事务相对于外层事务是完全独立的&#xff0c;有独立的隔离性等等。 二、实验 但实…

栈和队列oj题——20. 有效的括号

个人主页&#xff1a;晓风飞 专栏&#xff1a;数据结构|Linux||C语言 文章目录 解题核心思路使用STInit(&st);初始化栈。遍历字符串&#xff1a;处理左括号&#xff1a;处理右括号&#xff1a;字符串遍历完成&#xff1a;使用STDestroy(&st);销毁栈&#xff0c;释放资源…

使用 SpringSecurity 发送POST请求出现 403

问题场景 在使用 SpringSecurity 时对一些访问权限进行了设置, 在用户请求资源时出现了403错误 , 通过检查代码发现请求权限是开放的, 并且切换成 GET 请求也是可以通过, 换成POST 请求就无法通过。 解决方法 在 SpringSecurity 中关闭 CSRF 因为 前端向后台发送 post 请求…

Flink Watermark和时间语义

Flink 中的时间语义 时间语义&#xff1a; EventTime&#xff1a;事件创建时间&#xff1b;Ingestion Time&#xff1a;数据进入Flink的时间&#xff1b;Processing Time&#xff1a;执行操作算子的本地系统时间&#xff0c;与机器无关。不同的时间语义有不同的应用场合&#x…

华为端口隔离高级用法经典案例

最终效果&#xff1a; pc4不能ping通pc5&#xff0c;pc5能ping通pc4 pc1不能和pc2、pc3通&#xff0c;但pc2和pc3能互通 vlan batch 2 interface Vlanif1 ip address 10.0.0.254 255.255.255.0 interface Vlanif2 ip address 192.168.2.1 255.255.255.0 interface MEth0/0/1 i…

QT上位机开发(串口界面设计)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 如果上位机要和嵌入式设备进行打交道的话&#xff0c;那么串口可能就是我们遇到的第一个硬件设备。串口的物理接线很简单&#xff0c;基本上就是收…

使用Tensorboard可视化网络结构(基于pytorch)

前言 我们在搭建网络模型的时候&#xff0c;通常希望可以对自己搭建好的网络模型有一个比较好的直观感受&#xff0c;从而更好地了解网络模型的结构&#xff0c;Tensorboard工具的使用就给我们提供了方便的途径 Tensorboard概况 Tensorboard是由Google公司开源的一款可视化工…