stc89c52超声波测距程序
基于某STC89C52无线超声波测距地设计
实用文档物理与信息工程学院《电子系统设计》报告设计题目1:基于80C52单片机的超声波无线测距显示设计题目2:专业:光电信息工程年级:2011级姓名:许晓文学号:111100840同组姓名:邵鹏飞学号:111100815同组姓名:黄娇红学号:111100807指导老师:林志贤2014年7月基于80C52单片机的超声波无线测距显示一、设计要求和目的1.1设计要求:采用一种单片机STC89C52控制HC-SR04实现的无线超声波测距系统。
通过简单的无线通信协议,实现可靠性与功耗平衡,该系统能实现对距离的检测,是可以实现远程控制的无线超声波测距系统。
低功耗实时性的无线超声波测距是该设计的最大特点。
无线传输采用nRF24L01模块传输,用LCD1602实现温度显示。
该系统结构简单可靠功耗较低,成本低,是一种无线传感器的解决方案。
1.2设计目的:(1)熟悉系统设计步骤以及超声波的特性(2)能够运用所学数电、模电电路知识对电路进行合理的调试(3)增强模块化的思想,掌握无线模块的SPI时序特点(4)加强动手能力、培养团队合作意识二、系统设计原理1主控芯片方案采用传统的STC89C52 单片机作为主控芯片。
此芯片价格便宜、操作简便,低功耗,比较经济实惠。
单片机最小系统单片机控制模块由STC89C52最小系统组成,其中包括单片机,晶振电路和复位电路。
(1)、晶振电路:晶振电路由两个30pF电容和一个12MHz晶体振荡器构成,接入单片机的X1、X2引脚。
(2)、复位电路:单片复位端低电平有效。
单片机最小电路原理图如图1:图1 单片机最小系统2 无线通信模块方案采用nRF24L01无线射频模块进行通信,nRF24L01是一款高速低功耗的无线通信模块。
他能传输上千米的距离(加PA),而且价格较便宜,采用SPI总线通信模式电路简单,操作方便。
2.1 nRF24L01芯片概述nRF24L01是一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM频段。
stc89c52单片机超声波代码
一、STC89C52单片机简介STC89C52是一款由STC微电子公司生产的单片机,采用了51系列的架构,具有一定的处理能力和通用性。
其性能稳定、功耗低,广泛应用于各种嵌入式系统中。
二、超声波原理超声波是一种频率高于人类听觉范围的声波,其频率通常在20kHz到200kHz之间。
超声波传感器通过发射超声波并接收反射波的方式来测量距离。
由于超声波在空气中传播速度稳定,因此可以精准地测量目标物体与传感器的距离。
三、STC89C52单片机与超声波传感器的连接1. 按照超声波传感器的接口定义,将超声波传感器的Trig脚连接到STC89C52单片机的某一GPIO口,Echo脚连接到另一GPIO口。
2. 将超声波传感器的VCC和GND引脚分别连接到单片机的供电端和地端。
四、STC89C52单片机超声波测距代码以下是一个简单的STC89C52单片机与超声波传感器配合使用的示例代码。
```c#include <reg52.h>#include <intrins.h>sbit Trig = P1^0; //超声波发送引脚sbit Echo = P1^1; //超声波接收引脚unsigned int time; //脉冲时间void delay(unsigned int t) //延时函数{while(t--);}void Init() //初始化函数{TMOD = 0x01; //设置定时器0为工作方式1,16位计数器 TH0 = 0;TL0 = 0;}void m本人n(){while(1){Trig = 1; //触发超声波delay(10); //延时10usTrig = 0;while(!Echo); //等待Echo为高电平TR0 = 0; //计数器清零while(Echo); //等待Echo为低电平time = TH0 * 256 + TL0; //将定时器的值读入timeif(time < 5000) //时间小于5000us{//计算距离,进行相关处理}}}```五、代码解析1. 首先定义Trig和Echo为超声波传感器的发送和接收引脚。
基于STC89C52RC的超声波测距
基于单片机的超声波测距系统的设计系部:学生姓名:专业班级:学号:指导教师:XXX2011 年3 月26 日声明本人所呈交的基于单片机的超声波测距系统的设计,是我在指导教师的指导和查阅相关著作下独立进行分析研究所取得的成果。
除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。
对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。
作者签名:日期:2011、3、26【摘要】超声波技术是一门各行各业都要使用的通用技术,它是通过超声波产生、传播以及接收的物理过程完成的。
超声波指向性强,能量耗损缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。
利用超声波测距迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此得到广泛应用。
目前超声波技术广泛应用于各个工业部门的超声波探测、超声焊接、超声检测和超声医疗方面。
本系统设计利用STC89C52RC为主控芯片,利用单片机程序产生40KHz方波信号,通过推挽放大驱动超声波发射器向外发射超声波信号,同时开始计时,超声波信号经障碍物反射后被超声波接收器接收,利用接收芯片接收并将信号传至单片机,单片机通过发射与接收之间的时间差,即可计算障碍物的距离。
并通过程序的设计利用四位数码管将探测结果直观显示出来。
基于单片机的超声波测距系统易实现,成本低,精确度高,并且容易做到实时控制,具备较强的实用性。
【关键词】:单片机,超声波,测距ABSTRACTSCM is an integrated circuit chip, ultra-large scale integrated circuit technology is used with data processing capabilities to the central processing unit CPU random access memory RAM, read-only memory ROM, a variety of I / O port and interrupt system, timers / timer other functions (and possibly the display driver circuit, pulse width modulation circuit, analog multiplexers, A / D converter circuit) into a single silicon wafer consisting of a small but complete computer system.SCM has a simple structure, control, light weight, etc., in the machinery and electronics, aerospace, metallurgy and many other areas of mining, and household appliances have been widely used, played a huge role.Ultrasonic point to strong energy dissipation is slow, the spread in the medium distance, and therefore frequently used ultrasonic distance ing ultrasonic ranging rapid, convenient, simple computation and easy to do real-time control and measurement precision can be achieved in the practical requirements of industry, so widely used.Ultrasound technology is a common technique used in all walks of life tobe, it is through ultrasound generation, transmission and reception of thephysical process of completion.Ultrasound technology is currently widely usedin various industrial sectors of the ultrasonic probe, ultrasonic welding,ultrasonic testing and ultrasonic medical care.Ultrasonic distance measurementsystem based on single chip easy to implement, low cost, high accuracy and easyreal-time control, with a strong practical.【KEY WORD】: microcontroller, ultrasound, ranging目录引言 (1)一、超声波测距原理 (1)(一)超声波发生器 (1)(二)压电式超声波发生器原理 (1)(三)超声波测距原理 (2)二、单片机STC89C52RC (3)(一)单片机简介 (3)(二)单片机引脚功能 (3)三、系统的组成 (5)四、系统的硬件设计 (5)(一)超声波发射电路 (5)(二)超声波接收电路 (6)(三)超声波传感器 (7)(四)显示电路 (8)(五)复位电路 (9)(六)时钟电路 (10)(七)电源电路 (10)(八)单片机程序ISP下载接口 (11)五、系统的软件设计 (11)(一)主程序 (11)(二)中断服务程序 (12)(三)距离计算子程序 (13)(四)显示子程序 (15)六、电路安装调试 (16)(一)实物焊接 (16)(二)电路调试 (17)结束语 (18)参考文献 (19)附录一原理图 (20)附录二PCB图 (21)附录三元件清单 (22)附录四源程序 (24)致谢 (34)引言由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
基于STC89C52单片机的超声波测距仪设计
示最 小分 辨率 为0 . 0 1 m, 测量盲 区小 于0 . 1 5 米, 且 重复性 好。 该 系统通 复位 电路 模块 设 计 过以S TC 8 9 C 5 2 单片机 为工作处理 器核心 , 超 声波传感 器, 它是一种新 单片机 在启动 时都 需要复位, 以使 C P U及系统各部 件处 于确定 的 颖的被动 式超声波 探测器件, 能够 以非接触测 出前 方物 体距离 , 并将 其 初始 状态 , 并从初态 开始 工作 。 8 9 系列单片机 的复位信号 是从R s T 引脚 转化 为相应 的 电信号 输出。 该报警 器的最 大特点就 是使 用户能 够操 作
一
序的总 称 。 单片 机应用系统 的研制过 程包括总体设 计, 硬件设计、 软件 平 时间} 声速( 3 4 0 M/ S ) ) / 2 。
设计 等几个 阶段 。 系统 采用S TC 8 9 C 5 2 单片机作为核 心控制 单元 , 当测 时序 图表 明只需要 提供 一个 1 0 u S 以 上脉 冲触发信号 , 该 模块 内部 得的距离小于设定 距离时, 主控芯片将测得 的数值与设定值进行 比较处 将发 出8 个4 0 K Hz 周期电平并 检测 回波 。 一旦检测到有 回波信 号 Ⅱ 输出
l us 。
声音报警电路攥块设计
通过超声波 来实现 。 s T c 8 9 c 5 2 是S T c 系列单片 机 里应用此较广泛 的一款 , 本 用一 个S p e a k e r 和三极管、 电阻接 到单片机的P l 3 引脚上 , 构成声音 文主要是利  ̄ S T C 8 9 C 5 2 单片机、 超声波传感器完成测距报警系统的制作。 报警电路。
:
一
误差 分析 要 想判断 捕获 到的第一 个回波确 定准确的 接受时 间, 必须对 收到 的信号进行足够的放 大, 否则不正确 的判断 回波时 间, 会对超 声波测量 S TC8 9C5 2 。 精 度产生 影响。 主控 制器 模 块 超 声波在 大气中传播的速度受介 质气体的温度 、 密度及气体分子成 _ 蜂鸣器报警 , 4 侄 数 码 管 显 分的影响 。 实际情况下, 温度每上 升或者下降 l 度, 声速将增加 或者减少 模块 ■— — 一 一 ~ 模块 O . 6 0 7 m/ s , 这个 影响对于较 高精度的测量是相 当严重的。 圉 1系统总体设计图 主 控制 模块 设计 结 论 S T C 8 9 C 5 2 、 超声波传感器、 按键 、 四位数码管、 蜂 鸣器等 一些单片 对 所 设 计 的 硬 件 电 路 进 行 测 量 、校 准 发 现 其 测 量 范 围
基于STC89C52单片机的超声波测距系统设计
基于STC89C52单片机的超声波测距系统设计吴恩仪,陈凌君(福建农林大学,福建 福州 350000)摘 要:近年来,随着科技的不断发展,出现了很多新技术,在测距方面,有红外测距、超声波测距、激光测距等技术。
笔者以单片机作为处理器,以超声波接收模块作为距离传感器,设计了一个基于超声波的测距系统,可以实时显示所测的距离,并进行语音播报。
该系统结构简单,体积较小,便于使用。
文章从引言、硬件设计、软件设计等方面详细地介绍了该测距系统,说明了超声波测距的广阔前景。
关键词:超声波测距;语音播报;单片机中图分类号:TM383.6 文献标志码:A 文章编号:1672-3872(2020)06-0124-01——————————————作者简介: 吴恩仪(1999—),女,福建福州人,本科,研究方向:车辆工程。
在日常生活中,常有车辆倒车不当发生事故的情况。
超声波测距不易受环境的干扰,具有体积小、处理信息简单可靠、且易于集成的优点,为解决上述问题提供了一个良好的解决方案。
基于以上理念,文章设计的超声波测距系统是在一定的量程范围内,出现障碍物时,通过超声波模块测量出距离,同时显示在LCD 屏幕上,由语音模块播报距离并播报是否在量程内,在超出量程范围时,蜂鸣器和LED 灯也会进行声光报警,基本满足使用所需要求[1]。
1 系统整体构建该系统由超声波模块、按键模块、语音模块、LCD1602液晶显示模块、声光报警模块以及STC89C52单片机、电源、复位电路、晶振电路等组成的单片机最小系统等构成。
2 系统硬件设计2.1 单片机最小系统单片机最小系统由电源、STC89C52单片机、复位电路、晶振电路构成。
该单片机系统的工作电压为4.5~5.5V,所以通常使用USB 电源线连接电脑或者使用移动电源给系统供电。
在STC89C52单片机内部有一振荡电路,只要在单片机的XTAL1和XTAL2引脚外接晶振,就构成了自激振荡器并在单片机内部产生时钟脉冲信号。
基于STC89C52的超声波测距防撞系统设计
2011笠 第6期
仪表技术与传感器
Instrument Technique and Sensor
method Call.effectively improvdware.Experimental
results
show that the ranging system meets the design requirements,with the Key
display measuring distance.It presented
a
component,using LCDl602 to eneed by external
temperature compensation circuit,for ultrasound influ-
temperature.This
圉3超声波发射电路图
下对重点部分进行简要的说明。
2.2超声波接收模块 超声波接收电路作用是根据定时器中断计算超声波从发 射到接收的时间间隔t。接收电路主要由集成电路CX20106A 组成,CX20106A是一款红外线检波接收的专用芯片,常用于电 视机红外遥控接收器。由于红外遥控常用载波频率为38
kHz,
小车停止3 sI
else//side==O代表向左 {duoji_pwm=(angle+13); motor_run(direct,10);//・angle,10);}}}
骑擅指示灯亮
点亮二极管) I
¨车饲退2sI
小车右转l
基于单片机的超声波测距仪设计
基于单片机的超声波测距仪设计LT摘要随着科技的发展、自动化程度的提高以及电子产品的普及,电子测距产品也走进了人们的视野。
相对于普通的测量工具,它具有数字式显示、测距精准以及可智能化控制等优点。
本系统是利用STC89C52单片机和超声波测距模块进行设计制作的智能化测距仪,主要实现距离的检测、数字式显示,以及超限报警等功能。
基于单片机的超声波测距仪是以单片机为控制核心,通过超声波测距模块对被测物体发射超声波,利用超声波在空气中的传播速度和发射到接收到超声波所用时间计算得到距离。
测距原理简单、容易实现,并且在生产生活中可以得到广泛使用和推广,具有实际性意义。
关键词:单片机STC89C52,超声波传感器,基于单片机的超声波测距仪。
Ultrasonic rangingAbstract:With the development of science and technology, the improvement of automation and the popularity of electronic products, electronic product range also went into people's horizons. Compared with the common measuring tool, it has a digital display, ranging precision and intelligent control, etc.This system is using STC89C52 MCU and ultrasonic ranging module to design the intelligent range finder, mainly realize the distance detection, digital display, and transfinite alarm and other functions. Based on single chip ultrasonic range finder based on single chip microcomputer as control core, the object to be measured by the ultrasonic ranging module of launch ultrasonic wave, using the ultrasonic velocity in air and launch time to calculate the distance used to receive the ultrasonic. Ranging principle is simple, easy to implement, and can be widely used in production and life and the promotion, has practical significance.Key words:microcontroller STC89C52, ultrasonic sensors, ultrasonic range finder based on singlechip.目录摘要.................................... Ultrasonic ranging .. (I)第一章绪论 01.1 需求分析 01.2可行性分析 (1)第二章单片机的概述 (2)2.1单片机的含义及组成 (2)2.2单片机的发展 (3)2.3单片机的特点 (3)2.4单片机的应用 (4)第三章基于单片机的超声波测距仪总体设计方案53.1超声波测距仪的系统设计 (5)3.2主控制器 (5)3.3 显示电路 (6)3.4 超声波测距模块 (7)3.4.1 HC-SR04超声波测距模块的特性 73.4.2 HC-SR04超声波测距模块的引脚 73.4.3 HC-SR04超声波测距模块的工作原理 (8)3.4.4 超声波时序图 (9)3.4.5 HC-SR04超声波测距模块的电路设计 (9)第四章基于单片机的超声波测距仪的硬件设计 114.1电源指示灯电路 (11)4.2 单片机主板电路 (11)4.2.1时钟电路 (11)4.2.2复位电路 (12)4.3数码管显示电路 (12)4.4距离测量电路 (13)4.5蜂鸣器电路 (14)4.6系统原理电路 (15)第五章基于单片机的超声波测距仪的软件设计 165.1主程序 (16)5.2距离测量子程序 (17)5.3距离显示子程序 (20)5.4超限距离调节子程序 (22)5.5 超限报警子程序 (24)总结 (26)致谢 (26)展望 (26)附录A (27)附录B (28)参考文献 (35)江苏师范大学本科生毕业设计基于单片机的超声波测距仪设计第一章绪论本文主要讲解的是基于单片机的超声波测距仪,它是以STC89C52为核心,以超声波测距模块为距离传感器的测距产品,其应用范围广泛,融入到各行各业。
基于STC89C52的超声波语音测距仪设计
i
关 外 中断
l
读取 时 间值
i
计算 测量 距离
』
语音 报数 、 涪 晶显 示
I
图 5 三 线 串 口控 制 时 序 图
L C Dl ∞2
开外静中断 l
I 返 回 I
图 7 主 程序 流 程 图 图 8 外 部 中 断 子 程序 设 计
图 6 液 晶 显 示 电路
0 . 2 c m。
考虑到超声波传播速度与环境温度的关系, 即: v = 、 / 1 + i ,
超 声 波 发 射 哇 略k ; : =
超声渡接 收电路 I = =) S T o 8 9 O 5 2
该模块有 四个端 口, 如 图3 所示 。 其工作原理是 : ( 1 ) 给脉冲触发 引脚T i r g 端输入最少为 l 0 s 的高 电平信号 , ( 2 ) 输入高 电平信 号后 , 波模块 自动发送8 个4 0 k Hz 的方波 , 在发送方波后再进行 自动检 测有
没有信号返 回 ; ( 3 ) 如果检测 到有信号返 回时, 则通 过E c h o 端 口输出 个高 电平 , 这个高 电平持续的时间就是超声波从发射到返回的时 间, 然后就可 以计算 出距离 。 3 . 3语 音播 报 电路 该电路采用 的是WT W- 1 6 P 模 块, 如图4 所示 。 该模块内部 采用 WT5 8 8 D- 2 0 S S 语音 芯片 作为 核心控制 电路 , 包含 了s P I — F L A s H、 复位 电路 、 震荡 电路等外围电路。 WT 5 8 8 D 是一款可重复擦除烧写的 语音单片机芯片 , 配套WT 5 8 8 D V o i c e C h i p J : 位机操作软 件可随意 更换任何一种 控制模式 , 把信 息下载 ̄ j s P i — F l a s h 上 即可[ 5 1 。 本设计采用三线 串口控制模 式 , 通过片选 C S ( P 0 2 ) 、 数据D AT A ( P O D、 时钟 C L K( P 0 3 ) 三个 串口可 以对语音芯片进行控制 , 不需要采 用按 键 , 支持P WM音频输 出, 直接驱 动扬声器 。 三 线串 口控制时序
基于STC89C52的超声模块波测距
基于STC89C52单片机和HC-SR04超声波模块的超声波测距程序#include <reg52.H> //器件配置文件#include <intrins.h>unsigned int time=0;unsigned int timer=0;unsigned long S=0; //用于显示最后计算得到的距离bit flag =0; //判断是否溢出sbit duan=P2^6;sbit wei=P2^7; //用于数码管显示sbit echo=P1^1; //echosbit trig=P1^2; //trigunsigned long x; //用于数码管显示unsigned char code shuzu[]={ //共阴数码管,不带小数点0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char code shuzuxs[]={ //带小数点0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0xa7,0xff,0xef,0xf7,0xfc,0xb9,0xf9,0xf1};void yanshi(unsigned char z) //基本上是z赋值为1就对应1msms{unsigned char a,b;for(a=z; a>0; a--)for(b=110; b>0; b--);}void xianshi(unsigned long num){unsigned char bai,shi,ge;bai=S/100;shi=S%100/10;ge=S%10;duan=1;P0=shuzuxs[bai];duan=0;P0=0xff;wei=1;P0=0xfe;wei=0;yanshi(1);duan=1;P0=shuzu[shi];duan=0;P0=0xff;wei=1;P0=0xfd;wei=0;yanshi(1);duan=1;P0=shuzu[ge];duan=0;P0=0xff;wei=1;P0=0xfb;wei=0;yanshi(1);}void Conut()///////////计算程序{time=TH0*256+TL0; //这是最后算到的时间,往返时间,但应该再乘以//12/11.0593M是一个机器周期!时间应该是time*12/11.0592TH0=0; //定时器0的初始值为0TL0=0;S=(time*1.7)/100; //算出来是CM// S=(time*1.845)/10; //算出来是mm//time*12*170/(11.0592*1000)mm=time*1845/10000 mm if (S>=500) //最大距离5m,即500cmS=0;if (flag==1) //判断是否溢出{S=0;flag=0;TH0=0;TL0=0;}}/********************************************************/void zd0() interrupt 1 //T0中断用来计数器溢出,超过测距范围{flag=1; //中断溢出标志} //这是最重要的计时0中断,TH0和TL0初始值为0/********************************************************/void zd3() interrupt 3 //T1中断用来扫描数码管和计800MS启动模块{ //这是计时器1中断TH1=0xf8; //赋初值,应该是2ms?TL1=0x30;timer++;if(timer>=50){xianshi(S);if(timer>=100){timer=0;xianshi(S);trig=1;yanshi(120); //一次超声波信号时长30mstrig=0;}}}/*********************************************************/void main( ){unsigned int i;TMOD=0x11; //设T0为方式1,GATE=1TH0=0; //目的都是用中断T0和T1TL0=0; //中断0初始化TH1=0xf8; //2MS定时TL1=0x30;ET0=1; //允许T0中断ET1=1; //允许T1中断TR1=1; //开启定时器EA=1; //开启总中断while(1){while(!echo); //当RX为零时等待,即echo为低电平TR0=1; //开启计数while(echo); //当RX为1计数并等待TR0=0; //关闭计数Conut(); //计算for(i=50;i>0;i--){xianshi(S); //数码管显示}}}。
基于89s52超声波测距(亲测)
程序介绍:此程序是基于89s52单片机的超声波传感器实验;做此实验的心得:首先要知道超声波传感器的原理,它就是靠单片机计数器,单片机计数器每记一个数,便是1us。
当传感器发出波,便打开计数器,直到另一个传感器探头收到发挥的超声波,关闭计数器。
用这些数值乘以声速(340m/s)。
就这么简单,难的是时序图,不过都是固定的,程序里有,可以自己分析,也可以参考程序。
#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charsbit echo=P1^0; //端口配置sbit trig=P1^1;uint num,qian,bai,shi,ge,num1;char code table[]= //数码管0~f{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};void delay(int i) //毫秒级延时{while(i--){int j;for(j=0;j<110;j++);}}void delayus(uint i) //微妙级延时{int j;for(j=0;j<i;j++){_nop_();}}void init(){TMOD=0x01;EA=1; //打开总中断ET0=1; //打开计数器TH0=(65536-1)/256; //记一个数TL0=(65532-1)%256;}void display(char qian,char bai,char shi) {/* P2=0xfe;P0=table[ge];delay(5); */P2=0xfd;P0=table[shi];delay(5);P2=0xfb;P0=table[bai];delay(5);P2=0xf7;P0=table[qian];delay(5);}void deal(uint t) //距离处理{t=(num*34);qian=t/10000;bai=t%10000/1000;shi=t%10000%1000/100;// ge=t%10000%1000%100/10;display(qian,bai,shi);}void main(){int i;echo=0;init();while(1){trig=1;delayus(10);trig=0;while(echo!=1);TR0=1;while(echo!=0);TR0=0;deal(num);num=0;for(i=0;i<20;i++){display(qian,bai,shi);}}}void t0() interrupt 1{TH0=(65536-1)/256;TL0=(65532-1)%256;num++;}。
基于STC89C52的超声波测距仪
广东机电职业技术学院企业项目(设计报告)题目:基于51单片机的超声波测距仪的设计院( 系 ) 信息工程学院专业名称控制0910班级学号 ********学生姓名王名远指导教师张永亮二O一一年六月基于单片机的超声波测距仪的设计摘要自19世纪末到20世纪初,在物理学上发现了压电效应与反压电效应之后,人们解决了利用电子学技术产生超声波的办法,从此迅速揭开了发展与推广超声技术的历史篇章。
随着科技的快速发展,超声波技术应用越来越广,很多产品在工业中广泛应用。
为了让超声波测距类产品智能,人性化,因此此次设计我们尝试利用STC89C52单片机研究制作超声波测距系统,超声波发射电路,以及超声波接收电路,键盘和显示部分,实现超声波测距功能。
在这个系统中,我们先让超声波发射电路发射500us,大概20个脉冲信号,等到超声波接收电路接收到脉冲信号,计时结束,由程序上控制算法S=vt,测出距离S/2,送数码管显示,并满足一定精度要求,并在显示模块中显示出来,这类产品可以运用到工业产品中,例如:测试罐装饮料是否装满。
结合了该芯片的价格、应用,我们设计的超声波测距系统具有速度快、适应性好,操作方便、有着广泛扩展应用的前景。
展望未来,超声波测距作为一种新型的非常重要有用的技术在各方面都将有很大的发展空间,它将朝着更加高定位、智能化的方向发展,以满足日益发展的社会需求。
关键字超声波STC89C52 模块电路目录摘要............................................ 错误!未定义书签。
目录 (2)引言 (3)第一章超声波测距仪方案的设计 (4)1.1系统整体方案的设计 (4)1.2系统方案的论证 (4)第二章硬件电路的设计 (5)2.1超声波发射电路的分析 (5)2.2超声波接收电路的分析 (6)2.3DS18B20的电路分析 (6)2.4显示电路的分析............................ 错误!未定义书签。
基于stc89c52单片机的超声波测距仪设计
第07卷第01期2020年2月工业技术创新In d u stria l Technology InnovationV ol.07N o.01Feb.2020基于STC89C52单片机的超声波测距仪设计张春岭,梅彦平,王静(大连理工大学城市学院,辽宁大连116600 )摘要:针对原有超声波测距仪存在的精度不高、成本较高等问题,设计了以STC89C52单片 机为核心控制单元,利用HC-SR04超声波传感器模块进行超声波检测,同时引入温度传感器对环境温度进行补偿,并加入平均值滤波算法对测量过程中的随机误差进行修正的测距仪。
对比 实验表明,融合了温度补偿和平均值滤波算法的超声波测距仪在测量精度方面有很大改善,绝 对误差控制小于1mm,平均相对百分误差小于0.2%,仪器兼具结构简单、性能稳定、成本低等 优势。
关键词:超声波测距;传感器;STC89C52单片机;温度补偿;平均值滤波中图分类号:T P368.2 文献标识码:A工业技术创新U R L:http: // 引言距离是控制系统中经常使用的重要参数,如 何获得准确的距离成为相关领域研究的热点问题。
目前常用的测距方法有:激光测距、毫米波 测距、红外测距和超声波测距等[11。
超声波测距是一种非接触式测距方法。
与其 他方法相比,超声波测距不受光线、被测对象颜色等因素的影响,对被测物体处于黑暗、电磁干 扰等恶劣环境的情况也有一定的适应能力m。
此 外,超声波具有指向性强、方向性好、传播能量 大、传播距离较远等优势。
目前,超声波测距技术已在工业控制、能源勘探、气象测量、水利监 测等领域得到了广泛应用m。
当前一般使用集成芯片实现测距仪设计,而 这一方式存在成本较高、功能单一等问题[41。
本 文设计了一种基于S T C89C52单片机的超声波测距仪,具有智能处理功能,可实现测量距离实时显示、报警阈值设置等功能,且操作简单、成本 低、精度高,具有一定推广应用价值。
1总体方案设计指标:准确测M并显示被测对象与测距仪的距离,当被测距离小于系统预设值(安全距 离)时,蜂鸣器报警。
毕业论文-基于STC89C52单片机的超声波测距报警系统设计
基于STC89C52单片机的超声波测距报警系统设计目录摘要 ................................................................................................................ 错误!未定义书签。
1 绪论 (3)1.1 项目研究背景及意义 (3)2 总体设计方案及论证 (3)2.1 总体方案设计 (3)3 硬件实现及单元电路设计 (4)3.1 主控制模块 (4)3.2 电源设计 (5)3.3 超声波测试模块 (5)3.3.1 超声波的特性 (6)3.3.2 超声波换能器 (7)3.4 超声波传感器原理 (8)3.5 测距分析 (12)3.6 时钟电路的设计 (13)3.7 复位电路的设计 (14)3.8 声音报警电路的设计 (14)3.9 显示模块 (15)4 软件设计 (15)4.1 主程序工作流程图 (15)5 总结 (18)6 参考文献 (19)附录 (20)附件1:原理图 (21)附件2:程序 (22)附件3:元件清单 (31)附件4:实物图 (32)基于STC89C52单片机的超声波测距报警系统设计[摘要]STC89C52是STC系列单片机里应用比较广泛的一款,在自动控制领域里享有很高的价值,以其易用性和多功能性受到了广大电子设计爱好者的好评。
本次设计主要是利用STC89C52单片机、超声波传感器完成测距报警系统的制作,以STC89C52为主控芯片,利用超声波对距离的检测,将前方物体的距离探测出来,然后单片机处理运算,与设定的报警距离值进行比较判断,当测得距离小于设定值时,STC89C52发出指令控制蜂鸣器报警。
关键词:超声波传感器 STC89C52Design of ultrasonic distance measurement and alarm system based on single chip microcomputer[Abstract] STC is one of the most widely used STC89C52 series microcontroller, in the field of automatic control has a high value, its ease of use and multi-function by the majority of electronic design enthusiasts. This design is mainly to use STC89C52 microcontroller, ultrasonic sensor range alarm system of production, to STC89C52 as the main control chip, using ultrasonic wave to detect the distance, the distance to the object in front detected, then SCM processing, and set alarm distance values are compared and judged, when the measured distance is less than the set value of STC89C52 issued a directive control buzzer alarm.Key words: ultrasonic sensor STC89C521 绪论1.1 项目研究背景及意义由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。
超声波测距 含51单片机程序与电路图1
超声波测距摘要该超声测距系统采用芯片STC89C52作为系统的主控制器,利用NE555作为本系统的脉冲发射源,结合3位7段数码管液晶显示,达到了较大的测试距离和较高的测量精度,并能实时显示且无明显失真。
关键字: 超声波测距实时第1章设计题目与要求1.1 设计要求采用压电式超声波换能器,使用单片机作为控制器,完成超声波测距仪的软硬件设计。
1.2 基本要求:(1)具有反射式超声波测距功能,测量距离0.1m~3.0m;(2)测量距离精度:误差±1cm;(3) 利用LED数码管显示测试距离;(4)实时显示测量的距离,显示格式为:□.□□米第2章系统总体方案论证2.1 系统总体方案题目要求设计一个利用超声波反射原理测量距离的超声波测距仪,并且具有实时同步显示,由此本系统可以划分为发射、接收、显示、主控制模块共四大模块,如图2.1所示:图2.1系统基本方框图针对技术指标的需要,为使系统的测量距离更远、精度更高,提高系统的整体完善性,现对以上系统各个功能模块进行一一的方案论证:2.2 主控制模块2.2.1 主控制模块概述主控制器模块其实就是一个简化的嵌入式系统。
嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。
它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。
嵌入式系统的核心是嵌入式微处理器。
2.2.2 主控制模块方案选择根据以上知识,考虑到目前市场上比较常用的AVR、61、51三种微控制器,我们有如下三种方案可供选择。
方案一:AVR单片机AVR单片机种类丰富,有AT tiny、AT90S、ATmeg系列,各个系列又有不同的型号,价格较适中。
相对来说,比起51单片机来说资源较丰富,内部也有集成A/D ,有PWM 输出,但在系统进一步扩展方面不是很好,这类单片机主要应用于工业控制领域,在语音处理方面没有什么优势。
方案二:SPCE061A.凌阳单片机的资源相对来说比较丰富,32K ×16bitFlash ,两路D/A ,1个全双工异步串行口(UART )方便其跟其他为控制通信。
基于STC89C52RC的超声波测距系统设计
p e i o n e tra a tb l y r cs n a d b t d p a i t 9 2R C ; taon cw a e; sa em e s e; e p r t e c m pe ai ul s i v ditnc aur t m e aur o r nston
0 引言
超 声波指 向性 强 ,能量消 耗缓慢 ,在介质 中传
播 的距 离较远 ,因而经常被 用于距离 的测量 。超声
因此在 液位测 量 、机械 手控制 、车 辆 自动导 航 、物
体 识别 等方面有 广泛应 用。特 别是应 用于空气 测距 , 由于空气 中波速 较慢 ,其 回波信号 中包含 的沿 传播 方 向上 的结构信 息很容 易检测 出来 ,具有很 高的分 辨力 ,因而其准 确度液较 其他方 法为高 。而且 超声 波传感 器具有 结构简单 、体积 小 、信 号处理可 靠等
by ke boa d s a y r c n,tm e ount ri tai ai i r or c e nii lz ton,s ndi ta oni s e ng ulr s c ubp og a ,i e r t s r c ou i a r rm nt r up e vi e r tne nd dy a i ip a u r g a .Att a e tm e,i o de o i pr ve t c ur c he ulrs i a n m c d sly s bp o r m he sm i n r rt m o he a c a y oft ta on c rnge s t m ha yse t t t e pe aur nd c re tt pe d o he ulrs he tm rt e a o r c he s e ft taoun d.The m e s e r s t h a ur eulss ow h tt y t m a bti g r t a he s se c n o an hihe
超声波测距离
摘要本设计利用STC89C52单片机、超声波传感器实现利用超声波进行测距。
利用蜂鸣器和发光二极管表示传感器探测范围内是否有障碍物,当在探测范围内有障碍物时,发光管发光和蜂鸣器发出声音。
为了保证超声波测距传感器的可靠性和稳定性,采取了相应的抗干扰措施。
就超声波的传播特性,超声波换能器的工作特性、超声波发射、接收、超声微弱信号放大、波形整形、速度变换、语音提示电路及系统功能软件等做了详细说明。
实现障碍物的距离测试、显示和报警,超声波测距范围7CM-500CM,精度在1厘米左右。
这套系统软硬件设计合理、抗干扰能力强、实时性良好,经过系统扩展和升级,可以用于倒车雷达、建筑施工工地以及一些工业现场。
关键词:STC89C52;超声波;传感器AbstractThis design using STC89C52 microcontroller, ultrasonic sensors are realized by ultrasound. Using the buzzer and light-emitting diodes sensor range that there are obstacles, when in detecting worldwide obstacle, shine and tube production sound. In order to guarantee the ultrasonic range-finding sensors, the stability and reliability of the correspondinganti-jamming measures. Will the propagation characteristics of ultrasonic, ultrasonic transducer operating characteristics, ultrasound, receiving, ultrasonic weak signal waveform plastic, and velocity transformation, audio circuits and functions of the system software to do a detailed explanation. Realize that the distance test, obstacles and alarm, ultrasonic ranging 7CM scope, accuracy in 500CM - 1 centimeter or so. The system hardware and software design is reasonable, strong anti-jamming ability, good real-time, expansion and upgrade system, can be used in radar, construction site back and other industrial field.Key words:STC89C52;Ultrasonic; Sensors目录引言 (1)1 超声波简介 (1)1.1 超声波 (1)1.2 压电式超声波传感器简介 (1)1.3 超声波传感器特性 (2)1.3.1频率特性 (2)1.3.2指向特性 (4)2 超声波测距原理 (5)3 系统硬件结构设计 (5)3.1 系统总体设计 (5)3.2 单片机的选择和性能介绍 (7)3.3 超声波发射电路的方案比较、设计与论证 (9)3.4 超声波接收电路的方案比较、设计与论证 (10)4 系统软件设计 (12)4.1 软件设计的总体结构框图 (12)4.2 主流程图 (12)4.3 超声波发生子程序和超声波接收中断程序 (13)5 系统调试分析 (14)5.1 硬件调试 (14)5.2 调试结果 (15)5.3 误差分析 (15)总结 (16)谢辞 (17)参考文献 (18)引言目前一般都采用波在介质传播速度和时间关系进行测量。
基于STC89C52单片机的超声波测距系统
基于STC89C52单片机的超声波测距系统张雷雷;王福豹;段渭军【摘要】为了实现对中短距离的测量,比如在智能小车避障、车辆定位中对前方的障碍物进行判断,利用主控器件单片机和一系列外围器件进行超声波测距系统的设计.具体设计包括超声波发射电路、超声波接收电路、液晶显示电路及温度补偿电路等硬件模块,并利用Keil C平台进行了相应的软件设计.其中在接收电路中设计的增益控制部分有效地解决了当回波信号过于微弱时系统测量误差加大的难题.在实验室对设计好的测距系统进行了实地性能测试,实验表明,系统的测距最大值为120 cm,测量精度为0.1 cm.【期刊名称】《电子设计工程》【年(卷),期】2015(023)004【总页数】4页(P120-123)【关键词】渡越时间法;STC89C52;MAX864;增益控制【作者】张雷雷;王福豹;段渭军【作者单位】西北工业大学电子信息学院,陕西西安710072;西北工业大学电子信息学院,陕西西安710072;西北工业大学电子信息学院,陕西西安710072【正文语种】中文【中图分类】TN409超声波有以下特点:速度小,传播时间容易检测;频率高,反射性强,绕射性弱;传播距离较远;对光线和电磁场不敏感等。
利用超声波的这些优点,结合微电子技术,超声波测距技术应运而生。
与激光测距、红外线测距等相比,超声波测距更适于电磁干扰强,烟雾等恶劣环境中。
而且,超声波测距技术设计方便、精度较高。
超声波测距技术的优势,使它有着广泛的应用,比如:建筑施工工地,液位测量,车辆导航等[1]。
传统的超声波测距系统采用的电路结构比较复杂,且当回波信号过于微弱时,测量误差会加大。
在系统接收电路中采用的增益控制部分能有效地解决这一难题。
超声波测距的方法很多,有相位检测法,幅值检测法和渡越时间法等[2]。
系统采用的是渡越时间法TOF(Time of Flight)。
原理如下:发射换能器在一端向某一方向发射超声波,同时计时器开始计时。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<reg52.h>
#include<intrins.h>
sbit RX=P2^7; //rx对应trig
sbit TX=P2^6; //tx对应echo
#define uint unsigned int
#define uchar unsigned char
sbit rs=P2^0; //lcd管脚连接
sbit lcden=P2^2;
sbit rw=P2^1;
void write_com(uchar com);//lcd写命令和数据声明函数void write_date(uchar date);
unsigned int time=0;
unsigned long S=0 , flag=0; //s表距离
unsigned char disbuff[4] ={ 0,0,0,0,};
void delay(uint z)//1ms延时
{ uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void Conut(void) //计算距离
{
time=TH0*256+TL0;
TH0=0;
TL0=0;
S=(time*1.7)/100; //算出来是CM
if((S>=700)||flag==1) //超出测量范围显示“-”
{
flag=0;
write_com(0x80);
for(i=0;i<3;i++)
{write_date(0x30+disbuff[i]);//0x30是0的地址
delay(5);
}
}
else
{
disbuff[0]=S%1000/100;
disbuff[1]=S%1000%100/10;
disbuff[2]=S%1000%10 %10;
write_com(0x80);
for(i=0;i<3;i++)
{write_date(0x30+disbuff[i]);
delay(5);
}
}
}
void write_com(uchar com) //lcd写命令
{ rs=0;
lcden=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_date(uchar date) //lcd写数据
{ rs=1;
lcden=0;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void StartModule() //启动模块
{
TX=1;//启动一次模块
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;
}
void init()//初始化函数
{ lcden=0;
rw=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80+0x40);
for(i=0;i<15;i++);
write_com(0x80);
for(i=0;i<3;i++)
{write_date('a');
delay(5);}
TMOD=0X01; //设T0为方式1,GATE=1;
TH0=0;
TL0=0;
EA=1; //开启总中断
ET0=1; //允许T0中断
TR0=0;
}
void main()
{ init();
while(1)
{
TH0=0;
TL0=0;
while(1)
{
StartModule();
while(!RX);//当RX为零时等待
TR0=1;//开启计数
while(RX);//当RX为1计数并等待
TR0=0;//关闭计数
Conut();//计算
delay(80);//80MS
}
}
}
void exter() interrupt 1
{
flag=1;
}。