资源简介

基于51单片机和分立式探头的超声波雷达测距系统,包括完整的硬件电路图和完整的C代码,以及详细的设计指导文档,分为基础部分和高级部分,基本部分为超声波测距并报警,高级部分加入距离显示,温度补偿和十段发光条指示功能。现将整个项目的所有资料打包共享。

资源截图

代码片段和文件信息

#include  //头文件
sbit k1=P3^4; //按键
sbit csbout=P1^0;                         //超声波发送 
sbit csbint=P3^2;                         //超声波接收 
sbit bg=P3^3; 
#define LED P0 //数码管显示形  
sbit LED1=P2^4; //LED控制 
sbit LED2=P2^5; //LED控制 
sbit LED3=P2^6; //LED控制 
sbit bj=P2^0;//报警
#define csbc 0.0347 

unsigned char clmqzdcsbscsbdsbuffer[3]xm1xm2xm0jpjs;//显示标识  
unsigned char convert[10]={0x180x7b0x2c0x290x4b0x890x880x3b0x080x09};//0~9段码 
unsigned int stixxjsj1sj2sj3mqssx1; 

void csbcj(); 
void delay(j);          //延时函数 
void scanLED();         //显示函数 
void timeToBuffer();    //显示转换函数 
void keyscan();  //按键函数
void k1cl(); 
void k2cl(); 
void k3cl(); 
void k4cl(); 
void offmsd(); 

void main()                                        //主函数 

        EA=1;                                           //开中断 
TMOD=0x11;                                 //设定时器0为计数,设定时器1定时 
        ET0=1;                                         //定时器0中断允许 
        ET1=1;                                         //定时器1中断允许 
        TH0=0x00; 
        TL0=0x00; 
        TH1=0x9E; 
        TL1=0x57;  //赋初值
        csbds=0;  //超声波定时清零 
        csbout=1;  //超声波输出置位 
        cl=0;  //测量标识清零 
        csbs=8; //
        jpjs=0;  //键盘计时清零 
        sj1=50;/////////测试报警距离
        sj2=200; 
        sj3=580; 
        k4cl(); 
        TR1=1;
        while(1) 
          { 
                keyscan(); 
                if(jpjs<1) 
                { 
                        csbcj();                //调用超声波测距程序 
                        if(s>sj3)                //大于时显示“CCC” 
                        { 
                                buffer[2]=0xC6;         
                                buffer[1]=0xC6;         
                                buffer[0]=0xC6;         
                        } 
                        else if(s                        { 
                                buffer[2]=0xBF;         
                                buffer[1]=0xBF;         
                                buffer[0]=0xBF; 
                        } 
                        else timeToBuffer();         
                } 
                else timeToBuffer();                //将值转换成LED段码 
                offmsd(); 
                  scanLED();                        //显示函数 
                if(s                bg=0; 
                bg=1; 
        } 


void scanLED()                             //显示功能模块 

        LED=buffer[0]; 
        LED3=0; 
        delay(200); 
        LED3=1; 

        LED=buffer[1]; 
        LED2=0; 
        delay(200); 
        LED2=1; 
         
        LED=buffer[2]; 
        LED1=0; 
        delay(200); 
        LED1=1; 


void timeToBuffer()                    //转换段码功能模块 

        xm0=s/100;         
        xm1=(s-100*xm0)/10; 
        xm2=s-100*xm0-10*xm1; 
        buffer[2]=convert[xm2];         
   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      11583  2014-09-05 15:42  超声波雷达测距\基础版\1-c程序\csbc

     文件       4931  2014-09-05 15:42  超声波雷达测距\基础版\1-c程序\csbc.hex

     文件         41  2014-09-05 15:42  超声波雷达测距\基础版\1-c程序\csbc.lnp

     文件      16990  2014-09-05 15:42  超声波雷达测距\基础版\1-c程序\csbc.M51

     文件        388  2014-09-05 15:42  超声波雷达测距\基础版\1-c程序\csbc.plg

     文件      55657  2014-09-05 15:42  超声波雷达测距\基础版\1-c程序\csbc.uvopt

     文件      13396  2014-09-04 10:15  超声波雷达测距\基础版\1-c程序\csbc.uvproj

     文件      55654  2014-09-05 15:42  超声波雷达测距\基础版\1-c程序\csbc_uvopt.bak

     文件      13392  2014-09-04 10:15  超声波雷达测距\基础版\1-c程序\csbc_uvproj.bak

     文件       7345  2014-09-05 15:42  超声波雷达测距\基础版\1-c程序\csbo.c

     文件      12205  2014-09-05 15:42  超声波雷达测距\基础版\1-c程序\csbo.LST

     文件      12551  2014-09-05 15:42  超声波雷达测距\基础版\1-c程序\csbo.OBJ

     文件       6376  2009-05-07 14:37  超声波雷达测距\基础版\1-c程序\STARTUP.A51

     文件      14048  2014-09-05 15:42  超声波雷达测距\基础版\1-c程序\STARTUP.LST

     文件        749  2014-09-05 15:42  超声波雷达测距\基础版\1-c程序\STARTUP.OBJ

     文件     156911  2014-03-26 00:11  超声波雷达测距\基础版\6-制作详解\0.36或0.56四位数码管\4引脚图.png

    ..A.SH.     43520  2014-11-13 15:36  超声波雷达测距\基础版\6-制作详解\0.36或0.56四位数码管\Thumbs.db

     文件     130633  2014-03-26 00:09  超声波雷达测距\基础版\6-制作详解\0.36或0.56四位数码管\引脚图.png

     文件      67908  2014-03-26 00:12  超声波雷达测距\基础版\6-制作详解\0.36或0.56四位数码管\此图为共阴 共阳为led的阳极接到一起.png

     文件      44796  2014-03-25 22:22  超声波雷达测距\基础版\6-制作详解\DC电源插口\CON2为电源插针(电路中可以不接).jpg

     文件      32060  2014-03-25 22:22  超声波雷达测距\基础版\6-制作详解\DC电源插口\DC电源接口及开关(简易版).jpg

     文件       6039  2014-03-25 22:22  超声波雷达测距\基础版\6-制作详解\DC电源插口\DC电源插口内部透视图.jpg

     文件      15132  2014-03-25 22:22  超声波雷达测距\基础版\6-制作详解\DC电源插口\DC电源插口原理图.jpg

     文件         92  2014-03-25 22:22  超声波雷达测距\基础版\6-制作详解\DC电源插口\DC电源插口原理图介绍说明.txt

     文件      49452  2014-03-26 00:37  超声波雷达测距\基础版\6-制作详解\DC电源插口\DC电源插口硬件图.jpg

    ..A.SH.     82432  2014-11-13 15:36  超声波雷达测距\基础版\6-制作详解\DC电源插口\Thumbs.db

     文件      16626  2014-03-25 22:22  超声波雷达测距\基础版\6-制作详解\三极管\NPN型原理图.jpg

     文件      10402  2014-03-25 22:22  超声波雷达测距\基础版\6-制作详解\三极管\PNP型原理图.jpg

    ..A.SH.     45056  2014-11-13 15:38  超声波雷达测距\基础版\6-制作详解\三极管\Thumbs.db

     文件       3296  2014-03-25 22:22  超声波雷达测距\基础版\6-制作详解\三极管\三极管介绍.txt

............此处省略76个文件信息

评论

共有 条评论