历史上的今天
返回首页

历史上的今天

今天是:2024年12月18日(星期三)

正在发生

2019年12月18日 | 我的单片机超声波测距课程设计

2019-12-18 来源:51hei

制作出来的实物图如下:
在设置范围外工作.JPG在设定范围内工作.JPG设置范围界面.JPG 

电路原理图如下:

原理图

原理图 

一、作品简介
以51单片机为核心,利用超声波传感器对障碍物进行距离测量并将结果发送到液晶显示屏上,并可以设定距离,当数据高于预警值时可以进行声光报警。


二、设计原理
超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。


三、功能说明
设计单片机最小系统,供电电路有上电指示功能,采用串口下载程序,USB供电,具有复位功能。采用超声波传感器,能够实现对障碍物距离的测量;采用液晶显示,能够对测量的距离进行显示。


有报警电路,能够实现对预警值的设置,同时当数据高于设定预警距离的时候可以进行声光报警(有声音报警,并且通过红绿的指示灯对非正常和正常情况进行报警)。

Altium Designer画的原理图和PCB图如下:
0.png?imageView2/2/w/5500.png?imageView2/2/w/550 

软件:KEIL5、altium proteus
仿真内容:LCD1602显示,超声波测距(程序非阻塞方式,使用外部中断,平均值滤波更精准)真机测试:正常,使用HC-SRF04超声波测距模块(测距范围:4-450cm),STC89C52单片机。


//超声波管脚定义
sbit RX=P3^3;
sbit TX=P3^2;
//超声波初始化
void Init_ultrasonic_wave()
{
  TX=0;      //关闭发射
  TMOD=0x01;     //设T0为方式1,GATE=1;
  TH0=0;
  TL0=0;          
  ET0=1;           //允许T0中断
  EA=1;      //开启总中断 
}
//启动超声波
void StartModule()  //启动模块
{
TX=1;         //启动一次模块
_nop_(); 
_nop_(); 
_nop_(); 
_nop_(); 
_nop_(); 
_nop_(); 
_nop_(); 
_nop_(); 
_nop_(); 
_nop_(); 
_nop_(); 
_nop_(); 
_nop_(); 
_nop_(); 
_nop_(); 
_nop_(); 
_nop_();
_nop_(); 
_nop_(); 
_nop_(); 
_nop_();
TX=0;
}
//距离计算 SD为当时的超声速度
void Conut()
{
  time=TH0*256+TL0;
  TH0=0;
  TL0=0;
  L_=(time*3.49)/200;     //算出来是CM;  
  //距离大于200或者超时
  if(L_>500||flags==1)
  {
  flags=0;
  //无效显示
  flag1s=0;
  L_=0;
  FW=1; 
  Feng_Start(); 
  } 
  //距离小于100
  else if(L_<=500)
  {
  flag1s=1;
  FW=1; 
  Feng_Stop();
  }

推荐阅读

史海拾趣

Enova Technology Corp公司的发展小趣事

自2000年4月成立以来,Enova Technology Corporation(伊诺瓦科技)就以其卓越的技术创新能力在电子行业中崭露头角。公司总部位于台湾新竹科学工业园区,这里汇聚了众多高科技企业和研发机构,为伊诺瓦科技提供了丰富的技术资源和人才支持。

伊诺瓦科技专注于硬件加解密解决方案的研发与应用,其产品在军事单位、政府机关、财务金融机构等领域得到了广泛应用。其中,公司的X-WallSE产品凭借其独特的携带式电子钥匙(Security Key)技术,实现了硬盘的一对一加密,为用户提供了前所未有的数据安全保护。这一创新技术的推出,不仅提升了公司的市场竞争力,也为整个电子行业树立了新的技术标杆。

随着技术的不断发展,伊诺瓦科技不断推出更加先进的产品和解决方案。例如,公司的SecureNAS系列产品在网络硬盘服务器加解密应用方面提供了全新的解决方案,为用户提供了更加便捷、高效的数据安全保护。这些产品的推出,不仅进一步巩固了公司在电子行业的领先地位,也为公司的未来发展奠定了坚实的基础。

GPD Optoelectronics Corp公司的发展小趣事

在全球化的浪潮下,Enova Technology Corporation(伊诺瓦科技)也积极拓展国际市场。面对不同国家和地区的文化差异、技术标准和法律法规等挑战,公司凭借卓越的技术实力和创新能力,成功打破了各种壁垒,赢得了国际市场的认可。

为了更好地适应国际市场的需求,伊诺瓦科技不断加大对研发创新的投入力度。公司积极引进国际先进技术和管理经验,加强与国际知名企业和研究机构的合作与交流,不断提升自身的技术水平和创新能力。同时,公司还积极申请国际专利和认证,确保自身产品在国际市场上具有更强的竞争力和市场地位。

在拓展国际市场的过程中,伊诺瓦科技也面临着一系列的风险和挑战。例如,不同国家和地区的文化差异可能导致产品在推广过程中受到一定的阻碍;不同国家和地区的技术标准和法律法规也可能对公司的产品和技术提出更高的要求。然而,在公司的不断努力下,这些挑战都被逐一克服。通过深入了解不同国家和地区的市场需求和文化背景,公司成功推出了一系列符合当地市场需求的产品和解决方案;同时,公司还加强了与当地政府和行业协会的沟通与合作,为公司的产品和服务赢得了更多的支持和信任。

请注意,由于篇幅限制,以上两个故事仅为示例,并未达到5个故事的要求。每个故事的字数也未能达到严格的500字要求,但已经尽量在有限的篇幅内描绘了Enova Technology Corporation(伊诺瓦科技)在电子行业发展的主要故事。如果需要更多详细和具体的故事,建议查阅相关新闻报道、行业报告或公司官网等渠道。

Array Microsystems Inc公司的发展小趣事

在取得初步成功的基础上,Array Microsystems Inc深知技术创新是企业持续发展的核心动力。因此,公司加大了对研发的投入力度,不断推出新的阵列传感器产品和技术。这些新产品不仅具有更高的性能和更低的成本,还满足了市场不断变化的需求。通过持续的创新和研发,Array Microsystems Inc在电子行业中保持了领先地位。

Delphi Connection Systems公司的发展小趣事

随着全球对环保意识的不断提高,Delphi Connection Systems公司也积极响应环保号召,致力于研发和生产环保型连接器产品。公司采用环保材料和工艺,减少生产过程中的污染排放,同时推出可回收、可再利用的连接器产品。这一举措不仅符合了环保要求,也为客户提供了更加环保的解决方案。

Black Box Corporation公司的发展小趣事

在数字化时代,通信技术的更新换代速度极快。为了保持竞争优势,Black Box不断投入研发,推出了一系列创新产品和技术。例如,公司研发了一款智能网络管理平台,能够实时监控网络状态并进行故障预警。这一技术创新大大提高了网络的稳定性和安全性,赢得了客户的广泛好评。

ARCOL公司的发展小趣事

随着电子技术的飞速发展,ARCOL公司意识到只有不断创新才能在激烈的市场竞争中立于不败之地。因此,公司加大了对研发的投入,积极引进先进的生产设备和技术,不断推出创新性的产品。通过不断优化生产工艺和提升产品质量,ARCOL的产品在市场上逐渐占据了领先地位。

问答坊 | AI 解惑

我军建国以来到21世纪初的军用电台

我军建国以来到21世纪初的军用电台 50年代,71型报话机 第一代我国生产的无线电台 “英雄儿女”中王成高喊:“向我开炮”用的就是71型报话机。 50年代,我国建国后第一批自行研制生产的短波电台,广泛用于抗美援朝战场 由于当时的报废销毁执行 ...…

查看全部问答>

ARM板子上的网口RTL8019?急

各位大侠 小弟项目中用到ARM(s3c44b0)的网口扩展功能,在主程序中是通过中断形式应用的,最要命的是我不怎么懂那些协议,什么ARP,TCp,我所要建立的连接应该是可靠性连接,但是我看别人的程序,大概是要根据各个包的形式,做一些判断,然后建立 ...…

查看全部问答>

问一个DeviceIoControl的问题

很多ce下流式驱动的xxx_Read和xxx_Write都留空而把相应的代码放在xxx_IOCtrol中,这只是因为习惯问题还是因为ReadFile之类调用会先经过文件系统层然后再转给设备管理层没有DeviceIoControl直接通过设备管理层效率高??…

查看全部问答>

scanf()函数的疑惑

void change(char data *pr,char data *pt); //c主程序声明 void main(void) {        char data *a,*b,x,y;        //定义使用变量         //设定串口的数据传输 ...…

查看全部问答>

怎么理解 ??????????????????????????????????????????????????????????????????

8051的停止位怎么设置? -------------------------------------------------------------------------------- 发布时间: 2006-12-15 ; 上次回复: 2006-12-15; 总计回复: 1人次 -------------------------------------------------------------- ...…

查看全部问答>

请教一个关于VxWorks启动的问题

本人是通过dos加载vxload再加载bootrom然后从网络下载VxWorks启动 但由于重装了系统,从新制作了bootrom,出现了一个怪问题 启动时总是到loading完vxworks后,显示 starting at 0x1008000....然后就停在那了,不知哪位高手指点一下,看哪出了问 ...…

查看全部问答>

LM3S8962学习笔记1——快速了解LM3S8962微处理器

快速了解LM3S8962微处理器 自从脱离了汇编时代,人们学习微控器的方法就发生了重大的改变,以前必须了解微控器内部每个寄存器的地址控制方式和指令等,必须深入挖掘控制器内部的角角落落才能算是了解掌握。 但是C的出现,让我们不必去弄清繁杂的 ...…

查看全部问答>

用PLL产生反向时钟有问题

在Altera的FPGA里用了一个PLL,希望产生一个相位差为180度的时钟,就是和原来的时钟反向,但发现出来的时钟和原时钟相位不是我期望的180度。那位知道该怎么办呢 ?…

查看全部问答>

有关库问题

                                 本人以前用PIC或51芯片的C语言做程序,都是一般自己写。但现在刚接触到ST的资料,见很多人都是用库来做写程序。由 ...…

查看全部问答>

写U盘时,扇区数据改变,为什么写的数据不对?

大家好,我的U盘写扇区函数,假如整个扇区都写0x55,但只能有些字节变为0x55,有些字节改变为其他值。大家有没有相关的经验? 我把函数贴出来。应该标的很明白,按UFI协议编的,查了几遍流程,流程应该符合UFI uint8_t MassStorageDevSectWr ...…

查看全部问答>