资源简介

51单片机超声波测距1602显示,代码简洁,高效,注释完整方便理解

资源截图

代码片段和文件信息

#include 
#include “delay.h“
#include 
#include 
sbit  RX =  P2 ^ 1;
sbit  TX =  P2 ^ 0;


bit flag;
unsigned char sign;
unsigned int S=0;
unsigned int time;
void Init();
void  StartModule();
int Conut(void);
unsigned int ij;


int chaosheng()
{
Init();
for (i=0;i<2;i++)
{
StartModule();
   while(!RX); //当RX为零时等待
   TR1=1;     //开启计数
   while(RX); //当RX为1计数并等待
   TR1=0; //关闭计数
j=Conut();
}
return j; //计算返回
}

void Init()
{
 TMOD |=0x10;    //设T0为方式1,GATE=1;
 TH1=0;
 TL1=0;  
 TR1=1;
}
/******************************************************************************/
/****************超声波模块程序************************************************/
 void  StartModule()           //启动模块
  {
   TX=1;                      //启动一次模块
   Delay999us();
   TX=0;
  }
 int Conut(void)
{
 time=TH1*256+TL1;
 TH1=0;
 TL1=0;
 S=(time*1.7)/100;     //算出来是CM

if((S>=200)||flag ==1) //超出测量范围显示“-”
 {
  flag = 0;
  TX =1;
  return 6666 ;
  }  
 else
     {
   TX =1; 
return S;  
     }
    }

 void zd0() interrupt 3   //T0中断用来计数器溢出超过测距范围
  {
    flag=1;  //中断溢出标志
  }

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

     文件       1318  2015-10-12 23:26  单个超声波1602\chaoshengbo.c

     文件         83  2015-09-20 06:52  单个超声波1602\chaoshengbo.h

     文件       3699  2015-10-12 23:37  单个超声波1602\chaoshengbo.LST

     文件       6256  2015-10-12 23:37  单个超声波1602\chaoshengbo.OBJ

     文件      22466  2015-10-12 23:37  单个超声波1602\ckjs

     文件       4660  2015-10-12 23:37  单个超声波1602\ckjs.hex

     文件         94  2015-10-12 23:37  单个超声波1602\ckjs.lnp

     文件      22678  2015-10-12 23:37  单个超声波1602\ckjs.M51

     文件       2328  2015-10-12 23:40  单个超声波1602\ckjs.plg

     文件      73940  2015-10-12 23:40  单个超声波1602\cscl.uvopt

     文件      13758  2015-10-12 23:15  单个超声波1602\cscl.uvproj

     文件      72822  2015-10-12 23:36  单个超声波1602\cscl_uvopt.bak

     文件        987  2015-10-12 23:29  单个超声波1602\delay.c

     文件        177  2015-10-12 23:15  单个超声波1602\delay.h

     文件       3749  2015-10-12 23:37  单个超声波1602\delay.LST

     文件       3682  2015-10-12 23:37  单个超声波1602\delay.OBJ

     文件        983  2014-11-06 13:18  单个超声波1602\IO_def.h

     文件       4439  2015-05-03 11:41  单个超声波1602\LCD1602_drv.c

     文件       1227  2015-05-03 11:37  单个超声波1602\LCD1602_drv.h

     文件       8642  2015-10-12 23:37  单个超声波1602\LCD1602_drv.LST

     文件      10001  2015-10-12 23:37  单个超声波1602\LCD1602_drv.OBJ

     文件        298  2015-10-12 23:37  单个超声波1602\main.c

     文件       1470  2015-10-12 23:37  单个超声波1602\main.LST

     文件       4258  2015-10-12 23:37  单个超声波1602\main.OBJ

     文件       1110  2014-04-18 21:39  单个超声波1602\type.h

     目录          0  2015-10-13 21:32  单个超声波1602

----------- ---------  ---------- -----  ----

               265125                    26


评论

共有 条评论