news 2026/3/31 20:36:38

基于单片机测距系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于单片机测距系统

摘 要

现代科学技术的发展,进入了许多新领域,而在测距方面先后出现了激光测距、微波雷达测距、超声波测距及红外线测距。
为了实现物体近距离、高精度的无线测量,本文采用红外发射接收模块GP2D12作为距离传感器,单片机作为处理器,编写A/D转换、显示以及与PC机的通信程序,开发了一套便携式的红外距离测量系统,系统可以高精度的实时测量距离,并且将所得距离量通过数码管直接显示出来。本系统结构简单、运行可靠、测量精度高、方便使用,另外本系统形成了一套完善的软硬件开发平台,可以进行扩展、移植和做进一步的开发。

关键词:红外测距,STC52单片机,A/D转换,

第三章、红外测距的基本结构及系统框图

3.1 红外测距的过程
红外发射器按照一定的角度发射红外光束,当遇到物体以后,光束会反射回来,如图1所示。反射回来的红外光线被CCD检测器检测到以后,会获得一个偏移值L,利用三角关系,在知道了发射角度a,偏移距L,中心矩X,以及滤镜的焦距f以后,传感器到物体的距离D就可以通过几何关系计算出来了。

图3-1红外测距原理图
可以看到,当D的距离足够近的时候,L值会相当大,超过CCD的探测范围,这时,虽然物体很近,但是传感器反而看不到了。当物体距离D很大时,L值就会很小。这时CCD检测器能否分辨得出这个很小的L值成为关键,也就是说CCD的分辨率决定能不能获得足够精确的L值。要检测越是远的物体,CCD的分辨率要求就越高。
非线性输出:
Sharp GS2XX系列的传感器的输出是非线性的。每个型号的输出曲线都不同。所以,在实际使用前,最好能对所使用的传感器进行一下校正。对每个型号的传感器创建一张曲线图,以便在实际使用中获得真实有效的测量数据。

从上图中,可以看到,当被探测物体的距离小于10cm的时候,输出电压急剧下降,也就是说从电压读数来看,物体的距离应该是越来越远了。但是实际上并不是这样的,想象一下,你的机器人本来正在慢慢的靠近障碍物,突然发现障碍物消失了,一般来说,你的控制程序会让你的机器人以全速移动,结果就是,"砰"的一声。当然了,解决这个方法也不是没有,这里有个小技巧。只需要改变一下传感器的安装位置,使它到机器人的外围的距离大于最小探测距离就可以了。
3.2 红外测距系统框图
本设计主要由五部分组成:红外发射电路、红外接收电路、单片机电路、译码显示电路。
其工作过程如图所示:

第四章、红外测距硬件电路设计

4.1单片机最小系统模块
4.1.1STC89C52单片机
STC89C52单片机是由宏晶科技公司生产的与工业标准MCS-51指令集和输出管脚相兼容的单片机。
STC89C52单片机简介:
(1)中央处理器(CPU)
中央处理器是单片机的核心,完成运算和控制功能。89C52的CPU能处理8位二进制数或代码。
(2)内部数据存储器(内部RAM)
89C52芯片中共有256个RAM单元,但其中后128单元被专用寄存器占用,能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。
(3)内部程序存储器(内部ROM)
89C52共有4KB掩膜ROM,用于存放程序、原始数据或表格,因此,称之为程序存储器,简称内部ROM。
(4)定时/计数器
89C52共有两个16位的定时/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。
(5)并行I/O口
89C52共有4个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入/输出。
(6)串行口
89C52单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。
(7)中断控制系统
89C52单片机的中断功能较强,以满足控制应用的需要。8052共有6个中断源,即外中断两个,定时/计数中断两个,串行中断两个。全部中断分为高级和低级共两个优先级别。
(8) 时钟电路
89C52芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。系统允许的晶振频率一般为6 MHz和12 MHz。
(9)、振荡电路
89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器.时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。请读者特别注意时钟脉冲与振荡脉冲之间的二分频关系,否则会造成概念上的错误。一般地,电容C1和C2取30pF左右,晶体的振荡频率范围是1.2~12MHz。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。89C52在通常应用情况下,使用振荡频率为6MHz或12MHz。

图4—1 89C52芯片及管脚图

4.3电源电路
电源适配器(Power adapter)是小型便携式电子设备及电子电器的供电电源变换设备,一般由外壳、电源变压器和整流电路组成,按其输出类型可分为交流输出型和直流输出型;按连接方式可分为插墙式和桌面式。广泛配套于电话子母机、游戏机、语言复读机、随身听、笔记本电脑、蜂窝电话等设备中。

图4-12适配电源
输出电压:5V(直流)
输入电压:100~240V(交流)
输出电流:最大2A
输出电压精度:±5%(空载)
输入范围宽,电压精度高
电源极性:内正外负,内㈩外㈠输出插头样式:5.5*2.1mm

4.4.2数码管
数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管(还有一种“米”字型的数码管,其段数更多),八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示),其基本原理是:将所有LED的一端(正极、负极均可)连在一起作为一个公共端,然后通过分别控制这组LED的另一个端口来使部分LED点亮,从而达到显示一定字形的目的。
数码管的分类:按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。我们在实际使用中一定要搞清楚数码管是共阴极的还是共阳极的。

图4-14共阴极数码管及管脚图

第五章软件模块设计

5.1程序设计步骤
在系统硬件已经确定的情况下,程序设计为:
① 分析问题:熟悉和明确问题的要求、已知条件及对运算控制的要求,准确地规定程序将要完成的任务。
② 确定算法:根据设计问题的要求和指令系统特点,选择解决问题的方法。
③ 设计程序流程图:直观、清晰地体现程序的设计思想。
④ 分配内存单元:确定程序和数据区的起始地址。
⑤ 编写源程序:根据流程图和指令系统编写源程序。
⑥ 调试源程序:先将源程序通过汇编生成目标文件,并消除语法错误,然后在用户板上调试,达到预定要求。
5.2软件设计框图
在整个系统运行过程中,当红外系统被启动后,首先,对单片机进行初始化。 当单片机接收到红外接收电路传输的电压信号后,经A/D转换程序,将片外的模拟信号转换为单片机可识别的数字信号,并经电压—距离转换子程序,将变化的电压转换为距离。最后,在数码管上显示出来。


5.3 Proteus仿真
因本系统是利用单片机进行系统控制,所以需采用单片机仿真工具Proteus进行仿真。
Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。
(1)proteus的工作过程
运行proteus的ISIS程序后,进入该仿真软件的主界面。在工作前,要设置view菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令,在pick devices窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source菜单的Definecode generation tools菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/removesource files命令下,加入单片机硬件电路的对应程序;通过debug菜单的相应命令仿真程序和电路的运行情况。
(2)Proteus软件所提供的元件资源Proteus软件所提供了30多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。
(3)Proteus软件所提供的仪表资源
对于一个仿真软件或实验室,测试的仪器仪表的数量、类型和质量,是衡量实验室是否合格的一个关键因素。在Proteus软件包中,不存在同类仪表使用数量的问题。Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。
(4)Proteus软件所提供的调试手段
Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。对于单片机硬件电路和软件的调试,Proteus提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。
对于总体执行效果的调试方法,只需要执行debug菜单下的execute菜单项或F12快捷键启动执行,用debug菜单下的pause animation菜单项或pause键暂停系统的运行;或用debug菜单下的stop animation菜单项或shift-break组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。
在Proteus绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。
本次设计的电路仿真效果图如下图图5-1 所示:

图5-1测距仿真效果图

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/31 0:49:14

基于php的网上购物系统

第三章 系统需求分析 3.1 可行性分析 3.1.1 经济可行性 在经济可行性中网上购物系统的开发只需要计算器设备费用,而本人自带设备,其余的主要是人力的成本,因 此从经济上来说不需要投入多余的金钱,因此在经济可行性上是具有可行性的…

作者头像 李华
网站建设 2026/3/11 12:57:44

2025年西北工业大学计算机考研复试机试真题(附 AC 代码 + 解题思路)

2025年西北工业大学计算机考研复试机试真题 2025年西北工业大学计算机考研复试上机真题 历年西北工业大学计算机考研复试上机真题 历年西北工业大学计算机考研复试机试真题 更多学校题目开源地址:https://gitcode.com/verticallimit1/noobdream N 诺 DreamJudg…

作者头像 李华
网站建设 2026/3/28 4:41:19

【Mac+M系列芯片专属指南】:高效部署智谱Open-AutoGLM的4种优化技巧

第一章:mac 智谱Open-AutoGLM本地部署 在 macOS 系统上本地部署智谱推出的 Open-AutoGLM 模型,能够为开发者提供强大的自动化代码生成与自然语言理解能力。该模型支持多种开发场景下的智能辅助,包括代码补全、注释生成和任务推理等。以下介绍…

作者头像 李华
网站建设 2026/3/17 8:42:09

面向2026:软件测试工程师需要提前储备的三大技能栈

站在变革的十字路口2026年的曙光已经隐约可见,对于身处数字化浪潮核心的软件测试工程师而言,这不仅是时间的推移,更代表着行业技术栈与能力模型的一次深刻重塑。传统以手动执行用例、发现界面Bug为核心的工作方式,正在被智能化、自…

作者头像 李华
网站建设 2026/3/14 0:10:38

一体化招聘管理平台是什么?解决 HR 流程割裂问题的关键工具

在企业招聘工作中,HR 常面临 “简历散落在不同渠道”“面试流程与人事系统脱节”“招聘数据无法联动员工管理” 等问题,导致效率低下、信息断层。而一体化招聘管理平台正是为解决这些痛点而生 —— 它并非简单的工具叠加,而是贯通 “人才获取…

作者头像 李华
网站建设 2026/3/31 19:43:10

计算机Java毕设实战-基于SpringBoot的爱心公益网站基于springboot的爱心公益捐赠平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华