基于单片机的超声波液位测量系统本科生毕业设计(论文) - 百度文库 ر

ҵƣģ

a=distance_data;

if(b==a) CONT_1=0; if(b!=a) CONT_1++; if(CONT_1>=3) }

//*************************************************************** //ⲿж0жϻزƽ INTO_() interrupt 0 // ⲿж0 {

outcomeH =TH1; //ȡʱֵ outcomeL =TL1; //ȡʱֵ succeed_flag=1; //ɹı־ EX0=0; //رⲿж }

//**************************************************************** //ʱ0ж,ʾ

timer0() interrupt 1 // ʱ0ж1 {

TH0=0xfd; //д붨ʱ0ʼֵ

TL0=0x77;

switch(flag)

case 0x01:P0=shi;P2=0xfe;flag++;break; case 0x02:P0=bai;P2=0xfb;flag=0;break;

{ CONT_1=0;

b=a;

conversion(b); }

i=0; }

/// }

///

{case 0x00:P0=ge; P2=0xfd;flag++;break;

} }

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

35

ҵƣģ

/*

//ʱ1ж,ʱ timer1() interrupt 3 // ʱ0ж1 { TH1=0; TL1=0; } */

//****************************************************************** //ʾת

void conversion(uint temp_data) {

uchar ge_data,shi_data,bai_data ; bai_data=temp_data/100 ;

temp_data=temp_data0; //ȡ shi_data=temp_data/10 ;

temp_data=temp_data; //ȡ ge_data=temp_data;

bai_data=SEG7[bai_data]; shi_data=SEG7[shi_data]; ge_data =SEG7[ge_data];

EA=0; bai = bai_data; shi = shi_data; ge = ge_data ; }

//****************************************************************** void delay_20us() { uchar bt ;

for(bt=0;bt<100;bt++); } EA=1;

36

ҵƣģ

/*

void pai_xu() { uint t;

if (distance[0]>distance[1])

{t=distance[0];distance[0]=distance[1];distance[1]=t;} /*ֵ if(distance[0]>distance[2])

{t=distance[2];distance[2]=distance[0];distance[0]=t;} /*ֵ if(distance[1]>distance[2])

{t=distance[1];distance[1]=distance[2];distance[2]=t;} /*ֵ } */

4.5 ϵͳӲĵ

ǵ͵ԶȽϼ򵥣гͽղ?15ijtct40-10f1(T)CX20106ARգƵΪ40kHzװʱӦƽв4~8cmԪҪܽܵ·ý߿ݲΧҪͬʵջӵ˲C16ĴСԻúʵĽȺͿ

Ӳ·ɲԺú󣬱ɽصƬСʵ޸ijӳÿη͵Ⱥβļʱ䣬ӦͬIJҪƵĵ·ͳ򣬲ܲķΧΪ0.075.5m1cmϵͳӦԲظһԽжʵ

4.6 Է

ϵͳʹ51ƬΪԹߣkeilóͨRS232صAT89C51Ƭϣɽгԡ

4.6.1 LEDʾĵ

ʾĵԣҪLEDܷʾ

ʾһ޸ģʾд롰1234󣬽صƬУϵ縴λLEDʾΪ1234˵ʾ

37

ҵƣģ

4.6.2 ¶Ȳĵ

¶ȳĵԣҪDz¶Ƿȷ

¶ȲʾϣLEDʾǰ¶ȡ󣬽صƬУϵ縴λLEDʾ28.5桱˵¶Ȳ ŻϵͳʹﵽʵʹõIJҪ

38