关键词不能为空

当前您在: 主页 > 英语 >

51单片机超声波模块的C语言程序

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-09 07:59
tags:

-

2021年2月9日发(作者:信息栏)


//


超声波模块程序



//


超声波模块程序



//Trig = P2^0


//Echo = P3^2


#include


#define uchar unsigned char


#define uint unsigned int


int time;


int succeed_flag;


uchar timeL;


uchar timeH;


sbit Trig=P1^0;


sbit Echo=P3^2;


uchar code


table[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,


0x6f};


uchar code table1[]={0,1,2,3,4,5,6,7};


//


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;


P2=table1[2];


P0=table[ge];


delay(1);


P2=table1[1];


P0=table[shi];


delay(1);


P2=table1[0];


P0=table[bai];


delay(1);


}


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


**********


void main()


{


uint distance;


// test =0;


Trig=0; //


首先拉低脉冲输入引脚



EA=1; //


打开总中断


0


TMOD=0x10; //


定时器

< p>
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.0172; //


厘米




}


if(succeed_flag==0)


{


distance=0; //


没有回波则清




// test = !test; //


测试灯变化



}


display(distance);


}


}


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


**********


//


外部中断


0


,用做判断回波电平



void exter() interrupt 0 //

< br>外部中断


0



0




{


EX0=0; //


关闭外部中断



timeH =TH1; //


取出定时器的值



timeL =TL1; //


取出定时器的值



succeed_flag=1;//


至成功测量的标志



}


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


********* **


//


定时器


1

< br>中断


,


用做超声波测距计时



void timer1() interrupt 3 //


{


TH1=0;


TL1=0;


}







1602


液晶显示



的超声波模块程序



接口程序里边都有、、


-


-


-


-


-


-


-


-



本文更新与2021-02-09 07:59,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/619894.html

51单片机超声波模块的C语言程序的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文