51单片机超声波测速+串口发送距离


超声波测距 + 串口发送距离

#include<reg51.h>  
#include<intrins.h>  
  
#define uint unsigned int  
#define uchar unsigned char  
sbit trig=P1^7;  
sbit echo=P3^2;  
float tA,dis;  
  
uint distance,timeh,timel;  
void delay(uint z)  
{  
    uint x,y;  
    for(x=z;x>0;x--)  
       for(y=1100;y>0;y--);  
}  
void delay20us()  
{  
    _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();   
    _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();   
}  
  
void initT1_SCI()  
{  
   SM0 = 0; //  
   SM1 = 1; //10位异步收发,波特率可变  
  
   TMOD = 0x21;  
   TH1 = 0xfd;            
   TL1 = 0xfd;     
   TR1 = 1;            
}  
  
void Trig()  
{  
    trig = 0;  
    echo = 0;  
    TH0 = 0;  
    TL0 = 0;   
  
    trig = 1;  
    delay20us();  
    trig = 0;  
      
    while(echo =
  • 10
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值