产品推荐:水表|流量计|压力变送器|热电偶|液位计|冷热冲击试验箱|水质分析|光谱仪|试验机|试验箱


仪表网>技术中心>应用设计>正文

欢迎联系我

有什么可以帮您? 在线咨询

超声波测距仪的编程设计

   2012年01月06日 14:42  
  概述:超声波测距器在汽车倒车,建筑工地和一些工业现场有着很广泛的用途。其测量范围0.10~4.0m,测量精度可高达1cm左右。
  
  本设计采用新型8051控制器c8051f020,系统采用22.1184MHZ的高精度晶振,来获得稳定的时间频率,以减少测量误差。C8051f020用P3.0端口输出超声波换能器所需的40khz方波信号,利用中断口检测超声波接收电路输出的返回信号。显示电路采用SPI延伸的LCD1602液晶。
  
  本设计的重点就是超声波的接收和发射电路。
  
  超声波的发射电路如下图1.2
  
  图1.2
  
  发射电路主要由反向器74HC04和超声波换能器构成,P3.0端口输出的40khz方波信号一路经反向器送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种方式可以提高超声波的发射强度。
  
  超声波接收电路如下图1.3
  
  图1.3
  
  集成电路CX20106A是一款红外接收的芯片,常用于电视红外遥控器。常用的载波频率38khz与测距的40khz较为相近,可以利用它来做接收电路。适当的改变C3的大小,可以改变接受电路的灵敏度和抗*力。
  
  显示电路如下图1.4
  
  采用c8051f020的SPI从而驱动595控制lcd1602.其中LCDCS为595的片选信号
  
  本设计把片选信号定义为P3.1.
  
  sbitLCDCSP3^1;
  
  另一个重点就是超声波测距的算法计算。
  
  D=S/2(v+t)/2---------------------------------------------------------------------------(1-1)
  
  其中D为被测物与测距器的距离。
  
  S为声波的来回路程。
  
  V为声速。
  
  T为所用时间。
  
  C8051F020外设及其丰富,本设计只用到了外部中断和SPI的部分管脚,在此基础上还可以增加不少内容,纯粹使用前后台系统,会使系统的适时性受到限制,在下篇我会详细介绍基于c8051f020的ucos_II的移植。
  
  代码部分:
  
  //-------------------------------------------------------------------------
  
  //SPI_Init()
  
  //-------------------------------------------------------------------------
  
  voidSPI0_Init(void)
  
  {
  
  SPI0CFG=0x07;//datasampledon1stSCKrisingedge
  
  //8-bitdatawords
  
  SPI0CFG|=0x40;//CKPOL=1;01000111
  
  SPI0CN=0x03;//Mastermode;SPIenabled;flags
  
  //cleared
  
  SPI0CKR=SYSCLK/2/2000000-1;//SPIclock<=8MHz(limitedby
  
  //EEPROMspec.)
  
  }
  
  voidMSPI_SendData(unsignedcharddata)
  
  {
  
  LCDCS=0;//片选HC595
  
  SPIF=0;
  
  SPI0DAT=ddata;
  
  while(SPIF==0);//等待写结束
  
  LCDCS=1;
  
  }

免责声明

  • 凡本网注明“来源:仪表网”的所有作品,均为浙江兴旺宝明通网络有限公司-仪表网合法拥有版权或有权使用的作品,未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:仪表网”。违反上述声明者,本网将追究其相关法律责任。
  • 本网转载并注明自其它来源(非仪表网)的作品,目的在于传递更多信息,并不代表本网赞同其观点或和对其真实性负责,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品第一来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
联系我们

客服热线: 15024464426

加盟热线: 15024464426

媒体合作: 0571-87759945

投诉热线: 0571-87759942

关注我们
  • 下载仪表站APP

  • Ybzhan手机版

  • Ybzhan公众号

  • Ybzhan小程序

企业未开通此功能
详询客服 : 0571-87759942