毕业设计 基于51单片机的红外测距仪的设计


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的红外测距仪的设计

项目硬件设计

1.1 单片机控制模块

1.1.1 单片机型号选择 

基于单片机的红外测距系统设计,对单片机的要求较高,要选用带有4K字节EEPROM存储空间的单片机,其次为了保证系统更好的运行,应选用性价比高、可靠性高、低功耗的控制器,以防止器件的损坏,影响系统的运行。基于此有以下两种方案可供选择:

方案一:采用STC89C51作为主控制器。STC89C51是系统中的可编程芯片。它使用8051内核,工作频率高达80MHz。该设备包含4K字节的只读程序内存,可进行擦除1000次,单片机指令与MCS-51完全兼容该设备。该芯片由8位通用处理器和ISP闪存单元组成。STC89C51单片机是一个时钟/机器周期的速度很快、能量消耗较低的新型单片机,它具有的开发简单、可在线编程下载、成本低的特点是非常不错的选择。

方案二:使用MSP430单片机作为主控制器。它被叫做混合信号处理器,它可以使许多功能各异的模块和微处理器集成在一个芯片上,MSP430系列单片机具有16位能量消耗超低和精简指令集[5]。一般来说,需要使用电池供电的设备仪表使用该系列的单片机。但是开发难度相对比较大、价格昂贵。

综上所述,与MSP430单片机相比,STC89C51单片机开发难度较低、稳定性高,而且价格合适,结合设计所需要的性能,最终选用STC89C51单片机作为主控制器。

1.1.2单片机的引脚说明

STC89C51单片机有两种封装形式,分别是PDIP(40引脚)和PLCC(44引脚)。在本设计中,直接插入PDIP(40个引脚)。为了方便更换芯片,避免芯片在高温焊接时损坏,焊接时可采用集成电路插座进行焊接,焊接完成后可将芯片插入集成电路插座,STC89C51所拥有的40个引脚中可以控制的有P0P1P2P332个。这些引脚可以单独或同时在特定位的I/O端口进行控制,不需要定义输入和输出就可以很方便地进行控制。当将值赋给I/O时,I/O端口将自动转换为输出,当读取I/O端口时,I/O端口将自动转换为输入。如图1.1所示,引脚相对应的功能如表1.1所示

表1.1 单片机引脚功能

引脚

功能

P0.0~0.7

普通I/O口,与LCD1602相连

P1.0~1.3

普通I/O口输入,与按键相连

P1.4~P1.6

普通I/O口,与LCD1602相连

P2.5 P2.7

普通I/O口输出,与led灯相连

P3.0

RXD,串行输入

P3.1

TXD,串行输出

P3.4~P3.7

普通I/O口,与ISD4004相连

图1.1 STC89C51单片机引脚图

1.1.3 单片机的最小系统

单片机最小系统有三个部分,分别为:电源电路、晶振电路以及复位电路。在本设计中,STC89C51单片机可以在4.55.5V的电压范围中正常工作。电源部分采用USB电源线,可连接手机充电插头或5V移动电源,为系统供电。单片机的最小系统如图1.2所示:

图1.2STC89C51单片机最小系统的电路图

在晶振电路中有两个独立的反向放大器,它们不仅可以与石英晶振配合,作为单片机的内部振荡器。而且能够单独作为一个元器件,需要被外部时钟驱动来使用。也就是说,晶振电路的输入端着连接两个电容,输出端着连接一个石英晶体振荡器,这样就产生了一个内部振荡器,从而起到调节频率的作用。如图1.3所示:

图1.3 晶振电路

在本设计中,单片机系统是否稳定直接取决于复位电路的完好程度。如果单片机没有立即投入运行,就说明单片机的电源电压不稳定,需要先进行一段时间的复位。电源稳定后,单片机将开始工作。复位电路通常包括手动钥匙复位、电源复位和整体复位。在这种设计中,由于微控制器的电容效应,启动时间将在工作开始后延迟一段时间。复位电路如图1.4所示:

图1.4 复位电路

1.2 测距模块设计 

1.2.1 传感器的选择

本设计中的传感器要实现对信号发送与接收的功能,可将接收的信号传递到模数转换模块中进行处理,并且适用于STC89C51单片机,与其组合能体现出更好的发挥,以下为本模块的方案选择:

方案一:基于红外传感器的设计,红外传输,使用红外传输管发送信号,通过障碍物反射信号,红外接收管接收反射信号。并且,根据信号强度,是显示模块中显示的对应的电压值以及此时的记录的距离。红外传感器用于测距,所接收的模拟量通过模数转换器转换成单芯片微计算机处理的数字量。通过处理来自模数转换器的数字量,可以在显示模块上显示与由红外线接收管接收的信号强度对应的距离值。

方案二:经由激光发射二极管对障碍物发射激光信号,激光射达障碍物表面后,其向各个方向发散,当激光接收器接收到反射回的光时,其中的光学系统对其进行接收后,然后对检测到的微弱光信号进行放大,进而转化成相应的电信号传送回单片机中通过程序进行分析,最终得出结果。

综上考虑,虽然方案二中的激光传感器具有远距离测量、速度快,精度高等优点,但是其所检测到的数据会变得复杂,并且使用的成本也升高许多,反观方案一中的红外传感器不仅操作结构简明,实现方便,而且在成本上很节约,反应也十分灵敏,因为抗干扰能力强,不会因为周围环境的差别而影响最终的测试结果,所以便于用在近距离情况的检测。故选用方案一。

在该设计中,红外传感器VCC连接到电源GNDGND接地线。已知红外传感器的测量范围为10cm~80cm,测量误差不大于0.5cm。形成位置感测检测器和红外LED,是范围测量传感器单元和PSD的集成组合。在这个设计中,使用三角测量方法将红外发射器从特定角度发射到红外。当光线接触对象时,对象会反射光线。此时,可以检测反射的红外光,并且可以获得偏移L。可以使用三角关系和滤波器的出射角、偏移距离L、中心矩X和焦距F来确定传感器和目标之间的距离D如图1.6所示:

图1.6红外传感器

1.3 液晶显示模块

1.3.1液晶显示模块选择

对于基于设计的显示模块,显示器应当具有方便和灵活的接口。可以通过简单的编码、简洁、明确的信息在接口上显示。工作电压和电源必须低于同一类型的光栅模块。硬件电路和程序相对简单。

方案一:作为系统的显示装置使用LED。LED或数字管适合低成本显示数字和文字。但是,在与本系统的主控制装置连接的情况下,LED动态扫描方法占据更多的I/O端口,主控制端口的电流输出不足,因此驱动模块还需要放大电流以控制数字管。另外,数字管显示器的内容选择增加了焊接的难度,容易发生焊接错误。

方案二:LCD1602屏幕用作系统的显示设备。LCD1602液晶还被称为文字液晶,可以同时显示16×2或32个字符,包括数字、字符、符号或自定义字符。LCD1602由多个位图字符组成,每一个位图可以分别显示字符、字符和各条线的各个位,这被称为字符间隔和线条间隔。

基于以上说明,液晶画面控制相对简单,画面尺寸适当,没有发生资源废弃物,满足设计的功能要求。因此,使用LCD1602作为系统的显示装置。

1.3.2 LCD1602模块设计

LCD1602可以通过执行读取状态操作、写入命令操作、读取数据操作和轻数据操作来控制。

LCD1602共计11个指示,SCM向液晶显示器发送了这些指示。然后,您可以完成某些特定功能(例如,开启、关闭、屏幕清除等)。如果LCD1602本身不能直接调用出该字库,则需要使用自定义字符写到CGRM中,挪用的方法与自定义字符的写入,显示字符的方法相同,将自定义字符字模写入LCD的CGROM中即可。

LCD1602已经非常普遍,可以很容易地适用于市场上大部分的显示需求。字符型LCD通常有14针线或16针线LCD,多余的2条是背光线VCC(15针)和接地GND(16针),原则上与14针LCD相同。如图1.7所示:

图1.7液晶显示模块原理图

1.4 报警模块

1.4.1蜂鸣器选择

基于本设计要求在测量距离超出最大可测范围之后,系统会发出声音进行报警,为了实现这一功能,需要选取一种程序控制方便的蜂鸣器。

方案一:有源报警器。有源蜂鸣器是一种简单的振荡电路,用于将恒定直流电流转换为某个频率的脉冲信号,并交替来自表面的磁场来驱动钼片的振动和声音的电子结构。蜂鸣器只需电平即可驱动。

方案二:无源蜂鸣器。属于一种被动蜂鸣器。无源蜂鸣器内没有振荡电路。使用DC信号的话,因为不能发出声音,所以必须用2K5K的方波来驱动。DC可以连续按振膜而不发出声音。

综上,相比于无源蜂鸣器,有源蜂鸣器控制方便,功能更多,所以最终选用带有震荡源的5V有源蜂鸣器来实现设计的报警功能。如图1.8所示:

图1.8 报警模块原理图

2 系统调试

2.1 系统硬件测试

根据该系统的设计,焊接电路应注意是否有短路电路、开放电路、故障方向的部件、电路设计误差。部件的焊接误差和错误方向的检测方法是将物理电路基板与电路图的电路图进行比较,检查各部件和导线是否出现在物理对象上。如果发现没有或及时的重新需要,则不能进行比较,确定焊接的及时修理。在短路电路中,电路破坏、虚拟焊接等情况需要使用数字多仪表检测。在蜂鸣器文件中放入数字万用表。红笔和黑笔如果短路的话,万用表会发出蜂鸣声。根据这个原理,可以用来检测短路、故障电路和虚拟焊接。如果蜂鸣器响的话,线是正常的;如果听不到报警的话,那表示电路有什么错误。测试后,物理电路板与电路图一致,所有组件均正确连接,系统最终实现了所有硬件功能。

在这种设计中,显示模块是非常重要的部分,因为它不仅在硬件核心上,而且在硬件调试中也遇到了问题,如果连接到电源上,则显示画面不亮,不显示,这是为什么呢?我开始寻找原因,检查电源是否通电,确认指示器灯是否接通,编程后将P1降低,确认P1输出低,最终P0端口未连接到拉电阻。连接后,显示画面亮灯。在硬件调试中,虽然遇到了可以显示的显示画面,但是显示器上存在大问题。调整距离后,显示器没有变化。检查后发现红外传感器和VCC连接不好,与单片机接触不良。最小的系统板调试SCM软件确保了正常工作和硬件系统。最后,组合模块进行测试以实现系统整体的功能。

2.2 系统软件测试

基于硬件调试,C语言编号的程序将通过下载器下载到单片机。根据设计的电路参数和步骤,取景器的范围从10cm80cm,范围取景器的最大误差在0.5cm以下。调试系统后,测量了好几次距离,与预设值进行比较,多次分析测量误差。修改程序以满足实际测量要求,调整设备并获得更完整的程序。设计软件的调试步骤如下。

1)首先在Keil μVision中创建新的项目。单击菜单栏中的“porject”,为新工程命名,并命名保存。

2)新的用户源文件:首先,创建一个新的空白文本来书写程序的源代码。写入和保存后,创建新文件,文件扩展名为“设计名.a”。

3)程序编译和调试:单击“编译”按钮启动系统。操作中输出窗口中显示反馈信息。如果看到错误信息,可以根据错误进行修改。

但是,程序调试不能成功,首先是单片机的微型计算机,要写入实验,是由固定距离记录的信号强度收集的,然后在程序中添加相应的数据最后,通过红外测量模块可以显示相应的数据距离,主程序是整个程序的基础,也是核心。

最后按照以上软件步骤进行软件调试,循序渐进,检查出程序并没有错误,且可以正常运行,从而得到正确的测试结果,可知软件方面的调试也顺利完成。如图2.1所示:

图2.1 程序调试成功显示图

图2.2 软件开发界面图

总体接线图

如果你有任何问题、需要建议或解决疑难,别客气噢,随时找我求助或寻求支持。我专注于单片机相关的知识,可以提供电子设计、嵌入式系统、编程和硬件方面的宝贵帮助。不管你的问题属于哪个领域,都可以向我咨询啦,获取有针对性的建议和指导。祝愿你在单片机设计领域取得巨大成功!

  • 1
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值