基于汽车胎压检测及温度预警

  • 课题简介

汽车胎压监测系统可分为两种:一种是间接式胎压监测系统,是通过轮胎的转速差来判断轮胎是否异常;另一种是直接式胎压监测系统,通过在轮胎里面加装四个胎压监测传感器,在汽车静止或者行驶过程中对轮胎气压和温度进行实时自动监测,并对轮胎高压、低压、高温进行及时报警,避免因轮胎故障引发的交通事故,以确保行车安全。本次实验主要运用了压力检测模块,温度检测模块和声光报警系统。

  • 方案论述

此次设计的是汽车胎压监测系统系统设计主要包括四个部分:分别是电源模块、AD模数转换部分、51单片机最小系统部分、LCD1602液晶显示部分,压力检测模块,温度检测模块和声光报警系统。首先由单片机初始化,获取温度检测模块和压力检测模块的返回值,再ADC0809模数转换芯片,当外接被测电压后,ADC0809将模拟电压信号转换为数字信号输入到单片机的I/O口,通过单片机处理后将压力显示在LCD1602液晶上面,若压力超过预警值,触发声光报警系统。

三、方案设计

  以AT89C51单片机为核心,起着控制作用。系统包括LCD1602液晶显示电路、复位电路、时钟电路、模数转换电路电路。设计思路分为几个模块:复位电路、晶振电路模块、AT89C51、LCD1602液晶显示电路、模数转换器电路,度检测模块和声光报警系统,压力检测模块,这几个模块。

3.1 总设计框图

3.2 硬件设计分析

3.2.1 电源的设计

系统电源使用直流5伏。

由电脑USB接口提供电源。

USB是通用串行总线(Universal Serial Bus)接口的简称。它是目前使用比较广泛的电脑接口之一,主要版本有1.0、1.1和最新的2.0三种版本。根据USB总线的工业标准,它可以提供额定功率为5V/500mA的电源供USB设备使用。

3.2.2 单片机最小系统

51单片机是对目前所有兼容intel 8031指令系统的单片机的统称。该系列单片机的始祖是intel的8031单片机,后来随着技术的发展,成为目前广泛应用的8为单片机之一。单片机是在一块芯片内集成了CPU、RAM、ROM、定时器/计数器和多功能I/O口等计算机所需要的基本功能部件的大规模集成电路,又称为MCU。51系列单片机内包含以下几个部件:

一个8位CPU;一个片内振荡器及时钟电路;

4KB的ROM程序存储器;

一个128B的RAM数据存储器;

寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路;

32条可编程的I/O口线;

两个16位定时/计数器;

一个可编程全双工串行口;

5个中断源、两个优先级嵌套中断结构。

如图2-2-1所示为AT89C51单片机基本构造,其基本性能介绍如下:

图2-2-1 AT89C51单片机

AT89C51本身内含40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中端口,3个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,但不可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

AT89C51的主要特性如下表所示:

兼容MCS—51指令系统

32个可编程I/O线

4k字节可编程闪烁存储器

可编程UARL通道

三个16位可编程定时/计数器中断

时钟频率0-24MHz

2个外部中断源,共8个中断源

256×8bit内部RAM

2个读写中断口线

可直接驱动LED

软件设置睡眠和唤醒功能

低功耗空闲和掉电模式

表2-2-1  AT89C51主要功能描述

AT89C51为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的89c51相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。

P0口:P0口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。Flash编程和程序校验期间,P1接收低8位地址。

P2口:P2是一个带有内部上拉电阻的8 位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX @DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX @RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。

P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。

RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个AL脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条 MOVX 和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2:振荡器反相放大器的输出端。

单片机最小原理图如图2-2-2所示。

图2-2-2 单片机最小系统

单片机最小系统说明:

时钟信号的产生:在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟振荡电路。

时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。

一般地,电容C2和C3取30pF左右,晶体的振荡频率范围是1.2-12MHz。如果晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。

单片机复位使CPU和系统中的其他功能部件都处在一个确定的初始状态下,并从这个状态开始工作。单片机复位条件:必须使9脚加上持续两个机器周期(即24个振荡周期)的高电平。

3.2.3 显示系统

图2-2-3  LCD1602液晶显示电路

3.2.4 模数转换

ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式AD转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。

(1)主要特性:

1)8路输入通道,2位A/D转换器,即分辨率为8位。

2)具有转换起停控制端。

3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时) 

4)单个+5V电源供电

5)模拟输入电压范围0~+5V,不需零点和满刻度校准。

6)工作温度范围为-40~+85摄氏度

7)低功耗,约15mW。

(2)内部结构

ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图13.22所示,它由8路模拟开关、地址锁存与译码器、比较器、2位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。

图2-2-4 ADC0809芯片

图2-2-5 模数转换电路

3.2.5 压力检测模块

压力传感器两线制比较简单,一根线连接电源正极,另一个线也就是信号线经过仪器连接到电源负极,这种是最简单的,压力传感器三线制是在两线制基础上加了一个线,这根线直接连接到电源的负极,较两线制麻烦一点。四线制压力传感器肯定是两个电源输入端,另外两个是信号输出端。四线制的多半是电压输出而不是4~20mA输出,4~20mA的叫压力变送器,多数做成两线制的。压力传感器的信号输出有些是没有经过放大的,满量程输出只有几十毫伏,而有些压力传感器在内部有放大电路,满量程输出为0~2V。至于怎么接到显示仪表,要看仪表的量程是多大,如果有和输出信号相适应的档位,就可以直接测量,否则要加信号调整电路。五线制压力传感器与四线制相差不大。

3.2.5 温度检测模块

 温度模块采用进口集成电路,将热电阻或热电偶的信号放大,并转换成4-20mA或0-10mA的输出电流,或0~5V的输出电压。 温度模块的供电电源不得有尖峰,否则容易损坏变送器。变送器的校准应在加电5分钟后进行,并且要注意当时环境温度。测高温时(>100℃)传感器腔与接线盒间应用填充材料隔离,防止接线盒温度过高烧坏变送器.在干扰严重的情况下使用传感器,外壳应牢固接地避免干扰.电源及信号输出应采用Ф10屏蔽电缆传输,压线螺母应旋紧以保证气密性。只有RWB型有0~10mA输出,为三线制,在量程值的5%以下,由于三极管的关断特性造成不线性.变送器每6个月应校准一次.DWB因受电路限制不能进行线性修正,好按说明选择量程以保证其线性。

热电阻测量范围

PT100:-200~650℃;CU50:-50~150℃热电偶测量范围K分度:300~1200℃; E分度:200~800℃;S分度:600~1600℃输出信号4-20mA,0-10mA,0-10V,0-5V任选测量精度热电阻,0,2~0,3%,热电偶,1~2%温度漂移0,025%/℃,年漂移小于0,5%工作电源+12VDC或+24VDC±,10%工作环境0~70℃储存环境-40~+85℃负载能力0~500欧姆变送器型号命名与含义

变送器类型

分度号

接线盒

护管外径

固定方式及插入深度

RWB热电阻

PT100

A防水

1-16mm

用文字说明

DWB热电偶

CU50

2-12mm

3.2.5 声光报警系统

 声光报警系统按照温度检测模块和温度检测模块的返回值,并将该距离数值在LCD显示屏上实时显示,同时控制由发光二级管和蜂鸣器组成的声光报警系统,使其以一定的频率闪光并发出警报声。

设计收获、体会和建议

通过理论分析和电路仿真,现在对此次课程设计的实验结果进行总结。通过仿真我们可以看到仿真结果和理论分析是相符合的,也即此次设计的系统能够在一定的条件下达到课程设计目的,实现对外接电压的测量,电路结构简单,但是可以看出在系统的稳定性及可靠性方面做得不够。在本次设计中,也深刻体会到理论和实践相集合的重要性。虽然之前收集了大量的资料但在实际应用中却有很大差异,出现了许多意想不到的问题。但经过长时间的摸索最终还是设计出达到要求的系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/314854.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

轻量化的yolov8部署到安卓Android手机端

一、pytorch环境配置和yolov8源码安装 首先在电脑上需要配置好pytorch环境,和yolov8源码的下载 然后针对yolov8做自己的轻量化改进 二、下载Android Studio和ncnn-android-yolov8 1. Android Studio官网链接: 下载 Android Studio 和应用工具 - And…

语义补全任务2023年论文总结

一、3D Semantic Scene Completion: a Survey 语义场景补全SSC旨在联合估计出一个场景完整的几何和语义信息,假设只需要部分稀疏输入数据。 1、数据集 2、场景表示 Point Cloud,点云是一种方便的、记忆高效的表示方法,它将三维连续世界中的…

图灵机:计算机科学的奠基之作

图灵机的概念由英国数学家阿兰图灵在1936年提出,这个时期正是计算机科学的黎明时分。那个时候,人们还在使用机械计算器进行计算,而且这些计算器的功能都非常有限。 图灵提出这个概念的初衷,是为了解决所谓的“判定问题”&#xf…

关于react-native-reanimated 3.6.1在react native debugger报错问题

ExceptionsManager.js:158 Error: [Reanimated] UpdatePropsManager is not available on non-native platform. 在node_module下找到找到相关文件,注释掉相关代码 然后打补丁放在自己的项目下,关于打补丁在博客主页,自行查看讲解

番外篇-如何开发智能合约入门

今天咱们聊聊如何开发智能合约,非常入门的分享~ 1. 如何开发智能合约 1.1. 基本流程 & 主流工具 1.1.1. 编写合约代码 Solidity仍然是一骑绝尘(EVM)Vyper是不太活跃语言,python语法(EVM)Rust不能应…

【pwn】cmcc_simplerop --rop链的构造

程序保护情况检查 32位程序,堆栈不可执行 主函数: 左边又是一堆函数,file看一下 发现是静态链接,那ret2libc不用考虑了,接着看一下有没有int 80 那可以考虑利用rop链调用execve函数,用系统调用的函数参数是…

想做鸿蒙开发应该学会哪些知识?

鸿蒙开发学习是一项探索性的工作,旨在开发一个全场景分布式操作系统,覆盖所有设备,让消费者能够更方便、更直观地使用各种设备。 鸿蒙系统定位为面向未来、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分…

Mysql时间差8小时解决方案

目录 1. MySQL 本身的问题1-1. 验证MySQL时间1-2. 修改Mysql时区配置文件修改Mysql时区SQL修改Mysql时区 2.JDBC 连接的问题3. 返回 JSON 时间不对 在开发中,有可能会遇到这种情况: 插入数据库中的时间时正常。但是将时间传到前端页面上显示时&#xff…

Docker安装Elesticsearch7详细步骤

​ 1、创建安装目录 mkdir -p /usr/local/docker/es-docker 2、配置虚拟内存 如果不配置,后面启动es会报错。 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 配置如下 vi /etc/sysctl.conf vm.max_map_coun…

光伏行业常用到的专业名词有哪些?都是什么意思?

光伏行业作为新能源领域的重要组成部分,涉及许多专业名词。本文将介绍一些常用的专业名词及其含义。 光伏电池:光伏电池是光伏发电系统的核心部件,能够将太阳能转换成直流电能。它是通过光生电效应工作的。 光伏组件:光伏组件是…

【vue3】vue3的应用实例是什么和怎么使用

简言 每个 Vue 应用都是通过 createApp 函数创建一个新的应用实例。 应用实例指的就是createApp的返回值,它是一个对象,里面包含了多个vue相关的属性,例如component(组件)、directive(指令)use…

自动化测试数据校验神器!

在做接口自动化测试时,经常需要从接口响应返回体中提取指定数据进行断言校验。 今天给大家推荐一款json数据提取神器: jsonpath jsonpath和常规的json有哪些区别呢?在Python中,json是用于处理JSON数据的内置模块,而jsonpath是用…

代码随想录 516. 最长回文子序列

题目 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 示例 1: 输入:s “bbbab” 输出&…

Jmeter接口自动化03-JMeter的常用核心组件

p03 高清B站视频链接 由于JMeter涉及的组件数目很多,据不完全统计至少有110个,而其实只需要掌握20%的组件就可以完成80%甚至更多的日常工作了,所以接下来我们重点剖析使用最频繁的核心组件,如下图所示。只需要优先掌握这10个左右…

百家大吉·夕阳关爱——昌岗街微型养老博览会

居民热情参与博览会 为让长者了解及选择适合自己的养老服务,昌岗街在2023年12月27日开展以“百家大吉夕阳关爱”为主题的昌岗街微型养老服务公益博览会活动,通过搭建养老服务机构供需服务平台,拓宽社区长者了解正规养老服务机构的渠道&#…

部署ATS(Apache Traffic Server)和Nginx正向代理服务性能对比

部署ATS(Apache Traffic Server)和Nginx正向代理服务&性能对比 1. 正向代理的用途2. ATS(Apache Traffic Server)正向代理服务器部署3. Nginx正向代理服务器部署4. 性能对比 1. 正向代理的用途 正向代理一般是用于内部网络出去,反向代理一…

三、GCC编译:链接

代码准备 main.c extern int shared; extern void func(int *a, int *b); int main(){int a 100;func(&a, &shared);return 0; }func.c int shared 1; int tmp 0; void func(int *a, int *b){tmp *a;*a *b;*b tmp; }静态链接 编译 gcc -static -fno-stack-p…

【Leetcode】2696. 删除子串后的字符串最小长度

文章目录 题目思路代码 题目 2696. 删除子串后的字符串最小长度 思路 计算通过删除字符串中的 “AB” 和 “CD” 子串后,可获得的最终字符串的最小长度。 主要思路是使用一个栈来模拟字符串的处理过程,每次遍历字符串时,如果当前字符和栈…

open3d相关操作总结

open3d其实有很多交互式命令,在运行程序打开了open3d渲染的窗口后,鼠标点击窗口,按H就会弹出,交互命令的帮助,如下图所示: 其中比较常用的有: Q :退出当前窗口 H:打印帮…

掌汇云 | 公司库开启入驻模式:FoodTalks靠食品雷达实现一本“万”利

不久前我们介绍了群硕的掌汇云产品功能,深入探讨了公司库的作用及其生态价值。 当FoodTalks遇上公司库,新一代食品类商业信息服务平台隆重登场——“食品雷达”,让食品人轻松找到公司、品牌、供应商、客户…… 为了更好地享用本文&#xff…