基于单片机的超声波语音测距系统

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

一、系统方案
超声波具有指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,性价比很高。因此在液位、井深、管道长度的测量、移动机器人定位和避障等领域得到了广泛的应用。
单片机语音系统是以数字电路为基础,利用数字语音电路来实现语音信号的记录、存储、还原等任务。数字语音电路是一种集语音合成技术、大规模集成电路技术以及微控制器为一体的并在近十几年迅速发展起来的一种新型技术。语音集成电路与微处理器相结合,具有体积小、扩展方便等特点,具有广泛的发展前景,如电脑语音钟、语音型数字万用表、手机话费查询系统、排队机、监控系统语音报警以及公共汽车报站器等。
随着经济和科学技术的发展,汽车这项代步工具也走近越来越多的家庭,与此同时交通拥挤的状况也越来越严重。伴随着汽车带来方便的同时,各种事故也层出不穷,其中追尾、倒车碰撞则占据了很大一部分比例。而在汽车上安装一个带语音报警的测距防撞系统则能很好的帮助解决这一问题。泊车时,系统检测汽车与障碍物的距离并且利用LCD显示,当距离小于某设定值时,实时播放距离大小来提醒驾驶人员。
基于单片机的超声波语音测距系统,proteus,单片机,嵌入式硬件
二、硬件设计
原理图如下:
基于单片机的超声波语音测距系统,proteus,单片机,嵌入式硬件
三、单片机软件设计
1、首先是系统初始化
//
// 1602液晶初始化函数
/
/
void LcdInit()
{
LcdWriteCmd(0x38); // 162显示,57点阵,8位数据口
LcdWriteCmd(0x0C); // 开显示,不显示光标
LcdWriteCmd(0x06); // 地址加1,当写入数据后光标右移
LcdWriteCmd(0x01); // 清屏
}
2、液晶显示程序

//
// 1602液晶写命令函数,cmd就是要写入的命令
/
/
void LcdWriteCmd(uchar cmd)
{
LcdRs_P = 0;
LcdRw_P = 0;
LcdEn_P = 0;
P0=cmd;
DelayMs(2);
LcdEn_P = 1;
DelayMs(2);
LcdEn_P = 0;
}

//
// 1602液晶写数据函数,dat就是要写入的数据
/
/
void LcdWriteData(uchar dat)
{
LcdRs_P = 1;
LcdRw_P = 0;
LcdEn_P = 0;
P0=dat;
DelayMs(2);
LcdEn_P = 1;
DelayMs(2);
LcdEn_P = 0;
}

3、按键程序

//
// 按键扫描
/
/
void KeyScanf()
{
uchar num1,num2;

if(KeySet_P==0)							// 判断是否有按键按下
{
	LcdGotoXY(1,0);						// 液晶第二行刷新显示
	LcdPrintStr("  alarm=     m  ");
	LcdGotoXY(1,8);						// 显示当前的报警值
	LcdPrintNum(gAlarm);

	DelayMs(10);		  				// 消除按键按下的抖动
	while(!KeySet_P);					// 等待按键释放
	DelayMs(10);			 				// 消除按键松开的抖动

	while(1)
	{							  
		if(KeyDown_P==0)				// 报警值减的处理
		{
			if(gAlarm>2)
				gAlarm--;
			LcdGotoXY(1,8);
			LcdPrintNum(gAlarm);	
			DelayMs(300);
		}

		if(KeyUp_P==0)					// 报警值加的处理
		{
			if(gAlarm<400)
				gAlarm++;
			LcdGotoXY(1,8);
			LcdPrintNum(gAlarm);
			DelayMs(300);
		}
		
		if(KeySet_P==0)					// 再次按下设置键的判断
		{
			break;
		}			   
	}

	LcdGotoXY(1,0);						// 液晶恢复测量时的内容显示
	LcdPrintStr("    S=     m    ");
	
	DelayMs(10);		  				// 消除按键按下的抖动
	while(!KeySet_P);					// 等待按键释放
	DelayMs(10);		  				// 消除按键松开的抖动
	
	num1=gAlarm/100;					// 将新的报警值存入到EEPROM里面去
	num2=gAlarm%100;
	Sector_Erase(0x2000);
	EEPROM_Write(0x2000,num1);
	EEPROM_Write(0x2001,num2);
}	

}
4、核心算法程序
//
// 播放一段语音
/
/
void PlaySound(uchar addr)
{
uchar i;
SDA=0;
DelayMs(5);

for(i=0;i<8;i++)
{
	SDA=1;
	if(addr&1)
	{
		DelayMs(3);
		SDA=0;
		DelayMs(1);
	}
	else
	{
		DelayMs(1);
		SDA=0;
		DelayMs(3);
	}
	addr>>=1;
}
SDA=1;
while(!BUSY);				// 等待播放完毕

}
四、 proteus仿真设计
Proteus软件是一款应用比较广泛的工具,它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况,这样就可以通过软件仿真来验证我们设计的方案有没有问题,如果有问题,可以重新选择器件,连接器件,直到达到我们设定的目的,避免我们搭建实物的时候,如果当初选择的方案有问题,我们器件都已经焊接好了,再去卸载下去,再去焊接新的方案的器件,测试,这样会浪费人力和物力,也给开发者带来一定困惑,Proteus仿真软件就很好的解决这个问题,我们在设计之初,就使用该软件进行模拟仿真,测试,选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸,焊接实物,调试,最终完成本设计的作品。
基于单片机的超声波语音测距系统,proteus,单片机,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-687287.html

到了这里,关于基于单片机的超声波语音测距系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 基于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日
    浏览(36)
  • 基于51单片机的超声波测距及温度显示

    (仿真+程序+PCB+原理图+设计报告) 功能介绍 具体功能: 1.超声波测距传感器HC-SR04、温度传感器DS18B20将检测的数据传给51单片机; 2.LCD1602实时显示测得的距离和温度; 3.按键可以设置距离的上下限; 4.距离超过设定范围,蜂鸣器+LED产生声光报警; ​演示视频: 基于5

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

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

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

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

    2023年04月08日
    浏览(54)
  • 基于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日
    浏览(50)
  • 51单片机学习笔记7 -- 超声波测距

    1.超声波 蝙蝠和某些海洋动物都能够利用高频率的声音进行回声定位或信息交流。它们能通过口腔或鼻腔把从喉部产生的超声波发射出去,利用折回的声波来定向,并判定附近物体的位置、大小以及是否在移动。超声波是一种频率高于20000赫兹的声波,它的方向性好,穿透能

    2023年04月12日
    浏览(33)
  • 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日
    浏览(50)
  • 【51单片机练习1——超声波测距+LCD12864显示】

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

    2024年02月04日
    浏览(45)
  • 【C语言】51单片机超声波测距(实作 非仿真)

    一、设计目标     使用51单片机和超声波测距模块实现超声波测距。 二、主要功能     超声波测距。 三、硬件部分     51单片机,超声波测距模块,导线,动态数码管,74HC245芯片,74HC138芯片。 图1                       图2   图3   图4     图1为超声波测距模块的

    2024年02月09日
    浏览(38)
  • 51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】

    该系统由AT89C51单片机+数码管模块+LED指示灯模块+按键模块构成。 利用51单片机实现超声波测距功能。利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时。系统定时发射超声波,在启动发射电路的同时启动单片机内部的定时器,利用定时器的计数功能记录超

    2024年02月11日
    浏览(119)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包