红外测距传感器(GP2D12、74HC595、ADC0832)

应用

汽车雷达(倒车、开车时,在一定的距离内遇到障碍物会发出报警声)

要做的项目

描述:数码管显示距离值的GP2D12仿真测距警报器
功能:将红外传感器感知距离用LCD显示距离值,在小于30cm时,发出报警

原理

发送红外线、接收红外线
在这里插入图片描述
距离和电压的关系是:随着距离的增大,电压是先升后降
在这里插入图片描述
将距离R产生的电压V(模拟信号)传到ADC0832,ADC0832会把电压值V转化为数字值,然后可根据公式计算将数字值转化为距离R(以下是计算公式)
在这里插入图片描述
在这里插入图片描述

仿真效果图

在这里插入图片描述

在这里插入图片描述

74HC595的作用(串入)

可想象成一群人排队入座,假设有3个人,3个座位;
第一个人进去坐第一个位;
当第二个人进来时,第一个人坐第2个位,第二个人坐第一个位;
当第三个人进来时,第一个人坐第3个位,第二个人坐第2个位,第三个人坐第3个位;

如:1111_1010,先从高位读起,则左边的1先进,然后按上面的原理,接着是下一个1进来

项目目录

在这里插入图片描述

ADC0832X.c(延用之前的,但注意CS、CLK、DIO所对应的端口发生了变化)

#include<reg51.h>	   
#include<intrins.h>   
#include<string.h>     
#include<stdio.h>

#define INT8U  unsigned char
#define INT16U unsigned int
#define INT32U unsigned long

sbit CS=P0^2;	  
sbit CLK=P0^1;	     
sbit DIO=P0^0;

INT8U Get_AD_Result()
{
   	 
	INT8U i=0,dat1=0x00,dat2=0x00;
	CS=0;//片选
	CLK=0;_nop_();_nop_();
	DIO=1;//启动0832
	CLK=1;_nop_();_nop_();	


	CLK=0;_nop_();_nop_();
	DIO=1;//选择单通道还是双通道
	CLK=1;<
  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值