超声波测距C程序_第1页
超声波测距C程序_第2页
超声波测距C程序_第3页
超声波测距C程序_第4页
超声波测距C程序_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include<AT89X51.H>#include<intrins.h>/*数码管为共阴数码管*/sbit s0=P27;/个位选通sbit s1=P26;/十位选通sbit s2=P25;/百位选通sbit s3=P24;/千位选通sbit dp=P07;/小数点sbit in=P32;/外部中断,接CX20106的脚sbit csb=P33;/40KHz方波输出脚#define seg P0 /数码管的数据口为P1口#define uchar unsigned char#define uint unsigned int#define nop _nop_()/*/

2、void init(void);/初始化void delay_nms(uint n);/延时nmsvoid delay100us();/延时usvoid display(uint dat);/4位数码管显示函数,只用了位void tran(void);/超声波测量函数/*/uint dis,H=100,L=20;uchar flag=0,high_time,low_time,m=0;uchar leddata= 0x3F, /"0"0x06, /"1"0x5B, /"2"0x4F, /"3"0x66, /"

3、;4"0x6D, /"5"0x7D, /"6"0x07, /"7"0x7F, /"8"0x6F, /"9"0x77, /"A"0x7C, /"B"0x39, /"C"0x5E, /"D"0x79, /"E"0x71, /"F"0x76, /"H"0x38, /"L"0x37, /"n"0x3E, /"

4、;u"0x73, /"P"0x5C, /"o"0x40, /"-"0x00, /熄灭0x00 /自定义;void delay100us() uchar i; for(i=0;i<50;i+) ;/*函数名称:主函数修改日期:入口参数:无返回值: 无*/void main(void)init();while(1) /循环测量并显示tran();/发送超声波信号测距display(dis);/显示距离/*函数名称:初始化函数修改日期:入口参数:无返回值: 无*/void init(void)TMOD=0x01;/定时器方式

5、用于计时TH0=0;TL0=0; /* 设定T0的工作模式为*/EA=1;IT0=1;/下降沿有效,左传感器/*函数名称:延时函数修改日期:入口参数:n返回值: 无*/void delay_nms(uint n)uchar i; while(n-)for(i=123;i>0;i-);/*函数名称:显示函数修改日期:入口参数:data返回值: 无*/void display(uint dat)uchar i,j,k;/分别为百十个位的缓存i=dat/100;/百位j=dat%100/10;/十位k=dat%100%10;/个位s3=1;s2=0;s1=1;s0=1;seg=leddatai

6、;dp=0;delay_nms(2);dp=1;s2=1;s3=1;s2=1;s1=0;s0=1;seg=leddataj;delay_nms(2);s1=1;s3=1;s2=1;s1=1;s0=0;seg=leddatak;delay_nms(2);s0=1;/*函数名称:超声波测量函数修改日期:入口参数:无返回值: 无*/void tran(void)uchar i;float temp;TH0=0;TL0=0;/清定时TR0=1;/开定时for(i=8;i>0;i-)csb=!csb;nop;nop;nop;nop;nop;nop;nop;nop;nop;csb=1;delay_nms(1);EX0=1;/开中断if(flag=1) /中断标志位置,说明有回波 /以下为路程计算temp=high_time*256+low_time;temp=(temp/1000)/2;temp*=340;temp=temp/10;dis=(unsigned int)temp;flag=0;/*函数名称:中断函数修改日期:入口参数:无返回值: 无*/void TT() interrupt 0uint tmp;TR0=0;/关定时器ET0=0;/关外部中断flag=1; /置位标志位tmp=TH0*256+TL0; /读取定时器的值if(tmp>0)&&(tmp&l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论