燕山大学单片机课设空调温度控制.docx
- 文档编号:5892787
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:26
- 大小:558.08KB
燕山大学单片机课设空调温度控制.docx
《燕山大学单片机课设空调温度控制.docx》由会员分享,可在线阅读,更多相关《燕山大学单片机课设空调温度控制.docx(26页珍藏版)》请在冰豆网上搜索。
燕山大学单片机课设空调温度控制
燕山大学
课程设计说明书
题目:
空调温度控制
学院(系):
电气工程学院
年级专业:
学号:
学生姓名:
指导教师:
教师职称:
燕山大学课程设计(论文)任务书
院(系):
电气工程学院基层教学单位:
仪器科学与工程系
学号
学生姓名
专业(班级)
设计题目
空调温度控制
设
计
技
术
参
数
利用实验仪上显示电路、键盘或开关电路、A/D转换电路,模拟空调恒温控制。
可以利用实验仪上的电位器模仿温度变化,制冷可以用发光二极管模拟,也可以控制直流电机模仿压缩机的运行。
要求可以用键盘或开关设定恒温温度,当外界温度超过设定温度1℃时,就要启动加热或制冷压缩机。
设
计
要
求
显示电路、键盘或开关电路、A/D转换电路的硬件电路设计;
编制相应的程序。
工
作
量
设计的内容满足课程设计的教学目的与要求,设计题目的难度和工作量适合学生的知识和能力状况,工作量饱满。
工
作
计
划
查阅资料进行设计准备、设计硬件电路、编制程序,编制程序、验证设计、撰写任务书。
参
考
资
料
单片微型计算机接口技术及其应用张淑清国防工业出版社
单片机原理及应用技术张淑清国防工业出版社
单片机应用技术汇编
指导教师签字
基层教学单位主任签字
说明:
此表一式四份,学生、指导教师、基层教学单位、系部各一份。
2012年6月29日
引言
温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。
在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
其中,温度控制越来越重要。
例如,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
化工生产中,许多化工反应的工艺过程必须在适当的温度下才能进行。
没有合适的温度,许多电子设备就不能正常的工作。
由此可见,温度影响的各方各面,而温度的控制也显得日益重要。
传统的人工操作控制温度,效率低,精度小,误差大,操作受到很大的人为因素的影响。
为了提高工业生产效率,减小误差,基于单片机的智能化的温度控制是主流
电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么单片机技术的出现则是给现代工业控制测控领域带来了一次新的革命。
目前,单片机在工业控制系统诸多领域得到了极为广泛的应用。
特别是其中的C51系列的单片机的出现,具有更好的稳定性,更快和更准确的运算精度,推动了工业生产,影响着人们的工作和学习。
在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面,随着人们生活质量的提高,酒店厂房及家庭生活中都会见到温度控制的影子,温度控制将更好的服务于社会。
而今,空调等家用电器随着生产技术的发展和生活水平的提高越来越普及,一个简单、稳定的温度控制系统能更好的适应市场。
而本次设计就是要通过以MCS-51系列单片机为控制核心,实现空调机温度控制器的设计。
采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。
摘要
在自动控制领域中,温度检测与控制占有很重要地位。
温度测控系统在工农业生产、科学研究和在人们的生活领域,也得到了广泛应用。
因此,温度传感器的应用数量居各种传感器之首。
目前,温度控制系统正从模拟式向数字集成式方向飞速发展。
本论文概述了空调温度控制系统的原理及特性,在此基础上描述了系统研制的理论基础,温度采集等部分的电路设计,并对测温系统的一些主要参数进行了讨论。
针对测温系统温度采集、接收、处理、显示部分的总体设计方案进行了论证,进一步介绍了单片机在系统中的应用,分析了系统各部分的硬件及软件实现。
本文详细介绍了一种以单片机80C51为核心的空调温度控制系统。
空调温度控制系统的设计原理以达到更优的系统性能为目的,由单片机完成数据的采集、处理、显示。
该系统以在普通环境下测量到的温度值为确定条件,利用单片机控制空调制冷和制暖来达到所需温度。
关键词:
8051单片机温度控制
第一章设计说明
1.1设计要求
本课程设计题目是《空调温度控制》,要求利用实验仪上显示电路、键盘或开关电路、A/D转换电路,模拟空调恒温控制。
可以利用实验仪上的电位器模仿温度变化,制冷可以用发光二极管模拟,也可以控制直流电机模仿压缩机的运行。
要求可以用键盘或开关设定恒温温度,当外界温度超过设定温度1℃时,就要启动加热或制冷压缩机。
并且要求完成显示电路、键盘或开关电路、A/D转换电路的硬件电路设计,还要求编制相应的程序。
1.2设计目的
传统的人工操作控制温度,效率低,精度小,误差大,操作受到很大的人为因素的影响。
为了提高工业生产效率,减小误差,基于单片机的智能化的温度控制是主流。
现代的智能空调,不仅利用了数字电路技术和模拟电子技术,而且采用了单片机技术,实现了软硬件的结合,既完善了空调的功能,又简化了空调的控制与操作,不仅满足了不同用户对温度的不同要求,而且能全智能调节室内温度。
单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。
因此,单片机广泛用于现代工业生产控制中。
本次课程设计的目的是,围绕为了熟悉WAVE开发软件及在电子信息课程中的应用课程,学习WAVE软件的使用,使我们能熟练的应用WAVE软件实现对80C51单片机的编程,了解程序开发过程中用到的一些基础知识,同时使我们熟悉应用程序开发过程,使我们从学校学习到参加工作之间有一个良好的过渡,为今后处理相应领域的专业问题打下坚实的程序基础。
1.3设计过程
本次设计采用MCS-51单片机作为控制芯片,采用实验仪器上的电位器来模仿温度信号。
通过温度传感器将温度信号转换成与之相对应的电压信号,将之送入A/D转换器进行A/D转换,这样就将模拟信号转换成数字信号。
之后再将数字信号送入到8051控制芯片进行数据处理。
通过在芯片外围添加扩展芯片、数码管显示电路、键盘或开关控制等外围电路来实现对空调温度的控制功能。
第二章总体设计说明
本次单片机课程设计空调温度控制,采用MCS-51单片机作为控制芯片,要求利用实验仪上显示电路、键盘、或开关电路、A/D转换电路,模拟空调恒温控制,可以实现键位与数字动态显示的一种设定温度可变的空调温度控制系统。
本系统功能由硬件和软件两大部分协调完成,硬件部分主要完成电位器对温度的电压模拟、温度的设定、温度信息的显示等功能;而软件主要完成对模拟输出的温度信号进行数字化处理及数码显示管的显示控制等功能。
热敏电阻通过感受外界温度变化,自身阻值亦将发生变化,进而影响初阶输出电压的变化;初阶输出电压通过一个运算放大电路,得到稳定在范围0—5V的输出电压。
输出电压经过AD转换,转变为0—255范围内的数字量,并将此数字量送入51单片机,执行程序运算。
温度的变化利用仪器上的电位器模拟演示,可以将温度这个非电量的物理量转化为电压量电信号输出。
该输出电信号由于是模拟量,在用单片机控制之前需将之转换为数字信号,对此,我们需要主机及其接口电路即A/D转换电路这样就将模拟信号转换成数字信号。
由于要设定温度,我们需要用键盘或开关输入温度数值,初始设定温度值由程序写入,用户可通过外接键盘改变初始设定温度。
单片机对各个键位进行扫描,确定键位的输入,然后数码管显示设定温度和测得温度的数值。
键入键盘输入设定的恒定温度,并通过比较设定温度和测得温度的数值大小,来判断是否产生相关的开关信号,当电位器改变导致温度超过设定的温度1度甚至更高时,我们设定绿色灯亮,表示制冷;当温度改变至低于设定恒定温度1度甚至更低时,我们让红色灯亮,表示加热。
基于以上思路,可进行如下功能设计:
伟福6000仿真实验箱共有6位数码管,可用其中三位表示设定温度及其符号位,另三位中后两位表示其测得温度。
初始设定温度由程序写入,可设定为20度。
通过键盘上的两个按键,以顺序“+1”或“—1”的幅值增减所初试设定的温度值,实现设定温度的可调控改变。
键盘采用6*4的矩阵式键盘,选取其中的2个按键,可设定为NEXT与LAST两键,其功能分别为:
设定温度值“+1”、设定温度值“—1”。
按键每按下一次,当前设定温度的数值转向下一改变后的设定温度的数值。
单片机通过输出端控制数码管的显用,该数码管出于成本等原因的考虑采用动态显示,显示当前所设定温度和测得温度的数值。
单片机通过比较判定两数值的大小关系,输出相应的开关信号,控制由LED管模拟的制冷和加热过程。
第三章各模块介绍
3.1总体模块介绍
系统由四个主要功能模块组成:
温度测量,按键输入,数码管动态显示以及LED显示模拟启动加热或制冷压缩机模块。
①温度测量模块的主要功能是将环境温度转化为电参数(电压),并通过A/D转换得到数字量送入单片机。
在此用电位器模拟环境温度大小。
②按键输入模块主要功能是实现对设定温度值的改变。
③数码管显示模块主要功能是显示模拟当前环境温度值及设定温度值。
④LED显示模块主要功能是单片机根据环境温度与设定温度的比较结果送出开关信号,并模拟控制压缩机制冷、加热过程的启停。
3.28051单片机介绍
图28051单片机引脚图
单片机就是在一块硅片上集成了微处理器、存储器和各种输入输出接口电路的微型计算机,简称单片机。
单片机以其较高的性能价格比受到了人们的重视和关注。
它的优点就是体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。
由于单片机具有较高的性能比,国内MCS-51系列单片机得到了广泛的应用。
单片机根据其基本操作处理的位数可分为4、8、16、32位单片机,应用最为广泛的是八位单片机。
根据本次设计的实际情况和要求,在本次设计中采用80C51作为系统的控制芯片。
单片机的40个引脚大致可分为4类:
电源、时钟、控制和I/O引脚。
⒈电源:
⑴VCC-芯片电源,接+5V;
⑵VSS-接地端;
⒉时钟:
XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
⒊控制线:
控制线共有4根,
⑴ALE/PROG:
地址锁存允许/片内EPROM编程脉冲
①ALE功能:
用来锁存P0口送出的低8位地址
②PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵PSEN:
外ROM读选通信号。
⑶RST/VPD:
复位/备用电源。
①RST(Reset)功能:
复位信号输入端。
②VPD功能:
在Vcc掉电情况下,接备用电源。
⑷EA/Vpp:
内外ROM选择/片内EPROM编程电源。
①EA功能:
内外ROM选择端。
②Vpp功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋I/O线
80C51共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
P0口输入时需要接上拉电阻才能置1;
3.3可调模拟量输入电路介绍
温度是一个非电量物理量,需要将之转化为电信号才能进行后续的测量和控制。
由于电位器电路用于产生可变的模拟量,为此,在此课程设计中,利用了实验仪器上的电位器来模拟温度变化,将温度这个非物理量转化为电压信号输出。
电位器结构图如所示。
图3电位器示意图图4电位器与A/D转换器连接图
3.4A/D转换器模块介绍
A/D转换电路是将从电位器输出的模拟电信号转换为数字电信号的电路结构。
目前A/D转换器的种类很多,有计数比较型、逐次逼近型、双积分型等等。
选择A/D转换器件主要从转换速度、精度和价格上考虑。
逐次逼近型A/D转换器,在精度、速度和价格上都比较适中,是最常用的A/D转换器。
双积分A/D转换器,具有精度高、抗干扰性好、价格低廉等优点,但转换速度慢。
近年来在微机应用领域中也得到了广泛的应用。
本次设计采用八路模拟输入通道的逐次逼近型的八位A/D转换器ADC0809。
采用ADC0809作为与单片机的接口电路,它的结构比较简单,转换速度较高。
采用ADC0809作为A/D转换器具有与单片机连接简单的优点,它是八位的转换器可以与八位的单片机直接连接,这样就简化了系统的连接电路也有利于系统软件的编写。
是目前国内应用最广泛的8位通用A/D芯片。
ADC0809芯片的接口及其外接电路如下图所示。
图5A/D转换内部结构图
图6ADC0809芯片图7ADC0809A/D转换电路
ADC0809芯片,内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
图中多路开关可选8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据采集方法。
地址锁存与译码电路完成A、B、C3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,下表为通道选择表。
表1通道选择表
3.58255与LED显示介绍
一、8255介绍
51系列单片机没有专用的对外地址总线和数据总线,其P0口和P2口既是通用I/O口,同时P0口还是分时复用的双向数据总线和低8位地址总线(一般需要加一级锁存器),而P2口则是高8位地址总线。
在单片机的I/O口线不够用的情况下,可以借助外部器件对I/O口进行扩展。
8255芯片是可编程并行I/O接口芯片,它具有三个8位并行口PA,PB和PC,一个8位的数据口D0~D7,PC口分高4位和低4位。
高4位可与PA口合为一组(A组),低4位可与PB口合为一组(B组),PC口可按位置位/复位。
40条引脚,DIP封装。
引脚图如图所示
图88255引脚图图9LED显示电路
图10MCS-51单片机外扩8255A芯片的电路原理图
二、LED显示介绍
在此空调温度控制的设计中,我们用到了发光二极管LED,用红色的灯来表示加热,用绿色的灯来表示制冷。
实验仪上装有8只发光二极管及相应驱动电路,其发光二极管的电路原理图如下示:
图11发光二极管电路原理图
3.6数码管与键盘工作介绍
一、键盘与数码管使用介绍
本课设中用到的实验仪已经将LED显示电路和键盘电路集成到一个集成电路中。
LED显示和键盘的等效电路如图12示。
显示控制的位码由74HC374输出,经MC1413反向驱动后,做LED的位选通信号。
位选通信号也可作为键盘列扫描码,键盘扫描的行数据从74HC245读回,74HC374输出的列扫描码经74HC245读入后,用来判断是否有键被按下,以及按下的是什么键。
如果没有键按下,由于上拉电阻的作用,经74HC245读回的值为高电平,如果有键按下,74HC374输出的低电平经过按键被接到74HC245的端口上,这样从74HC245读回的数据就会有低位,根据74HC374输出的列信号和74HC245读回的行信号,就可以判断哪个键被按下。
LED显示的段码由另一个74HC374输出。
键盘和LED显示的地址译码见图5,做键盘和LED实验时,需将KEY/LED_CS接到相应的地址译码上。
位码输出的地址为0X002H,段码输出的地址为0X004H,键盘行码读回的地址为0X001H,此处X是由KEY/LED_CS决定。
图12数码管与键盘连线图
二、矩阵式键盘扫描方式
本设计采用的是6×4矩阵式键盘,键盘的行线X0~X3通过电阻接+5V,当键盘没有键闭合时,所有的行线和列线断开,行线X0~X3均呈高电平。
扫描法是在判定有键按下后逐列(或行)置低电平,同时读入行(或列)状态,如果行(或列)状态出现非全1状态,这时与状态行,列交叉点的键就是所按下的键。
扫描法的特点是逐列(或行)扫描查询。
这时,相应的行(或列)应有上拉电阻接高电平。
当键盘上某一键闭合时,该键所对应的行线与列线短路,此时该行线的电平将由被短路的列线电平所决定。
如果将行线接至单片机的输入端口,列线接至单片机的输出端口,则在单片机的控制下使列线Y0为低电平,其余五根列线Y1、Y2、Y3、Y4、Y5均为高电平,然后单片机读输入口状态(即键盘行线状态),若X0、X1、X2、X3均为高电平,则Y0这一列上没有键闭合,如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态。
如果Y0这一列没有键闭合,紧接着使列线Y1为低电平,其余列线为高电平,用同样的方法检查Y1这一列有无键闭合,如此类推。
CPU对键盘的扫描可以采取程序控制的随机方式,CPU空闲时才扫描键盘;也可以采取定时控制方式,每隔一段时间,CPU对键盘扫描一次;还可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘发出的中断请求,对键盘进行扫描,以识别哪一个键处于闭合状态,并对键输入信息作相应处理。
图13键盘电路图
三、动态数码管扫描方式
由于8051单片机本身提供的I/O口有限,因此我们选择动态扫描方式。
所谓动态显示,就是单片机定时地对显示模块件扫描。
在这种方法中,显示模块件分时工作,每次只能有一个器件显示。
但由于人视觉的暂留现象,所以仍感觉所有的器件都在显示。
如许多单片机的开发系统及仿真器上的6位显示模块即采用这类显示方法。
此种显示方法的优点是使用硬件少,因而价格低。
但它占用机时长,只要单片机不执行显示程序,就立刻停止显示。
由此可见,这种显示将使计算机的开销增大。
扫描方式中在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。
节约了电能,节省了I/O口。
图14八位数码管原理图图15数码显示管电路图
表2数码管显示数字-共阴极字符码对照表
显示数字
1
2
3
4
共阴极字符码
06H
5BH
4FH
66H
显示数字
5
6
7
8
共阴极字符码
6DH
7DH
07H
7FH
显示数字
9
0
A
B
共阴极字符码
6FH
3FH
77H
7CH
显示数字
C
D
E
F
共阴极字符码
39H
5EH
79H
71H
第四章硬件连接
一、地址译码插孔
译码插孔
地址范围
CS0
08000H~08FFFH
CS1
09000H~09FFFH
CS2
0A000H~0AFFFH
CS3
0B000H~0BFFFH
CS4
0C000H~0CFFFH
CS5
0D000H~0DFFFH
CS6
0E000H~0EFFFH
CS7
0F000H~0FFFFH
二、硬件连线
连线
插孔1
插孔2
1
CS0
8255-CS
2
CS1
KET/LED-CS
3
CS2
AD-CS
4
PA0
L1
5
PA1
L2
6
IN0
电位器输出
第五章程序流程图介绍
一、主程序总体设计流程图
图16主程序流程图
第六章程序设计
LowTempequ-40
HighTempequ50
Heatequ1
Coolequ2
LowLimitequ10
HighLimitequ30
ORG0000H
ljmpStart
Delay:
movr7,#0ffh
AA:
djnzr7,AA
ret
TestKey:
movdptr,#09002h
mova,#0
movx@dptr,a
movdptr,#09001h
movxa,@dptr
cpla
anla,#0fh
ret
KeyTable:
db16h,15h,14h,0ffh
db13h,12h,11h,10h
db0dh,0ch,0bh,0ah
db0eh,03h,06h,09h
db0fh,02h,05h,08h
db00h,01h,04h,07h
GetKey:
;读取键值
movdptr,#09002h
movP2,dph
movr0,#Low(09001h)
movr1,#00100000b
movr2,#6
KLoop:
mova,r1
cpla
movx@dptr,a
cpla
rra
movr1,a
movxa,@r0
cpla
anla,#0fh
jnzL1
djnzr2,KLoop
movr2,#0ffh
sjmpExit
L1:
movr1,a
mova,r2
deca
rla
rla
movr2,a
mova,r1
movr1,#4
LpC:
rrca
jcExit
incr2
djnzr1,LpC
Exit:
mova,r2
movdptr,#KeyTable
movca,@a+dptr
movr2,a
WaitRelease:
;等待释放
movdptr,#09002h
mova,#0
movx@dptr,a
callDelay
callTestKey
jnzWaitRelease;未释放继续等待
mova,r2
Ret
ReadAD:
movdptr,#0A000h
clra
movx@dptr,a
mova,#0
djnzacc,$
movxa,@dptr
ret
ReadTemp:
movr1,#0
movr2,#0
movr0,#16
RLoop:
callReadAD
adda,r2
movr2,a
jncL01
incr1
L01:
djnzr0,RLoop
mova,r2
swapa
anla,#0fh
xcha,r1
swapa
anla,#0f0h
orla,r1
movb,#(HighTemp-LowTemp)
mulab
mova,b
adda,#LowTemp
mov51h,a
ret
DisplayResult:
mova,51h;
jnbacc.7,G0
mov60h,#40h
deca
cpla
ajmpGoon
G0:
mov60h,#0
Goon:
movb,#10
divab
movdptr,#LEDMAP
movca,@a+d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 燕山 大学 单片机 空调 温度 控制
![提示](https://static.bdocx.com/images/bang_tan.gif)