51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】

这篇具有很好参考价值的文章主要介绍了51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、主要功能

该系统由AT89C51单片机+数码管模块+LED指示灯模块+按键模块构成。

利用51单片机实现超声波测距功能。利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时。系统定时发射超声波,在启动发射电路的同时启动单片机内部的定时器,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波的反射波时,接收电路输出端产生一个负跳变,单片机检测到这个负跳变信号后,停止内部计时器计时,读取时间,计算距离,测量结果输出给数码管显示。同时可以通过按键设定报警距离,如果距离过大或者过小,蜂鸣器都会报警。

可实现基本功能:

1、超声波测量距离

按键功能:

1、设置报警值的上限

2、设置报警值的下限

51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】

2、仿真

protues 仿真使用的是8.10版本,由于该软件版本迭代原因,不能确保其他版本软件能够正常运行,请安装好对应软件(版本一致或者高于这个版本都可以)

51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】

3、程序代码

只是放上来了部分代码,仅供参考。

51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】

/* 启动超声波程序 */
void StartModule(void)
{
	Ttig = 1;			//启动一次模块
	_nop_();			//延时一段时间,至少10us以上 
	_nop_(); 			
	_nop_(); 
	_nop_(); 
	_nop_(); 
	_nop_(); 
	_nop_(); 
	_nop_(); 
	_nop_(); 
	_nop_(); 
	_nop_(); 
	_nop_(); 
	_nop_(); 
	_nop_(); 
	_nop_(); 
	_nop_(); 
	_nop_();
	_nop_(); 
	_nop_(); 
	_nop_(); 
	_nop_();
	Ttig = 0;
}
/* 计算测距 */
void count(void)
{
	StartModule();	//启动一次超声波
	while(!Echo);		//等待超声波模块输出IO拉高 
	TR0 = 1;			//开启定时器计时
	while(Echo);		//等待超声波模块输出IO拉低
	TR0 = 0; 			//关闭定时器计时
	
	/* 计算距离 */
	time = TH0 * 256 + TL0;	//得到的时间,专业写法应该是这样:time = TH0 << 8 | TL0
	TH0 = 0;				//定时计数器清零	
	TL0 = 0;
	
	S = (time * 1.7) / 100; //算出来是M				
}

/* 显示距离 */
void dis_distance(void)
{
	dis_buf[3] = 0x00;
	dis_buf[2] = duan_ma[S / 100 %10]; 	//取出百位数,并在数码管的第3位显示,从右往左数
	dis_buf[1] = duan_ma[S / 10 %10];	//取出十位数,并在数码管的第2位显示,从右往左数
	dis_buf[0] = duan_ma[S % 10]; 		//取出个位数,并在数码管的第1位显示,从右往左数	
}

/* 主函数 */
void main(void)
{
	digDuan = 0x40;		//显示"----"
	digWei1 = 0;
	digWei2 = 0;
	digWei3 = 0;
	digWei4 = 0;
	delayms(1000);		//延时大约1s 
	InitTimer0();		//定时器0初始化

	while(1)
	{
		count();					//计算距离
		if(S>=S_H || S<=S_L)		//如果超出设定的范围,则显示"---"
		{
			dis_buf[3] = 0x00;
			dis_buf[2] = 0x40; 		//显示"---"
			dis_buf[1] = 0x40;
			dis_buf[0] = 0x40;	
			BEEP = 0;			//蜂鸣器鸣叫
			delayms(1000);
		}
		else
		{
			BEEP = 1;			//关闭蜂鸣器
			dis_distance();		//显示距离
		}

		if(key_scan() == 1)		//如果按下设置键,则进入设置报警功能
		{
			BEEP = 0;			//按键提示音
			delayms(50);
			BEEP = 1;
			delayms(100);
		 	key_fuction();		//进入设置报警功能
		}			
	}
}

4、原理图

51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】

5、报告

 内含5k字,17页的相关报告一份,纯手打,内容一致

51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】

6、常见问题汇总

里面包含了我对各个模块的详细解析,可以结合代码一起理解。如果正巧老师问题多,这个可以帮到你哦。(不定时更新,讲解模块也会越来越多)

51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】

7、资源获取

51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】

 本项目包含的所有文件都可以在公众号:今天也不想打工,回复“51超声波”获取!

项目纯手打,不是免费的哦~小小一杯奶茶的💴
希望可以帮到你哈!文章来源地址https://www.toymoban.com/news/detail-510773.html

到了这里,关于51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【51单片机练习1——超声波测距+LCD12864显示】

    PS:这是人生中的第一篇博客,记录了我人生中的第一次实习工作。与其说是博客文章,这些更像是一个小白的流水账日记,可能会有很多错误和有待优化的地方,希望各位大佬可以多多提出。如有问题可以私信联系。 行文过程中,欲说尽心中无限事,感慨万千。不过各位“

    2024年02月04日
    浏览(56)
  • 超声波测距模块HC-SR04详解(基于51单片机)

    本篇文章是个人整理的包含超声波测距模块HC-SR04的基本介绍与基本工作原理以及分别通过LCD1602、数码管和串口显示距离的实例讲解与代码的笔记,部分内容来自《HC-SR04超声波测距模块说明书》,代码使用模块化编辑,部分模块来自江科大自化协的51单片机教学视频。 希望大

    2023年04月16日
    浏览(48)
  • 基于单片机的超声波语音测距系统

    一、系统方案 超声波具有指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的

    2024年02月10日
    浏览(51)
  • 基于单片机超声波测距语音播放

    一、系统方案 本设计采用52单片机作为主控器,HC-SR04测距,液晶1602显示,按键设置报警阀值,语音报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 uint dist; // 保存超声波模块测量到的结果 2、液晶显示程序 / / // 1602液晶写命令函数,cmd就是要写

    2024年02月09日
    浏览(47)
  • 基于Arduino单片机超声波测距仪设计

    文章目录 摘  要 1.课程设计任务 1.1课程设计题目 1.2设计的要求 2.设计总体方案 2.1初步设计方案 2.2各个单元电路的设计要求 2.3主要性能指标 2.4总体方案 3.单元模块设计 3.1显示模块 3.2超声波测距模块 3.3蜂鸣器模块 3.4电机模块 3.5 LED二极管模块 4.软件流程图 5.设计代码 5.1核

    2024年02月11日
    浏览(44)
  • 51单片机使用HC-S104超声波模块

      HC-S104超声波模块是一种测量距离的传感器,可以用于51单片机的测距应用。下面是使用HC-S104超声波模块的步骤: 1.将HC-S104超声波模块的VCC引脚连接到51单片机的3.3V或5V电源,GND引脚连接到51单片机的GND,TRIG引脚连接到51单片机的一个可编程输出口,ECHO引脚连接到51单片机的

    2024年02月12日
    浏览(57)
  • 基于51单片机驱动HC-SR04超声波模块(LCD1602显示)

    点击图片购买 HC- SR04+是一款宽电压工作的超声波测距模块。模块外形尺寸及软件与老版本 HC- SR04完全兼容;可以与老版本HC SR04无缝切换。低至3V的低工作电压, 使其与3.3V供电的MCU可以直接连接。 特点 探测角度: 15° 采用工业级MCU,工作温度:-20C~80C 探测距离:5V:2cm-- 450cm;3.3V: 2c

    2024年02月02日
    浏览(59)
  • 【毕业设计】基于超声波智能跟随小车 - 单片机 物联网 stm32 c51

    自动跟随小车系统由两部分组成:跟随小车和移动目标携带装置。 工作原理:跟随小车系统通过无线通信模块发送寻找信号,同时超声波接收器开始计时,如果移动目标接收到无线寻找信号,则立即发送超声波信号。这样小车的三角超声波接收器陆续收到超声波信号,CPU通过

    2023年04月08日
    浏览(65)
  • 基于单片机的超声波探伤仪

    摘要 超声波探伤仪是目前工业制造和现代化检测的重要途径之一,广泛的应用在质量检测和产品检测中,通过使用其产品能够有效地降低产品次品的风险。尽管随着电子技术的发展, 国内出现了一些数字化的超声检测仪器,但其数据处理及扩展能力有限,缺乏足够的灵活性

    2024年04月11日
    浏览(59)
  • 基于单片机的超声波探伤仪设计

    摘要 超声波探伤仪是目前工业制造和现代化检测的重要途径之一,广泛的应用在质量检测和产品检测中,通过使用其产品能够有效地降低产品次品的风险。尽管随着电子技术的发展, 国内出现了一些数字化的超声检测仪器,但其数据处理及扩展能力有限,缺乏足够的灵活性

    2024年02月08日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包