精华内容
下载资源
问答
  • 单片机超声波测距原理图,课程设计,里面有完整的原理图,欢迎下载用啊
  • 基于AT89C2051单片机超声波测距原理图
  • 51单片机超神波测距原理图、pcb。自己设计的电源,可以用于学习
  • 单片机超声波测距原理及电路,介绍的比较详细。
  • 51黑电子论坛 超声波测距 51单片机超声波测距仿真与实物设计 含源程序,视频,Proteus原理图
  • 基于STM8S003单片机超声波测距设计资料 包含ad原理图及PCB文件
  • 51单片机超声波测距C程序:含有超声波检测原理、超声波测距的程序流程、及相关程序。经测试可行。
  • 超声波测距是很经典的单片机设计方案,基本学电子、学单片机的课设等都会涉及,分享超声波测距单片机C程序+原理图+PCB源文件,网上资料很多啦,但是不影响我想...Altium Designer画的超声波测距原理图和PCB截图如下:
  • 51单片机超声波测距C程序(2010-01-26 14:09:10) 电子工程师电子资料大学校园超声波检测原理超声波测距的程序流程程序如下://超声波模块程序#include #define uchar unsigned char#define uint unsigned int//void...

    51单片机超声波测距C程序

    43131454_1.gif(2010-01-26 14:09:10) 电子工程师电子资料大学校园

    43131454_2

    超声波检测原理

    43131454_3

    超声波测距的程序流程图

    43131454_4

    程序如下:

    //超声波模块程序

    #include

    #define uchar unsigned char

    #define uint unsigned int

    //

    void delay(uint z)

    {

    uint x,y;

    for(x=z;x>0;x--)

    for(y=110;y>0;y--);

    }

    //

    void delay_20us()

    {

    uchar a ;

    for(a=0;a<100;a++);

    }

    //***************************************************************

    //显示数据转换程序

    void display(uint temp)

    {

    uchar ge,shi,bai;

    bai=temp/100;

    shi=(temp%100)/10;

    ge=temp%10;

    wela=1;

    P0=0xf7;

    wela=0;

    dula=1;

    P0=table[bai];

    dula=0;

    delay(1);

    dula=1;

    P0=0x00; //关位码

    dula=0;

    wela=1;

    P0=0xef;

    wela=0;

    dula=1;

    P0=table[shi];

    dula=0;

    delay(1);

    dula=1;

    P0=0x00; //关位码

    dula=0;

    dula=1;

    P0=table[ge];

    dula=0;

    wela=1;

    P0=0xdf;

    wela=0;

    delay(1);

    dula=1;

    P0=0x00; //关位码

    dula=0;

    }

    //***************************************************************

    void main()

    {

    uint distance;

    test =0;

    Trig=0; //首先拉低脉冲输入引脚

    EA=1; //打开总中断0

    TMOD=0x10; //定时器1,16位工作方式

    while(1)

    {

    EA=0; //关总中断

    Trig=1; //超声波输入端

    delay_20us(); //延时20us

    Trig=0; //产生一个20us的脉冲

    while(Echo==0); //等待Echo回波引脚变高电平

    succeed_flag=0; //清测量成功标志

    EA=1;

    EX0=1; //打开外部中断0

    TH1=0; //定时器1清零

    TL1=0; //定时器1清零

    TF1=0; //计数溢出标志

    TR1=1; //启动定时器1

    delay(20); //等待测量的结果

    TR1=0; //关闭定时器1

    EX0=0; //关闭外部中断0

    if(succeed_flag==1)

    {

    time=timeH*256+timeL;

    distance=time*0.172; //毫米,便于数码管显示

    display(distance);

    }

    if(succeed_flag==0)

    {

    distance=0; //没有回波则清零

    test = !test; //测试灯变化

    }

    }

    }

    //***************************************************************

    //外部中断0,用做判断回波电平

    void exter() interrupt 0 // 外部中断0是0号

    {

    timeH =TH1; //取出定时器的值

    timeL =TL1; //取出定时器的值

    succeed_flag=1;//至成功测量的标志

    EX0=0; //关闭外部中断

    }

    //****************************************************************

    //定时器1中断,用做超声波测距计时

    void timer1() interrupt 3 //

    {

    TH1=0;

    TL1=0;

    }

    展开全文
  • 51单片机超声波测距数码管显示,单片机连接 hc-sr04超声波测距模块 用定时器测量物体与模块之间的距离,代码清晰简单,有参考原理图
  • 该资源包含了51单片机超声波测距的c程序,电路原理图,PCB图
  • 单片机超声波测距,可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求测量范围在0.27~4.00m,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地...
  • 8051单片机超声波测距

    2010-08-30 08:29:15
    超声波测距原理图与C程序基,电路图其实只用看单片机系统及发射显示模块、9引脚RESET连接的电路模块及cx20106接收模块。三个模块组装便可得硬件电路,实现测距功能。剩下的模块用于功能扩展。单片机用STC89c52、AT89...
  • 本次课设的要求是设计制作一个超声波测距仪,测距范围要求为2米以上,精度为1厘米以内。 本作品使用AT89S51做控制器,超声波接收与发射的频率为40KHZ,采用74LS04芯片构成超声波发射电路,CX20106A芯片构成超声波...

    【资源下载】下载地址:点击下载1311 百度网盘

    摘 要

    本次课设的要求是设计制作一个超声波测距仪,测距范围要求为2米以上,精度为1厘米以内。

        本作品使用AT89S51做控制器,超声波接收与发射的频率为40KHZ,采用74LS04芯片构成超声波发射电路,CX20106A芯片构成超声波检测接收电路,数字温度传感器DS18B20对温度实时监测。采用四位共阳数码管显示,分度值为1cm。整个电路采用模块化设计,由主程序、温度补偿模块、超声波测距模块、显示模块等组成。探头的信号经单片机综合分析处理,实现超声波测距功能。

     

    关键词:超声波测距;AT89S51;温度补偿;发射电路;接收电路;数码管显示

     

     

    本次设计的要求是设计制作一个超声波测距仪,测距范围要求为2米以上,精度为1厘米以内。

    本作品使用AT89S51做控制器,超声波接收与发射的频率为40KHZ,采用74LS04芯片构成超声波发射电路,CX20106A芯片构成超声波检测接收电路,数字温度传感器DS18B20对温度实时监测。采用四位共阳数码管显示,分度值为1cm。整个电路采用模块化设计,由主程序、温度补偿模块、超声波测距模块、显示模块等组成。探头的信号经单片机综合分析处理,实现超声波测距功能。

     

    关键词:超声波测距;AT89S51;温度补偿;发射电路;接收电路;数码管显示

     

     

     

     

     

    <span style="color:#000000"><span style="color:#000000">#include <reg52.h>         //STC89C52头文件
    #define uchar unsigned char    
    #define uint unsigned int
    unsigned int  time=0;
    unsigned int  timer=0;
    unsigned long S=0;         //距离变量
    bit  flag =0;                 //超声波模块量程溢出标志(>5米时置1)
    sbit echo=P1^0;               //超声波模块的发射端
    sbit trig=P1^1;               //超声波模块的接收端
    sbit ds=P2^2;                //DS18B20的信号线
    sbit P24=P2^4;
    sbit P25=P2^5; 
    sbit P26=P2^6;            
    sbit P27=P2^7; 
    sbit P07=P0^7;             
    int temp;    
    //八位共阳极
    unsigned char code shuzu[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
    /*********************************************************/
    </span></span>

      

     

     

     

     

     

     

     

    展开全文
  • 1.本设计采用STC89C52单片机作为主控制器; 2.LCD1602液晶显示测量的距离和温度; 3.带有温度补偿功能(DS18B20传感器); 4.测量范围0.02m~4m,精度为0.01m; 5.带实时语音播报功能; 6.按键功能:按键2:加报警值...
  • 包含全部设计资料
  • 超声波测距原理图

    2018-04-26 20:12:33
    基于51单片机超声波测距仪,用AD画的原理图,测距模块hc-sr04,数码管显示,
  • 本设计是利用STC89C52单片机超声波传感器完成测距报警系统的制作,以STC89C52为主控芯片,利用超声波对距离的检测,将前方物体的距离探测出来,然后单片机处理运算,与设定的报警距离值进行比较判断,当测得距离...
  • 做的一个51单片机课程设计——超声波测距仪,单片机型号是STC89C52,超声波模块是HC-SR04,原理图是用AD画的,免费分享给需要的朋友! 原理图截图: 源码截图:
  • 超声波测距 proteul原理图及pcb。。。 基于单片机超声波测距仪,课程设计
  • STM8S003单片机设计超声波测距硬件ALTIUM原理图PCB+3D集成封装库文件,2层板设计,大小为60x60mm,Altium Designer 设计的工程文件,包括完整的原理图及PCB文件,可以用Altium(AD)软件打开或修改,可作为你产品设计...
  • 本设计的整体框图如所示,主要由超声波发射,超声波接收与信号转换,按键显示电路与温度传感器电路组成。
  • 超声波测距原理与实现

    万次阅读 多人点赞 2018-02-10 22:06:21
    这是我在学校做的超声波测距系统,那时候是我刚刚接触半年的51,就想着弄点什么小东西出来吧。起码得做点什么东西出来,所以自行设计了超声波测距系统/倒车系统测距系统,也来分享一下给大家,本作品以STC12C5A60S2...
    这是我在学校做的超声波测距系统,那时候是我刚刚接触半年的51,就想着弄点什么小东西出来吧。起码得做点什么东西出来,所以自行设计了超声波测距系统/倒车系统测距系统,也来分享一下给大家,本作品以STC12C5A60S2作为核心,以某宝上买的超声波模块作为检测模块,以oled屏幕作为显示文字、数字、英文、等等、用有源蜂鸣器作为报警器,红色直插LED顺便作为提示,兼容5——12V供电,引出io口,方便以后当做最小系统使用,方便兼容多个其他模块,(自行脑补)。。。。带复位,下载口,,正常工作时候oled显示:“xxx超声波测距,距离xxxCM”,蜂鸣器不响,绿色LED亮,红色灭,当距离小于xxxCM时,蜂鸣器象棋警报,红色LED亮起,绿色灭,大致就是这样。系统为本人亲自制作,单层板,上图。还有pcb,原理图等,代码等;代码有点乱,提供一部分看看。
    
    这是我的第一个作品吧,之前搞了个4*4*4的光立方,没有成功,只怪我当初太菜,还急躁了,不过现在做这个还是挺成功的,因为是超声波,距离精确到cm吧,反正就是能测距就行,主要的问题就是oled显示的问题,当时我怎么弄都没显示的,但是改了一下,把显示的函数封装起来,然后调用,就突然好了,我也是奇怪。。。。也有运气的成分在吧。。。。先解说下超声波工作原理吧:


    简单来说就是单片机控制超声波发射模块发出一系列超声波,遇到障碍物反弹回来,被超声波接收模块接收到,然后计算这段时间(声音在空气中传播的速度为340m/s),通过计算,得出距离,然后再oled上显示出来,程序对距离数值产生判断,小于5mm就触发蜂鸣器响,红色led闪烁。这就是基本的思路。
    先来看看超声波模块长什么样:
    其实模块的外围电路很简单,都已经搭建好了,引出4个排针,连接到单片机的vcc,io口,io口,gnd,用到2个io口,然后我们就可以模拟时序来使超声波模块工作了;

    我们知道采用 IO (Trig(控制端))触发测距,给至少 10us 的高电平信号;就是10us的TTL;我是直接让他延时个10多us;
    模块就会自动发送 8 个 40khz 的方波,自动检测是否有信号返回;操作简单方便;假如有信号返回,超声波模块就会通过 IO(Echo(接收端)) 输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.那么测试距离=(高电平时间*声速(340M/S))/2;
    那么问题来了,怎么真的时间是多少呢,这就是要我们用定时器来计时了;

    没有超声波回来的时候,(Echo(接收端)就是RX=0;就在等待,
    当有接收到超声波的时候,就开始计时,TR0=1;;因为上文说了,超声波模块就会通过 IO(Echo(接收端)) 输出一高电平。
    (Echo(接收端)高电平持续的时间就是超声波从发射到返回的时间.所以等待高电平的时间,就是定时器计时的时间。(while(RX));//在等待
    然后关闭定时器,通过算法就能计数了。

    void Conut(void)
            {
             time=TH0*256+TL0;
             TH0=0;
             TL0=0;
            
             S=(time*1.7)/100;   
    }

    具体对数据做什么要求请各位自行发挥。
    我就是简单的显示下数据就ok了:

             qian=S%1000/100;
              bai=S%1000%100/10;
              shi=S%1000%100 %10;
    得出结果是cm;共有3位数字;比如006cm;
    然后就是如何显示的问题了,因为我用的是库函数,显示字符要取模,我就不教大家了,可以百度一下取模的问题,而且我调用的是库函数,就简单看看我的代码吧;
    void display()
    {
            
            WriteChinese16x16(0,0,"杰杰号超声波测距");

             PrintNum_8x16(2,60,qian);
             PrintNum_8x16(2,70,bai);
             PrintNum_8x16(2,80,shi);

            WriteMixStrXx16(2,10,"距离");
            WriteMixStrXx16(2,97,"CM");

            bee=1;
            d1=0;
            d2=1;

    if(S<5)
    {
            delay(5);
            if(S<5)//小于5cm,蜂鸣器响,红灯亮。
    {
            d1=1;
            bee=0;
            d2=0;
    }
    }
    这是在oled上显示的。有比较多的库函数,我也没仔细研究,但是会调用就行了,因为用到的oled时候不是很多,花时间在这上面不值得,反正我会用,用不用管他的底层的东西。

    需要代码的话找我拿就好,其实原理很简单的,动动手,按照我上一篇的推送画个最小系统板就ok了,但是要注意的地方是,oled,最好用3.3v供电,所以加入了ams117稳压芯片,
    看下效果图是怎样的:


    原理图和pcb都是开源的,全自创,仅供学习。

    请到

    http://bbs.21ic.com/icview-2408582-1-1.html?fromuid=1875788

    下载




    展开全文
  • 文铎  超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现
  • 基于STC51单片机超声波测距精简设计只需三个元件(测距模块暂且算做是一个元件吧) 1.所需元件:STC单片机+超声波模块+4位共阳数码管 2.原理:单片机向测距模块trig脚发送20us的高电平触发测距,Echo 测距结束时会...

    基于STC51单片机超声波测距精简设计只需三个元件(测距模块暂且算做是一个元件吧)
    1.所需元件:STC单片机+超声波模块+4位共阳数码管
    2.原理:单片机向测距模块trig脚发送20us的高电平触发测距,Echo 测距结束时会输出高电平,电平时长为超声波信号往返时间之和。Echo 脚开始输出高电平时启动定时计数器计时,当Echo 脚高电平结束时停止计数,根据定时器的时间可算出距离。
    3.连接:单片机插在面包板上数码管直接插在单片机上面(引脚一一对应见原理图)测距模块trig脚接P5.4Echo 脚接P5.5

    实物图
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    参考C程序代码如下:

    /***************************************************************

    程序名: 51单片机超声波测距()

    硬件支持:超声波模块US-020、四位共阳数码管、STC单片机
    //
    #include <STC15w.H>// 单片机头文件
    #include <intrins.h>
    #include <4LED_YANG.h>//包含共阳数码管驱动程序
    #define uchar unsigned char
    #define uint unsigned int
    uint timeH,timeL;//定义2个存储计时器值的变量
    uint distance;//定义测量值的变量
    uint time;//定义Echo脚返回的高电平时间变量
    //
    sbit Echo = P5 ^ 5; //超声波测距模块Echo连接的IO
    sbit Trig = P5 ^ 4; //超声波测距模块Trig连接的IO
    /
    /
    void delay1ms (unsigned int a){ // 1ms延时程序
    unsigned int i;
    while( --a != 0){
    for(i = 0; i < 630; i++);//STC单片机在晶振为12MHz时i值上限为630
    } //AT89C51单片机在外部晶振为12MHz时i值上限为125
    }
    /
    /
    void delay_20us() //@12.000MHz
    {
    unsigned char i;
    nop();
    nop();
    i = 57;
    while (–i);
    }
    /*********************************************************************************************
    函数名:定时器初始化函数
    调 用:INT_init();
    /
    /
    void INT_init (void){
    TMOD=0x01; //定时器0,16位工作方式计数模式
    TH0=0; //定时器0清零
    TL0=0; //定时器0清零
    EA = 1; //总中断开
    Trig=0;//拉低为下次触发做准备
    }
    //
    *********
    void dist (void){//测量距离程序
    Trig=1; //
    delay_20us(); //延时20us
    Trig=0; //Trig输出20us高电平触发测距
    while(Echo0); //等待Echo回波引脚变高电平
    TR0=1;//程序运行到此处时说明Echo脚变成了高电平,此时启动T0开始计时
    while(Echo
    1); //等待Echo回波引脚高电平结束
    TR0=0;//程序运行到此处时说明Echo脚变成了低电平,此时T0停止计时
    time=TH0256+TL0;
    distance=time
    0.170; //测量距离
    distance=distance-2;//测量起点不同减去的数值不同
    TH0 = 0; //重置计时器
    TL0 = 0;

    }
    void main()//主函数
    {

    init();//单片机IO口工作方式初始化
    INT_init;//T0初始化
    while(1)
    {
    dist();//测量距离
    disp();//数码管显示距离
    delay1ms(20);//两次测量间需要有10ms间隔
    }
    }
    //鉴于篇幅有限,C完整源码 及所有技术文件,

    最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,
    如果需要 完整代码或设计文件,请在下方留言或者私信我,看到后会第一时间回复。

    谢谢!

    展开全文
  • 这里原理和接线也没什么好解释的,直接上程序(仅供参考) /* 实验说明: 根据自己使用的LCD1602是否带有转接板,如果带有转接板的即为4位,需在LCD.H头文件中 将宏#define LCD1602_4PINS打开,我们这里使用的...
  • 超声波测距仪,51单片机源程序,工作原理说明,pcb原理图,元件清单 超声波测距仪,51单片机源程序,工作原理说明,pcb原理图,元件清单
  • 电信信息工程类设计,超声波测距全套资料内涵原理图及代码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 675
精华内容 270
关键字:

单片机超声波测距原理图