基于AT89C52单片机的超声波测距设计—数码管显示

点击链接获取Keil源码与Project Backups仿真图:
https://download.csdn.net/download/qq_64505944/89456475?spm=1001.2014.3001.5503
在这里插入图片描述
在这里插入图片描述

C 源码+仿真图+毕业设计+实物制作步骤+10
在这里插入图片描述

题 目: 基于52的超声波测距汽车防撞系统

学生姓名 [姓名]
学 号 [学号]
专业班级 [专业班级]
分院(系) [分院(系)]
指导教师(职称) [指导教师(职称)]

年 月

诚信承诺书

本人谨此承诺,本人所写毕业设计(论文)均由本人独立撰写,无任何抄袭行为。凡涉及他人的观点材料,均作了注释。如出现抄袭或侵犯他人知识产权的情况,愿承担由此引起的任何责任,并接受相应的处分。

  学生签名:

年 月 日

基于52的超声波测距汽车防撞系统

【摘要】
基于52的超声波测距汽车防撞系统,介绍了超声波测距的基本原理和系统框图,给出了超声波发射和接收电路,通过盲区的消除,提高了测距的精确度。利用超声波传输中距离与时间的关系,采用52单片机进行控制及数据处理,设计出了能精确测量两点间距离的超声波液位检测系统。系统主要由超声波发射器电路、超声波接收器电路、单片机控制电路、按键电路及显示电路构成。利用所设计出的超声波测距汽车防撞系统,对行驶中的车距进行了测试,采集当时两车距离过近系统会发出声光警报提示司机作出相应反应动作。此系统具有易控制、工作可靠、测量精度高的优点,可实时车距检测。
【关键词】

超声波、MCU、LED、测距、传感器

52 car collision avoidance system based on
【Abstract】 Ultrasonic ranging car anti-collision system based on 52, introduces the principle and system frame of ultrasonic distance measurement, the ultrasonic transmitter and receiver circuit, the blind area elimination, to improve the measurementaccuracy. The relation between ultrasonic transmission distance and time, using 52 single-chip microcomputer control and data processing, design the ultrasonic liquid level detection system for accurate measurement of distance between two points. The system is mainly composed of the ultrasonic transmitter circuit,ultrasonic receiver circuit, single-chip microcomputer control circuit, keyboard circuit and display circuit. The use of ultrasonic ranging automotive anti-collision system are designed, the running distance between vehicles were tested, two carcollection was too close to the system will send out sound and light alarm to warn the driver response action. This system has the advantages of easy control,reliable operation, high measuring precision, real-time vehicle distance detecting.

【Key Words】 Ultrasonic, MCU, LED, location, sensor

目 录
1 绪 论 5
1.1研究的背景 5
1.2研究的主要内容 6
1.3应解决的关键问题 6
2 电路方案论证 7
2.1方案比较 7
2.1.1 激光测距 7
2.1.2 超声波测距 7
2.2电路总体方案 7
3单片机概述 9
3.1 STC89C52主要性能 9
3.2 STC89C52外部结构及特性 9
3.3 STC89C52内部组成 11
4 超声波测距模块 12
4.1 超声波传感器介绍 12
4.2 HC-SR04超声波测距模块的性能特点 13
4.3 HC-SR04的管脚排列和电气参数 14
4.3.1 管脚简介 14
4.3.2 HC-SR04的电气参数 14
4.4超声波时序图 15
5系统硬件电路设计 16
5.1单片机最小系统 16
5.1.1 STC89C52芯片 16
5.1.2 复位电路 16
5.1.3 晶振电路 17
5.2 驱动显示电路及报警电路 18
5.2.1 LED数码管显示电路 18
5.2.2 蜂鸣器和LED报警 18
5.3 HC-RS04超声波测距原理 19
5.4 按键设置电路 20
6系统程序的设计 22
6.1主程序 22
6.2显示数据子程序 22
6.3报警子程序 23
6.4按键子程序 23
结 论 25
参考文献 26
附 录(A) 27
附 录(B) 28
致 谢 35

1 绪 论
1.1研究的背景
汽车业与电子业是世界工业的两大金字塔,随着汽车工业与电子工业的不断发展,在现代汽车上,电子技术的应用越来越来广泛,汽车电子化的程度越来越高。汽车电子技术是汽车技术与电子技术想结合的产物。汽车上的电器与电子控制系统在汽车技术进入机电一体化阶段的今天,地位极为重要,正在汽车技术领域发展成为一门独立的分支学科,其性能的优劣直接影响到汽车的动力性、经济性、可靠性、安全性、排放干净、及舒适性等。电子控制技术在汽车上,首先应用于发动机燃油消耗控制与排放进化与排放控制,接着被应用于底盘部分的控制,以提高行驶的稳定性、安全性、与舒适性等。随着交通运输向高密度发展,电子控制技术又进一步应用于汽车的乘坐安全性和导航等方面。
电子技术在汽车安全控制系统的应用主要是为了增强汽车的安全、舒适和方便。应用的电子技术主要有:电子控制安全气囊,智能记录仪,雷达式距离报警器,中央控制门锁,自动空调,自动车窗、车门

  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
本项目是一个基于SpringBoot开发的华府便利店信息管理系统,使用了Vue和MySQL作为前端框架和数据库。该系统主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者,包含项目源码、数据库脚本、项目说明等,有论文参考,可以直接作为毕设使用。 后台框架采用SpringBoot,数据库使用MySQL,开发环境为JDK、IDEA、Tomcat。项目经过严格调试,确保可以运行。如果基础还行,可以在代码基础之上进行改动以实现更多功能。 该系统的功能主要包括商品管理、订单管理、用户管理等模块。在商品管理模块中,可以添加、修改、删除商品信息;在订单管理模块中,可以查看订单详情、处理订单状态;在用户管理模块中,可以注册、登录、修改个人信息等。此外,系统还提供了数据统计功能,可以对销售数据进行统计和分析。 技术实现方面,前端采用Vue框架进行开发,后端使用SpringBoot框架搭建服务端应用。数据库采用MySQL进行数据存储和管理。整个系统通过前后端分离的方式实现,提高了系统的可维护性和可扩展性。同时,系统还采用了一些流行的技术和工具,如MyBatis、JPA等进行数据访问和操作,以及Maven进行项目管理和构建。 总之,本系统是一个基于SpringBoot开发的华府便利店信息管理系统,使用了Vue和MySQL作为前端框架和数据库。系统经过严格调试,确保可以运行。如果基础还行,可以在代码基础之上进行改动以实现更多功能。
### 回答1: C52单片机超声波测距数码管显示代码如下: 首先,我们需要定义一些常量和变量。常量包括超声波模块的引脚接口,数码管的段选接口和位选接口,还有一些用于计算距离的参数。变量包括用于存储距离值的变量。 接着,我们需要初始化单片机的IO口,将超声波模块和数码管连接的引脚设置为输出和输入。 然后,我们进入主函数中的循环。在循环中,首先发送超声波模块发射信号,等待一段时间后关闭发射信号。然后等待接收到回波信号,计算并存储距离值。最后,将距离值通过数码管的段选接口和位选接口显示出来。 下面是一个简单的示例代码: #include <51.h> #include <intrins.h> #define echo P2_0 #define trigger P1_0 sbit digit1 = P3^0; // 数码管的段选接口 sbit digit2 = P3^1; sbit digit3 = P3^2; sbit digit4 = P3^3; sbit bit1 = P3^4; // 数码管的位选接口 sbit bit2 = P3^5; sbit bit3 = P3^6; sbit bit4 = P3^7; unsigned int distance; // 用于存储距离值 void delay(unsigned int t); // 延迟函数 void display(); // 数码管显示函数 void main() { while (1) { trigger = 1; // 发射超声波信号 delay(10); trigger = 0; // 等待接收到回波信号 while (!echo); TR0 = 1; // 开启定时器0 while (echo); TR0 = 0; // 关闭定时器0 // 计算并存储距离值 distance = TH0 * 256 + TL0; display(); // 数码管显示距离值 } } void delay(unsigned int t) { unsigned int i, j; for (i = t; i > 0; i--) for (j = 110; j > 0; j--); } void display() { unsigned int temp; unsigned char i; temp = distance; // 将距离值存储到临时变量中 // 分离距离值的每一位,并通过数码管显示出来 for (i = 0; i < 4; i++) { switch (i) { case 0: bit1 = 1; bit2 = bit3 = bit4 = 0; break; case 1: bit2 = 1; bit1 = bit3 = bit4 = 0; break; case 2: bit3 = 1; bit1 = bit2 = bit4 = 0; break; case 3: bit4 = 1; bit1 = bit2 = bit3 = 0; break; } P0 = temp % 10; // 将位对应的数码管段亮起 temp = temp / 10; // 距离值右移一位 delay(5); // 等待一段时间,让数码管段亮起 P0 = 0; // 将位对应的数码管段关闭 } } 希望以上代码能够对您有所帮助! ### 回答2: C52单片机超声波测距数码管显示代码是用于将超声波测距的结果通过数码管进行显示的代码。以下是一个简单的示例代码: 首先,需要在代码中定义所使用的端口和引脚。例如,我们可以定义TRIG_PIN和ECHO_PIN来分别表示超声波传感器的发送和接收引脚,以及DIGIT_PIN和SEGMENT_PIN来表示数码管的位选引脚和段选引脚。 然后,在主程序中利用延时和IO操作函数实现超声波测距的功能。具体的步骤如下: 1. 设置TRIG_PIN为输出模式,ECHO_PIN为输入模式。 2. 将TRIG_PIN置高电平,并延时一段时间(例如10us或更长)。 3. 将TRIG_PIN置低电平,等待测距信号的返回。 4. 使用定时器和外部中断,测量ECHO_PIN引脚上高电平的时间,并计算出距离值(以厘米或其他单位表示)。 5. 将距离值转化为数码管显示的格式,例如将测得的距离数据拆分为个位、十位、百位等。 6. 通过数码管的位选引脚和段选引脚依次显示距离值的每一位数码。 需要注意的是,以上仅是示例代码的基本框架,具体的实现细节可能会因所使用的硬件和编程环境而有所不同。在实际编写代码时,还需根据具体情况进行适当的修改和调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柒月玖.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值