送货至:

 

 

基于PIC16F877的红外测距系统

 

2025-06-13 09:36:47

晨欣小编

一、红外测距系统概述

1.1 红外测距的基本原理

红外测距主要利用红外光的反射原理三角测量原理实现距离检测:

  • 主动式红外测距:红外发射器发出一束光,遇到障碍物后反射,红外接收器接收反射信号,并根据反射强度或角度计算距离。

  • 典型模块:如Sharp GP2Y0A21YK0F红外测距模块,输出为模拟电压,电压与距离成非线性关系。

1.2 系统特点

  • 测距范围:一般为10cm~80cm;

  • 精度适中,响应快;

  • 抗干扰能力强,适合室内场景。


二、PIC16F877单片机简介

2.1 芯片概览

PIC16F877是Microchip公司推出的8位高性能RISC单片机,主要特性如下:

  • 主频:20MHz;

  • I/O口:33个通用引脚;

  • A/D转换器:8通道10位ADC;

  • 串口通信:支持USART;

  • 存储容量:8K字节程序存储器、368字节RAM;

  • 编程方式:支持ICSP。

2.2 优势分析

  • 具备多路A/D转换能力,适合读取红外模块模拟输出;

  • 中断系统完善,利于控制实时响应;

  • 功耗低,适用于电池供电设备。


三、系统总体结构设计

3.1 系统构成框图

css复制编辑[红外测距模块] → [PIC16F877 A/D输入] → [数据处理] → [LCD显示/串口输出]

3.2 硬件组成

部件

功能说明



PIC16F877 单片机

主控核心,负责采集、计算与显示

红外测距模块(如GP2Y0A21)

输出与目标距离相关的模拟电压

LCD1602 液晶显示屏

实时显示测得距离值

电源模块

提供5V稳压电源

串口模块(可选)

用于将测距数据上传至上位机

电阻、电容等基础元件

构成滤波、电平匹配等辅助电路

四、红外模块与单片机接口设计

4.1 红外模块输出特性

以GP2Y0A21YK0F为例:

  • 输出电压范围:0.4V ~ 2.4V;

  • 距离范围:10cm ~ 80cm;

  • 电压与距离成反比(非线性关系);

  • 响应时间:39ms(典型值)。

4.2 A/D通道连接

  • 将红外模块输出端连接至PIC16F877的AN0通道

  • 启用ADC模块,设置基准电压为5V;

  • 采样电压转换为数字值,精度为10位(0~1023);

  • 利用查表或拟合函数将电压转换为距离。


五、软件设计与控制流程

5.1 主程序流程图

复制编辑系统初始化 →红外模块采样 →ADC转换 →距离计算 →LCD显示或串口发送 →延时或中断等待 →循环执行

5.2 关键模块详解

(1)ADC初始化与采样

c复制编辑void ADC_Init(){    ADCON0 = 0x41; // 选择AN0,启动ADC    ADCON1 = 0x80; // 设置结果右对齐}unsigned int ADC_Read(){    ADCON0 |= 0x04; // 启动转换    while(ADCON0 & 0x04); // 等待完成    return ((ADRESH << 8) + ADRESL);}

(2)电压到距离转换(拟合公式)

可用经验公式拟合,如:

c复制编辑float voltage = adc_value * 5.0 / 1023;float distance = 27.86 * pow(voltage, -1.15); // 实测拟合

或采用查表法提高精度。

(3)LCD 显示

c复制编辑lcd_set_cursor(1,1);lcd_print("Dist:");lcd_print_float(distance);lcd_print(" cm");

六、系统性能测试与优化

6.1 测试参数

距离(cm)

模块输出(V)

ADC值

计算距离(cm)





10

2.4

490

10.2

20

1.6

327

19.7

40

0.8

163

39.1

70

0.5

102

69.8

6.2 优化建议

  • 增加滑动平均滤波,降低跳变误差;

  • 添加温度补偿机制(对于某些应用);

  • 将数据上传至上位机进行可视化分析。


七、典型应用场景分析

应用场景

实现方式



智能小车避障

每隔30ms测距一次,小于阈值即转向

安全距离警示

距离过近蜂鸣报警或LED提示

工业传送带计数

利用红外探测物体进入/离开判断计数

自动门控制

人体接近门时触发开门机制

八、结语

基于PIC16F877的红外测距系统结构简单、成本低廉,但却拥有良好的扩展性与可靠性。通过合理选型、精准拟合与稳定算法,能够实现满足大多数入门级或中低速工业应用的测距功能。

未来可以通过引入数字滤波算法红外测距阵列、**无线通信模块(如蓝牙/WiFi)**进一步提升系统智能化水平,向物联网感知层迈进。


 

上一篇: 幅度调制的解调四种方式详解
下一篇: 线性稳压器 IC 引脚保护全攻略

热点资讯 - 技术支持

 

嵌入式通信 UART 大揭秘:经典面试题深度剖析
透彻剖析:三极管基本工作原理全解析
全面解析:伺服电机、舵机与步进电机的差异区分
基于PIC16F877的红外测距系统
基于PIC16F877的红外测距系统
2025-06-13 | 1038 阅读
幅度调制的解调四种方式详解
幅度调制的解调四种方式详解
2025-06-13 | 1238 阅读
什么是光电探测器?光电探测器如何区分?
PLC控制系统输入/输出回路的隔离技术
漏电保护开关的工作原理、接线方法及注意
收起 展开
QQ客服
我的专属客服
工作时间

周一至周六:09:00-12:00

13:30-18:30

投诉电话:0755-82566015

微信客服

扫一扫,加我微信

0 优惠券 0 购物车 BOM配单 我的询价 TOP