红外测距传感器GP2D12
应用
汽车雷达(倒车、开车时,在一定的距离内遇到障碍物会发出报警声)
要做的项目
描述:数码管显示距离值的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;<