ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:578.46KB ,
资源ID:11899939      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-11899939.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计报告空调温度控制.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计报告空调温度控制.docx

1、单片机课程设计报告空调温度控制燕山大学课程设计说明书课程名称单片机原理及应用技术题目空调温度控制学院(系)电气工程学院年级专业2011级检测技术与仪器一班学号 4 学生XX余焊威指导教师吴希军教师职称副教授燕山大学课程设计(论文)任务书院(系):电气工程学院基层教学单位:仪器科学与工程系学号4学生XX余焊威专业(班级)检测11-1设计题目空调温度控制设计技术参数利用实验仪上显示电路、键盘或开关电路、A/D转换电路,模拟空调恒温控制。可以利用实验仪上的电位器模仿温度变化,制冷可以用发光二极管模拟,也可以控制直流电机模仿压缩机的运行。要求可以用键盘或开关设定恒温温度,当外界温度超过设定温度1时,就

2、要启动加热或制冷压缩机。设计要求显示电路、键盘或开关电路、A/D转换电路的硬件电路设计;编制相应的程序。工作量设计的内容满足课程设计的教学目的与要求,设计题目的难度和工作量适合学生的知识和能力状况,工作量饱满。工作计划查阅资料进行设计准备、设计硬件电路、编制程序,编制程序、验证设计、撰写任务书。参考资料单片微型计算机接口技术及其应用X淑清国防工业单片机原理及应用技术X淑清国防工业单片机应用技术汇编指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。2014年 7 月 6 日引言3摘要4第一章设计说明51.1 设计要求51.2设计目的51.3设计过程5第

3、二章设计总体说明6第三章各个模块介绍73.1 总体模块介绍73.2 8051单片机介绍73.3 可调模拟输入电路介绍83.4 A/D转换器模块介绍93.5 8255与LED显示介绍103.6 数码管与键盘工作介绍12第四章硬件连接15第五章程序流程图16第七章程序设计19总结25参考文件26燕山大学课程设计评审意见表27引言温度是表示物体冷热程度的物理量,微观上来讲是物体分子热运动的剧烈程度。温度只能通过物体随温度变化的某些特性来间接测量,而用来量度物体温度数值的标尺叫温标。它规定了温度的读数起点(零点)和测量温度的基本单位。国际单位为热力学温标(K)。目前国际上用得较多的其他温标有华氏温标(

4、F)、摄氏温标(C)和国际实用温标。从分子运动论观点看,温度是物体分子运动平均动能的标志。温度是大量分子热运动的集体表现,含有统计意义。对于个别分子来说,温度是没有意义的。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面,随着人们生活质量的提高,酒店厂房及家庭生活中都会见到温度控制的影子,温度控制将更好的服务于社会.而今,空调等家用电器随着生产技术的发展和生活水平的提高越来越普及,一个简单,稳定的温度控制系统能更好的适应市场。摘要在现代自动控制领域中,温度检测占据这至关重要的作用。温度检测系统在科研领域、安全监控以及人们的日常生活发挥着无可替代的作用。温度控制系统正从模拟

5、式向数字式飞速发展。本论文概述了空调温度控制系统的原理及特性,在此基础上描述了系统研制的理论基础,温度采集等部分的电路设计,并对测温系统的一些主要参数进行了讨论。针对测温系统温度采集、接收、处理、显示部分的总体设计方案进行了论证,进一步介绍了单片机在系统中的应用,分析了系统各部分的硬件及软件实现。本空调温度控制系统采用以MCS51单片机为核心,以控制室内温度稳定为目的。通过单片机处理经A/D转换后的模拟信号,控制制冷制热电机的运转,以达到控制室内温度稳定的目的。关键字:51单片机温度控制第一章设计说明 1.1 设计要求利用实验仪上显示电路、键盘或开关电路、A/D转换电路,模拟空调恒温控制。可以

6、利用实验仪上的电位器模仿温度变化,制冷可以用发光二极管模拟,也可以控制直流电机模仿压缩机的运行。要求可以用键盘或开关设定恒温温度,当外界温度超过设定温度1时,就要启动加热或制冷压缩机。而且要求显示电路、键盘或开关电路、A/D转换电路的硬件电路设计,编制相应的程序。1.2 设计目的温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。其中,温度控制越来越重要,没有合适的温度,许多电子设备就不能正常的工作。由此可见,温度影响的各方各面,而温度的控制也显得日益重要。传统的人工操作控制温度,效率低,精度小

7、,误差大,操作受到很大的人为因素的影响。为了提高工业生产效率,减小误差,基于单片机的智能化的温度控制是主流。现代的智能空调,不仅利用了数字电路技术和模拟电子技术,而且采用了单片机技术,实现了软硬件的结合,既完善了空调的功能,又简化了空调的控制与操作,不仅满足了不同用户对温度的不同要求,而且能全智能调节室内温度。单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。因此,单片机广泛用于现代工业生产控制中。本次课程设计的目的是,围绕为了熟悉WAVE开发软件及在电子信息课程中的应用课程,学习WAVE软件的使用,使我们能熟练的

8、应用WAVE软件实现对80C51单片机的编程,了解程序开发过程中用到的一些基础知识,同时使我们熟悉应用程序开发过程,使我们从学校学习到参加工作之间有一个良好的过渡,为今后处理相应领域的专业问题打下坚实的程序基础。1.3 设计过程本设计采用51单片机为控制芯片,用伟福实验箱上的电位器来模仿温度传感器,将电位器输出的电压输入A/D转换芯片,再将转换后的模拟信号输入单片机,通过单片机扩展的显像管、LED灯、矩阵键盘等来实现其功能。第二章设计总体说明本次单片机课程设计空调温度控制,采用MCS-51单片机作为控制芯片,要求利用实验仪上显示电路、键盘、或开关电路、A/D转换电路,模拟空调恒温控制,可以实现

9、键位与数字动态显示的一种设定温度可变的空调温度控制系统。本系统功能由硬件和软件两大部分协调完成,硬件部分主要完成电位器对温度的电压模拟、温度的设定、温度信息的显示等功能;而软件主要完成对模拟输出的温度信号进行数字化处理及数码显示管的显示控制等功能。电位器通过改变电压模仿温度传感器输出,经A/D转换变成0-255的数字信号从而输入单片机,单片机执行运算程序。由于要设定温度,我们需要用键盘或开关输入温度数值,初始设定温度值由程序写入,用户可通过外接键盘改变初始设定温度。单片机对键盘进行扫描,确定那个键按下。然后显像管显示实际和设定温度。实际温度大于设定温度,则红灯亮;实际温度小于设定温度,则绿灯亮

10、。根据以上设计思想,可设计功能如下:利用伟福试验箱的六位数码管,后两位显示设定温度,初定为10-30摄氏度;第三到第五位显示实际温度,初定为-40-50摄氏度。另通过设置键盘上的两个键位,实现温度+1和-1功能,用来调控设定温度,初定为NEXT、LAST键。再利用L1(红灯)和L2(绿灯)来模仿加热和制冷的电机驱动图1 空调温度控制系统总系统框图第三章各个模块介绍3.1总体模块介绍本设计共分为四个模块,分别为温度测量、按键控制、数码管温度显示、LED灯模仿制冷和制热系统。1)温度测量模块是以电压器输出的电压模仿温度传感器通过A/D转换后进入单片机进行程序运算。2)按键控制模块是通过键盘上NEX

11、T、LAST键来升高或降低设定温度,通过比较与实际温度的大小来控制制冷和制热系统的运行。3)数码管温度显示模块用来显示设定温度以及实际温度。4)LED灯模块用来模仿制冷和加热电动机的动作。 3.2 8051单片机介绍图2 8051单片机引脚图单片机就是在一块硅片上集成了微处理器、存储器和各种输入输出接口电路的微型计算机,简称单片机。单片机以其较高的性能价格比受到了人们的重视和关注。它的优点就是体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于单片机具有较高的性能比,国内MCS-51系列单片机得到了广泛的应用。单片机根据其基本操作处理的位数可分为4、8

12、、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(

13、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 可调模拟量输入电路介绍温度是一个非电量物理量,需要将之转化为电信号才能进行后续的测量和控制。由于电位器电路用于产生可变的模拟量,为此,在此课程设计中,利用

14、了实验仪器上的电位器来模拟温度变化,将温度这个非物理量转化为电压信号输出。电位器结构图如所示。图3 电位器示意图图4 电位器与A/D转换器连接图3.4 A/D转换器模块介绍A/D转换电路是将从电位器输出的模拟电信号转换为数字电信号的电路结构。目前A/D转换器的种类很多,有计数比较型、逐次逼近型、双积分型等等。选择A/D转换器件主要从转换速度、精度和价格上考虑。逐次逼近型A/D转换器,在精度、速度和价格上都比较适中,是最常用的A/D转换器。双积分A/D转换器,具有精度高、抗干扰性好、价格低廉等优点,但转换速度慢。近年来在微机应用领域中也得到了广泛的应用。本次设计采用八路模拟输入通道的逐次逼近型的

15、八位A/D转换器ADC0809。采用ADC0809作为与单片机的接口电路,它的结构比较简单,转换速度较高。采用ADC0809作为A/D转换器具有与单片机连接简单的优点,它是八位的转换器可以与八位的单片机直接连接,这样就简化了系统的连接电路也有利于系统软件的编写。是目前国内应用最广泛的8位通用A/D芯片。ADC0809芯片的接口及其外接电路如下图所示。图5 A/D转换内部结构图图6 ADC0809芯片图7 ADC0809A/D转换电路ADC0809芯片,内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。图中多路开关可选8个模拟通道,允许8路

16、模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成A、B、C3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,下表为通道选择表。表1 通道选择表3.5 8255与LED显示介绍一、8255介绍51系列单片机没有专用的对外地址总线和数据总线,其P0口和P2口既是通用I/O口,同时P0口还是分时复用的双向数据总线和低8位地址总线(一般需要加一级锁存器),而P2口则是高8位地址总线。在单片机的I/O口线不够用的情况下,可以借助外部器件对I/O口进行扩展。8255芯片是可编程并行I

17、/O接口芯片,它具有三个8位并行口PA, PB和PC,一个8位的数据口D0D7 ,PC口分高4位和低4位。高4位可与PA口合为一组(A组),低4位可与PB口合为一组(B组) ,PC口可按位置位/复位。40条引脚,DIP封装。引脚图如图所示图8 8255引脚图图9 LED显示电路图10 MCS-51单片机外扩8255A芯片的电路原理图二、LED显示介绍在此空调温度控制的设计中,我们用到了发光二极管LED,用红色的灯来表示加热,用绿色的灯来表示制冷。实验仪上装有8只发光二极管及相应驱动电路,其发光二极管的电路原理图如下示:图11 发光二极管电路原理图3.6数码管与键盘工作介绍一、键盘与数码管使用介

18、绍本课设中用到的实验仪已经将LED显示电路和键盘电路集成到一个集成电路中。LED显示和键盘的等效电路如图12示。显示控制的位码由74HC374输出,经MC1413反向驱动后,做LED的位选通信号。位选通信号也可作为键盘列扫描码,键盘扫描的行数据从74HC245读回,74HC374输出的列扫描码经74HC245读入后,用来判断是否有键被按下,以及按下的是什么键。如果没有键按下,由于上拉电阻的作用,经74HC245读回的值为高电平,如果有键按下,74HC374输出的低电平经过按键被接到74HC245的端口上,这样从74HC245读回的数据就会有低位,根据74HC374输出的列信号和74HC245读

19、回的行信号,就可以判断哪个键被按下。LED显示的段码由另一个74HC374输出。键盘和LED显示的地址译码见图5,做键盘和LED实验时,需将KEY/LED_CS接到相应的地址译码上。位码输出的地址为0X002H,段码输出的地址为0X004H,键盘行码读回的地址为0X001H,此处X是由KEY/LED_CS决定。图12 数码管与键盘连线图二、矩阵式键盘扫描方式本设计采用的是64矩阵式键盘,键盘的行线X0X3通过电阻接+5V,当键盘没有键闭合时,所有的行线和列线断开,行线X0X3均呈高电平。扫描法是在判定有键按下后逐列(或行)置低电平,同时读入行(或列)状态,如果行(或列)状态出现非全1状态,这时

20、与状态行,列交叉点的键就是所按下的键。扫描法的特点是逐列(或行)扫描查询。这时,相应的行(或列)应有上拉电阻接高电平。当键盘上某一键闭合时,该键所对应的行线与列线短路,此时该行线的电平将由被短路的列线电平所决定。如果将行线接至单片机的输入端口,列线接至单片机的输出端口,则在单片机的控制下使列线Y0为低电平,其余五根列线Y1、Y2、Y3、Y4、Y5均为高电平,然后单片机读输入口状态(即键盘行线状态),若X0、X1、X2、X3均为高电平,则Y0这一列上没有键闭合,如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态。如果Y0这一列没有键闭合,紧接着使列线Y1为低电平,其余列线

21、为高电平,用同样的方法检查Y1这一列有无键闭合,如此类推。CPU对键盘的扫描可以采取程序控制的随机方式,CPU空闲时才扫描键盘;也可以采取定时控制方式,每隔一段时间,CPU对键盘扫描一次;还可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘发出的中断请求,对键盘进行扫描,以识别哪一个键处于闭合状态,并对键输入信息作相应处理。图13 键盘电路图三、动态数码管扫描方式由于8051单片机本身提供的I/O口有限,因此我们选择动态扫描方式。所谓动态显示,就是单片机定时地对显示模块件扫描。在这种方法中,显示模块件分时工作,每次只能有一个器件显示。但由于人视觉的暂留现象,所以仍感觉所有的

22、器件都在显示。如许多单片机的开发系统及仿真器上的6位显示模块即采用这类显示方法。此种显示方法的优点是使用硬件少,因而价格低。但它占用机时长,只要单片机不执行显示程序,就立刻停止显示。由此可见,这种显示将使计算机的开销增大。扫描方式中在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。节约了电能,节省了I/O口。图14 八位数码管原理图图15 数码显示管电路图表2 数码管显示数字-共阴极字符码对照表显示数字1234共阴极字符码06H5BH4FH66H显示数字5678共阴极字符码6DH7DH

23、07H7FH显示数字90AB共阴极字符码6FH3FH77H7CH显示数字CDEF共阴极字符码39H5EH79H71H第四章硬件连接一、地址译码插孔译码插孔地址X围CS008000H08FFFHCS109000H09FFFHCS20A000H0AFFFHCS30B000H0BFFFHCS40C000H0CFFFHCS50D000H0DFFFHCS60E000H0EFFFHCS70F000H0FFFFH二、硬件连线连线插孔 1插孔 21CS08255-CS2CS1KET/LED-CS3CS2AD-CS4PA0L15PA1L26IN0电位器输出第五章程序流程图一、主程序总体设计流程图高1度图16 主

24、程序流程图二、其他各模块程序流程图图17 A/D转换程序流程图图18 键盘程序流程图图29 数码管程序流程图第六章程序设计LowTemp equ -40 ; A/D 0 传感器最低值设定HighTemp equ 50 ; A/D 255 传感器最高值设定Heat equ 1Cool equ 2LowLimit equ 10HighLimit equ 30ORG 0000H ;程序起始地址为0000Hljmp Start ;长跳转到Start主程序段处Delay: ;延时函数 mov r7, #0ffhAA: djnz r7,AA ;DJNZ命令为寄存器减一不为0则跳转 ret ;延时255Te

25、stKey: ;检测KEY有没有被按下函数 mov dptr,#09002h ;将键盘列地址9002H送入数据指针DPTR中 mov a, #0 ;A清0 movx dptr, a ;所有列为低电平检测 mov dptr,#09001h ;将键盘行地址9001h送入DPTR中, movx a, dptr ;9001h中的内容送入A中,按下的键为低电平 cpl a ;累加器取反,按下的键为高电平 anl a, #0fh ;低四位显示高电平为按下键的行数 ret ;从子程序返回KeyTable: ;键值表 db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h d

26、b 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07hGetKey: ;读取键值 mov dptr,#09002h ;将立即数9002H送入DPTR中,键盘列地址 mov P2, dph ;将DPTR中的高8位送入P2端口 mov r0, #Low(09001h) ;送入立即数,取9001h低字节内容 mov r1, #00100000b mov r2, #6KLoop: ;检测按下键的位置 mov a, r1 ;将R1中的内容送入A中 cpl a ;累加器取反 movx dp

27、tr, a ;检测哪列,哪列为低电平 cpl a ;累加器取反 rr a ;累加器循环右移 mov r1, a movx a, r0 ;行地址内容返回给a cpl a ;累加器取反,高电平的为选中行 anl a, #0fh ;立即数0fH和A中的内容与 jnz L1 ;累加器非0则转移,有键按下 djnz r2, KLoop ;寄存器R2减1不为0则转移到KLoop程序段 mov r2, #0ffh sjmp Exit ;短跳转到 Exit程序段处L1: ;检测到某列r2 mov r1, a mov a, r2 dec a ;累加器A自减1 rl a rl a mov r2, a ; r2 =

28、 (r2-1)*4 mov a, r1 mov r1, #4LpC: rrc a ;经过进位位的累加器循环右移 jc Exit ;如果进位位为1则转移到程序Exit inc r2 djnz r1, LpC ;寄存器R1减1,不为0则转移到LpC程序段Exit: ;读取键盘表中值,键值=(列值-1)*4+行值 mov a, r2 mov dptr, #KeyTable movc a, a+dptr mov r2, aWaitRelease: ;等待释放 mov dptr,#09002h mov a,#0 movx dptr, a call Delay call TestKey jnz WaitR

29、elease ;未释放继续等待 mov a, r2 RetReadAD: ;读A/D值 mov dptr,#0A000h ;将A/D地址A000H送入DPTR中 clr a ;累加器A清0 movx dptr, a ; 启动 A/D In0通道 mov a, #0 ;A清0 djnz acc, $ ;如果A中的内容不为0则在此处一直循环 movx a, dptr ;将DPTR中的内容送入A中,读取A/D的值 retReadTemp: mov r1, #0 ;将立即数0送入寄存器R1中 mov r2, #0 ;将立即数0送入寄存器R2中 mov r0, #16 ;将立即数16送入寄存器r0中RL

30、oop: call ReadAD ;调用ReadAD程序段,读取A/D输出值 add a, r2 mov r2, a ;将累加器A中的内容送入R2中 jnc L01 ;如果进位位为0则转移到L01程序段 inc r1 ;r1寄存器中的内容增1L01: djnz r0, RLoop ;寄存器R0内容减一不为0则转移,累加16次 mov a, r2 ;将寄存器R2中的内容送入累加器A中 swap a ;累加器内高低半字节交换 anl a, #0fh ; 高四位清零,相当于/16 xch a, r1 ;寄存器与累加器内容交换 swap a ;累加器内高低半字节交换 anl a, #0f0h ;立即数0FH与到累加器A,低四位清零 orl a, r1 ; a = r1r2/16 mov b, #(HighT

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2