51单片机超声波测距C程序

(2010-01-26 14:09:10) 电子工程师电子资料大学校园

超声波检测原理

超声波测距的程序流程图

程序如下:

//超声波模块程序

#include

#define uchar unsigned char

#define uint unsigned int

//

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

//

void delay_20us()

{

uchar a ;

for(a=0;a<100;a++);

}

//***************************************************************

//显示数据转换程序

void display(uint temp)

{

uchar ge,shi,bai;

bai=temp/100;

shi=(temp%100)/10;

ge=temp%10;

wela=1;

P0=0xf7;

wela=0;

dula=1;

P0=table[bai];

dula=0;

delay(1);

dula=1;

P0=0x00; //关位码

dula=0;

wela=1;

P0=0xef;

wela=0;

dula=1;

P0=table[shi];

dula=0;

delay(1);

dula=1;

P0=0x00; //关位码

dula=0;

dula=1;

P0=table[ge];

dula=0;

wela=1;

P0=0xdf;

wela=0;

delay(1);

dula=1;

P0=0x00; //关位码

dula=0;

}

//***************************************************************

void main()

{

uint distance;

test =0;

Trig=0; //首先拉低脉冲输入引脚

EA=1; //打开总中断0

TMOD=0x10; //定时器1,16位工作方式

while(1)

{

EA=0; //关总中断

Trig=1; //超声波输入端

delay_20us(); //延时20us

Trig=0; //产生一个20us的脉冲

while(Echo==0); //等待Echo回波引脚变高电平

succeed_flag=0; //清测量成功标志

EA=1;

EX0=1; //打开外部中断0

TH1=0; //定时器1清零

TL1=0; //定时器1清零

TF1=0; //计数溢出标志

TR1=1; //启动定时器1

delay(20); //等待测量的结果

TR1=0; //关闭定时器1

EX0=0; //关闭外部中断0

if(succeed_flag==1)

{

time=timeH*256+timeL;

distance=time*0.172; //毫米,便于数码管显示

display(distance);

}

if(succeed_flag==0)

{

distance=0; //没有回波则清零

test = !test; //测试灯变化

}

}

}

//***************************************************************

//外部中断0,用做判断回波电平

void exter() interrupt 0 // 外部中断0是0号

{

timeH =TH1; //取出定时器的值

timeL =TL1; //取出定时器的值

succeed_flag=1;//至成功测量的标志

EX0=0; //关闭外部中断

}

//****************************************************************

//定时器1中断,用做超声波测距计时

void timer1() interrupt 3 //

{

TH1=0;

TL1=0;

}

水下超声波测距c语言程序,51单片机超声波测距C程序相关推荐

  1. 超声波模块c语言编程,51单片机超声波模块的C语言程序.pdf

    //超声波模块程序 //超声波模块程序 //Trig P2^0 //Echo P3^2 #include #define uchar unsigned char #define uint unsign ...

  2. c51c语言编程的音乐程序,51单片机唱歌C51音乐程序.doc

    51单片机唱歌C51音乐程序 51单片机唱歌 C51音乐程序 unsigned char n 0; //n为节拍常数变量 unsigned char code music_tab[] 0x18, 0x ...

  3. 超声波c语言程序,51单片机超声波模块的C语言程序.doc

    51单片机超声波模块的C语言程序.doc 超声波模块程序 超声波模块程序 Trig P20 Echo P32 include define uchar unsigned char define uin ...

  4. 单片机c语言的按键程序,51单片机按键扫描C程序

    原标题:51单片机按键扫描C程序 大二上学期做过80 的按键程序,当时项目要求实现按键控制 屏显示并且接收GPRS传来的数据.当时为了节省成本,就去大西电子市场买来8*8的LED块,然后自己一点一点的 ...

  5. pid控制器c51语言编程,51单片机电机pid控制系统程序

    51单片机电机pid控制系统程序 本程序来源网上,小编进行了简单修改,还未验证. /************************* 应用背景:直流电机的额定功率12V,额定转速3000rpm,光码 ...

  6. 52 8x8点阵c语言程序,51单片机8x8点阵显示程序

    <51单片机8x8点阵显示程序>由会员分享,可在线阅读,更多相关<51单片机8x8点阵显示程序(3页珍藏版)>请在人人文库网上搜索. 1.include #include#de ...

  7. C语言花样霓虹灯程序,51单片机制作霓虹灯的程序+电路图

    霓虹灯的电路图: 霓虹灯的51单片机程序: #include #define uchar unsigned char #define uint unsigned int sbit  RED_LED  ...

  8. 单片机测距雷达c语言代码,51单片机超声波测距倒车雷达Proteus仿真+源代码

    #include #include #include "LCD.H" #include "delay.h" #define  uint unsigned int ...

  9. 8255编程c语言程序,51单片机8255驱动C程序

    /*-------------------------------------------------------------------------------------------------- ...

最新文章

  1. 学好python工资一般多少钱-Python工资多少?就业发展前景怎么样?
  2. 发展医疗大数据 需捅破各层窗户纸
  3. pyecharts line_base绘图只有坐标轴,数据不再数轴上显示
  4. java aop 实例_Spring aop 简单示例
  5. Thunder团队第三周 - Scrum会议6
  6. 王淮经验谈:我的码农原则
  7. python multithreading_操作系统OS,Python - 多进程(multiprocessing)、多线程(multithreading)...
  8. ECCV 2020 | CV “造车”,生成内容一致的车辆数据集 |
  9. mysql 开源订阅模式_Canal(增量数据订阅与消费 )快速配置
  10. Java调用.net开发的webService接口
  11. 在 Linux 虚拟机中手动安装或升级 VMware Tools
  12. yolov4训练自己的数据
  13. VC++中如何让RadioButton分组,并且互斥
  14. eclipseSVN的安装及使用
  15. 计算机网络思科DNS配置,Cisco交换机 正确连接和初级配置
  16. 网站统计系统内容分析
  17. 大数据培训:Hadoop生态系统圈
  18. 如何使用 Windows 10 自带的磁盘清理程序?
  19. xp系统远程桌面关闭计算机,WinXP如何打开远程桌面?WinXP打开远程桌面的命令是什么?...
  20. java计时器脚本_在倒数计时器脚本中跳过很多秒

热门文章

  1. 【Linux】usermod 命令的使用
  2. 配置群晖NAS中的cpolar开机自启动 2-2
  3. 欧几里德 与 扩展欧几里得 学习笔记
  4. python 条形图填充疏密_教你利用Python玩转histogram直方图的五种方法
  5. oracle OCP指南
  6. 【Unity3d】 制作游戏主菜单 GUI
  7. 软件工程第六章——详细设计
  8. 6.easyui+ztree案例:zTree树
  9. Eharts在Android 9.0 webview中 不显示 空白 问题解决方案
  10. 微信小程序组件、web-view、h5之间交互