【Proteus 仿真课程设计】基于51单片机的测距系统仿真设计

摘  :利用Proteus软件进行仿真设计,基于51单片机设计一个测距系统,可以通过超声波测距传感器结合温度传感器计算距离并通过LCD显示屏显示、串口发送数据,并可以通过手动按键设置距离阈值,当检测到距离低于阈值时,用蜂鸣器和LED闪烁进行声光报警,当距离低于阈值一半时 ,加快报警频率。

关键词:Proteus;51单片机;电子仿真。

设计目标与思路

设计目标

① 可以实现测距,并将距离显示在LED屏幕上;

② 可以在距离低于阈值时声光报警;

③ 可以手动按键设置距离阈值;

④ 可以通过串口输出距离信息。

设计思路

图1 设计流程图

考虑到逻辑功能较为复杂,所以采用51单片机来完成核心的逻辑功能设计。

测距采用超声波测距模块,由于声音传播速度与温度有关,所以还需测量环境温度数据,最后计算得到距离信息。LED显示采用LM032L模块,声光报警采用蜂鸣器+LED闪烁来实现。当检测到距离低于阈值时,开启声光报警,低于阈值一半时,加快报警频率。按键功能设置为3种:更改键/确定键、加键、减键,通过按键支路的电位检测按键,要设置变量来判断有效按键信号,实现按键消抖。采用Proteus库中的COMPIM与Virtual Terminal实现模拟串口调试,用虚拟串口软件可以将串口映射到电脑上调试。

各功能模块设计分述

单片机最小系统

图2 单片机最小系统

单片机选用AT89C52,在18、19引脚外接晶振电路,9引脚外接复位电路,32-39引脚外接一个排阻用于上拉电压,提高单片机的驱动能力,如此组成一个单片机最小系统。除此以外,对每个可能用到的引脚添加网络标号,简化后续的连线。使用Keil软件编译源代码,双击单片机选择导入生成的.hex文件,即可正常使用单片机。

LM032L显示模块

图3 LM032L显示模块

LM032L的VDD接电源,VEE接电阻调节对比度,VSS接地,RS、RW、E分别对应寄存器选择、读写控制、使能端,D0-D7为双向数据端。单片机控制RS、RW、E电平,通过D0-D7输入数据到LCD显示屏中显示。

蜂鸣器模块

图4 蜂鸣器模块

由PNP三极管驱动蜂鸣器,采用三极管为蜂鸣器驱动提供足够的电流,同时加一个电阻用于限流。经查阅资料,因为部分单片机刚上电时,所有的IO口都会有一个短暂的高电平,所以采用PNP型三极管,防止出现上电时蜂鸣器短鸣。报警时,通过单片机计时控制蜂鸣器发声频率。

LED灯模块

图5 LED灯模块

加一个限流保护电阻,当P2.0为低电平时LED亮,为高电平时LED灭。报警时,通过单片机计时控制蜂鸣器发声频率。

HC-SR04超声波测距模块

图6 HC-SR04超声波测距模块

采用封装好的HC-SR04超声波测距模块,P3.6接Trig(控制端),P3.7接Echo(接收端),每次在Trig发出一个脉冲,等待回响信号,通过回响信号长度结合温度计算出距离。

DS18B20测温模块

图7 DS18B20测温模块

DS18B20是单总线数字温度传感器,将P1.0与DQ引脚相连接,将数字量转化为模拟量即可得到环境温度值。

手动设置按键模块

图8 手动设置按键模块

按键产生脉冲,单片机检测对应支路的电平信号即可判断选择功能,需要设置变量判断实现按键消抖。按更改键LCD屏幕上的阈值min开始闪烁,加减键控制大小,再次按下确认(更改)键,取消闪烁,阈值设置完成。

串口通信模块

图9 串口通信模块

采用Proteus库中的COMPIM与Virtual Terminal实现模拟串口调试,用虚拟串口软件可以将串口映射到电脑上,用串口调试工具进行测试。设置每隔5s发送一次距离值。

整体功能测试

图10 整体电路连接图

上电后,开始检测距离和温度,并在LCD显示屏上显示,通过串口定时发送距离值。当调节距离小于min值时,开始声光报警,当小于min值一半时,声光报警频率加快。按下更改键,min值开始闪烁,加减键可以调整阈值,按键确认后设置完成,不再闪烁。调节温度值,显示的距离有细微的变化,符合设计要求。

代码及资源

可以有偿提供,如有需要可留言或私信联系方式。

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值