汽车车内温度检测系统.doc_第1页
汽车车内温度检测系统.doc_第2页
汽车车内温度检测系统.doc_第3页
汽车车内温度检测系统.doc_第4页
汽车车内温度检测系统.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、交通与汽车工程学院课程设计说明书课 程 名 称: 微机检测系统课程设计 课 程 代 码: 8416671 题 目: 汽车车内温度检测系统 年级/专业/班: 09级/车辆工程/汽电3班 学 生 姓 名: 肖 盈 宏 学 生 学 号: 312009080306429 开 始 时 间: 2012 年 12 月 24 日完 成 时 间: 2013 年 1 月 4 日课程设计成绩: 学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日目 录摘要 21 引言 31.1 问题提出 31。2 任务与分析 32

2、方案设计 42.1 方案论证 42.2 最终设计方案总体设计框图 43 系统硬件设计 53.1 80C51单片机 53.2 73。3 A/D采样电路 84 系统软件设计 94。1 设计思路、过程 94.2 主程序流程94.3 数据转换子程序框图 104.4显示子程序框图 115 系统调试过程 125.1原理图的绘制和检查 115.2 Keil程序调试 115。3 Proteus仿真软件介绍 125。4 Proteus仿真图建立 125.5 Proteus仿真调试结果 14结论 18致谢 19参考文献 20附录A 程序源代码21摘 要 目前单片机因其非凡的嵌入式应用形态对于满足嵌入式应用需求具有

3、独特的优势,它渗透到我们生活的各个领域。主要应用于智能仪表、智能传感器、智能家电、智能办公设备、汽车及军事电子设备等应用系统。其中温度报警系统应用广泛,为各种环境提供温度监测,不仅为生活带了很多方便,而且可以防止造成不必要的损失。本文介绍用AT89C51单片机设计制作的高温警报系统,由AT89C51单片机、数码管、AD0804芯片和一些常用元器件等组成.该系统用滑动变阻器的滑头端输出电压来模拟温度传感器的电压,经过A/D采样,根据热敏电阻阻值随温度变化而变化,通过改变滑动变阻器的阻值从而改变输入量,测出相应的A/D采集数,通过相应的程序处理从而得出所测温度,随机改变滑动变阻器阻值(即相当于温度

4、变化),再通过AT89C51单片机控制数码管,由数码管显示当前温度。关键词:AT89C51单片机;温度传感器;数码管;Proteus仿真 1 引 言 1。1 问题的提出 随着人们生活水平的提高,人们对汽车乘驾舒适性的要求有了更高的标准,希望通过一个检测系统,从而显示和控制车内温度,使驾驶员和乘客有更加舒适的车内环境,增加舒适度和可操作性.为此,我们决定设计一个汽车车内温度检测系统,通过运用AT89C51单片机、温度传感器、以及其他相关元器件,并用数码管显示出相应的温度。以便达到监测汽车室内的温度,以及通过相应控制系统改变温度,达到驾驶人员和乘坐人员对室内的舒适度要求。通过该设计及制作加深了对温

5、度传感器以及数码管等元器件的认识,并且对Proteus仿真等软件有了进一步的认识和熟练。1.2 任务与分析 本文是应用AT89C51单片机原理和微机控制与接口技术设计汽车车内温度检测系统的硬件电路,并采用c语言进行程序设计。通过控制外部AD0804芯片来检测滑动变阻器模拟输出的温度变化,再通过单片机处理AD0804所采集的数据,转换成相应的温度并通过数码管或液晶显示.本系统的难点在于A/D芯片的应用、如何将采集的信号与实际温度联系起来以及怎么控制和应用数码管、液晶显示的问题。该系统设计需要用Proteus仿真软件进行仿真,所有要进行相关程序的编写。2 方案设计 2.1方案论证 方案一 系统采用

6、AT89C51单片机作为主控芯片,AD8032芯片作为电压检测的A/D转换模块。从而控制数码管显示车内温度.方案二与方案一相比,方案二采用ADC0804转换.进行方案比较,方案二采用ADC0804,ADC0804是属于连续渐进式的A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上 2.2 最终设计方案总体设计框图图2-1 系统总体框图 在本次设计里面,利用单片机设计电路,以滑动变阻器阻值的改变来模拟温度变化,再用AD0804芯片进行采样,通过计算,最后通过数码管来显示所测温度。由于使用软硬件结合的方式代替了数字电路

7、的复杂性,所以电路结构简单、调试也相对方便,经济实惠。3 系统硬件设计3.1 80C51单片机3.1。1 80C51单片机介绍80C51是INTEL公司MCS-51系列单片机中最基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承和扩展了MCS48单片机的体系结构和指令系统. 80C51内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。 此外,80C

8、51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。80C51有PDIP(40pin)和PLCC(44pin)两种封装形式。其引脚图如图3-1所示:P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RXD P3.010TXD P3.111INT0 P3.212INT1 P3.313T0 P3.414T1 P3.515WR P3.616RD P3.717XTAL218XTAL119VSS20P2.021P2.12

9、2P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA/VPP31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC4080C51 图3-1 80C51单片机引脚图80C51系列单片机都是以8031为核心发展起来的,具有和51系列单片机及基本结构和软件特征,其内部结构如图32所示:振荡器及定时电路80C51CPU4K字节ROM128字节RAM2个16位定时器/计数器64K总线扩展控制可编程I/O可编程串行口 图3-2 80C51单片机框图80C51单片机的引脚功能:1、主电源引脚Vss和

10、Vcc. Vss接地。 Vcc正常操作时为+5伏电源.2、外接晶振引脚XTAL1和XTAL2。 XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。 XTAL2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。3、控制或与其它电源复用引脚RST/VPD,ALE/,和/Vpp。 RST/VPD 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。 ALE/ 正常操作时为ALE功能(允许地址

11、锁存)提供把地址的低字节锁存到外部锁存器,ALE 引脚以不变的频率(振荡器频率的)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE 端可以驱动(吸收或输出电流)八个LSTTL电路. 对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲(功能)。 外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,在每个机器周期内两次有效。同样可以驱动八LSTTL输入. /Vpp /Vpp为内部程序存储器和外部程序存储器选择端。当/Vpp为高电平时,访问内部程序存储器,当/Vpp 为低电平时,则访

12、问外部程序存储器。对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。4、输入/输出引脚P0。0 P0。7,P1.0 - P1.7,P2.0 - P2。7,P3。0 - P3。7。 P0口(P0。0 P0.7)是一个8位漏极开路型双向I/O口,在访问外部存储器时,它是分时传送的低字节地址和数据总线,P0口能以吸收电流的方式驱动八个LSTTL负载。 P1口(P1.0 - P1。7)是一个带有内部提升电阻的8位准双向I/O口。能驱动(吸收或输出电流)四个LSTTL负载。 P2口(P2.0 P2。7)是一个带有内部提升电阻的8位准双向I/O口,在访问外部存储器

13、时,它输出高8位地址。P2口可以驱动(吸收或输出电流)四个LSTTL负载。 P3口(P3。0 - P3.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动四个LSTTL负载。且具有第二功能。3。1.2 选用80C51单片机原因在课程设计里热敏传感器电压信号在模数转换后,只需要通过单片机内部进行数据处理以及软件滤波,显示电路采用分时复用P2口,在设计里面使用的引脚较少,占用的资源也比较少。而且该芯片是以8031为核心,性能价格比高,应用成熟,且对其内部结构较为熟悉,芯片功能够用而且适用,从而选用80C51单片机作为主控芯片。3.2 人机交互设备为了方便驾驶员及乘坐人员能醒目地知道车内温度,因

14、此用数码管显示当前车内温度具体值。让驾驶员做出相应的判断,从而可以用其他相关系统改变室内温度,以达到所需舒适度的要求。3.3 A/D采样电路图33 A/D电路系统采用ADC0804以及A/D转换芯片采样滑动变阻器上的电压。4 系统软件设计4。1设计思路、过程系统采用AT89C51单片机进行设计,程序首先对A/D进行初始化,滑动变阻器滑片的不同位置将对应不同的电压值,A/D采集到的数值也不相同。通过调用转换程序对其进行标度变换,通过采集不同的数,数码管显示不同的值。4。2程序流程图 图4-1 主程序框图4.3 数据转换子程序开始 初始化数据转换转换完成?读出数据结束图42 数据转换子程序框图开始

15、注入数据4。4显示子程序框图 滤波 显示第四位数延时显示第三位数延时显示第二位数延时显示第四位数5 系统仿真与调试 通过上面的设计,设计已经基本完成.对Keil进行相应的检查和调试,并用Proteus对所设计系统进行仿真用以验证设计的正确性及可行性。5.1 原理图的绘制和检查打开Protel,绘制系统的原理图。原理图包括能输出+5V电源电路、A/D电路、时钟电路、数码管显示电路。绘制完成的原理图如图51所示。图51 温度检测系统原理图5。2 Keil程序调试程序调试结果如图52:Creating hex file from “11”表明 .hex文件创建成功。“11"- 0 Erro

16、r(s),0 Warning(s)表明文件编译结果没有错误.图52 程序编译结果5。3 Proteus仿真软件介绍系统采用Proteus软件来进行程序的仿真。Proteus是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其他EDA工具软件的仿真功能。还能仿真单片机及其外围器件.它是目前最好的仿真单片机及其外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。5。4 仿真图建立本系统采用Proteus软件进行仿真,利用该软件自带的仿真模块建立系统的仿真图。图5。1为车内温度检测系统的最小系统

17、图。图5-3主控芯片仿真系统采用滑动变阻器作温度输入,通过改变滑片的位置将输出不同的电压。 图54系统检测系统系统采用LED数码管作为显示器件,其具体的仿真连接图如下。图55系统的显示器件图当系统经AD0804采集完数据后,单片机对其进行处理(包括程序滤波处理),然后将处理后的数据通过数码管显示当前车内温度。5.5 Proteus仿真调试结果图5-6,图57和图5-7分别表示在不同的电压输入值中对应的显示情况。当调节滑动变阻器改变A/D输入值,数码管显示的温度值就不一样。 图5-6 Proteus仿真图(1)当逐渐调节滑动变阻器使其电压值变大,温度值也就相应发生变化。 图5-7 Proteus

18、仿真图(2)图5-8 Proteus仿真图(3)当调节滑动变阻器阻值一次变化很大时,数码管显示温度不再发生改变(如图(1)、(2)),这是由于添加了滤波程序,因为现实生活中,在AD0804采集一次的时间内,温度不可能有很大的变化,出现了这种情况(相邻两次采集电阻值图(1)、(3)),说明当前采集数据有误,因此舍弃该数据。 图5-9 相邻两次采集电阻值(1) 图510 相邻两次采集电阻值(2)结 论在此次设计过程中,我和组员进行了深刻的谈论,在老师的指导下,开始拟定提纲着实画电路图。通过查阅了一些相关资料,让我对51系列单片机芯片的应用以及相关软件、硬件的使用方法有了更进一步的了解和学习。期间也

19、遇到了不少困难,比如运用Protel画原理图的时候,觉得有些东西还是没有弄清楚,在寝室同学的帮助下,最终还是顺利完成原理图。还有就是运用Proteus仿真的时候,比如通过对滑动变阻器阻值的改变从而转变成室内温度的变换,也遇到不少麻烦。在编程的时候也不知道如何下手。在老师的亲切关怀和同学的热心帮助下,我不仅完成设计所要求的内容,也学会了很多东西,比如掌握了一些AT89C51芯片的具体功能,如何正确选择元器件进行正确的模拟仿真。在此次设计中,体会颇深,具体如下:1. 对书本太过依赖,对Protel以及Proteus软件运用不够熟悉.2. 在进行该系统设计时,及时和组员沟通交换意见,让我明白团队合作

20、的精神.3. 不能对元器件的正确合理的选择,折射出知识面太过狭窄.最后,通过本次设计我们不仅能将书本上学到的关于单片机相关的知识与实践相结合,而且还培养了查找相关资料和自学能力。这将对我们今后的实践提供很大的帮助。此次设计还让我意识到:理论和实践相结合的重要性。虽然电路看上去比较简单,但实际行动起来将会遇到许多困难.因此,设计过程中要保持一种持之以恒、严谨的学习态度,这样才会在设计过程中及时的发现问题、解决问题。致 谢 本毕业设计的完成,首先感谢我的母校的教育之恩.其次感谢学院提供给我的教育环境,使我学到了许多新的知识。本论文是在老师的悉心指导下完成的。指导老师的治学严谨,为人诚恳,学识渊博,

21、为我提供了一种良好的精神气氛。我从老师身上学到了很多自己平时都没有接触过的知识和学习方法,他在学习上给予我许多的帮助,在此,我表示崇高的敬意和诚挚的谢意。本次设计能够顺利完成,首先感谢我的母校的教育之恩,其次感谢学院提供给我的教育环境,使我学到了很多东西。最后特别感谢赵玲老师,指导老师的治学严谨,为人诚恳,学识渊博,为我提供了一种良好的精神气氛。我从赵玲老师身上学到了很多自己平时都没有接触过得知识和学习方法,她在此次课程设计上给予我许多帮助,在此,我表示崇高的敬意和诚挚的谢意!参考文献1张毅刚. 新编MCS51单片机应用设计M。 哈尔滨:哈尔滨工业大学出版社.20042倪志莲,张怡典. 单片机

22、应用技术M.北京:北京理工大学出版社.20073张靖武.单片机系统的protues设计与仿真M.北京:电子工业出版社.20074Anolog Device Corp,ADC0809 Databok,2005.附录A 程序源代码#include reg51。hinclude<tt。h>void main() / 主程序P2=0xff;/P2作为输出写1while(1)get0804();temp=ff41;display(); /显示温度void Tdelay(unsigned int i) while(i-);void get0804() /AD0804模数转换 CS=0;adwr

23、=0;Tdelay(5) ;ad_INTR=0;Tdelay(5) ;ad_INTR=1;Tdelay(5) ;adwr=1;Tdelay(5);adwr=0;Tdelay(5);adrd=0;Tdelay(30); ff=P1;Tdelay(5);adrd=1;Tdelay(5);adwr=1;CS=1;void delay(uchar k)/延时函数uchar i,j;for(i=k;i0;i-)for(j=125;j>0;j-);void display(void) /温度显示if(Flag=1) /程序滤波ss=temp-sub;if(ss>100 | ss<100)temp=sub;sub=temp;Flag=1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论