找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1249|回复: 2
打印 上一主题 下一主题
收起左侧

1602显示微波测距

[复制链接]
跳转到指定楼层
楼主
ID:340016 发表于 2018-5-28 19:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Fanta1 于 2018-5-28 19:16 编辑

#include <reg52.h>
#include <stdio.h>
#include <math.h>
#include "1602.h"
#include "delay.h"

sbit TRIG = P3^7 ;
sbit ECHO = P3^6 ;

unsigned char DisTempData[16];

/*------------------------------------------------
                    定时器0初始化
------------------------------------------------*/
void TIM0init(void)
{

  TMOD|= 0x01;//定时器0工作方式1
  TH0=0x00;   
  TL0=0x00;
  ET0=1;
  EA=1;
}
/*------------------------------------------------
                    主函数
------------------------------------------------*/
main()
{
  float s;       //距离变量
  TIM0init();    //初始化定时器0
  //LCD_Init();    //初始化LCD
  //LCD_Write_String(0,1,"2017 4 17");

  while(1)
  {

   TRIG=1;       //触发信号是高电平脉冲,宽度大于10us
   DelayUs2x(10);
   TRIG=0;
   while(!ECHO); //等待高电平
   TR0=1;
   while(ECHO);  //等待低电平
   TR0=0;
   s=TH0*256+TL0;//取出定时器值高8位和低8位合并
   s=s/58;       //为什么除以58等于厘米,  Y米=(X秒*344)/2
                             // X秒=( 2*Y米)/344 -> X秒=0.0058*Y米 -> 厘米=微秒/58
   TH0=0;                                                                                                  
   TL0=0;        //清除定时器0寄存器中的值
   //sprintf(DisTempData,"S=%6.2f CM     ",s);//打印输出结果
   if (s>=10)
   {                        
           P1=0x7f;
   }
      if (s>=5&&s<10)
   {                        
           P1=0xbf;
   }
      if (s<5)
   {                        
           P1=0xdf;
   }

  // LCD_Write_String(0,0,DisTempData);       //在液晶屏上显示
   DelayMs(700);                            //延时决定采样速度

  }
}

/*------------------------------------------------
                 定时器中断子程序
------------------------------------------------*/
void Timer0_isr(void) interrupt 1
{
ECHO=0;
}

timg.jpg (195.47 KB, 下载次数: 40)

timg.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:340016 发表于 2018-5-28 19:16 | 只看该作者
main程序
回复

使用道具 举报

板凳
ID:340016 发表于 2018-12-6 22:13 | 只看该作者
1602超声比测距程序

【Realplay】HC-SR04 超声波模块 测距模块 超声波 传感器 送资料.rar

1.67 MB, 下载次数: 7, 下载积分: 黑币 -5

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表