一种基于51单片机的多功能温度控制器的设计

发布者:疯狂小马最新更新时间:2011-11-28 关键字:1-Wire  总线  DSl8820传感器  LCDl602 手机看文章 扫描二维码
随时随地手机看文章

O 引言
    在某些工业生产过程中,如恒温炉、仓库储藏、花卉种植、小型温室等领域都对温度有着严格的要求,需要对其加以检测和控制。传统的温度测量方法是将温度传感器输出的模拟信号放大后送至远端A/D转换器,最后单片机对A/D转换后的数据进行分析处理。这种方法的缺点是模拟信号在传输的过程中存在损耗并且容易受到外界的干扰,导致测量的温度精度不高。
    文中以STC89C52RC单片机为控制核心,利用美国Dallas公司最新推出的单总线数字温度传感器DSl8820测量温度,单片机处理后对温度进行控制,并将温度显示在LCDl602上,还可通过按键设置温度上下限值实现温度超限报警等功能。

1 系统的组成和工作原理
    多功能温度控制系统的结构如图1所示,系统由六部分组成:控制核心部分、温度数据采集部分、加热装置控制部分、液晶显示部分、按键输入部分和报警提示部分。单片机启动温度采集电路完成温度的一次转换,然后读出转换后的数字量并转化成当前的温度呈现在显示模块中,并将当前的温度与通过按键输入电路设定的保持恒温度数进行比较,以实现温度的控制。还可以通过按键设置温度的上下限值以实现超温或低温报警提示功能。本系统的设计目标要对温度的控制精度达到0.1℃。


1.1 报警电路
    报警电路采用蜂鸣器作为发声装置,当温度高于设定的上限值或低于下限值,给蜂鸣器送周期为1s,占空比为50%的方波,报警的时间可以持续1分钟或等待按键解除报警,这由软件控制实现。[page]

1.2 按键电路
    采用2×3的小键盘,键盘的识别可以采用两种方法:行扫描法和行反转法。两种方法都要注意消除按键的抖动。文中采用行扫描法并做成子程序,出口参数为按键的键值。定义键K1设置TH,K2设置TL,K3调高TH或TL,K4调低TH或TL,K5对TH或TL的数值进行确认。
1.3 温度检测电路
    温度检测电路采用智能温度传感器DSl8820,它与单片机相连只需要3线,减少了外部的硬件电路。DSl8820主要性能特点如下:
    (1)测温的范围为-55~125℃,最大分辨率可以达到0.0625℃;
    (2)电源电压范围为3.0~5.5V;
    (3)供电模式:寄生供电和外部供电;
    (4)封装形式有两种:3脚的TO-92封装和8脚的SOIC封装;
    (5)可编程的温度转换分辨率,分辨率为9~12位(包括1位符号位),由配置寄存器决定具体位数,配置寄存器的格式如表1所示。

    其中RlR0是用来设定分辨率的,分辨率的定义如表2所示。


    由表2可以看出,分辨率设定得越高,温度转换所需要的时间就越长,因此应根据实际应用的需要来选择合适的分辨率。本文中选取12位分辨率,每隔1秒检测一次温度。12位分辨率的温度数据值格式如下:
   
    当S=0表示测得的温度为正值,当S=l表示测得的温度为负值。
1.3.1 DSl8820的存储器结构
    DSl8820的存储器有高速暂存RAM和非易失性电擦写EEPROM。高速暂存RAM的内容从低字节到高字节9个字节依次为:温度LSB、温度MSB、高温限值字节TH、低温限值字节TL、配置寄存器、保留、保留、保留,最后一个字节是前8个字节的CRC码。EEPROM用来存储TH和TL。
1.3.2 温度数据的处理方法
    从DSl8820读出的两个字节的二进制值温度必须先转换成十进制数值,然后才能将其ASCII码送往LCDl602显示。12位的分辨率,温度是以0.0625步进的,由于两个字节的温度采用补码表示,所以先判断读出温度的最高位是0还是1,即判断是正温还是负温,然后对其求补码转化成正温,之后将高字节的低4位和低字节的高4位组成一个字节,这个字节的二进制值不断除以10得出的余数即为温度值的个、十、百位值。若读出的温度数值是负数,显示处理时,在温度数的前面人为显示负号即可。对小数部分的温度只需将低字节的低4位乘以0.0625,然后对乘积取其小数点后的一位数即可。

[page]

1.3.3 DSl8820的控制步骤
    (1)首先对DSl8820进行复位。由单片机将数据线DQ拉至低电平480-960 μs,然后将DQ拉高15-60 μs,以便单片机检测到DSl8820送来的低电平响应。然后检测DQ,若DQ仍然为高电平,则复位操作失败,可采用循环的方式再次对其进行复位;若DQ为低电平,则复位操作成功。
    (2)DSl8820的ROM操作命令。DSl8820复位后,主机可以发器件ROM的操作命令如读ROM[33H]、匹配ROM[55H]、跳过ROM[0CCH],报警搜索[4EH]等。在单点总线的情况下,可发跳过ROM[0CCH]操作命令,以节省时间。另外,文中有报警的功能,温度转换后还需要发报警搜索命令,该命令会将最近一次测得的温度值T与高速RAM中的TH或TL作比较,若T>TH或T    (3)DSl8820的存储器操作命令。如启动温度转换命令[44H],写入命令[4EH](写入该命令后,紧接着要写入报警上限TH,报警下限TL及配置寄存器字节),读暂存器RAM的内容命令[0BEH](读取将从第一个字节开始一直到第9个字节结束,如仅需要部分字节,主机可以在合适的时刻发复位命令来终止读取)及复制命令[48H](把暂存器RAM的第2、3、4字节转存到DSl8820的EEROM中)等。
    (4)DSl8820的ROM或RAM操作的总线读写时序。对于读时序,首先将DQ拉低并延时1-15μs以内(延时时间不能太长),然后将DQ拉高并延时几个μs后再读取DQ的值,读完一位后需要延时45 μs以上才能读取下一位;对于写时序,先将DQ拉低10-15μs,接着向总线写入数据并延时50μs以上,最后将DQ拉高1μs以上再进行下一位的写入。
1.4 液晶显示模块
    采用的是长沙太阳人电子有限公司生产的SMCl602A。
1.4.1 主要技术参数
    芯片的工作电压4.5~5.5V,能显示两行,每行显示16个字符,字符的大小为2.95×4.35mm。
1.4.2 接口信号说明
    除电压、背光引脚及8个I/O引脚外,主要的控制引脚还有数据/命令选择RS引脚,该引脚为高电平时表示I/O引脚出现的是数据,该引脚为低电平时表示I/O引脚出现的是命令;读/写选择引脚及使能引脚E(该引脚为高电平时对SMCl602A的操作才有效)。
1.4.3 指令说明
    (1)初始化设置
    a.显示模式设置。指令码:00111000b,用于设置16×2显示,5×7点阵。
    b.显示开/关及光标设置。二进制指令码:00000DCB中D位用来控制显示开或关,C位用来控制显示光标,B位控制光标是否闪烁。二进制指令码:000001NS中N位控制读写一个数据后地址指针和光标加或减1,S位控制字符的移动。
    c.数据指针设置。指令码:80H+地址码(0-27H,40H-67H)用于设置数据指针。
    (2)其他设置。如指令码01H:显示清屏且数据指针清零。
1.4.4 LCDl602的初始化步骤
    (1)延时15ms,写指令38H(不检测忙信号);
    (2)延时5ms,写指令38H(不检测忙信号),上述过程执行两遍,后面的过程每次写指令、读/写数据之前均需要检测忙信号;
    (3)写指令38H:显示模式设置;
    (4)写指令08H:关闭显示;
    (5)写指令0lH:清屏且数据指针清零;
    (6)写指令06H:字符不移动,光标和指针加1;
    (7)写指令0FH:显示开,光标闪烁。
1.5 恒温保持控制模块
    选用6V固态继电器作为开关器件,通过控制其断与通的时序从而控制加热器件的工作时长,以实现样品的恒温保持功能。[page]

2 系统硬件电路的设计
    该系统的主要电路原理图如图2所示。系统中使用USB口提供5V电源的电路;使用RS232串口通过P3.0和P3.1烧写程序的电路;以及使用继电器控制的恒温保持电路等在原理图中并未画出。

3 系统的软件设计
    系统总的流程图如图3所示。系统程序主要有主程序和LCDl602初始化子程序及读写时序子程序、DSl8820复位及读写时序子程序、键盘扫描子程序、温度数据处理子程序等构成。

4 程序的编辑及调试
    编程语言可以采用汇编语言,也可以采用C51语言。本文采用汇编语言,使用Keil C软件新建一个工程,然后新建一个文件输入源程序并保存成.asm格式,并将该源文件添加到刚刚新建的工程,随后编译链接后生成十六进制文件(.HEX),最后使用烧写软件stc-isp-v3.9l通过RS232串口将十六进制文件烧写进单片机的Flash中运行程序即可。

5 结论
    本文设计的多功能温度控制器体积小、功耗低、可靠性高,实验表明,对温度的控制精度达到了0.1℃的设计目标。

 

 

 

关键字:1-Wire  总线  DSl8820传感器  LCDl602 引用地址:一种基于51单片机的多功能温度控制器的设计

上一篇:基于C8O51F04O单片机的温度遥测遥控系统
下一篇:基于51单片机的超声波倒车雷达系统的设计

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

CAN总线网络应用
  前言   现场总线的工业过程智能自动化仪表和现代总线的开放自动化系统构成了新一代全开放自动化控制糸统的体系结构。   目前国际上公认的现场总线有10多种,各有其特点,并在一定范围内得刭应用。 其CAN总线网络是炙手可热的技术,目前它正在工业网络、医疗设备、轨道交通信号、楼宇控制及其它众多系统中得到应用。而本文要对CAN总线网络应用例举及其拓宽的现场总线控制系统(FCS)作其说明。   CAN总线网络   CAN采用多主工作方式,节点之间不分主从,但节点之间有优先级之分,通信方式灵活,可实现点对点、一点对多点及广播方式传输数据,无需调度。也就是说,它可向系统中的所有节点进行报文发送广播,即CAN系统中的每个节点均同时
[嵌入式]
寄生电容--用在多支路总线上的连接器
与点到点连接应用相比,在多支路总线的应用中,连接器系统的负荷要多一些。在点到点应用中,被传送的信号只穿过连接器一次。在这种情况下,连接器的串联电感决定了其传输性能。 多支路情况下就有很大不同,在如图9.9所示的多支路总线中,连接在总线上的发送器每次只有一个使能,而其他发送器则保持使能禁止,但其还是连接在总线上,直至办轮到其发送,这种特殊类型的总线两端都进行了端接,以防止反射,总线上传播的信号的上升时间只是线路总长度的一小部分。 随着经过总线的每个分支,传输信号逐步发生畸变,与源端连接器的串联电感的影响相比,多个连接器 寄生电容 的积累导致信号畸变更严重。对于多支路应用,需要寄生电容非常低的连接器,即使要付出电感更大的代
[模拟电子]
寄生电容--用在多支路<font color='red'>总线</font>上的连接器
波特率自适应的RS-485中继器设计
引 言 RS-485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力;加上接收器具有高灵敏度,能检测低达200 mV的电压,故传输信号能在千米以外得到恢复。使用RS-485总线,一对双绞线就能实现多站联网,构成分布式系统,且设备简单、价格低廉,能进行长距离通信,因而得到了广泛的应用。由于在双绞线上的电平损耗,RS-485标准通信的最大传输距离是1 200 m,因此更远距离的应用中必须使用中继器。网络节点数与所选芯片驱动能力和接收器的输入阻抗有关。RS-485标准规定了最大总线负载为32个单位负载,若应用中总线负载大于32个单位负载则必须使用中继器。 1 RS-485中继器原理 RS-485是半双工方式,两线双向传送差
[应用]
关于stm32 APB总线上的"接口时钟使能"与"外设时钟使能"
今天看 例说stm32 上的RTC时钟,发现他没有使能APB1的上BKP时钟,就能读出BKP寄存器里的内容.很是不解,又看了一遍发现APB总线上的时钟使能分为两种,一种是时接口时钟一种是外设时钟. 又仔细观查了一下时钟树发现在APB外设时钟使能寄存器上表现为接口时钟的都已经有了自己的时钟,再经实验证明所有这种不需要在APB上使能就有自已时钟的外设(即在APBxENR的某一位上代表的是这个外设的接口时钟的外设)在不需要使能接口时钟的情况下就能读出这种外设的寄存器的内容!
[单片机]
基于单总线温度传感器的多点测温系统设计
0 引言 多点测温系统在工业领域及其国民生产中有广泛的用途。如在化工领域中,经常需要检测和控制反应釜中的液体的温度,使之能够稳定在一定的温度范围之内;在粮食储存以及加工过程中,会储存高水分的粮食,高水分的粮食极易升温发霉,因此粮食储存的测温显得尤为重要。以往的测温系统多采用热敏电阻,精度低、易损坏,且模拟信号远距离温度测量系统中,需要很好地解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。 因此,在温度测量系统中,具有足够的精度和实时性,控制足够的精度,并且尽可能具有较低的成本,这样的产品才具有实用价值。本文采用新型数字温度传感器DSl8B20,它具有体积更小、精度更
[工业控制]
基于单<font color='red'>总线</font>温度<font color='red'>传感器</font>的多点测温系统设计
智能总线电动执行机构应用案例
  来水处理工艺中最重要的快滤池设备由进水阀、清水阀、排水阀、冲洗阀、水泵、流量计、液位计和加药阀等组成。这些设备根据工艺需要实现快速过滤的自动控制。   工艺要求如下:开启进水阀,当快滤池的液位达到一定高度时,清水阀自动开启,当液位下降到一定高度时,清水阀自动减小开度运行。当流量计检测到清水的流量低于设定值时,则需要对滤池进行冲洗,这时关闭进水阀和清水阀,打开排水阀,当收到排水阀的开足信号,则冲洗阀打开,对滤池进行冲洗,使滤池重生,从而再次获得较高的滤净度和滤速。   在该工程中使用了美国AB公司的PLC作为控制站,选用了Modbus的通讯模块,与现场设备之间采用的是两线制接线方式,使用了串行环状网络拓扑。   现场
[嵌入式]
基于1553B总线电缆网络自动测试系统设计及研究
MIL-STD-1553是“飞机内部时分制指令/响应式多路传输数据总线”的代称,为美国军用标准。上世纪 60 年代时,由导航/平显/武器瞄准系统(INS/HUD/WACS)组成的综合火控系统,配上远距空射武器,使战斗机如虎添翼。粗略的说,单个机载 电子 设备就类似于计算机局域网 LAN 中的单个计算机,1553 标准类似于通信协议,堪称现代作战飞机电子系统的“脊梁骨”。其核心就在于“标准”二字。有了1553B,雷达光电探测、导航、本机传感、座舱显示、外挂管理和火控计算机等得以完美的联结综合,构成了第三代战斗机标志性的分布式集中控制系统。F-16A 是采用 1553A 标准的第一种作战飞机。 以雷达为例,之前提到的先进的人机界面,需要
[嵌入式]
基于IIC总线的单片机排队系统接口设计
  0 引言   本文以银行现有排队系统为实例,提出了IIC总线的单片机排队系统接口设计,通过对系统的仿真模拟试验,不仅简化设计电路,减小电路板面积,节省常规设计中的元器件,减少使用各项费用,而且系统能耗、消噪、可靠性等性能得到提高。   在MCS-51系列单片机不带IIC总线接口组成的数据测控和智能仪表仪器中,可以通过IIC总线增加系统的接口器件种类,降低系统成本,提高应用系统性能。   1 IIC总线   IIC总线(Inter Integrate Circuit Bus)是一种双向二线制总线,由串行时钟线(SCL)与串行数据线(SDA)构成,通过两根线连接不同的具有IIC总线的器件,在不同的器件间传送数据,数据传输速
[单片机]
基于IIC<font color='red'>总线</font>的单片机排队系统接口设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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