机油压力检测系统说明书.docx

上传人:b****8 文档编号:23697349 上传时间:2023-05-20 格式:DOCX 页数:16 大小:167.05KB
下载 相关 举报
机油压力检测系统说明书.docx_第1页
第1页 / 共16页
机油压力检测系统说明书.docx_第2页
第2页 / 共16页
机油压力检测系统说明书.docx_第3页
第3页 / 共16页
机油压力检测系统说明书.docx_第4页
第4页 / 共16页
机油压力检测系统说明书.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

机油压力检测系统说明书.docx

《机油压力检测系统说明书.docx》由会员分享,可在线阅读,更多相关《机油压力检测系统说明书.docx(16页珍藏版)》请在冰豆网上搜索。

机油压力检测系统说明书.docx

机油压力检测系统说明书

目录

摘要……………………………………………………………………………………………3

1引言…………………………………………………………………………………………4

1.1问题提出…………………………………………………………………………………4

1.2任务与分析………………………………………………………………………………4

2方案设计……………………………………………………………………………………4

2.1系统方案设计论证……………………………………………………………………4

2.1.1系统的控制方案设计……………………………………………………………………4

2.1.2最终方案设计…………………………………………………………………………5

2.2最终设计方案总体设计框图……………………………………………………………5

3系统硬件设计………………………………………………………………………………6

3.1AT89C51单片机……………………………………………………………………………6

3.1.1AT89C51单片机介绍……………………………………………………………………6

3.1.2选用AT89C51单片机原因………………………………………………………………8

3.2时钟电路…………………………………………………………………………………8

3.3复位电路…………………………………………………………………………………9

4系统软件设计………………………………………………………………………………10

4.1主程序框图………………………………………………………………………………10

4.2数码管显示子程序流程图………………………………………………………………10

4.3报警子程序程序框图……………………………………………………………………10

5系统调试过程………………………………………………………………………………11

5.1原理图和印制板图绘制和检查…………………………………………………………11

5.1.1在Protel99se绘制原理图并进行相应的ERC检查………………………………12

5.1.2在Protel99se生成PCB图………………………………………………………12

5.2Keil程序调试…………………………………………………………………………13

5.3Proteus仿真调试………………………………………………………………………14

结论……………………………………………………………………………………………15

致谢……………………………………………………………………………………………16

参考文献………………………………………………………………………………………17

附录一程序源代码…………………………………………………………………………18

附录二电路原理图和PCB图…………………………………………………………………22

附录三Proteus仿真截图……………………………………………………………………23

摘要

汽车发动机机油压力与发动机工作状态密切相关。

本文通过以AT89C52单片机为控制核心,通过压力传感器MPX4115产生模拟一个信号,经ADC0804送入单片机进行处理,再从单片机P2口将电平信号送入数码管实现动态显示。

并在超过安全阈值时由单片机控制LED灯报警。

此次设计给出了系统总体框图、硬件设计、软件仿真。

关键词:

AT89C52数码管ADC0804机油压力检测

1引言

1.1问题的提出

本次的任务就是设计一个机油压力检测系统来检测汽车机油压力。

1.2任务与分析

汽车机油压力检测系统是通过数字显示信息让驾驶员了解机油压力的状态。

该系统利用AT89C52单片机作为处理器,通过压电式压力传感器对机油压力进行信号检测,传感器输出信号经数字滤波及A/D转换后输入ECU,经计算后通过数码管显示机油压力,同时将信号与设定的信号范围进行比较,当不正常区间时报警电路则输出语音报警信号,并通过报警线点亮报警指示灯。

设计的核心是以AT89C52单片机作为硬件电路的核心。

先应在protell99se中绘制出原理图并作相应的ERC检查,检查无错误后,在相应地方用文本标出注释;其次根据设计思路确定出相应的程序设计方案,并选择最佳的方案,并在Keil软件里面进行程序的编写和调试;最后在程序调试无误后在Proteus中搭建虚拟的单片机仿真平台,并和Keil实现联调,并在Proteus中仿真验证机油压力检测的结果。

2方案设计

2.1系统方案设计论证

2.1.1系统的控制方案设计

方案1:

以单片机AT89C52为核心,通过MPX4115产生模拟信号,送入ADC0804进行模数转换,在送入单片机进行处理,电路较为简单。

方案2:

以单片机AT89C51为核心,通过电源发生器产生模拟信号,经过放大、滤波、A/D转换电路,送入单片机处理,电路相对于方案1较为复杂,连线时容易出错。

2.1.2最终设计方案

从各方面考虑后,确定方案:

以单片机AT89C52为核心,MPX4115产生模拟信号,送入ADC0804进行模数转换,在送入单片机进行处理,再通过单片机P2口送入数码管显示。

并在超过安全阈值时通过单片机P3.0口控制蜂鸣器与LED灯报警。

此方案电路简单易实现,而且功耗更低,故选此方案。

2.2最终设计方案总体设计框图

压力传感器

图2.1系统总体设计框图

当时钟电路的晶振产生外部振荡脉冲信号送入AT89C51单片机的XTAL2口时,单片机开始以时钟频率为基准,有条不紊地一拍一拍地工作。

单片机AT89C52执行编写在其内部的程序,处理从ADC0804送来的信号,并送到P2口输出到数码管显示。

并在超过安全阈值时通过单片机P3.0口控制LED灯报警。

3系统硬件设计

3.1AT89C51单片机

3.1.1AT89C51单片机介绍

AT89C52是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

图3.1AT89C52单片机引脚

AT89C52内部结构如图3.2所示:

可编程

串行口

 

图3.2AT89C52单片机内部框图

AT89C52单片机的引脚功能:

VCC:

供电电压。

  GND:

接地。

  P0口:

方式驱动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),

  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口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

  P3口也可作为AT89C52的一些特殊功能口,如下表所示:

  口管脚备选功能

  P3.0RXD(串行输入口)

  P3.1TXD(串行输出口)

  P3.2/INT0(外部中断0)

  P3.3/INT1(外部中断1)

  P3.4T0(记时器0外部输入)

  P3.5T1(记时器1外部输入)

  P3.6/WR(外部数据存储器写选通)

  P3.7/RD(外部数据存储器读选通)

  P3口同时为闪烁编程和编程校验接收一些控制信号。

  RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

  ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

  /PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

  /EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

  XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

  XTAL2:

来自反向振荡器的输出。

  振荡器特性:

  XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

3.1.2选用AT89C51单片机原因

在该课程设计里设计只要满足开环设计就可以了,在设计里面使用的引脚较少,占用的资源也比较少。

而且该芯片是以8051为核心,性能价格比高,且对其内部结构较为熟悉,芯片功能够用而且适用,从而选用AT89C51单片机作为主控芯片。

3.2时钟电路

本设计采用内部时钟方式的电路,其电路如图3.3所示。

AT89C52单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。

这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。

电路中的电容C1和C2典型值通常选择为30pF左右。

晶体的振荡频率的范围通常是在1.2MHZ~12MHZ之间。

图3.3时钟电路图

3.3复位电路

复位电路通常采用上电自动复位和按钮复位两种方式。

本次设计采用自动复位电路。

其电路如图3.4所示。

图3.4复位电路图

4系统软件设计

4.1主程序框图

主程序包括了程序初始化,机油压力值的读取、滤波与转换。

开始

初始化

 

读取压力值

滤波

显示压力值

判断油压是否在50Kpa至100Kpa范围内

Y

 

N

LED灯亮报警

 

图4.1主程序流程图

 

4.2数码管显示子程序流程图

数码管显示子程序应用动态显示来显示机油压力值,每单个数码管显示的间隔时间设置为5ms。

延时5ms

图4.2数码管显示子程序流程图

4.3报警子程序流程图

开始

图4.3报警子程序流程图

 

4.4滤波子程序流程图

在此采用限幅滤波方法,设定最大差值△Y为1,即将前后两次读取的压力值之差的绝对值与△Y比较,若大于△Y,则返回前一次读取的压力值,若小于△Y则返回此次读取的压力值。

N

 

5系统调试过程

通过上面的设计,设计已经基本完成。

下面主要实现Protell99se的原理图、印制板图的绘制和做相关检测,对Keil进行相应的检查和调试,并用Proteus对所设计系统进行仿真。

5.1原理图和印制板图绘制和检查

5.1.1在Protel99se绘制原理图并进行相应的ERC检查

打开Protel99se,绘制系统的原理图。

原理图包括能输出时钟电路,驱动电路以及复位电路。

绘制完成的原理图如图5.1:

图5.1原理图的绘制

绘制完原理图之后,对原理图进行同一网络命名多个网络名称检测、未连接的电路标号检测、未连接的电源检测、电路编号重号检测、元件编号重复检测等检测。

ERC检测结果如图5.2:

图5.2ERC电气规则检查

5.1.2在Protell99se生成PCB图

在创建完原理图后,对各元器件的引脚进行封装,然后再Protel中新建PCB图并在原理图中更新PCB。

更新PCB截图5.3所示:

图5.3加载网络表

对于生成的PCB图中各器件进行调整,并布线,最终生成PCB图。

结果如图5.4所示:

图5.4生成PCB图

5.2Keil程序调试

程序调试结果如图5.5所示:

Creatinghexfilefrom“ADC0804”表明.hex文件创建成功。

“ADC0804”-0Error(s),5Warning(s)表明文件编译结果没有错误。

图5.5程序调试结果

5.3Proteus仿真调试

在Proteus中建立仿真图。

按下开始仿真按钮,开始进行仿真实验,结果如图5.6,图5.7、图5.8所示:

图5.6Proteus仿真图(正常运行)

机油压力值在设定的正常范围内,LED灯灭,程序正常运行。

图5.7Proteus仿真图(压力过高)

机油压力值在高于正常值的最大值,LED灯亮,表示报警。

图5.8Proteus仿真图(压力过低)

机油压力值在低于正常值的最低值,LED灯亮,表示报警。

结论

通过通过MPX4115产生模拟信号,送入ADC0804进行模数转换,在送入单片机进行处理,再通过单片机P2口送入液晶显示器,通过单片机P0.0、P0.1和P0.2控制数码管片选,达到数码管显示效果。

并在超过安全阈值时通过单片机P3.0口控制LED灯报警。

在设计里面刚开始为使程序有很好的移植性,所以用C语言编程。

也得知在进行单片机软件仿真时,应尽量使程序精简。

本次设计由于时间较为仓促,对于单片机定时器的控制,而在实际的应用中往往需要对其进行扩展应用,对于这些知识,我还只是只了解其表面,这需要下来再去深究。

在本次课程设计里面,我把电路和单片机必备的一些基本操作技能再次熟悉了一遍,虽然对于课程设计没有太大必要,也占用了一些时间,但是我个人觉得这么做是值得的,也为我即将进入工厂开始实际工作有了基本理论保障。

对于机油压力检测,我只进行了最简单的程序编写和仿真,而往往在实际中是作为一个系统中的很小环节来进行应用的,所以还需要我进一步学习更多的单片机及相关测试传感器知识。

致谢

本课程设计是在唐岚老师的精心指导下完成的。

在课程设计里面,她让我重新认识到了专业知识学习的重要性,还使我明白了许多为人处世的道理。

本课程设计从选题到完成,是在老师指导下完成。

另外,本次设计的完成也离不开各位同学给我的建议和帮助,是他们让我懂得了团队合作的重要性,也让我明白了团队精神的内涵。

在此,我谨向唐岚老师和帮助过我的老师和同学们,表示崇高的敬意和衷心的感谢!

参考文献

[1]台力.微型计算机控制技术.中国水利水电出版社.2001.

(1).124~136

[2]张毅刚.新编MCS-51单片机应用设计.哈尔滨工业大学出版社.2004.

(2).160~198

[3]董敬.汽车拖拉机发动机.机械工业出版社.2003.(20).11~13

[4]赵佩华单片机接口技术及应用.机械工业出版社2003.1

[5]唐岚汽车测试技术机械工业出版社2006.7

[6]付百学微机控制技术北京:

机械工业出版社,2002

[7]程军微机接口技术北京:

北京理工大学出版社,1999

[8]冯渊汽车计算机控制技术北京:

机械工业出版社,1999

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1