>_<:超声波测距仪模块:

>_<:51单片机,11.0592MHz晶振,将采集数据发送到串口的基础例子:

>_<:代码:

 /***********************************************************************************************************/
//HC-SR04 超声波测距模块 DEMO 程序
//晶振:11。0592
//接线:模块TRIG接 P1.2 ECH0 接P1.1
//串口波特率9600
/***********************************************************************************************************/
#include <AT89X51.H>
#include <intrins.h>
#include <STDIO.H> #define uchar unsigned char
#define uint unsigned int
#define RX P1_1
#define TX P1_2 unsigned int time=;
unsigned int timer=;
float S=;
bit flag =; /********************************************************/
void Conut(void)
{
time=TH0*+TL0;
TH0=;
TL0=;
S=(time*1.87)/; //算出来是CM
if(flag==) //超出测量
{
flag=;
printf("-----\n");
}
printf("S=%f\n",S);
}
/********************************************************/
void delayms(unsigned int ms)
{
unsigned char i=,j;
for(;ms;ms--)
{
while(--i)
{
j=;
while(--j);
}
}
}
/********************************************************/
void zd0() interrupt //T0中断用来计数器溢出,超过测距范围
{
flag=; //中断溢出标志
}
/********************************************************/
void StartModule() //T1中断用来扫描数码管和计800MS启动模块
{
TX=; //800MS 启动一次模块
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=;
}
/********************************************************/
void main(void)
{
TMOD=0x21; //设T0为方式1,GATE=1;
SCON=0x50;
TH1=0xFD;
TL1=0xFD;
TH0=;
TL0=;
TR0=;
ET0=; //允许T0中断
TR1=; //开启定时器
TI=; EA=; //开启总中断 while()
{
StartModule();
while(!RX); //当RX为零时等待
TR0=; //开启计数
while(RX); //当RX为1计数并等待
TR0=; //关闭计数
Conut(); //计算
delayms(); //100MS
}
}

[51单片机] HC-SR04超声波测距仪 基础代码的更多相关文章

  1. 【零基础】彻底搞懂51单片机各种型号(ATMEL系列)

    零.前言 初学者开始学习51单片机时往往先是一愣,说好51单片机啊,咋个型号是AT89C52,这个S52又是咋回事?上学的时候大都懵懵懂懂就这么用着,但始终没整明白,所以今天我们就彻底搞明白这些“51 ...

  2. 【零基础】入门51单片机图文教程(Proteus+Keil)

    参考资料: https://www.jianshu.com/p/88dfc09e7403 https://blog.csdn.net/feit2417/article/details/80890218 ...

  3. 单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境

    在Linux下没有像keli那样好用的IDE来开发51单片机,开发环境只能自己搭建了. 第一步:安装交叉编译工具 a) 安装SDCC sudo apt-get install sdcc b)测试SDC ...

  4. #51单片机#超声波测距(HC-SR04)的使用方法

    #51单片机#超声波测距(HC-SR04)的使用方法

  5. [新概念51单片机C语言教程·郭天祥] 1、 基础知识必备

    目录: 单片机的大致介绍         1-1.通俗定义         1-2.51系列产品         1-3.标号意思         1-4.引脚介绍         1-5.用C语言开 ...

  6. 51单片机学习笔记(郭天祥版)(1)——单片机基础和点亮LED灯

    关于单片机型号的介绍: STC89C52RC40C-PDIP 0721CV4336..... STC:STC公司 89:89系列 C:COMS 52(还有51,54,55,58,516,):2表示存储 ...

  7. 使用内存地址点亮LED—跟51单片机一样写代码教学(初步入门)

    51单片机点亮一个小灯 #include <rge52.h> sbit LED = P0^ void main(void) { P0 = 0XFE; // 总线操作 sfr P0 0X80 ...

  8. 【雕爷学编程】Arduino动手做(58)---SR04超声波传感器

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...

  9. [学习笔记]15个QA让你快速入门51单片机开发

    一.C语言相关 Q1:sbit与sfr代表是什么?有什么作用? Q2:#define OSC_FREQ  22118400L这句宏命令里的“L”是什么意思? Q3:我粘贴了别人的代码,怎么发现没有un ...

随机推荐

  1. IRelationalOperator空间关系接口简介

    几何对象之间都存在某种关联关系,如包含,相等,在内部,相交,叠加等.这些关联关系的获得都可以通过IRelationalOperator接口来获得,关系运算是在两个几何对象间进行的,通过IRelatio ...

  2. oracle全文检索

    全文检索 oracle对使用几十万以上的数据进行like模糊查询速度极差,包括 like 'AAA%' ,like '%AAA',like '%AAA%',like '%A%A%'的那些模糊查询.网上 ...

  3. okhttp-utils的封装之okhttp的使用

    HTTP是现代应用的网络.这就是我们如何交换数据和媒体.让你的东西做HTTP有效负载的速度和节省带宽. okhttp是HTTP客户端的有效默认: HTTP 2支持允许所有请求相同的主机共享一个插座. ...

  4. 网络请求框架----HttpClient的get,post和图片上传服务器

    HttpClient是Apache Jakarta Common下的子项目,用来提供高效的.最新的.功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议.HttpCli ...

  5. C# 命令绑定

    在构建WinForm程序中,为了使系统的结构清晰,有好的用户交互体验,实现不同按钮之间的交互,不使主窗体里面的代码臃肿.将按钮的命令通过类进行绑定,实现命令的管理使很有必要的. 该文章是将如何实现Bu ...

  6. sourceTree忽略跟踪文件

    1.未跟踪文件,直接在.gitignore文件打上文件名字,如果要忽略整个文件夹,要在文字后面加上一个/ .如:gradle/ . 2.已跟踪文件,先删除那些文件,再提交到git上,即删除远程的文件, ...

  7. DNA Pairing

    function pair(str) { //return str; var arr = str.split(''); var pait = ''; var result = arr.map(func ...

  8. 技术英文单词贴--E

    E element 元素,成分,要素 expire 到期,终止,期满

  9. GIS开发环境全面升级10.1

    最近,因为公司开发的需要,对开发环境进行全面的升级,在这其中也遇到了不少问题,在之后将陆续整理出来,以便以后查看. 之前开发环境:VS2008,ArcGIS9.3,ArcEngine9.3,Oracl ...

  10. Windows平台使用Gitblit搭建Git服务器图文教程

    Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭源的项目就会收取昂贵的费用,如果你不缺米,那么不在本文讨论的范 ...