DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1160|回复: 0
打印 上一主题 下一主题

[待整理] 超声波测距器的设计

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-12 13:11:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
  超声波测距器在汽车倒车,建筑工地和一些工业现场有着很广泛的用途。其测量范围0.10~4.0 m,测量精度可高达1 cm左右。
  本设计采用新型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 .

  sbit LCDCS P3^1;

  另一个重点就是超声波测距的算法计算。

  D = S/2(v+t)/2 ---------------------------------------------------------------------------(1-1)

  其中D为被测物与测距器的距离。

  S为声波的来回路程。

  V为声速。

  T为所用时间。

  C8051F020 外设及其丰富,本设计只用到了外部中断和SPI的部分管脚,在此基础上还可以增加不少内容,纯粹使用前后台系统,会使系统的适时性受到限制,在下篇我会详细介绍基于c8051f020的ucos_II的移植。

  代码部分:

  //-------------------------------------------------------------------------

  // SPI_Init()

  //-------------------------------------------------------------------------

  void SPI0_Init (void)

  {

   SPI0CFG = 0x07; // data sampled on 1st SCK rising edge

   // 8-bit data words

   SPI0CFG|=0x40; //CKPOL =1;01000111

   SPI0CN = 0x03; // Master mode; SPI enabled; flags


   // cleared

   SPI0CKR = SYSCLK/2/2000000-1; // SPI clock <= 8MHz (limited by

   // EEPROM spec.)

  }

  void MSPI_SendData(unsigned char ddata)

  {

   LCDCS = 0; // 片选HC595

   SPIF = 0;

   SPI0DAT = ddata;

   while (SPIF == 0); // 等待写结束

   LCDCS = 1;

  }

                                                        

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-8 12:43 , 耗时 0.551631 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表