基于51单片机的多点温度控制系统设计

发布者:superstar11最新更新时间:2010-06-25 来源: 现代电子技术关键字:51单片机  DSl8820  多点温度检测  温度控制系统 手机看文章 扫描二维码
随时随地手机看文章
    随着生活水平的提高,人们对家居需求由面积需求变为舒适需求。地板采暖采用辐射方式供暖,符合人体生理需求曲线,如果控制系统选取得当,不仅可以提高房间舒适度,更可以使系统运行费用降低许多。如今一般是在典型位置安装一个温控装置,温控装置连接到壁挂炉,温控器根据室温和温度设定直接控制锅炉运行,各房间不同回路由工作人员凭经验手动调节分水器球阀,改变不同回路的流量,从而达到调节各房间的室温的效果。使用这种控制方法,即使是有经验的工作人员,也难以调节得十分准确,何况各家庭成员由于年龄不同,所需舒适温度不同,需要经常对室温进行调节。针对以上问题,利用SST89E564RC单片机及新型测温器件设计了多点温控采暖控制系统,根据室内各点温度设定实时控制采暖系统,从而提高居室的舒适性以及采暖的经济性。

1 系统设计目标

    系统总体设计思想是以SST89E564RC单片机为控制核心,整个系统硬件部分包括温度检测部分、控制执行部分、显示及键盘系统及最小系统基本电路。系统利用单片机获得温度传感器数据并与系统设计值进行比较,根据比较结果分别控制执行系统。温度控制系统控制框图如图1所示。

2 系统硬件设计

    根据系统所需完成的功能,设计系统硬件结构如图2所示。

2.1 控制核心

    系统采用SST89E564RC单片机作为控制核心,进行温度采集、信息显示及执行机构的控制。SST89E564RC是美国SST公司推出的高可靠、小扇区结构的FLASH单片机,内部嵌入72 KB的Super-Flash,1 KB的RAM,通过对其RAM做进一步扩展,可满足嵌入系统操作系统的运行条件。

2.2 温度传感器

    温度传感器采用Dallas半导体公司的数字化温度传感器DSl8820。该传感器支持“一线总线”接口,可方便地进行多点温度测量,还可以程序设定9~12位的分辨率,最高精度为±0.062 5℃,分辨率设定及用户设定的报警温度存储在E2PROM中,掉电后依然保存。该产品支持3~5.5 V的电压范围,因其体积小使系统设计更灵活、方便。DSl8820的管脚排列如图3所示,其中DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输人端。

    DSl8820内部结构主要由4部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

    光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DSl8820的地址序列码。光刻ROM的作用是使每一个DSl8820都各不相同,这样就可以实现1根总线上挂接多个DSl8820的目的。

    DSl8820温度传感器的内部存储器包括9 B高速暂存RAM和1 B非易失性的可电擦除的E2PROM,后者存放高温度和低温度触发器TH,TL和结构寄存器,该字节第7位(TM)为0,低5位一直都是1,第6,5位(R1,R0)用来设置分辨率,如表1所示。

    根据DSl8820的通信协议,主机控制DSl8820完成温度转换必须经过3个步骤:每一次读写之前都要对其进行复位,复位成功后发送1条ROM指令,最后发送RAM指令,这样才能对DSl8820进行预定的操作。复位要求主CPU将数据线下拉500μs,然后释放,DSl8820收到信号后等待16~60μs左右,后发出60~240μs的存在低脉冲,主CPU收到此信号表示复位成功。由于DSl8820采用的是单线进行控制与读取数据,因此对操作的时序要求非常严格,否则由于时序不匹配,将无法完成对器件的正确操作。

2.3 控制执行那分

    (1)壁挂炉燃烧系统控制。控制电路采用了脉冲继电器器件作为整个系统的总控部分,当所有居室温度均达到设定值时,停止壁挂炉的工作。该继电器的特点是:当线圈收到一个脉冲信号后,线圈通电,电磁铁吸合,带动触头闭合接通需要控制的电路,当下一个信号到来后,电磁铁吸合,触头断开,切断被控制的电源,因此其具有自锁和信号遥控功能。由于磁铁的作用,控制脉冲消失后滑片位置不发生变化,保持稳定状态,所以该器件具有功耗小、具有记忆功能。

    (2)居室温度控制。各居室温度控制在燃烧控制系统工作前提下,根据各居室温度测量返回值,采用上海欧凯电磁阀制造有限公司生产的OK6515自保持脉冲电磁阀控制各回路的通断。脉冲电磁阀采用脉冲和永磁技术,只需通过控制器切换脉冲的电极触点来改变电磁阀的开关状态,当控制器发出电脉冲时,驱动阀芯克服永磁力产生上下移,使阀瓣到位后在永磁作用下处于自保持状态。

2.4 图形液晶显示模块

    为了能够提供形象直观的用户显示界面,系统采用图形液晶显示模块LCDl2864,其具有8位标准数据总线、6条控制线及电源线,可与CPU直接接口,显示各种字符及图形。考虑到系统中汉字的使用量少,因此选用不带汉字库的LCD。对于使用的汉字分别提取其字模并以二进制形式保存于内部FLASHROM中。

3 系统软件设计

    系统软件设计主要依据系统程序流程以及DSl8820的时序要求进行代码编写。为了降低开发难度,提高开发效率,系统开发中引入了μC/OS一Ⅱ嵌入式操作系统并移植了LCD显示驱动。另一方面,为了确保对DSl8820操作时序的精确性,对DSl8820进行初始化和读写代码仍采用汇编语言。

3.1 系统数据结构

    系统所需数据结构包括各测温元件的序列号表,汉字字模存储、系统运行时间表存储、各温控点的设定值及测量值、系统时间的存放及一些临时数据存储。

    为了区别多个温度传感器,在系统初始化时读入传感器中的64位序列号,并将其存入程序存储空间,以便程序运行期间进行比对,共需64 B。汉字字模采用16×16字库进行提取,其中每个汉字需32 B,约15个字,为了方便程序功能的升级改进,在程序存储空间中按20个字进行空间分配,需要存储空间640 B。系统运行时间表的设计以小时为设置单位,需要保存24个值;为了减少时间比较过程中的数据计算量以及方便编程,对每个值采用一个字节存储,这里共需24 B存储空间,这里仍然使用程序存储空间进行存储,以便在系统掉电时设定值不会丢失。

3.2 系统程序设计

    系统程序设计主要使用KeilC5l进行编写,但由于对DSl8820器件的读写时序要求比较严格,故采用汇编代码,其中温度读取子程序主要代码如下:

  

4 结 语

    微型计算机在智能化电器发展中起着至关重要的作用,而单片机经济实用、开发简便,因而在工业控制、家电智能化等领域占据了广泛的市场。这里针对目前温度控制器现状设计了一种新方案,利用单片机及新型测温器件设计了一种多点温控采暖控制系统,该系统能够同时测量多点温度,并根据温度设定实时控制各回路通断及壁挂炉的燃烧与停止,从而进一步提高居室的舒适性以及采暖系统的经济性。

关键字:51单片机  DSl8820  多点温度检测  温度控制系统 引用地址:基于51单片机的多点温度控制系统设计

上一篇:用89C51单片机控制红外线通信接口电路设计
下一篇:基于AT89S52单片机的太阳能环境参数测试仪设计

推荐阅读最新更新时间:2024-03-16 12:29

51单片机驱动1602液晶显示器c程序
/* 程序效果:单片机控制液晶显示器1602显示字母数字,用户自行更改io 程序版权:http://www.51hei.com */ #include reg52.h //头文件 #define uchar unsigned char //宏定义 #define uint unsigned int uchar code table ="51HEI XING XING " ; //显示的字母 uchar code table1 ="51HEI MCU XUE YUAU" ; sbit lcdrs=P1^0; //寄存器选择引脚 sbit lcdwr=P1^1; //读写引脚 sbit lcde=P1^2; //片选引脚 void de
[单片机]
基于51单片机的自行车测速系统
一.系统概述 系统使用的模块有AT89C51单片机+LCD1602显示屏+霍尔测速模块。 本设计采用51单片机为核心控制,使用LCD1602显示采集到的速度,霍尔测速模块进行测速,测速的原理是通过磁感应原理检测开关变化量,通过检测两个开关量的时间间隔来计算速度。在实际应用中会将霍尔测速模块放置在轮胎上,就能完成自行车速度的检测。 二.仿真概述 1.通过LCD1602显示实时车速。 2.通过霍尔测速模块进行速度检测。 3.通过在霍尔模块处模拟开关量的变化,变化速度越快则显示的车速越快。 三.程序设计 使用Keil 51进行程序设计,打开Proteus时程序是默认烧录的状态,如果没有烧录点击AT89C51单片机并将程序
[单片机]
基于<font color='red'>51单片机</font>的自行车测速系统
AVR和51单片机串口通信简单实验
//AVR作为发送机,控制51的喇叭发声和2 极管 发光 //AVR发送方代码 //采用2400波特率 #include iom16.h #include intrinsics.h #define uchar unsigned char #define uint unsigned int #define k1 PIND_Bit4 //设置为喇叭 #define k3 PIND_Bit6 //设置为 发光 管 #define k4 PIND_Bit7 //发送控制命令 #define UDRE 5 #define RXC 7 uchar dat=48; void d
[单片机]
MCS-51单片机中断响应的三种方法解析
MCS-51单片机的中断响应延迟时间,取决于其它中断服务程序是否在进行,或取决于正在执行的是什么样的指令。单中断系统中的中断响应时间为3~8个机器周期[1]。无论是哪一种原因引起的误差,在精确定时的应用场合,必须考虑它们的影响,以确保精确的定时控制。根据定时中断的不同应用情况,应选择不同的精确定时编程方法。 文中以定时器T1工作在定时方式1为例,晶振频率为12MHz。 1 方法1 在定时器溢出中断得到响应时,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据此计数值算出到下一次中断时,需多长时间,由此来重装载和启动定时器。例如定时周期为1ms,则通常定时器重装载值为-1000(0FC18H)。下面的程序在计算每个
[单片机]
MCS-<font color='red'>51单片机</font>中断响应的三种方法解析
AT89S51单片机定时计数器的使用技巧详细说明
1. 实验任务 用AT89S51的定时/计数器T0产生2秒钟的定时,每当2秒定时到来时,更换指示灯闪烁,每个指示闪烁的频率为0.2秒,也就是说,开始L1指示灯以0.2秒的速率闪烁,当2秒定时到来之后,L2开始以0.2秒的速率闪烁,如此循环下去。0.2秒的闪烁速率也由定时/计数器T0来完成,也就是一个闪烁灯。 2. 电路原理图 图4.16.1 3. 系统板硬件连线 (1. 把“单片机系统”区域中的P1.0-P1.3用导线连接到“八路发光二极管指示模块”区域中的L1-L4上 4. 程序设计内容 (1. 由于采用中断方式来完成,因此,对于中断源必须它的中断入口地址,对于定时/计数器T0来说,中断入口地址为000BH,因此在中
[单片机]
AT89S<font color='red'>51单片机</font>定时计数器的使用技巧详细说明
51单片机数字温度计+灯光报警的proteus仿真+注释详细的源码
制作出来的实物图如下: 仿真原理图如下 单片机源程序如下: #include reg52.h //包含reg52.h库文件 #include math.h //包含绝对值函数 #define uint unsigned int //宏定义uint #define uchar unsigned char //宏定义uchar sbit lcden=P2^0; //液晶使能端 sbit lcdrw=P2^1; sbit lcdr
[单片机]
<font color='red'>51单片机</font>数字<font color='red'>温度</font>计+灯光报警的proteus仿真+注释详细的源码
51单片机8*8点阵LED显示原理及程序
在8X8点阵 LED 上 显示 柱形,让其先从左到右平滑 移动 三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。 1. 程序设计内容 8X8点阵LED工作原理说明 :8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述: 一根竖柱:对应的列置1,而行则采用扫描的方法来实现。 一根横柱:对应的行置0,而列则采用扫描的方法来实现。 2. 硬件电路
[电源管理]
<font color='red'>51单片机</font>8*8点阵LED显示原理及程序
电加热炉温度单片机控制系统
0 引 言 电加热炉随着科学技术的发展和工业生产水平的提高,已经在冶金、化工、机械等各类工业控制中得到了广泛应用,并且在国民经济中占有举足轻重的地位。对于这样一个具有非线性、大滞后、大惯性、时变性、升温单向性等特点的控制对象,很难用数学方法建立精确的数学模型,因此用传统的控制理论和方法很难达到好的控制效果。 单片机以其高可靠性、高性能价格比、控制方便简单和灵活性大等优点,在工业控制系统、智能化仪器仪表等诸多领域得到广泛应用。采用单片机进行炉温控制,可以提高控制质量和自动化水平。 1 单片机炉温控制系统结构 本系统的单片机炉温控制系统结构主要由单片机控制器、可控硅输出部分、热电偶传感器、温度变送器以及被控对象组成。如图1所
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved