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音频输 出, 直接驱 动扬声器 。 三 线串 口控制时序
- 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;
}。