基于单片机的超声波倒车雷达设计

摘 要:文 章设计了一种基于单片机的超声波倒车雷达系统,以 AT89C51 型单片机作为控制核心,集距离测量、显示,方位显示和危险报警于一体,以提高驾驶者在倒车泊车时的安全性和舒适性。本设计采用 Keil 软件对系统程序进行调试,并采用 Proteus 对整个系统进行了仿真,仿真结果达到了预期的效果。
关键词:超声波;测距;单片机;倒车雷达

前言

近年来,随着驾驶人和机动车数量的急剧增长,行车路况复杂,驾驶员往往不能及时的了解车辆周边尤其是后方的环境,导致驾驶员操作不及时,造成很多事故 。本文设计了以 AT89C51 单片机为核心,利用超声波来进行测距,同时具有实现显示和报警功能的倒车雷达系统,大大提高了倒车泊车的安全性。

1 系统总体设计

本文设计了一种基于单片机的超声波倒车雷达系统,采用超声波脉冲回波法对距离进行测量,AT89C51 单片机作为整个系统的控制单元,TCF40-16TRC 超声波收发一体式传感器作为测距装置。系统主要包括测距部分、控制部分和显示报警部分。图 1 所示为系统的整体框架图。
汽车泊车时挂倒档,整车 ECU 会产生倒车信号,单片机接收该信号后进入工作状态,产生脉冲电压信号,该信号经 过四选一分时选通开关被发送到第一路(后左支路)测距电路,经过电路放大后驱动传感器发射超声波,同时单片机开始计时。超声波遇到障碍物后产生的反射回波被超声波接收
传感器所接收,并将其转化为电信号,单片机收到信号后,响应该中断,系统会执行外部中断程序,停止先前的计时,控制器会得到超声波发射和回波之间的时间差,定时中断以后继续执行下一路。测距顺序依次为后左,后左中,后右中和后右。随后,控制器计算得到最小距离值,并将该值及方位传送给 LCD 。当该值小于所设定的安全距离时,单片机驱动蜂鸣器发出报警,同时 AEB 系统进入工作状态,以保证泊车安全。

2 系统硬件设计

AT89C51 单片机是一种低功耗和高性能的八位芯片 。硬件电路主要包括单片机控制电路,超声波测距收发电路,回波电信号放大电路,LCD 显示电路,报警电路,方位灯显示电路等。

2.1 超声波测距收发电路

超声波收发电路的功能主要有:增大驱动发射声波脉冲电压幅值,实现声波信号与电信号之间的转化;提高超声波有效发射距离。本系统选择 CD4052 型芯片用来分时选通四个支路的传感器。

2.2 回波电信号放大电路设计

放大电路选择 CX20106A 型芯片作为控制核心。图 2 中引脚 1 CD4052 芯片的 Y 端。该放大电路对回波电信号进行处理,最终产生并向单片机输出一个低电平信号 。该信号会向控制芯片申请中断,随即单片机发送计时停止指令,同时系统便开始对数据进行处理。

2.3 液晶显示系统的电路设计

本设计选择 YBLCD1602LCD 液晶显示器作为显示装置。图 3 中芯片 P0 的八个引脚端口分别与 LCD 的八个引脚相连接,传输指令和数据。P1.0 P1.1 P1.2 引脚分别与LCD 的三个端口相连接,对 LCD 的读写功能进行控制。

2.4 系统方位灯电路设计

4 所示为系统方位灯的电路图,当其中一个二极管点亮,表明该路传感器对应方位的障碍物距离车体的位置最近。这四个发光二极管分别与芯片的引脚相连,当芯片所对应引脚输出为低电平时,该引脚所对应的二极管被点亮。

2.5 系统报警电路设计

系统采用 PB2130UP002A 蜂鸣器作为声音报警装置,当障碍物与车体距离过近时,蜂鸣器发出声音以起到报警的作用 。由图 5 可知该电路是利用一个三级管来驱动,蜂鸣器电路与单片机的 P3.7 引脚相连接。

3 系统软件设计

系统软件部分由运行主程序,超声波收发子程序,发射 通道选通子程序,LCD 显示子程序,报警子程序等组成。

3.1 软件主程序设计

6 所示为主程序流程框图,汽车挂入倒档时,系统进入工作状态。首先对每个缓冲单元清零,对液晶显示器进行初始化 。随后,系统开始检测是否有倒车信号传来,若有超声波测距支路便开始进入工作状态,反之继续等待。设置定时器并赋初值,同时 T1 定时器开中断。单片机通过检测四路探测完毕的标志位来判断四路探测是否完毕, 标志位为 1 则表示都已经完成,对数据进行处理,完成后通过 LCD 显示最小距离,同时报警模块判断是否需要报警,延迟大约 0.5s 后,系统又回到检测倒车信号处开始下一轮的循环。

3.2 超声波收发子程序设计

单片机接收超声回波的信号,系统进入外部中断 0 程序。此时,定时器 T0 首先停止计时,禁止外部中断 0 的中断,然后计数值保存在以 40H 为起始的单元中。随后,系统等待定时器 T1 所设定的 40ms 中断产生,一旦产生,便会继续进行下一支路的测距。

3.3 定时器 T1 中断程序设计

系统进入定时器 T1 中断程序, T1 关闭,外部 0 中断被禁止,同时 T1 被重新赋初值。如果全部选通完毕且有四个计数值,系统会置标志位然后比较这四个值返回主程序。如果四通路还没有全部选通,系统会继续选通还没有被选通的通道,同时调用发射超声波的子程序,启动定时器 T0 和定时器 T1 ,并允许定时器 T1 中断。

4 系统调试与仿真

本文使用 Keil 软件对程序进行调试,使用 Proteus 软件对电路进行仿真。图 7 中,示波器窗口可以看见有一串矩形波发出,脉冲个数为 16 个,与预期的数目相同。

利用 Keil 软件对系统的程序进行了调试并采用 Proteus专业仿真软件对整个系统进行了仿真以验证系统的正确性和稳定性。

5 结语

本文通过采用单片机控制和超声波测距,设计出一种结构简单、可靠性高的泊车雷达系统。利用超声波来进行测距,测量精度比较高,同时实现显示和报警的功能,完全满足驾驶员泊车的需求。

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

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

相关文章

已办理劳务资质,为何无法在全国建筑市场网查询到企业?

已办理劳务资质的企业无法在全国建筑市场网(四库一平台)查询到,可能的原因如下: 数据更新延迟: 全国建筑市场监管公共服务平台(四库一平台)的数据更新可能存在延迟。新获得的劳务资质信息在平台…

第一次参加学术会议?来看看这份NeurIPS 2024的参会攻略

会议之眼 快讯 嘿,亲爱的学者们!有没有还没参加过学术会议的同学呢?别担心,今天小编就来给大家分享一份超实用的参会攻略,以人工智能领域备受瞩目的NeurIPS 2024为例,让你第一次参加学术会议就能像个老手一…

day4 数1 隐函数

基础知识 隐函数 :一个方程里边 使x有1个y与之对应 函数的有界性 f(X) 的值大于-M并小于M 单调性 可以用定义发判断单调性 定义法 奇函数 奇函数关于原点对称,偶关于x对称 定义域要关于原点对称 任何一个函数可以写成奇函数偶函数的形式 复合函数的…

gorm/gin框架实战

gorm/gin框架实战 项目简介 学习源视频:【最新Go Web开发教程】基于gin框架和gorm的web开发实战 (七米出品)_哔哩哔哩_bilibili 本博客为我的学习笔记。 项目目标:实现一个备忘录工具(当然不支持alert),仅仅是可以记录待办事项。 实现了…

川北医学院与爱尔眼科医院集团签署战略合作协议共谋医学发展新篇章

为深入贯彻落实党的二十大精神,统筹校、企、医、政多方资源,服务“健康中国”战略,推动眼健康产业发展,打造国家及区域级眼科医学中心,2024年5月31日,川北医学院与爱尔眼科医院集团在成都举行战略合作协议签…

数字化校园建设让学习更加广阔

校园构建数字化校园的亮点是什么?校园以智能服务、才智办理、数字讲堂为中心内容的智慧校园建造,不只使师生作业和日子更高效,并且使他们有更多的时刻投入到智能教育和智能学习中去,进步教育质量,使学生走出校门时紧跟…

代码随想录第23天|回溯part3 组合与分割

39.组合总和 class Solution { public:vector<vector<int>> res;vector<int> path;void backTracking(vector<int>& candidates,int target,int sum,int n,int step){if(n > 150) return;if(sum > target) return;if(sum target){res.push_…

Scikit-Learn随机森林分类

Scikit-Learn随机森林分类 1、随机森林分类1.1、随机森林分类概述1.2、随机森林分类的优缺点2、Scikit-Learn随机森林分类2.1、Scikit-Learn随机森林分类API2.2、Scikit-Learn随机森林分类初体验(葡萄酒分类)2.3、Scikit-Learn随机森林分类实践(鸢尾花分类)2.4、参数调优与…

微信支付(可复用)

3.1微信支付 本项目选择小程序支付 参考&#xff1a;产品中心 - 微信支付商户平台微信支付商户平台提供各类支付产品满足商家通过微信支付收款的需求&#xff1b;平台提供智慧经营&#xff0c;现金红包&#xff0c;代金券等运营工具&#xff0c;助力商家更好的玩转营销&#x…

程序员应该有什么职业素养?

程序员的六大职业素养&#xff1a;构建成功职业生涯的基石 在不断变化的技术世界中&#xff0c;程序员不单要保持技术的锋利&#xff0c;也需要培养相应的职业素养&#xff0c;这些素养在很大程度上决定了一个程序员的职业生涯能否走得长远。以下是我认为最为重要的六大职业素…

LLM基础知识

LLM背景知识介绍 1 大语言模型 (LLM) 背景 大语言模型 (英文&#xff1a;Large Language Model&#xff0c;缩写LLM) 是一种人工智能模型, 旨在理解和生成人类语言. 大语言模型可以处理多种自然语言任务&#xff0c;如文本分类、问答、翻译、对话等等。 &#x1f4a5;通常&…

NVIDIA - QPU

转载自 What Is a QPU? ( 2022 年 7 月 29 日 里克梅里特 https://blogs.nvidia.com/blog/what-is-a-qpu/ 文章目录 一、概述二、那么&#xff0c;什么是 QPU&#xff1f;三、量子处理器如何工作&#xff1f;四、制作量子比特的多种方法五、光的量子比特六、简单的芯片&#x…

git commit使用husky校验代码格式报错,没有将钩子 ‘.huskypre-commit‘ 设置为可执行,钩子被忽略。

使用git提交代码时&#xff0c;通过husky校验代码格式&#xff0c;终端报错 因为没有将钩子 .husky/pre-commit 设置为可执行 系统&#xff1a;Mac husky 在 Windows 上能够正常运行 解决办法 # 没有权限就给个权限 使用 chmod x 给权限 # 通过这行命令解决husky钩子不执行…

【C#】类和结构体的区别

目录 1.区别概述 ​编辑 2.细节区别 3.结构体的特别之处 4.如何选择结构体和类 1.区别概述 结构体和类的最大区别是在存储空间上&#xff0c;前者是值类型&#xff0c;存储在栈上&#xff0c;后者是引用类型&#xff0c;存储在堆上&#xff0c;它们在赋值上有很大的区别&a…

【C++入门到精通】C++ thread线程库 [ C++入门 ]

阅读导航 引言一、thread类的简单介绍二、thread类的用法1. 创建线程2. 使用 Lambda 表达式3. 传递参数给线程4. 线程的 join 和 detach5. 检查线程是否可 join6. 线程的 ID7. 线程的移动语义8. 线程的析构&#x1f6a8; 注意事项 三、线程函数参数温馨提示 引言 C thread线程…

实现流程化办公,可以相信拖拽表单设计器!

当前&#xff0c;竞争压力越来越大&#xff0c;利用什么样优良的办公软件实现流程化办公&#xff1f;可以一起来了解低代码技术平台、拖拽表单设计器的优势特点&#xff0c;看看它们是如何助力企业降本、增效、提质的。低代码技术平台的优势特点多&#xff0c;可以助力企业用拖…

轻松实现微信内下载,Xinstall让你的App推广更高效!

在微信中推广App&#xff0c;你是否遇到过这样的困扰&#xff1a;推广链接被微信拦截&#xff0c;用户需要手动复制链接到浏览器才能下载&#xff0c;大大降低了安装率&#xff1f;今天&#xff0c;我们要介绍的Xinstall&#xff0c;就是一款能够解决这一痛点的神器&#xff01…

2.2 OpenCV随手简记(三)

图像的阈值处理定义 &#xff1a;将图像转化为二值图像&#xff08;黑白图&#xff09;, 也可以用于彩色图形&#xff0c;达到夸张的效果 目的&#xff1a;是用来提取图像中的目标物体&#xff0c;将背景和噪声区分开&#xff08;可以近似的认为除了目标全是噪声&#xff09;。…

GSEA的算法只考虑排序吗

其实这个问题很好回答&#xff0c;只需要运行如下代码&#xff0c;如下的基因列表是顺序是完全相同&#xff0c;并且我们只是做了最基础的变换 library(clusterProfiler) library(org.Hs.eg.db)data(geneList, package"DOSE")ego1 <- gseGO(geneList geneLi…

【iOS】UI学习(二)

UI学习&#xff08;二&#xff09; 进度条和滑动条步进器与分栏控件警告对话框和提示等待器UITextFieldUITextField控件UITextFieldDelegate协议 UIScrollView布局子视图手动布局子视图自动布局子视图 进度条和滑动条 下面通过一个程序来讲解该内容&#xff1a; #import <…