导航:首页 > 操作系统 > 超声波单片机显示电路

超声波单片机显示电路

发布时间:2022-06-20 14:42:53

A. 单片机:随便解释下超声波时序图。有图的

这是一组完整的测试信号,触发信号告诉你测试开始,发出信号作为探测能量发射,回响信号是接收信号的结果。
作为系统会连续发射几组这样的信号,把接收信号平均结果作为显示,这样几组作为一个单元在系统内部不断工作,数据就会不断更新。

B. 哪位高手有51单片机超声波模块测距LCD1602显示的电路图和C程序,跪求!!!!(超声波模块是买好的那种)

#include"reg52.h"
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int

uchar code table[]={
'0','1','2','3','4','5','6','7','8','9'
};// 显示段码值0123456789

sbit LCD_EN=P3^4; //定义LCD使能端
sbit LCD_RS=P3^5; //定义LCD读写端
sbit la=P2^6; //数码管段先端
sbit wela=P2^7; //数码管位先端

/***********************************************/
/**********超声波检测引脚和变量定义*******************************/
sbit Trig=P2^4;// 定义HC-SR04发送端
sbit Echo=P2^5;//定义HC-SR04接收端

uint gewei='0'; //测量距离的个位
uint shiwei='0'; // 测量距离的十位
uint wei='0'; //测量距离的百位
uint qianwei='0';

uint s,time,flag;
/***********************************************/
/**********延时MS函数*******************************/
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}

/***********************************************/
/**********延时uS函数*******************************/
void delay_uS(uint z)
{
while(z--);
}

/**********************************************8/
/**********写命令*******************************/
void write_com(uchar com)
{
LCD_RS=0;
LCD_EN=0;
delay(5);
P0=com;
LCD_EN=1;
delay(5);
LCD_EN=0;
}

void write_data(uchar date)
{
LCD_RS=1;
LCD_EN=0;
delay(5);
P0=date;
LCD_EN=1;
delay(5);
LCD_EN=0;
}
/**********************************************/

/***********************************************/
/**********LCD1602初始化函数*******************************/
void init()
{
la=0;
wela=0;
LCD_EN=0;
write_com(0x38); //设置16X2显示,5X7点阵显示
write_com(0x0c); //开显示,不显光标
write_com(0x06); //显示一个字符后,地址指针加1且光标加1
write_com(0x01); //清屏
delay(5);
write_com(0x80+1); //从第一行0X10地址位开始显示
}

/***********************************************/
/**********计算距离函数*******************************/
void count(void)
{
time=TH0*256+TL0; //检测 所需时间
TH0=0;
TL0=0;
s=time*0.17*1.136*0.9674;// 计算距离,算出来的单位是CM
gewei=table[s%10];
shiwei=table[s/10%10];
wei=table[s/100%10];
qianwei=table[s/1000];

}
/***********************************************/
/**********T0中断函数*******************************/
void Time0() interrupt 1 //T0中断用作计数器溢出,超出测距范围
{
flag=1; //中断溢出标志
}

/***********************************************/
/**********启动模块函数*******************************/
void startmodle(void) //启动检测模块
{
uchar i;
// for(i=0;i<10;i++)
// {
Trig=1; //启动一次检测模块
delay_uS(20);
Trig=0; //停止向检测模块Trig端发送高电平
}
//}

/***********************************************/
/**********中断初始化函数*******************************/
void InterruptInit(void) //中断初始化
{
TMOD=0x01; //高T0工作方式为方式1,GATE=1
TH0=0;
TL0=0;
ET0=1; //允许T0中断
EA=1; // 开启总中断
}

/***********************************************/
/**********显示函数*******************************/
void Display(void)
{
write_com(0x80+1);
write_data(qianwei);
write_com(0x80+2);
write_data('.');
write_com(0x80+3);
write_data(wei);

write_com(0x80+4);
write_data(shiwei);
write_com(0x80+5);
write_data(gewei);
write_com(0x80+6);
write_data('M');

}
/***********************************************/
/**********主函数*******************************/
void main(void)
{
init(); //初始化LCD1602

while(1)
{
Display(); // 显示 距离,以M为单位
InterruptInit(); //中断初始化
startmodle(); // 启动检测模块
while(!Echo); //当接收为零时等待
TR0=1; //开启计数
while(Echo); //当接收为1计数并等待
TR0=0; //关闭计数
count(); //计算距离
Display(); // 显示 距离,以M为单位
delay(500); //延时80MS
}
}

C. 超声波发射电路原理以及组成部分,谢谢!

摘要超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求测量范围在0.10-5.00m,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人的研制上也得到了广泛的应用。 关键词 单片机AT82S51超声波传感器测量距离 一、设计要求 设计一个超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求测量范围在0.10-3.00m,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。 二、设计思路 超声波传感器及其测距原理 超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。 超声波测距的原理一般采用渡越时间法TOF(timeofflight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离 测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。 由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。 超声波发生器可以分为两类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。本课题属于近距离测量,可以采用常用的压电式超声波换能器来实现。 根据设计要求并综合各方面因素,可以采用AT89S51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,超声波测距器的系统框图如下图所示: 超声波测距器系统设计框图 三、系统组成 硬件部分 主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89S51来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。单片机通过P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。 软件部分 主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序等部分。 四、系统硬件电路设计 1.单片机系统及显示电路 单片机采用89S51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。单片机用P1.0端口输出超声波转化器所需的40KHz方波信号,利用外中断0口检测超声波接受电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管驱动。单片机系统及显示电路如下图所示 单片机及显示电路原理图 2.超声波发射电路原理图参考期刊如图所示: 超声波发射电路原理图 压电超声波转换器的功能:利用压电晶体谐振工作。内部结构上图所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是一超声波发生器;如没加电压,当共振板接受到超声波时,将压迫压电振荡器作振动,将机械能转换为电信号,这时它就成为超声波接受转换器。超声波发射转换器与接受转换器其结构稍有不同。 3.超声波检测接受电路 参考红外转化接收期刊的电路采用集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能力。适当改变C4的大小,可改变接受电路的灵敏度和抗干扰能力。 超声波接收电路图 五、系统程序设计 超声波测距软件设计主要由主程序,超声波发射子程序,超声波接受中断程序及显示子程序组成。下面对超声波测距器的算法,主程序,超声波发射子程序和超声波接受中断程序逐一介绍。 1.超声波测距器的算法设计 下图示意了超声波测距的原理,即超声波发生器T在某一时刻发出的一个超声波信号,当超声波遇到被测物体后反射回来,就被超声波接收器R所接受。这样只要计算出发生信号到接受返回信号所用的时间,就可算出超声波发生器与反射物体的距离。 距离计算公式:d=s/2=(c*t)/2 *d为被测物与测距器的距离,s为声波的来回路程,c为声速,t为声波来回所用的时间 声速c与温度有关,如温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返时间,即可求得距离。在系统加入温度传感器来监测环境温度,可进行温度被偿。这里可以用DS18B20测量环境温度,根据不同的环境温度确定一声速提高测距的稳定性。为了增强系统的可靠性,应在软硬件上采用抗干扰措施。 不同温度下的超声波声速表 温度/ -30 -20 -10 0 10 20 30 100 声速c(m/s) 313 319 325 323 338 344 349 386 2.主程序 主程序首先对系统环境初始化,设置定时器T0工作模式为16位的定时计数器模式,置位总中断允许位EA并给显示端口P0和P2清0。然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟0.1ms(这也就是测距器会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用12MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算即可测得被测物体与测距仪之间的距离,设计时取20℃时的声速为344m/s则有: d=(C*T0)/2=172T0/10000cm(其中T0为计数器T0的计数值) 测出距离后结果将以十进制BCD码方式LED,然后再发超声波脉冲重复测量过程。主程序框图如下 3.超声波发生子程序和超声波接收中断程序 超声波发生子程序的作用是通过P1.0端口发送2个左右的超声波信号频率约40KHz的方波,脉冲宽度为12us左右,同时把计数器T0打开进行计时。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入该中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。 六.软硬件调试及性能 超声波测距仪的制作和调试,其中超声波发射和接收采用Φ15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C4的大小,以获得合适的接收灵敏度和抗干扰能力。 硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为0.07~5.5m,测距仪最大误差不超过1cm。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。 后续工作需实验后才能验证 根据参考电路和集成的电路器件测距范围有限10m以内为好。 http://www.chuandong.com/cdbbs/2008-12/17/081217A9D4D0217.html希望对你有帮助!

D. 51单片机超声波模块+数码管显示,求指导

首先,你的程序逻辑自己要清楚,从你的主函数看出,无论是否接收到超声波,你都一直在很快的发射,还有你再主函数一直在TH0=0;TL0=0;不知道你开定时器有啥用。从你的整个代码推测,你的设计初衷是,主函数里发射超声波,外部中断(接收超声波)读取定时器值,然后根据标志,数码管显示时间。还有你那个sbit
Echo=P3^2;
//超声波接收
不知道是不是中断引脚还是什么,最好不要那么用,你可以这样改进
1、定时器中断里,加计数标识:COUNT,以防止发射和接收时间过长,定时器溢出。
2、在外部中断里加,显示标识:DISP_BF,读取完后数据后,该标识置1。注意计算定时器时间是要将计算计数标识,num=(int)((65536*COUNT+TH0*256+TL0)*n);
3、在主函数里,while循环前设定所有参数,并将显示标识DISP_BF置1.
在while循环里,检测到显示标识为1时,执行以下操作:
数码管显示;
定时器清理;
发送超声波;
启动定时器;
显示标识置0;

E. 如何用单片机接驱动电路驱动超声波发射

理论上是只要给频率相当的电压信号,都是可以的。不过幅度越大,信号强度也就越大。所以一般都只是用单片机来驱动MOS管或者三极管。

F. 单片机超声波测距系统原理

超声波测距学习板,可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求测量范围在0.27~4.00m,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。超声波测距原理
超声波发生器内部结构有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波本时,将压迫压电晶片作振动,将机械能转换为电信号,就成为超声波接收器。在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。超声测距大致有以下方法:① 取输出脉冲的平均值电压,该电压 (其幅值基本固定 )与距离成正比,测量电压即可测得距离;② 测量输出脉冲的宽度,即发射超声波与接收超声波的时间间隔 t,故被测距离为 S=1/2vt。本测量电路采用第二种方案。由于超 声波 的声速 与温度有关,如果温度变化不大,则可认为声速基本不变 。如果测距精度要求很高,则应通 过温度补偿 的方法加以校正。超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。
采用AT89C51或AT89S51单片机,晶振:12M,单片机用P1.0口输出超声波换能器所需的40K方波信号,利用外中断0口监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,断码用74LS244,位码用8550驱动.
超声波测距的算法设计: 超声波在空气中传播速度为每秒钟340米(15℃时)。X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,则有340m×0.03S=10.2m。由于在这10.2m的时间里,超声波发出到遇到返射物返回的距离。
硬件部分采用AT89C51或AT89S51单片机,晶振:12M,单片机用P1.0口输出超声波换能器所需的40K方波信号,利用外中断0口监测超声波接收电路输出的返回信号,显示电路采用简单的4位共阳LED数码管,断码用74LS244,位码用8550驱动. 主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89S51来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。单片机通过P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。

1.单片机系统及显示电路
单片机采用89S51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。
单片机用P1.0端口输出超声波转化器所需的40KHz方波信号,利用外中断0口检测超声波接受电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管驱动。单片机系统及显示电路如下图所示.
使用CX20106A集成电路对接收探头受到的信号进行放大、滤波。其总放大增益80db。以下是CX20106A的引脚注释。

1脚:超声信号输入端,该脚的输入阻抗约为40kΩ。
2脚:该脚与地之间连接RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。增大电阻R1或减小C1,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。但C1的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R1=4.7Ω,C1=1μF。
3脚:该脚与地之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为3.3μf。
4脚:接地端。
5脚:该脚与电源间接入一个电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。例如,取R=200kΩ时,f0≈42kHz,若取R=220kΩ,则中心频率f0≈38kHz。
6脚: 该脚与地之间接一个积分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短。
7脚:遥控命令输出端,它是集电极开路输出方式,因此该引脚必须接上一个上拉电阻到电源端,推荐阻值为22kΩ,没有接受信号是该端输出为高电平,有信号时则产生下降。 8脚:电源正极,4.5~5V。
软硬件调试及性能
超声波测距仪的制作和调试,其中超声波发射和接收采用Φ16的超声波换能器TCT40-16F1(T发射)和TCT40-16S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C4的大小,以获得合适的接收灵敏度和抗干扰能力。
硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为0.07~5.5m,测距仪最大误差不超过1cm。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。后续工作需实验后才能验证 根据参考电路和集成的电路器件测距范围有限10m以内为好。

G. 51单片机 +12864+超声波模块 显示不正常,求师傅指导

1、
TMOD=0X90 是定时/计数器1的设置,看楼主I/O定义和main函数中用的是定时器0,所以应该用TMOD = 0x09;

/*定时器1中断 ( 应该是interrupt 3) */
void timer0() interrupt 1 //这个是定时器0 的中断
2、
=s%1000/100;
shi=s%100/10;
ge=s%10;
程序不全,不知楼主是怎么把上面这三个数值放到table[ge]等数组中的,
楼主可以先给 shi ge 分别赋值 ,看看于显示是否对于,来确认是哪部分的问题

还没用过超声波测距,怎么测~不知道~

H. 图为基于51单片机的避障小车设计(利用超声波传感器)的MCU电路图,求解读,各个电路代表的意思

图中只是一个单片机最小系统,引出了P0,P2口。没你要图

I. 您好,如果想用单片机驱动超声波传感器,驱动电路选择什么好

用单片机驱动一个开关管。
在初级阶段,建议用NPN达林顿三极管,例如TIP142之类,电路比较简单:在NPN达林顿管的集电极与电源之间,接一个脉冲变压器(初级)。脉冲变压器的次级接超声波的发射头。用于驱动的电源电压不要太高,也尽量别用5V的单片机电源,建议用5V-12V的独立电源供电,与单片机共地。
以上实验成功以后,还需要进一步增加一些原件,用来提高电路的稳定性、可靠性,并减少余震,当然那是后话了,一步一步来吧。

J. 51单片机控制HC-SR04超声波测距离用数码管显示,电路很简单,程序下载后数码管显示一下四个1就再也不亮了

要么把显示放到定时器中扫描,要么把超声波模块的接受端接到外部中断引脚上,用中断方式捕捉超声波信号

阅读全文

与超声波单片机显示电路相关的资料

热点内容
电脑d盘空文件夹 浏览:472
苹果蓝牙怎么发应用给安卓 浏览:455
江苏网络云服务器虚拟主机 浏览:170
wps幻灯片图片压缩 浏览:730
保证数据不被编译器优化 浏览:293
net转pdf 浏览:416
毕业当程序员大学学什么专业 浏览:710
农业银行app怎么买保险 浏览:291
锦州一块钱麻将算法 浏览:800
ecg单片机 浏览:424
荣耀手机怎么把app不见了 浏览:769
安卓车载模式如何关闭 浏览:656
路由器怎么才能桥接打印服务器 浏览:704
phpexcel中文乱码 浏览:835
bat批处理命令大全 浏览:601
php随机数组值 浏览:904
云服务器如何查看文件 浏览:532
服务器都可以干什么 浏览:794
计算字符串长度php 浏览:82
天府电脑编程培训 浏览:40