【单片机期中测试】13.串口通信的应用(2)—— 超声波通过串口返回数据

简介: 【单片机期中测试】13.串口通信的应用(2)—— 超声波通过串口返回数据
#include<reg52.h>
#define uc unsigned char
uc ms=0,s=0;
sbit trig=P1^7;
sbit echo=P1^6;
void delay(uc c)
{
  while(--c);
}
void delay1(uc c1)
{
  uc a,b;
  for(;c1>0;c1--)
    for(a=38;a>0;a--)
      for(b=130;b>0;b--);
}
void putc(uc j)
{
  SBUF=j;
  while(TI==0);
  TI=0;
}
void putstr(uc * k)
{
  while(*k!='\0')
    putc(*k++);
}
void send()
{
  trig=1;
  delay(5);
  trig=0;
}
void main()
{
  TMOD=0X21;  
  TH0=0;
  TL0=0;
  TH1=0XFD;
  TL1=0XFD;
  TR1=1;
  SCON=0X50;
  ET0=1;
  EA=1;
  while(1)
  {
    send();
    while(echo==0);
    TR0=1;
    TH0=0;
    TL0=0;
    while(echo==1);
    TR0=0;
    s=(TH0*256+TL0)/58;
    putstr("距离为:");
    putc(s/100+'0');
    putc(s/10%10+'0');
    putc(s%10+'0'); 
    delay1(20);
  }
}

注:这个程序是利用串口调试工具实现的,所以需要单片机有USB转TTL模块,如果没有需要外界串口模块;同时,串口调试工具不同,返回的字符可能存在译码不正确的情况,如果出现大家可以在评论区或私信交流~

  • 接线:
  • 超声波模块:
  • VCC、GND与单片机的相应引脚连接
  • trig接P1^7
  • echo接P1^6
相关文章
|
监控 安全 Shell
管道符在渗透测试与网络安全中的全面应用指南
管道符是渗透测试与网络安全中的关键工具,既可用于高效系统管理,也可能被攻击者利用实施命令注入、权限提升、数据外泄等攻击。本文全面解析管道符的基础原理、实战应用与防御策略,涵盖Windows与Linux系统差异、攻击技术示例及检测手段,帮助安全人员掌握其利用方式与防护措施,提升系统安全性。
626 6
|
安全 数据管理 测试技术
告别蛮力:让测试数据生成变得智能而高效
告别蛮力:让测试数据生成变得智能而高效
830 120
|
存储 人工智能 测试技术
HarmonyOS Next~HarmonyOS应用测试全流程解析:从一级类目上架到二级类目专项测试
本文深入解析HarmonyOS应用测试全流程,涵盖从一级类目通用测试到二级类目专项测试的技术方案。针对兼容性、性能、安全测试及分布式能力验证等关键环节,提供详细实践指导与代码示例。同时,结合典型案例分析常见问题及优化策略,帮助开发者满足华为严苛的质量标准,顺利上架应用。文章强调测试在开发中的核心地位,助力打造高品质HarmonyOS应用。
902 2
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
1485 11
|
人工智能 缓存 自然语言处理
别再手搓测试数据了!AE测试数据智造系统揭秘
本文介绍如何通过构建基于大语言模型的测试数据智造Agent,解决AliExpress跨境电商测试中数据构造复杂、低效的问题,推动测试效率提升与智能化转型。
别再手搓测试数据了!AE测试数据智造系统揭秘
|
存储 测试技术 API
数据驱动开发软件测试脚本
今天刚提交了我的新作《带着ChatGPT玩转软件开发》给出版社,在写作期间跟着ChatGPT学到许多新知识。下面分享数据驱动开发软件测试脚本。
493 0
|
安全 测试技术 Linux
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
531 2
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
|
测试技术 数据库 Python
解释测试中setup和teardown函数的应用。
总结起来,`setup`和 `teardown`函数就像扔宴会的主人,他们保障了宴会的流畅进行。他们是准备环境和清理现场的重要工作人员,他们的工作直接影响着我们的测试效率和质量。我们可以把 `setup`和 `teardown`想象成隐藏在幕后,默默为我们服务的工作者,他们做着我们需要但是往往忽视的工作。所以,下次当你写测试的时候,别忘了给你的 `setup`和 `teardown`留出足够的位置,因为他们的作用可能是你成功的保证。
403 14
|
机器学习/深度学习 存储 分布式计算
Java 大视界 --Java 大数据机器学习模型在金融风险压力测试中的应用与验证(211)
本文探讨了Java大数据与机器学习模型在金融风险压力测试中的创新应用。通过多源数据采集、模型构建与优化,结合随机森林、LSTM等算法,实现信用风险动态评估、市场极端场景模拟与操作风险预警。案例分析展示了花旗银行与蚂蚁集团的智能风控实践,验证了技术在提升风险识别效率与降低金融风险损失方面的显著成效。
|
人工智能 IDE 测试技术
Browser-Use在UI自动化测试中的应用
Browser-Use是一款浏览器自动化工具,具备视觉与HTML解析、多标签管理、操作记录与复现、自定义操作、自我纠正及并行执行等功能,助力AI智能体高效完成网页任务。
1653 0