好文档 - 专业文书写作范文服务资料分享网站

超声波程序

天下 分享 时间: 加入收藏 我要投稿 点赞

.

本人收藏的的一些超声波程序,希望对大家有用(还有原理图,需要的话去我空间去下): 程序一:

#include #define uchar unsigned char #define uint unsigned int #define count 4

uchar data IRcode[4]; //定义一个4字节的数组用来存储代码 uchar table[4];

uchar enled[4]={0x1f,0x2f,0x4f,0x8f};

uchar CodeTemp,temp,tt; //编码字节缓存变量

uchar i,j,k,temp,timeH,timeL,succeed_flag,flag,h,h1,h2,a,key,key1,key2; 循环变量

uint distance,distance1,time; //距离,time

sbit IRsignal=P3^2; //HS0038接收头OUT端直接连P3.2(INT0)sbit come=P3^3; sbit d=P1^1;//发送码 sbit BZ=P1^0; sbit s=P3^7;//38k sbit ss=P3^6;//38k uchar m;// 开关控制

精选文档

//延时用的 .

//sbit n=P2;//电机反转 code

unsigned

char

seg7code[10]={0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28}; //显示段码

/**************************** 定时器0中断 ************************/ void timer0() interrupt 1 {

TH0=(65536-count)/256; TL0=(65536-count)%6; s=~s;//产生38K信号 ss=~ss;//

tt++;//发送超声波个数 }

/**************************** 延时0.9ms子程序 ************************/ void Delay0_9ms(void) { uchar j,k; for(j=18;j>0;j--)

for(k=20;k>0;k--); }

/***************************延时1ms子程序**********************/ void Delay1ms(void) {

精选文档

.

uchar i,j; for(i=2;i>0;i--)

for(j=230;j>0;j--); }

/***************************延时4.5ms子程序**********************/ void Delay4_5ms(void) { uchar i,j; for(i=10;i>0;i--)

for(j=225;j>0;j--); }

/**************************** 解码延时子程序 ************************/ void Delay(void) { uchar i,j,k; for(i=100;i>0;i--) for(j=100;j>0;j--) for(k=3;k>0;k--); }

/**************************** 显示延时子程序 ************************/ void ledDelay(unsigned int tc) //延时程序 {

精选文档

.

unsigned int i,j; for(i=0;i<10;i++) for(j=0;j

/************************************************ ****************/ //定时器1中断,用做超声波测距无回波 void timer1() interrupt 3 { TR1=0; ET1=0; EX1=0; TH1=0; TL1=0; }

/***********************显示程序*********************/ void Led(int date) //显示函数 { int i;

table[0]=date/1000; table[1]=date/100; table[2]=date/10; table[3]=date; date=0;

精选文档

.

for(i=0;i<120;i++) {

P2=enled[i%4]&m;//P2口高四位控制数码管,低位陪分控制继电器

P0=seg7code[table[i%4]]; //取出千位数,查表,输出。 ledDelay(15); } }

/*******************************************************************/ //外部中断1,用做判断超声波回波电平说明测试成功 void int1() interrupt 2 // 外部中断1是0号 {

EX1=0;//关闭外部中断1

TR1=0; ET1=0;

succeed_flag=1;//测试成功标志

}

/****************************超声波测路子函数***********************/ void sound()

{ ET0=1;TR0=1;//开38K超声波输入端 while(tt!=1); //发送几个脉冲的超声

tt=0;//清零重新计数

ET0=0;TR0=0;

精选文档

超声波程序

.本人收藏的的一些超声波程序,希望对大家有用(还有原理图,需要的话去我空间去下):程序一:#include#defineucharunsignedchar#defineuintunsignedint#definecount4uchardataIRcode[4];//定义一个4字节的数组用来存
推荐度:
点击下载文档文档为doc格式
8lbvb2pfke4vbt01gdv99bpag891bi003zd
领取福利

微信扫码领取福利

微信扫码分享