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

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

摘 要:文 章设计了一种基于单片机的超声波倒车雷达系统,以 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 结语

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

相关文章:

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

摘 要:文 章设计了一种基于单片机的超声波倒车雷达系统,以 AT89C51 型单片机作为控制核心,集距离测量、显示,方位显示和危险报警于一体,以提高驾驶者在倒车泊车时的安全性和舒适性。本设计采用 Keil 软件对系统程序…...

如何增加服务器的高并发

哈喽呀大家好呀,淼淼又来和大家见面啦,随着互联网应用的普及和用户量的不断增加,服务器的高并发性能成为了开发者们面临的一项重要挑战。在处理大量并发请求时,服务器需要具备高效的处理能力和稳定的性能,以确保系统的…...

webservice、WCF、webAPI权限认证

webservice 权限认证 》》soapHeader SOAPHeader案例 》》 window 集成认证 在IIS里取消匿名访问权限,若允许匿名访问,就没有必须提供验证凭证了 R2RServiceSerialNumber sN new R2RServiceSerialNumber();sN.Url "http://172.xxxxx/R2RServi…...

Kafka之Producer原理

1. 生产者发送消息源码分析 public class SimpleProducer {public static void main(String[] args) {Properties prosnew Properties();pros.put("bootstrap.servers","192.168.8.144:9092,192.168.8.145:9092,192.168.8.146:9092"); // pros.pu…...

ubuntu20.04部署gitlab流程

参考: https://blog.csdn.net/weixin_57025326/article/details/136048507 362 wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/focal/gitlab-ce_16.2.1-ce.0_amd64.deb/download.deb367 sudo apt install gitlab-ce…...

C/C++动态内存管理(new与delete)

目录 1. 一图搞懂C/C的内存分布 2. 存在动态内存分配的原因 3. C语言中的动态内存管理方式 4. C内存管理方式 4.1 new/delete操作内置类型 4.2 new/delete操作自定义类型 1. 一图搞懂C/C的内存分布 说明: 1. 栈区(stack):在…...

搭建一个基于主流技术Spring Boot 2 + Vue 3 + Ant Design Vue的技术框架的简要步骤

搭建一个基于主流技术Spring Boot 2 Vue 3 Ant Design Vue的技术框架涉及前后端分离的开发模式。以下是一个简化的步骤指南,用于帮助你开始这个项目: 1. 后端(Spring Boot 2) 1.1 初始化项目 使用Spring Initializr(…...

水电站生产指挥调度系统方案

一、方案背景 在碧波荡漾的大江大河之上,巍然屹立着一座座水电站,它们如同一个个巨人在默默地守护着我们的家园。在这些建设者的辛勤耕耘下,水电站在保障国家能源安全、优化能源结构以及减少环境污染等方面发挥着重要作用。 然而&#xff0c…...

深度学习入门-第3章-神经网络

前面的待补充 3.6 手写数字识别 3.6.1 MNIST 数据集 本书提供了便利的 Python 脚本 mnist.py ,该脚本支持从下载 MNIST 数据集到将这些数据转换成 NumPy 数组等处理(mnist.py 在 dataset 目录下)。 使用 mnist.py 时,当前目录必须…...

如何使用AES128位进行视频解密

要实现AES128位加解密&#xff0c;可以使用JavaScript的crypto-js库。以下是一个简单的示例&#xff1a; HTML代码&#xff1a; <video controlsList"nodownload" controls></video> 首先&#xff0c;需要安装crypto-js库&#xff1a; npm install cr…...

ArkTS是前端语言吗

ArkTS是前端语言吗 ArkTS&#xff0c;这个名词在现代软件开发领域里逐渐崭露头角&#xff0c;但对于许多人来说&#xff0c;它仍旧是个神秘而令人困惑的存在。那么&#xff0c;ArkTS究竟是前端语言吗&#xff1f;为了回答这个问题&#xff0c;我们需要从多个方面进行深入剖析。…...

git上新down下来的项目,前端启动报错npm ERR! code 1 npm ERR! path E:\code\vuehr\node_modul

解决方法在下面 问题1&#xff1a;> vuehr0.1.0 serve > vue-cli-service serve vue-cli-service 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 在项目目录下执行命令npm i -D vue/cli-service来安装vue/cli-service依赖。 运行gitee上下载的…...

oc中的数据结构在都在什么位置

数据结构 在Objective-C中&#xff0c;数据结构可以存在于以下几个位置&#xff1a; 堆&#xff08;Heap&#xff09;&#xff1a;堆是动态分配的内存空间&#xff0c;用于存储动态创建的对象和数据结构。堆上的数据需要手动进行内存管理&#xff0c;即手动分配和释放内存。 …...

多云世界中的 API 治理

随着企业不断拥抱数字化转型&#xff0c;许多企业正在采用多云战略&#xff0c;以充分利用不同云平台的独特优势和功能。这种方法使企业能够避免被供应商锁定&#xff0c;提高灵活性&#xff0c;并优化 IT 成本。然而&#xff0c;在多个云平台上管理应用程序接口并非易事。它带…...

【稳定检索/投稿优惠】2024年环境、资源与区域经济发展国际会议(ERRED 2024)

2024 International Conference on Environment, Resources and Regional Economic Development 2024年环境、资源与区域经济发展国际会议 【会议信息】 会议简称&#xff1a;ERRED 2024 大会地点&#xff1a;中国杭州 会议官网&#xff1a;www.icerred.com 会议邮箱&#xff1…...

生成式 AI——ChatGPT、Dall-E、Midjourney 等算法理念探讨

1.概述 艺术、交流以及我们对现实世界的认知正在迅速地转变。如果我们回顾人类创新的历史&#xff0c;我们可能会认为轮子的发明或电的发现是巨大的飞跃。今天&#xff0c;一场新的革命正在发生——弥合人类创造力和机器计算之间的鸿沟。这正是生成式人工智能。 生成模型正在模…...

C-数据结构-树状存储基本概念

‘’’ 树状存储基本概念 深度&#xff08;层数&#xff09; 度&#xff08;子树个数&#xff09; 叶子 孩子 兄弟 堂兄弟 二叉树&#xff1a; 满二叉树&#xff1a; 完全二叉树&#xff1a; 存储&#xff1a;顺序&#xff0c;链式 树的遍历&#xff1a;按层遍历&#xff0…...

【Linux-Yocto】

Linux-Yocto ■ 1.1 安装 Git 与配置 Git 用户信息■ 1.2 获取 Yocto 项目■ 1.3 开始构建 Yocto 文件系统■ 1.4 构建 SDK 工具■■■ ■ 1.1 安装 Git 与配置 Git 用户信息 sudo apt-get install git git config --global user.name "username" // 配置 Git 用户名…...

一文掌握JavaScript 中类的用法

文章导读&#xff1a;AI 辅助学习前端&#xff0c;包含入门、进阶、高级部分前端系列内容&#xff0c;当前是 JavaScript 的部分&#xff0c;瑶琴会持续更新&#xff0c;适合零基础的朋友&#xff0c;已有前端工作经验的可以不看&#xff0c;也可以当作基础知识回顾。 这篇文章…...

国密算法:信息安全的守护者

在数字化时代&#xff0c;信息安全已成为国家安全的重要组成部分。国密算法&#xff0c;作为中国自主研发的一套密码算法体系&#xff0c;对于提升国家信息安全水平、保障关键信息基础设施的安全具有重要意义。本文将详细介绍国密算法的组成、特点以及在信息安全领域的应用。 国…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample&#xff08;样本数&#xff09; 表示测试中发送的请求数量&#xff0c;即测试执行了多少次请求。 单位&#xff0c;以个或者次数表示。 示例&#xff1a;…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改&#xff0c;实现简单cat命令 输出信息到显示器&#xff0c;你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践

前言&#xff1a;本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中&#xff0c;跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南&#xff0c;你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案&#xff0c;并结合内网…...