基于单片机的车内空气调节.docx
- 文档编号:29374693
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:45
- 大小:254.51KB
基于单片机的车内空气调节.docx
《基于单片机的车内空气调节.docx》由会员分享,可在线阅读,更多相关《基于单片机的车内空气调节.docx(45页珍藏版)》请在冰豆网上搜索。
基于单片机的车内空气调节
交通与汽车工程学院
课程设计说明书
课程名称:
微机原理及应用课程设计
课程代码:
8234570
题目:
基于单片机的车内空气调节
年级/专业/班:
学生姓名:
学 号:
开始时间:
20年月日
完成时间:
20年月日
课程设计成绩:
学习态度及平时成绩(30)
技术水平与实际能力(20)
创新(5)
说明书(计算书、图纸、分析报告)撰写质量(45)
总分(100)
指导教师签名:
年月日
目录
摘要3
1引言4
1.1问题的提出4
1.2任务与分析4
2系统方案设计5
2.1系统设计方案5
2.2系统总体框图6
3系统硬件电路设计7
3.1AT89c51简介7
3.2继电器简介12
4系统软件设计13
4.1proteus软件环境介绍13
4.2Protel软件环境介绍14
4.3keilc51简介15
4.4系统软件分析15
4.5程序流程图16
5系统调试过程19
总结21
附录A:
原理图23
附录B:
PCB图24
附录C:
程序代码25
摘要
随着社会需求和单片机应用领域的不断扩展,各类智能产品、控制系统都是以单片机技术为核心来进行开发设计的。
本设计是基于89C51单片机为控制核心的车内空气舒适度。
本系统采用MSC-51系列单片机AT89C51和相关的温度湿度传感器以及LCD显示器,实现了能根据实际车内温度湿度条件通过8951芯片控制的功能。
本设计说明书对该系统的硬件电路,工作原理进行了详细的介绍。
同时给出了软件设计的流程图和主要源代码。
关键词:
89C51单片机温度湿度控制可调节
1引言
1.1问题的提出
随着社会的发展,科技的进步,以及测温湿仪器在各个领域的应用,智能化已是现代温湿度控制系统发展的主流方向。
特别是近年来,汽车的自动化程度越来越高,各类单片机在汽车上得到了广泛的利用,人们在追求驾驶所带来的乐趣,和汽车给我们每个群众所带来的便利,同时也对汽车各个方面的舒适度提出了更高的要求,针对这种实际情况,设计一个温湿度控制系统,具有广泛的应用前景与实际意义。
1.2任务与分析
本次设计的系统的控制中心是89C51单片机。
首先,在Protel软件环境中进行硬件电路图的设计。
然后在proteus软件环境中进行系统的软件编程,并进行程序源文件的编译和调试,最后生成.hex文件。
此.hex文件是硬件电路运行实现的源代码来源。
把.hex文件加载到AT89C51单片机芯片,然后在Proteus软件环境中运行硬件电路,控制电路的功能就能够实现了。
本设计的系统主要由:
AT89C51为中央处理芯片,用于信号采集,初值设定。
本系统主要实现的功能:
(1)、显示车内温度,湿度。
(2)、在温度和湿度超出设定值时,亮红灯提示,并自动打开电动机,进行换气和降温的功能
(3)、能自由调节温度湿度变化范围设定值,由自己喜好来选用温度湿度变化范围。
2系统方案设计
2.1系统设计方案
本次课程设计题目是《基于单片机的车内空气调节》。
此课题要求以车内空气的温度和湿度为对象,完成硬件系统和软件程序的设计,实现以车内温度湿度调节功能,属于软硬件相结合的题目。
其中硬件电路部分主要包括以下几个部分:
单片机最小系统、温湿度显示电路部分、红灯报警及电机电路部分;软件部分主要包括三个电子软件Proteus、Keil-C51软件、protel99。
工作原理如下图所示:
图2-1工作原理简图
本系统需要如下电路元器件,其中电路元器件及相关参数的需求:
(1)AT89C51实验板一块。
(2)电机一个,控制电机运转的继电器两个。
(3)用于温湿度显示的LCD显示器一个。
(4)复位及温湿度范围设定按钮4个。
(5)+5V直流电压源8个。
实验所用设备器材:
PC机一台及相关软件。
最小系统是51单片机的最基本的组成部分,51单片机的引脚虽然只有四十,但它有很多的扩展功能,根据相应的课题设计要求可以设计相应的外围电路。
此外,在本课题的设计过程中,还应注意P0口,通常P0-P3口用作通用I/OK口,当P0接口用于I/O口时,必须接上拉电阻,而其他接口不需要。
2.2系统总体框图
总体框图如下
图2-2总体框架图
当启动程序后,单片机处于设置的初始状态:
同时接受温湿度信号。
此时系统正常工作,如果温湿度超过设定范围时,SHT10直接把信号传送给单片机,单片机根据传感器送来的信号个传感器的布置,由单片机控制LCD液晶显示器工作让红灯点亮,同时打开温度调节装置此处由电动机表示。
当温湿度回到正常范围时系统回复正常运行。
3系统硬件电路设计
3.1AT89c51简介
MCS-51系列单片机是由美国的Intel公司开发研制,并于1980年推出的产品。
与MCS-48系列单片机相比,其以典型的体系结构和完善的专用寄存器集中管理方式,方便的逻辑位操作功能及丰富的指令系统[5],堪称一代“名机”,为之后的其他单片机的发展奠定了基础。
因此,MCS-51系列单片机结构先进,功能强大,增加了更多的电路单元和功能模块,指令数达111条。
其中的代表作便是AT89C5x系列单片机,而本文所用的便是AT89C51单片机。
现简要介绍如下:
1.中断系统
8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
2.时钟电路
8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。
3.8051的引脚说明
8051系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:
图4-1AT89C51引脚
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高[3]。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA:
当/EA保持低电平时,则在此期间CPU只访问外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,则执行内部程序存储器中的程序。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
8051的复位方式可以是自动复位,也可以是手动复位,见下图。
此外,RESET/还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。
图4-2AT89C51的复位方式
·Pin30:
ALE当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。
而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。
更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。
如果单片机是EPROM,在编程其间,将用于输入编程脉冲。
·Pin29:
当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。
·Pin31:
EA/程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。
如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。
显然,对内部无程序存储器的8031,EA端必须接地。
4.存储器系统
8051单片机存储器在的物理结构上分为程序存储器空间和数据存储器空间,程序存储器ROM:
我们为了让单片机实现某一功能,需要利用利用汇编语言或其他语言编写一些源程序,然后再烧录到芯片中。
我们编写的这些程序,就存储在程序存储器空间中。
数据存储器RAM:
我们编写的源程序,在运行的过程中,会产生一些临时的运算结果,这些结果需要临时存放在一个地方,这个地方就是数据寄存器。
8051单片机具有四个存储器空间:
(1)片内程序存储器,即单片机芯片内置的存储空间
(2)片外程序存储器,即当单片机芯片内置的存储空间不够使用时,我们需要外加的一个存储器芯片
(3)片内数据存储器,即单片机芯片内置的存储空间
(4)片外数据存储器,即当单片机芯片内置的存储空间不够使用时,我们需要外加的一个存储器芯片
但从用户使用的角度,8051存储器地址空间分为三类:
1.片内片外统一编址的0000H--FFFFH的64K字节的程序存储器地址空间,用16位地址。
2.64K字节片外数据存储器空间,地址也是从0000H--FFFFH用16位地址。
3.256字节数据存储器空间,用8位地址[7]。
一、程序存储器地址空间
8051程序存储器用于存放编写好的程序和表格常数。
程序存储器通过16位程序计数器PC寻址。
寻址能力为64K字节。
片内ROM为4KB。
地址为0000H--0FFFH。
片外最多可扩至64K字节。
地址为1000H--FFFFH。
片内片外是统一编址的。
当引脚EA接高电平时,8051程序计数器PC在0000H--0FFFH范围内,即前4K字节地址执行片内ROM中的程序。
当指令地址超过0FFFH后,就自动转向片外ROM中取指令。
程序存储器的某些单元是留给系统使用的。
存储单元0000H--0002H用作8051上电复位后引导程序存放单元。
因为8051上电复位后程序计数器PC的内容为0000H,所以CPU总是从0000H开始执行程序,如果在这三个单元中有跳转指令,那么,程序就被引导到转移指令所指的ROM空间去执行。
0003H--0023H单元被均匀的分为5段。
用作5个中断服务程序的入口。
因为5个入口之间间隔较小,因此一般来说,这五个入口都是存放着一条跳转指令,而把真正的中断服务程序安排在后面的存储单元中。
二、数据存储器空间
数据存储器RAM用于存放运算中的结果、数据暂存或缓冲、标志位等。
数据存储空间也分为片内和片外两大部分,即片内RAM和片外RAM。
(1)片外数据存储器
外部数据存储器又称为外部数据RAM,当805l片内256个字节的数据RAM不能满足数量上的要求时,可通过总线端口和其它I/O端口扩展外部数据RAM(扩展方法见相关章节),其最大容量可达64K字节。
地址从0000H--FFFFH。
外部数据RAM与内部数据RAM的功用基本相同,但外部数据RAM不能进行堆栈操作[8]。
(2)片内数据存储器
片内RAM数据存储器最大寻址空间为256字节。
他们又分为两个部分。
低128字节00H--7FH是真正的RAM区
低128字节中地址00H一1F的32个单元,安排为四组工作寄存器。
每组又分为8个寄存器区R0--R7。
3.2继电器简介
电器是一种电控制元件。
它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。
通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。
故在电路中起着自动调节、安全保护、转换电路等作用。
当输入量(如电压、电流、温度等)达到规定值时,继电器所控制的输出电路导通或断开。
输入量可分为电气量(如电流、电压、频率、功率等)及非电气量(如温度、压力、速度等)两大类。
继电器具有动作快、工作稳定、使用寿命长、体积小等优点。
广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。
电磁继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。
只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。
当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放。
这样吸合、释放,从而达到了在电路中的导通、切断的目的。
对于继电器的“常开、常闭”触点,可以这样来区分:
继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。
继电器一般有两股电路,为低压控制电路和高压工作电路。
固态继电器[1]是一种两个接线端为输入端,另两个接线端为输出端的四端器件,中间采用隔离器件实现输入输出的电隔离。
固态继电器按负载电源类型可分为交流型和直流型。
按开关型式可分为常开型和常闭型。
按隔离型式可分为混合型、变压器隔离型和光电隔离型,以光电隔离型为最多。
热敏干簧继电器是一种利用热敏磁性材料检测和控制温度的新型热敏开关。
它由感温磁环、恒磁环、干簧管、导热安装片、塑料衬底及其他一些附件组成。
热敏干簧继电器不用线圈励磁,而由恒磁环产生的磁力驱动开关动作。
恒磁环能否向干簧管提供磁力是由感温磁环的温控特性决定的。
磁簧继电器是以线圈产生磁场将磁簧管作动之继电器,为一种线圈传感装置。
因此磁簧继电器之特征、小型尺寸、轻量、反应速度快、短跳动时间等特性。
当整块铁磁金属或者其它导磁物质与之靠近的时候,发生动作,开通或者闭合电路。
由永久磁铁和干簧管组成。
永久磁铁、干簧管固定在一个不导磁也不带有磁性的支架上。
以永久磁铁的南北极的连线为轴线,这个轴线应该与干簧管的轴线重合或者基本重合。
由远及近的调整永久磁铁与干簧管之间的距离,当干簧管刚好发生动作(对于常开的干簧管,变为闭合;对于常闭的干簧管,变为断开)时,将磁铁的位置固定下来。
这时,当有整块导磁材料,例如铁板同时靠近磁铁和干簧管时,干簧管会再次发生动作,恢复到没有磁场作用时的状态;当该铁板离开时,干簧管即发生相反方向的动作。
磁簧继电器结构坚固,触点为密封状态,耐用性高,可以作为机械设备的位置限制开关,也可以用以探测铁制门、窗等是否在指定位置。
光继电器为AC/DC并用的半导体继电器,指发光器件和受光器件一体化的器件。
输入侧和输出侧电气性绝缘,但信号可以通过光信号传输。
其特点为寿命为半永久性、微小电流驱动信号、高阻抗绝缘耐压、超小型、光传输、无接点…等。
主要应用于量测设备、通信设备、保全设备、医疗设备…等。
时间继电器是一种利用电磁原理或机械原理实现延时控制的控制电器。
它的种类很多,有空气阻尼型、电动型和电子型等。
在交流电路中常采用空气阻尼型时间继电器,它是利用空气通过小孔节流的原理来获得延时动作的。
它由电磁系统、延时机构和触点三部分组成。
时间继电器可分为通电延时型和断电延时型两种类型。
空气阻尼型时间继电器的延时范围大(有0.4~60s和0.4~180s两种),它结构简单,但准确度较低。
当线圈通电(电压规格有ac380v、ac220v或dc220v、dc24v等)时,衔铁及托板被铁心吸引而瞬时下移,使瞬时动作触点接通或断开。
但是活塞杆和杠杆不能同时跟着衔铁一起下落,因为活塞杆的上端连着气室中的橡皮膜,当活塞杆在释放弹簧的作用下开始向下运动时,橡皮膜随之向下凹,上面空气室的空气变得稀薄而使活塞杆受到阻尼作用而缓慢下降。
经过一定时间,活塞杆下降到一定位置,便通过杠杆推动延时触点动作,使动断触点断开,动合触点闭合。
从线圈通电到延时触点完成动作,这段时间就是继电器的延时时间。
延时时间的长短可以用螺钉调节空气室进气孔的大小来改变。
吸引线圈断电后,继电器依靠恢复弹簧的作用而复原。
空气经出气孔被迅速排出。
4系统软件设计
4.1proteus软件环境介绍
本系统的硬件设计首先是在Proteus软件环境中仿真实现的。
Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使用,除了具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿真是互动的。
针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。
如果有显示及输出,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,还能看到运行后输入输出的效果。
Proteus建立了完备的电子设计开发环境,尤其重要的是ProteusLite可以完全免费,也可以花微不足道的费用注册达到更好的效果。
Proteus是目前最好的模拟单片机外围器件的工具。
可以仿真51系列、AVR、PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件...)。
其实Proteus与multisim比较类似,只不过它可以仿真MCU,当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是初学者拥有它们的可能性比较小。
当然,硬件实践还是必不可少的。
在没有硬件的情况下,Proteus能像pspice仿真模拟/数字电路那样仿真MCU及外围电路。
另外,即使有硬件,在程序编写早期用软件仿真一下也是很有必要的。
Proteus软件主要具有以下几个方面的特点:
1、设计和仿真软件Proteus是一个很有用的工具,它可以帮助学生和专业人士提高他们的模拟和数字电路的设计能力。
2、它允许对电路设计采用图形环境,在这种环境中,可以使用一个特定符号来代替元器件,并完成不会对真实电路造成任何损害的电路仿真操作。
3、它可以仿真仪表以及可描述在仿真过程中所获得的信号的图表。
4、它可以仿真目前流行的单片机,如PICS,ATMEL-AVR,MOTOROLA,8051等。
5、在设计综合性方案中,还可以利用ARES开发印制电路板。
4.2Protel软件环境介绍
Protel印制板设计软件包是澳大利亚proteltechnology公司与1990年推出的电子CAD产品,具有方便、易学、实用、快速以及高速度、高步通率的特点。
它采用了分层次下拉窗口菜单结构形式,用户基本上不需要记背太多的键盘命令,用鼠标点击菜单命令就能操作,protel有着很高的自动布线布通率。
布通率是电子产CAD产品的一项重要指标,它反映电子元件在电路图中连接关系有多少能在印刷版图中实现。
在设计常用的单、双面印制板时只要选择适当的元件布局和布线策略方法,protel就可以轻易的达到98%-100%的布通率。
对于极少数不能布通的定方,protel可以用飞线指示出来,引导用户用手工方法连通。
另外,protel有强大的宏命令设置功能,利用宏命令功能多定义的热键可以大大提高操作速度[1]。
Protel对微机的软硬件配置要求很低:
cpu在8088以上,dos2.0以上版本,内存640kb以上,双软件(或一个软件一个硬盘),单色显示器(多层板设计时最好用彩色),各种兼容打印机。
也能在Windows9X平台的模拟DOS下运行。
Protel已成为印制板设计加工方面的工业标准。
据初步统计protel在CAD的市场占有率达95%,成为电子产品制造业界的首选CAD软件。
4.3keilc51简介
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍KeilC51开发系统各部分功能和使用。
KeilC51单片机软件开发系统的整体结构
C51工具包的整体结构,其中uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
使用独立的Keil仿真器时,注意事项:
仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。
仿真器上的复位按钮只复位仿真芯片,不复位目标系统。
4.4系统软件分析
任何一个应用系统,它们都有着自己的硬件系统和软件系统,少了任何一个部分都不可能称之为一个完整的应用系统,它们之间是相互依存的一个整体,硬件系统是软件系统的一个基础和前提,为软件系统提供了一个操作平台;而软件系统是硬件系统的灵魂,它对硬件系统起到扩充和完善的作用。
可想而知软件系统与硬件系统同等重要。
4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 空气调节
![提示](https://static.bdocx.com/images/bang_tan.gif)