• 大小: 1.67MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-16
  • 语言: 其他
  • 标签:

资源简介

资源包含hc-sr04超声波模块的原理图和源程序,需要自己设计超声波模块的可以参考

资源截图

代码片段和文件信息

/***********************************************************************************************************/
//hc-sr04 超声波测距模块 DEMO 程序
//晶振:11。0592
//接线:模块TRIG接 P0.2  ECH0 接P0.1
//数码管:数码管P0接数据口P2.5 P2.6 P2.7接选通数码管
/***********************************************************************************************************/     
#include  //器件配置文件
#include 
#define  RX  P1_1
#define  TX  P1_2

sbit led0    =P2^4;
sbit led1    =P2^5;
sbit led2    =P2^6;
sbit led3    =P2^7;
bit      flag =0;
unsigned int  time=0;
unsigned int  timer=0;
unsigned char posit=0;
unsigned int S=0;

unsigned char const discode[] ={0x030x9F0x250x0D0x990x490x410x1F0x010x090x110xC10x630x850x610x710x030x9F0x250x0D

                                    }; //01234....F0123的段码

    
    unsigned char LedBuff[4]={ 0xFF 0xFF 0xFF 0xFF }; 

/********************************************************/
    void Display(void)  //扫描数码管
{
 static unsigned char i = 1;

P0 = 0xFF;
switch(i)
{
case 0: led3 = 0; led1 = 1; i++; P0=LedBuff[0];break;
case 1: led2 = 0; led3 = 1; i++; P0=LedBuff[1];break;
case 2: led1 = 0; led2 = 1; i=0; P0=LedBuff[2];break;
default:break;
}
}
/********************************************************/
    void Conut(void)
{
 time=TH0*256+TL0;
 TH0=0;
 TL0=0;
    //  S=123;
    S=(time*1.7)/100;     //算出来是CM
if((S>=420)||flag==1) //超出测量范围显示“F”
 { flag=0;
   S=0;
   LedBuff[0] = discode[15];
   LedBuff[1] = discode[15];
   LedBuff[2] = discode[15];
  
 }
 else
 {   
   LedBuff[0] = discode[S%10];
   LedBuff[1] = discode[S/10%10];
   LedBuff[2] = discode[S/100%10];

 }
}
/********************************************************/
     void zd0() interrupt 1   //T0中断用来计数器溢出超过测距范围
  {
    flag=1;  //中断溢出标志   
  }
/********************************************************/
   void  zd3()  interrupt 3   //T1中断用来扫描数码管和计800MS启动模块
  {
 TH1=0xf8;    //2MS定时
 TL1=0x30;
 Display();
 timer++;
 if(timer>=100)
 {
  timer=0;
  TX=1;                 //200MS  启动一次模块
  _nop_(); 
  _nop_(); 
  _nop_(); 
  _nop_(); 
  _nop_(); 
  _nop_(); 
  _nop_(); 
  _nop_(); 
  _nop_(); 
  _nop_(); 
  _nop_(); 
  _nop_();
  _nop_(); 
  _nop_(); 
  _nop_(); 
  _nop_();
  _nop_(); 
  _nop_(); 
  _nop_(); 
  _nop_(); 
  TX=0;
 } 
  }
/*********************************************************/

void  main(  void  )

  {  
    TMOD=0x11;    //设T0为方式1,GATE=1;
TH0=0;
TL0=0;          
TH1=0xf8;    //2MS定时
TL1=0x30;
ET0=1;             //允许T0中断
ET1=1;    //允许T1中断
TR1=1;    //开启定时器
EA=1;    //开启总中断

while(1)
{
 while(!RX); //当RX为零时等待
 TR0=1;     //开启计数
 while(RX); //当RX为1计数并等待
 TR0=0; //关闭计数
     Conut(); //计算
}

  }
                

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

     文件      10367  2015-10-17 19:59  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序

     文件       2293  2015-10-17 19:59  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序.C

     文件       8892  2015-10-17 19:59  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序.hex

     文件         48  2015-10-17 19:59  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序.lnp

     文件       5522  2015-10-17 19:59  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序.LST

     文件      10866  2015-10-17 19:59  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序.M51

     文件       7379  2015-10-17 19:59  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序.OBJ

     文件       1383  2013-06-02 01:48  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序.opt.bak

     文件       1513  2015-10-17 20:04  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序.plg

     文件       2098  2013-06-02 01:48  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序.Uv2.bak

    .......     55696  2015-10-17 20:04  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序.uvopt

     文件      13202  2013-06-02 01:55  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序.uvproj

     文件        975  2011-05-04 19:40  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序_Opt.Bak

     文件       1943  2011-02-15 18:08  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序_Uv2.Bak

    .......     55692  2015-10-17 19:42  超声波测距资料(HC-SR04)+原理图\1.超声波测距串口显示\测距程序_uvopt.bak

     文件       8362  2015-10-17 18:21  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量

     文件       3076  2015-10-17 18:21  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量.c

     文件       3578  2015-10-17 18:21  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量.hex

     文件         33  2015-10-17 18:21  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量.lnp

     文件       6832  2015-10-17 18:21  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量.LST

     文件       8933  2015-10-17 18:21  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量.M51

     文件       8159  2015-10-17 18:21  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量.OBJ

     文件       1156  2014-02-18 00:44  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量.opt.bak

     文件        965  2015-10-17 18:21  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量.plg

     文件       2143  2013-06-19 13:58  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量.Uv2.bak

    .......     56585  2015-10-17 19:10  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量.uvopt

     文件      13249  2014-02-18 00:45  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量.uvproj

     文件       1156  2013-06-19 13:58  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量_Opt.Bak

     文件       1996  2011-02-15 18:09  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量_Uv2.Bak

    .......     74052  2014-10-02 10:34  超声波测距资料(HC-SR04)+原理图\2超声波测距数码管显示\脉宽测量_uvopt.bak

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

评论

共有 条评论