【单片机期中测试】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
相关文章
|
2月前
|
敏捷开发 测试技术 持续交付
探索自动化测试在敏捷开发中的应用与挑战
本文深入探讨了自动化测试在现代软件开发流程,特别是敏捷开发环境中的重要作用和面临的挑战。通过分析自动化测试的基本原理、实施策略以及在实际项目中的应用案例,揭示了其在提高软件质量和加速产品交付方面的巨大潜力。同时,文章也指出了自动化测试实施过程中可能遇到的技术难题、成本考量及团队协作问题,并提出了相应的解决策略,为软件开发团队提供了有价值的参考和指导。
|
1月前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
9天前
|
分布式计算 Shell MaxCompute
odps测试表及大量数据构建测试
odps测试表及大量数据构建测试
|
15天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
32 11
|
17天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
42 10
|
2月前
|
jenkins 测试技术 持续交付
探索自动化测试在持续集成中的应用与挑战
本文深入探讨了自动化测试在现代软件开发流程,特别是持续集成(CI)环境中的关键作用。通过分析自动化测试的优势、实施策略以及面临的主要挑战,旨在为开发团队提供实用的指导和建议。文章不仅概述了自动化测试的基本原理和最佳实践,还详细讨论了如何克服实施过程中遇到的技术难题和管理障碍,以实现更高效、更可靠的软件交付。
|
2月前
|
机器学习/深度学习 人工智能 测试技术
探索自动化测试框架在软件开发中的应用与挑战##
本文将深入探讨自动化测试框架在现代软件开发过程中的应用,分析其优势与面临的挑战。通过具体案例分析,揭示如何有效整合自动化测试以提升软件质量和开发效率。 ##
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
45 6
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
74 1
|
2月前
|
敏捷开发 监控 jenkins
探索自动化测试框架在敏捷开发中的应用与优化##
本文深入探讨了自动化测试框架在现代敏捷软件开发流程中的关键作用,分析了其面临的挑战及优化策略。通过对比传统测试方法,阐述了自动化测试如何加速软件迭代周期,提升产品质量,并针对实施过程中的常见问题提出了解决方案。旨在为读者提供一套高效、可扩展的自动化测试实践指南。 ##
53 9