青岛理工大学毕业设计(论文)基于单片机的配电房温湿度测控系统设计摘 要为保证电气设备在配电房的安全运行,设计了一个基于ATC89C51单片机作为控制器的温湿度测控系统,本文首先介绍了系统的总体方案设计,然后详细介绍了各部分硬件及软件的设计,硬件部分包括串行通信电路、系统电源、人机交互界面、控制部分及输出部分软件部分采用汇编语言进行编写,给出了详细的流程图及部分子程序的设计实践表明,该系统工作稳定,抗干扰能力强,具有良好的性价比和应用价值,能实现自动控制、手动控制和报警功能,并且对于其它领域的温湿度测控系统的设计也有着较高的参考价值关键词:温湿测控;ATC89C51;配电房ABSTRACTDesign of Temperature and Humidity measurement and Control system based on ATC89C51 is for the purpose of guaranteeing electric equipment run safely in the switching house .First we give the general plan of the design . Detailed techniques will be presented to describe every part of the design of the hardare and software.For the hardware, it includes the serial communication circuit、the system power supply、the human-computer interaction interface、the control system and the output part. For the software, we use assemble language and give detailed flow chart and some designs of subprogram .The practice showed that the system works stabilization well anti-interfere,high performance price ratio and application value,has auto-control、Manual control、alarming bare implemented in the system and also available for reference to design of other fields of Temperature and Humidity measure and control system instructions.KEY WORDS : temperature and humidity measure and control, ATC89C51, The Switching House目录摘 要 I目录 II第一章 绪论 1第二章 系统总体设计 2第三章系统硬件设计 33.1 系统电源设计 33.2 信号采集变换部分 33.3 信号处理部分 43.4 串口通信电路 53.5 人机交互界面 63.6 输出部分 83.7 系统硬件部分的抗干扰设计 9第四章 系统软件设计 104.1主程序 104.2 A/D采样子程序 114.3 温湿度控制子程序 124.4 动态显示子程序 154.5 键盘子程序 174.6 串口通信协议 194.6.1 单片机的通信程序 194.6.2 PC机发送和接收数据的程序设计 224.7 软件部分的抗干扰的设计 25第五章 结论 26致谢 27参考文献 28I第一章 绪论配电房内的温湿度指数严重影响着供电设备的安全运行,在电力装置中,由于温度过高、过低,使元器件失效或环境湿度过大等引起的漏电现象时有发生。
多年来,对于这种在配电房工作状态下温、湿度需要同时控制的复杂的辨识问题,一直未能很好解决,有的方案在硬件系统设计方面的技术水平非常高,但是关于软件流程方面讨论的不够详细;有的方案则将重点论述在软件的流程及子程序设计方面,但是在实际的硬件设计方面略显粗糙;还有的方案在软硬件方面都加以了讨论,但是对于问题的实用性讨论不强基于以上各种原因,开发了以ATC89C51单片机为控制器的温湿度测控系统,分硬件部分和软件部分分辨详细论述该系统,硬件方面采样使用上海适科机电设备科技公司生产的T295工业分体耐压高温温湿度传感器,通过外接ADC0809转换芯片实现模数转换,采用动态显示方式驱动4个七段数码管,交替显示温度和湿度信息,同时采用采用非独立的4X4矩阵键盘设置工作模式与设定所需要的温湿度值,可大大减轻单片机的工作量,通过整流滤波稳压电路给系统供电,通讯部分采用串口通信电路与上位机相连,输出部分采用固态继电器AC~SSR连接电热丝与风扇进行输出,同时回路里装有电气隔离部分、抗干扰环节、报警部分和自动手动控制开关,能够完美电气隔离,增强系统的抗干扰能力,提高系统的预警能力,并且能实现系统的自动功能与手动功能的快速切换。
软件方面采用汇编语言进行编写,单片机与上位机直接通过Turbo语言实现通讯,为较好的实现对温湿度偏差的控制与调节,采用PID控制算法来实现对偏差的调节,具有原理简单,易于实现,结构典型,参数整定方便,鲁棒性强,适用面广和效果显著等特点,特别适用于对象动态特性不完全掌握、得不到精确数学模型、难以用控制理论进行分析和综合的场合PC机与AT89C51单片机的串行通信程序由两部分组成,一部分是PC机的通信程序,另一部分是单片机的通信程序对于软件部分的抗干扰设计也给出了较为详细的设计方法此次关于配电房温湿度测控系统的设计既是对已有的关于此类设计的学习与继承,更希望能够对配电房的安全保护与正常运行做出更高层次的保障作用通过此次设计,我对自动控制理论有的许多全新的认识,同时对于许多实际问题的看法有了更深刻的体会由于时间因素和个人水平的局限性,本设计不可避免的存在许多不足之处恳请广大老师和同学予以指正第二章 系统总体方案设计由于该系统在配电房内运行及设计上的要求,硬件部分选用ATMEL公司生产的ATC89C51单片机作为控制器,硬件系统由温湿度采集部分、模数转换与处理部分、动态显示部分、系统电源部分、RS232串行总线通信、继电器输出部分、报警部分及自动手动控制部分组成。
系统硬件结构框图如图2.1所示: 图2.1 系统硬件结构框图系统的软件设计采用汇编语言,对单片机进行编程实现各项功能本软件为了实现温度、湿度显示,报警,A/D转换和对温湿度的控制等功能,采用主程序调用各个子程序来实现相应的功能的方法系统上电复位后,将调用初始化程序对单片机的端口初始化,将需要使用的内存单元进行清零,然后自动采样后调用A/D转换子程序并显示当前温湿度值,当有键按下时,进入中断,运行中断程序,将温、湿度上下限的初值写入内存单元,并且显示在动态显示部分上然后系统调用A/D转换子程序,将T295温湿度传感器电路输出的模拟信号转换为数字信号,将数字信号读入单片机,每次将读入的数据与上、下限进行判断,以决定是否调用报警和调温、调湿子程序,并且在此过程中实时显示当前温湿度值如果高于温度上限,系统启动报警功能及排风扇,加快室内外的空气对流,达到迅速降温的目的;如果高于湿度上限,系统也启动报警功能予以报警,并启动加热丝,使室内温度迅速上升,当温度上升一定值时,启动排风扇,将室内的高湿度空气排到室外,达到降低湿度的目的第三章系统硬件设计3.1 系统电源设计电源是整个控制系统最重要的能源供应部分,电源的好坏直接影响整个系统能否正常稳定运行,系统电源如图3.1所示,由于T295温湿度感器要求的供电电源24VDC±15%,故220VAC经过变压后产生24VAC,经过整流滤波后引出A、B两端用来给T295温湿度传感器供电,同时经过三端稳压管7805实现稳压,稳压后成为+5V的电源输出,+5V为89C51等单电源芯片供电。
图3.1 系统电源图3.2 信号采集变换部分信号采集变换部分的硬件电路如图3.2所示,T295温湿度传感器产生的模拟量信号0~5VDC经过滤波后送入ADC0809的IN0口进行模数转换,本系统的干扰信号主要是50Hz的交流电源,采用常用的RC滤波电路即可将50Hz的工频信号滤除掉,由频率f=1/(2∏RC),通过计算可得R=510Ω,C=10μFIN1~IN7口接地,对于ADC0809部分,利用ADC0809转换器三态输出锁存功能,直接与8255的总线相连接把ADC0809转换器当作外部RAM单元对待,系统中ADC0809转换器的片选信号由PB0线选控制当89C51产生WR写信号时,由一个或非门产生转换器的启动START和地址锁存信号ALE(高电平有效),同时将地址总线送出的通道地址A、B、C锁存,模拟量通过被选中的通道进入A/D转换器,并在START下降沿时开始逐位转换,当转换结束时,转换结束信号EOC变为高电平当89C51产生RD读信号时,由一个或非门产生OE输出允许信号(高电平有效),使A/D转换结果通过8255读入89C51单片机设89C51的晶振为12MHz,分频后ALE为2MHz,再经过D触发器分频为1MHz作为转换器的时钟信号[1]。
图3.2 信号采集变换部分 3.3 信号处理部分如图3.3所示,AT89C51的P20~P23口与5045相连,X5045是在单片机系统中广泛应用的一种看门狗芯片,当单片机受到外界干扰或其它原因使程序跑飞时看门狗芯片发出复位信号使单片机复位,防止控制系统控制失效而导致意外事故发生同时为进一步提高性能,又增加了手动复位按钮以起到彻底保护的作用AT89C51的时钟信号由外部的晶振电路提供,采用12MHz晶振,外加两只30PF的独石电容起微调作用,使时钟脉冲频率更加准确,从而使系统按时钟节拍有条不紊地运行为使所有的芯片都能正常工作而不受外界高频噪声干扰的影响,所有的需外加电源才能工作的芯片的电源和地之间都加0.1μF的去藕电容AT89C51属于低功耗,高性能的八位单片机,它采用COMS工艺和高密度非易失性存储器(NURAM)技术,而且其输出引脚和MCS—51兼容;片内的FLASH ROM允许在系统内改编程序或用常规的非易失性存储器来编程,是一种功能强,灵活性高,价格便宜合理的单片机[2]由于本系统功能强,接口较多,只靠89C51自身的接口很难完成所有的接口电路,所以采用了并行接口芯片8255实现扩展,89C51与8255直接通过74LS573实现典型接法,将89C51的P0口扩展成三个接口,PA口用于连接ADC0809的数据传输口,PB0、PB1用于控制ADC0809的片选信号端EOC和ADDA,PC口连入J1端,J1另一端接入动态显示部分,可轮流显示温度与湿度信息。
而对于AT89C51,选定P1口为键盘接口,用于温湿度控制的设置和各种工作模式的设定,INT1实现键盘的中断控制,P25、P26实现报警功能,这些连入J2端子板,而TXD、RXD连入上位机,实现串行通信的功能 图3.3 信号处理部分3.4 串口通信电路上位机部分采用RS-232通讯,RS-232C规定的逻辑电平与一般微处理器、单片机的逻辑电平是不一致的因此,在实际应用时,。