关键词不能为空

当前您在: 主页 > 英语 >

51单片机测距程序

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

-

2021年2月9日发(作者:pussycat)


/*


功能描述:



按下 按键


k


检测距离,松开锁定结果



按下按键


find


查询历史测量数据 ,本程序可查询


5


次历史数据



按下


out




退出历史数据查询功能



Test


可不接



*/


#include






#define uchar unsigned char


#define uint



unsigned int


#define duan P1







//


数码管段选接口



sbit w1=P2^0;






//


数码管位选接口



sbit w2=P2^1;






//


数码管位选接口



sbit w3=P2^2;






//


数码管位选接口



sbit w4=P2^3;






//


数码管位选接口



sbit Trig=P0^5;







//< /p>


测距模块


Trig


接口

< br>


sbit Echo=P3^2;







//


测距模块


echo

接口



sbit test=P3^1;







//


测试灯接口



sbit k=P3^4;







//


测距按键接口



sbit find=P3^5;







//


查询历史数据按键接口



sbit out=P3^6;






//


退出历史查询按键接口



sbit find_light=P2^4;






//


历史数据查询指示灯(绿灯)



sbit whithout_light=P2^5;





//


历史数据查询完毕指示灯(红灯)



sbit warn=P2^6;


bit succeed_flag;







//


测量成功标志位



uint timeL=0,timeH=0;






//


接收时间数据中间变量



uchar code temp[]={0x3f,0x06,0x5b,0x4f,






0x66,0x6d,0x7d,0x07,






0x7f,0x6f,0x77,0x7c,






0x39,0x5e,0x79,0x71};


uint save[6]={0,0,0,0,0,0};






//


历史数据储存数组



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


延时程序

< p>
********************************/


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 num){










uchar q,b,s,g;



q=num/1000;


b=num/100%10;


s=num/10%10;


g=num%10;


w1=0;




duan=~temp[q];


delay(2);






//


对传入参数进行分解













//


打开位选





//


段选赋值




w1=1;













//


关闭位选




duan=0xff;




w2=0;



duan=~temp[b];



delay(2);



w2=1;



duan=0xff;




w3=0;



duan=~temp[s];



delay(2);



w3=1;



duan=0xff;




w4=0;



duan=~temp[g];



delay(2);



w4=1;



duan=0xff;



}


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


void main(){







uint d,time=0;



uchar u,s=1;



find_light=1;



whithout_light=1;



P0=0xdf;






test =0;






Trig=0;













EA=1;


















//


打开中断总开关







TMOD=0x10;











//< /p>


定时器


1


工作在方式

1






while(1){










if(k==0){








//


按键按下则测量,松开则锁定





delay(10);









//


延时消抖





if(k==0){

-


-


-


-


-


-


-


-



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

51单片机测距程序的相关文章

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

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

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

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

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

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

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

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

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

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

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

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

    小学作文