单片机的水温控制系统的设计

目 录
引言 1
一、系统组成 1
二、单片机AT89S51介绍 1
(一)单片机概述 1
(二)引脚功能 2
三、系统的硬件设计 3
(一)显示电路 3
(二)时钟电路 4
(三)复位电路 5
(四)温度控制电路 5
(五)温度采集电路 6
(六)报警电路 7
(七)按键输入电路 7
四、系统的软件设计 7
(一)主程序设计 7
(二)温度采集子程序设计 8
(三)温度控制子程序设计 9
(四)显示子程序设计 10
结束语 11
参考文献 12
附录一 原理图 13
附录二 源程序 14
致谢 19
引言
本系统在我们平常的生活中有着很多重要的作用,空调、热水器、电冰箱、电风扇、电饭煲等等家电以及功能强大的掌上电脑和电子产品,很多功能都要用到温度控制。在许多的场合中都需要获得准确及时的信息并控制温度。合适的水质温度在不同的控制系统中始终处于一个范围,超过这个范围时系统可能会停止运行并且遭受损坏,因此我们必须能够随时获取水温的变化。在最近几年,伴随着大型的集成电路的飞速发展,单片机也在继续朝性能高效、处理系统高速的方向发展。在本系统中的功能是用于控制,它在很多的产品研发方面有着应用,大到日常载客飞机的应用程序,小至平常生产生活中的彩电、冰箱,本系统在其中都会发挥不可替代的作用。以本系统作为水温控制系统的控制系统也随之诞生。
一、系统组成
图1 系统组成框图
系统由温度采集、按键电路、时钟 *好棒文|www.hbsrm.com +Q: ^3^5`1^9`1^6^0`7^2# 
电路、复位电路、单片机、LED显示电路、控制温度电路、报警电路等电路构成。设计的本系统的温度监测系统可以监测水温的温度并且对水温进行实时监测与管理:在低于设定的水温下限温度时,本系统将会加热继电器工作开始加温,水温温度升高。水温温度比系统设定的高时,加热继电器停止工作,水温停止升高。
二、单片机AT89S51介绍
(一)单片机概述
我们要使用的单片机是由美国的爱特梅尔公司研发的耗能低、性能高的CMOS 8位的单片机,在单片机中4k bytes系统编程的只读程序存储器包含在其内,在单片机内还应用了爱特梅尔公司的质地好、保存性能好的技术来生产,它可以同时兼备8051系统指示,程序的存储器既能使用常用办法进行系统编程及通用8位微处理器在单片机芯片中也能线上编程,由ATMEL公司生产出来低价位、性能优异的AT89S51单片机在很多性价比优越的场所中可以使用,在各种控制领域可以灵活的应用。
AT89S51单片机拥有下列常用功能:内部RAM、闪速的存储器、32个I/O口线、数据指针、16位的定时/计数器、看门狗、双工串行通信口、5向量两级中断的结构、振荡器与时钟电路。同时,AT89S51单片机可以拥有两种可以选择的省电工作模式并且可以降低至0Hz的静态操作。单片机的工作方式有两种空闲方式和掉电方式。
(二)引脚功能
图2 AT89S51单片机
Vcc:电源电压
GND:地
P0口: 该口地址/数据总线复用(一组8位漏极开路型的双向口)。 该部分分为分时转换地址与数据总线复用,在此次数据访问时期激活内部的上拉电阻是在询问外部数据存储器或者程序存储器,。
P1口:该口是拥有内部上拉电阻的8位双向I/O口并且可以驱动逻辑门的电路,对端口写‘1’时可以通过内部的上拉电阻来把端口拉到高电平。
P2口:该口是带有内部上拉电阻的8位双向I/O口也可驱动逻辑门的电路。对端口写‘1’可以通过里面的电阻把端口拉到高电平。
当访问的8,卜P2口的在线内容(即内容具体的注册表注册表功能P2的区域)外部数据存储器地址,不会在整个访问过程中改变。
P3口:该口是一组带有上拉电阻和端口P38双向I/ O端口能使用的逻辑门的输出缓冲级P3端口写“1”,他们将电阻内拉动和当做输入的端口;一个外部电阻和低的电流的输出端口P3被用作输出端口发生。
RST:输入引脚出现两个系统的周期以上的高电平使该单片机复位是在振荡器启动时。WDT溢出会使这个引脚输出高电平,设置SFR AUXR 的DISRTO位可以打开或者关闭这个功能。
ALE/PROG:ALE脉冲输出外部访问程序存储器或数据存储上的低8个字节锁存地址。应当关注的地方,无论何时内部存取的系统数据将会翻越脉冲强麦,这个引脚也被用来进入编程脉冲(PROG)(在编程的期间闪速的存储器)。
如果有必要,功能寄存器(SFR)区域的D0位8EH单元可不再是ALE操作,这个地方被置位,系统的MOVX和MOVC ALE可以去使用。另外,这个引脚会被微弱的拉高。
PSEN:共享内存的程序来读取信号和输出从外部程序存储器的选择AT89S51指令允许程序(PSEN),有两个PSEN信号有效时,内存访问外部数据时发生。
EA/VPP:外部访问允许。只想让CPU访问外部程序存储器(地址0000H-FFFFH),EA将其包装应保持低(地)注:加密还可以通过系统内部复位锁存EA LB1结束。这样,当在CPU上使用的高端(端连接至VCC)的内部程序存储器EA指导。引脚必须使用存储器的编程过程中,增加12 V编程电压VPP。
XTAL 1:内部时钟发生器放大器和振荡器端口的反相输入端
XTAL2: 振荡器的输出端口反相放大器
三、系统的硬件设计
(一)显示电路
图3 显示电路
平行与所有位选择线段数码管,其中一个数字控制有效的选择位线的特征是动态显示,转送到相互对应的数码管选择使用发光的余辉管道与人类眼睛的视觉的持久性,让人觉得你是在同一时间,数字显示被称为动态显示。实现亮度较高较稳定的显示可以调整电流和时间的参数。动态显示的亮度与静态显示的亮度相比较要差一些,因此在选择限流电阻时应该要略小于静态电阻中的。
显示主电路,显示当前温度时继电器停止电流时,温度显示屏显示设定温度加热,开始加热电路采用了7段共阴数码管。数码管a、b、c、d、e、f、g、h的八个脚分别与单片机的P0口相连,四个公共端与p1.0、p1.1、p1.2、p1.3相连。数码管想要正常显示,就需要使用系统电路来使用数码管来表现出需要表现的数位。静态显示和动态显示两大类是根据LED数码管的显示方式不同来划分。本设计使用的是动态显示的办法,当显示时从单片机P0口送出段码,从P1.0、P1.2、P1.3、P1.4口送出位码,要使哪个数码管显示就要使相应的公共端送低电平。
(二)时钟电路
图4 时钟电路
该电路是单片机的心脏,它主要作用是用于发出单片机运作时所需要的系统信号,电路的时钟产生方式主要有内部时钟和外部时钟两种。
键盘设置3个功能键,有“百位+1”、“十位+1”和“个位+1”键,由P1.5、P1.6、P1.7三位作为键盘接口,此做法是为了使该系统相对简单紧凑。要在LED上显示当前预设值可以利用+1按键分别对设置水温的百位、十位和个位进行加1设置。通过按相应的位长的连续加一键实现0℃?120℃的温度设置。按键电路如图所示。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/1725.html

好棒文