序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机温度补偿超声波测距的设计
1 系统硬件电路的设计
1.1 整体方案的设计
1.1.1 系统简述
采用STC89C52单片机为核心,来组成单片机最小系统。HC-SR04超声波是基于采用距离传感器的传感器模块、基于多通道的温度采集模块,且将1602 LCD作为显示模块、按钮模块,而将NV020C语音芯片作为语音模块、5V USB电源模块。
1.2 单片机最小系统电路
最小的单芯片系统是允许单个芯片执行简单操作的最小组件,晶体振荡器电路一般使用由复位电路和电源组成的系统。晶体振荡器为微控制器提供稳定的时钟,其大小取决于微控制器的时钟周期要求。复位电路由电容串联电阻构成,将单片机程序复原到初始状态,并从初始状态开始运行。电源用于供电,一般用usb接口供电或者5V直源电压。
1.3 HC-SR04模块
HC-SR04使用IO接口的TRIG触发范围。起决定作用的因变量有:采用DC-5V电压,待机电流小于2mv,输出电平大于5V小于0V,检测角度小于或等于15度,检测距离2厘米-5厘米。
1.3.1 HC-SR04模块使用器件
(1) MAX232
MAX232的供电系统主要是+ 5v单电源供电方案,在断电模式下可将功耗降至5uW以下,适用于电池供电的系统。RS-232技术标准是最基本的需求,其中所有标准都需符合,仅需+ 5V电源。片上电荷泵具有升压,电压极性反转和低功耗的特点。系统里的地方将两个RS-232控制器整合串联一起。
(2)TL074
TL074是一款低噪声4 JFET输入运算放大器,在单芯片集成电路上集成了高压双极晶体管。1/4运算放大器是一个比较器,当引脚3上的信号大于电源电压的1/2时,它会产生高电平。2/4和3/4运算放大器是具有升压功能的带通放大器。4/4运算放大器是第一放大级,反向放大约4.7倍。
1.4 液晶显示电路
LCD1602液晶显示器是由字符液晶显示器,主控制电路和扩展控制电路组成的字符液晶显示模块。向操作区域施加电压才能正常工作,其原理主要是基于液晶的物理特性,以液晶使其工作正常,并且屏幕在打开时可以正常工作。
1.5 DS18B20传感器电路
1.5.1 DS18B20简介
典型的数字温度传感器有DS18B20——本节主要介绍改传感器。当连接到微处理器连接器本次主要使用单总线接口,即针对微处理器和DS18B20之间的双向通信难点,只利用一条端口线来执行。测量温度宽,在使用中不需要任何外围原件, 供电方式灵活可以通过寄生电路获取电源,体积更小,适应电压宽,性价比高适合构建经济的测温系统。
1.5.2 时序说明
DS18B20上的初始化序列启动,首先就是基于所有通信中的一组复位脉冲启动主机,进行初始序列的发送,然后发送DS12B20发送的响应脉冲。
在初始化序列中,总线上的主机在总线上发送至少持续480 us的复位脉冲。然后,总线释放总线并进入接收模式。释放总线后,一个4.7k上拉电阻将单个总线的电平返回到更高的电平。 DS18B20检测到上升沿时,将等待1560us。随后,它沿着60-240us总线在线发送应答脉冲。
阅读时间分为阅读时间0us和阅读时间1us。从主机上删除单总线后,15us内释放总线,数据线传输到单总线,这是一个时间读取过程。至少需要60us我们才能完成。
还是分两个过程来写时间:0us写时间以及1us写时间。然而,当写入时间为0时,降低至少60us对于单个总线是非常有必要的,以便它能够正确地采样15us和20us之间的电平“0”。15美元.通过写45us.1同步,如果需要值在15us的范围内的前置条件是释放单个总线降低。
1.5.3 DS18B20模块电路图
DS18B20的模块电路图1如下图所示:
图1 DS18B20模块电路图
1.6 语音模块
本设计不仅能够通过超声波测距,还加装了语言模块,使系统增加语音播报功能,这样使系统更加完整更加完备。给系统设定一个临界值,当系统检测小于这个临界值时,语音模块就会发来提醒,。
1.6.1 NV020C简介
NV是一款功能强大的一次性可编程芯片,可选控制方式有按键控制模式、并口模式、串口模式等等。具有灵活的分段放音操作,音质好,性能高,灵活的多种操作模式可供选择,音频输出时电流20mA-120mA之间。
1.6.2 NV020C引脚说明
语音芯片NV020C的引脚图如图2所示。
图2 NV020C引脚图
芯片8个引脚的功能如下表1所示:
表1 引脚功能表 | |||
封装引脚 | 引脚标号 | 简述 | 功能描述 |
1 | PB0 | I0口 | KEY按键/BUSY信号输出 |
2 | PA0 | I0口 | 按键脚 |
3 | PA1 | I0口 | 按键脚/串口数据输出 |
4 | PWM1/DAC | 喇叭 | 喇叭直推0.5W,DAC输出 |
5 | PWM2 | 喇叭 | 喇叭直推0.5W,DAC输出时需要接VDD |
6 | VDD | 电源 | 正电源2V-5.5V |
7 | GND | 地 | 地 |
8 | VPP | 编程电源 | 编程电源 |
1.6.3 控制方式
NVC系列语音芯片有几种激活方法。单线串行端口触发、2线串行端口触发、3线串行端口触发和并行端口触发。按钮模块组只能与单线串行触发器、2线串行触发器、3线串行触发器共存。
1.6.4 控制时序
仅仅一条数据通信线的可以称为单线且串行的端口控制序列,借由多种类型的数据位以多种层次的级别控制,可得复位信号是RESETB,发数据前对芯片进行复位。
1.6.5 语音模块电路
语音模块的电路图如图3所示。第一引脚和第三引脚分别用作控制引脚。连接在第三引脚和第四引脚之间的电阻为内置功率放大器反馈电阻,通过调节电阻可以控制音量。
图3 语音模块电路图
1.7 按键模块
基于这种结构,按钮可以分为电击开关按钮和非接触开关按钮。在微控制器中,除了具有特殊复位功能的复位按钮外,其他按钮还用于设置控制功能或输入有关开关状态的数据。在单芯片微型计算机中,独立键盘或矩阵键盘是常见的。如果控制系统仅需要几个功能按钮,则可以采用单独的按钮结构。独立按钮使用由I/O端口组成的单个按钮电路,其配置灵活且结构简单。如果系统有许多键(例如,超过10个键),则可以使用矩阵键盘。矩阵键盘使用4行I/O作为行行和4行I/O作为列行来构成键盘,工作效率高。因此本系统中有3个按键,采用独立键盘按键的连接。
2 软件设计
2.1 程序语言及开发环境
C语言是面向过程的抽象通用编程语言。 C语言具有一定的水平,处理和表现能力强大,能够轻易完成对任何系统结构的构建,包含的数据类型广泛具有其他编程语言不具备的数据类型,能够对物理地址进行直接操作。
2.2 程序流程图
2.2.1 总体流程图
流程图如图3所示。首先先进入液晶显示器的初始化,使液晶显示器的状态为初始显示状态。然后进入计时器的初始化,使计时器的状态进入原始状态。接着在温度传感器检测周围空间温度,并传递给液晶模块,将其显示出来。系统必须根据温度
传感器检测到的温度值和计时器记录的时间值来计算超声波速度,计算完之后由液晶模块显示。如果计算的距离小于或者等于临界值,语音模块会发出语音警报进行提醒,然后进入下一环节。若计算的距离大于临界值,语音模块不要发出语音警报,直接进入下一环节。当计算的距离小于或者等于临界值,语音模块会发出语音警报进行提醒时,按下按键,会立刻进入临界值操作界面。此时一个循环结束,通过按键模块可以控制循环的反复运行或者结束。
图3 程序流程图
2.2.2 1602液晶程序设计
LCD模块需要在开始显示之前确定行和列坐标。例如,系统需要确定在第2行和第3列中显示的位置,以便在确认显示位置后在固定位置展示所需的内容。液晶模块显示的字符是一个个单独显示的,当显示完一个字符后,若数据没有显示完全部内容,会进入循环,确定下一个字符的行列坐标,确认好位置之后,就可以显示内容了。显示数据时系统关闭。如果不是这样,它将返回循环。
图5 液晶显示流程图
2.2.3 超声波模块HC-SR04程序流程图设计
开始信号是最首先的操作,微控制器通过触发引脚将启动信号发送到超声模块。超声波模块接收到开始信号后,发送超声波开始测量。此时,回声恢复到高电平。如果此时引脚仍为低电平,则超声模块尚未完成测量范围。此时如果引脚从低变为高,说明此时超声波测距已经结束。然后计时器开启,记录Echo高电平的持续时间,记录完成后关闭计时器,计时器所记录的时间就是超声波测距所用的时间,由于只是超声波往返障碍物的时间,所用需要除以二,来表示超声波单程所用时间,基于超声波而后可以根据其传播速度和相关公式可以解出微控制器离物体的空间长度。
图6超声波模块程序流程图 图7 温度传感器程序流程图
2.2.4 温度传感器程序设计
首先初始化传感器,使其复位。其次,它发送一个Oxcc命令以跳过ROM命令,并向温度传感器发送一个Ox44命令以使该传感器执行温度转换。然后重新初始化传感器以将其重置,然后发送Oxcc命令以跳过ROM命令,并向温度传感器发送Ox44命令,以便可以读取温度值。
原理图
PCB图
如果你有任何问题、需要建议或解决疑难,别客气噢,随时找我求助或寻求支持。我专注于单片机相关的知识,可以提供电子设计、嵌入式系统、编程和硬件方面的宝贵帮助。不管你的问题属于哪个领域,都可以向我咨询啦,获取有针对性的建议和指导。祝愿你在单片机设计领域取得巨大成功!