当前位置: 首页 > news >正文

【开源-Proteus8.9仿真】基于51单片机的超声波测距(HC-SR04+ LCD1602)

项目开源链接以及作者信息

参数
VX公众号少年潜行 (关注回复A004超声波测距在对应文中获得网盘链接)
Proteus8.9链接:https://pan.baidu.com/s/1kkgFmRBlh268m_ESl83weg 提取码:9bde 复制这段内容后打开百度网盘手机App,操作更方便哦

📖 欢迎交流 如果对你有帮助,希望可以帮我点个赞👍和收藏,谢谢

📖 有问题请于微信公众号后台回复,

V1.1 (2025_07_05更新)

更新内容

1、在V1.0基础上优化了LCD显示延时,使得LCD的显示更加迅速。
2、如果有问题,大家可以继续提出。大家就不要去下资源绑定里面的内容了,那个不能实时更新。

LCD显示优化

在实际仿真使用的时候LCD刷新会比较慢,使用实物的时候可以用原来的代码,仿真的时候可以把延时注释了,使用下面的函数,开头要加个1ms的延时,因为没有忙检测。

voidLcdWriteCom(uint8_tcom)//写入命令{Lcd1602_Delay1ms(1);LCD1602_E=0;//使能LCD1602_RS=0;//选择发送命令LCD1602_RW=0;//选择写入LCD1602_DATAPINS=com;//放入命令// Lcd1602_Delay1ms(1); //等待数据稳定LCD1602_E=1;//写入时序// Lcd1602_Delay1ms(5); //保持时间LCD1602_E=0;}voidLcdWriteData(uint8_tdat)//写入数据{Lcd1602_Delay1ms(1);LCD1602_E=0;//使能清零LCD1602_RS=1;//选择输入数据LCD1602_RW=0;//选择写入LCD1602_DATAPINS=dat;//写入数据// Lcd1602_Delay1ms(1);LCD1602_E=1;//写入时序// Lcd1602_Delay1ms(5); //保持时间LCD1602_E=0;}

V1.0 基础内容

项目说明

该设计是一个简易的基于51单片机的超声波测距系统,功能说明:

  1. 使用LCD1602实时显示当前的超声波测试距离。
  2. 可以通过示波器查看发送的信号和超声波模块接收到的信号。

硬件设计


硬件设计如图,主要使用LCD屏幕展示超声波的测量距离,然后还有就是一个示波器显示发送Trig和Echo的信号。

软件设计

主要就是在While中发送信号,然后使用LCD1602显示

#include"reg52.h"#include"stdio.h"#include"hc_sr04.h"#include"LCD1602.h"#include"stdio.h"#defineu8unsignedchar#defineu16unsignedintvoiddelayms(unsignedintms){unsignedchari=100,j;for(;ms;ms--){while(--i){j=10;while(--j);}}}voidmain(){floatdist_value=0;u8 lcdShowBuff[16]={0};HCSR04_Init();// HCSR04的引脚初始化HCSR04_Timer0Init();// HCSR04的定时器计数初始化LcdInit();// LCD显示初始化while(1){HCSR04_trigSendOnePulse();dist_value=DistCount();sprintf((char*)lcdShowBuff,"distanc : %f ",dist_value);LcdShowStr(0,0,lcdShowBuff);delayms(100);}}

调试效果

1、显示当前的测试距离和示波器的波形

http://www.jsqmd.com/news/486119/

相关文章:

  • 数据结构算法个人理解汇总
  • 2026年阿里企业邮箱购买咨询电话,最新价格套餐详解 - 品牌2026
  • 光学像差与泽尼克多项式
  • Redux-Form错误状态管理终极指南:同步错误、异步错误与提交错误详解
  • DroneSecurity:揭秘DJI OcuSync 2.0无人机ID协议的终极嗅探工具
  • 掌握DVA框架TypeScript类型定义:从基础到高级泛型实践指南
  • 大家的社保手册:一篇讲清,从此不求人
  • 终极Apache PredictionIO插件开发指南:10个高效扩展机器学习平台功能的实用技巧
  • 2026年白俄罗斯留学哪家机构靠谱?优质实力机构详解及选型参考 - 深度智识库
  • 终极指南:如何用deej打造你的专属硬件音量控制器
  • 终极指南:ramsey/uuid与WordPress插件开发中的UUID应用技巧
  • Umi性能优化终极指南:从代码分割到PWA的极致加速方案
  • Win10 将未分配的磁盘空间合并到C盘该怎么做?一文教你3种方法
  • 2026年科威特建材展 Kuwait Build Design Week - 新天国际会展 - 中国总代理 - 新天国际会展
  • 阿里企业邮箱2026年最新收费标准,中小企业选购费用明细与优惠 - 品牌2026
  • 深入探索Apache Answer前端架构:React组件设计与Zustand状态管理实践指南
  • 如何利用entr实现数据科学工作流的实时自动化:完整指南
  • React-PDF文本对齐完整指南:创建专业PDF文档排版
  • Apache PredictionIO多语言支持终极指南:Java、Scala、Python SDK深度对比
  • 笔记本新机「开荒」完全攻略:从拆封验机到系统配置,《你缺失的那门计算机课》教你步步避坑
  • 如何使用Mapper库快速实现Swift对象的JSON解析?新手入门指南
  • Jimp WebAssembly终极优化指南:快速提升图像处理性能的10个技巧
  • 突破日志大数据瓶颈:OpenObserve批量导入工具的分片与断点续传技术全解析
  • 终极Zabbix插件开发指南:从零开始扩展企业级监控能力
  • 终极指南:如何使用Nightingale与OpenTelemetry构建统一可观测性平台
  • Design OS产品规划实战:5步定义清晰产品愿景与数据模型
  • 测试覆盖率提升秘籍:JaCoCo与SonarQube集成深度实践指南
  • Qwen3-Reranker-0.6B实战指南:模型量化(AWQ/EXL2)部署可行性验证
  • 如何调试深度学习模型:DeepLearning.ai常见问题及解决方案终极指南
  • OpenObserve缓存策略调优:基于查询模式的智能缓存配置终极指南