APP下载

基于Proteus的温度测控系统仿真研究

2011-01-24钟珊尹斌

电子设计工程 2011年24期
关键词:调试单片机电路

钟珊,尹斌

(河海大学 能源与电气学院,江苏 南京 211100)

温度一直与人类的活动息息相关。无论是日常生活中,还是工农业控制过程中,温度都是重要的被控对象之一,准确的温度测量和及时的温度控制对人类的生存发展有着重要作用。然而,在传统的模拟信号温度测量系统中,测温电路的电磁环境非常恶劣,各种干扰产生的测量误差严重影响了测量的精度。本文所提供的基于单片机的数字温度测控系统可以很好的规避这些缺点。

本设计以单片机作为系统开发的核心器件。单片机系统设计包括硬件电路设计和软件程序设计,调试过程一般分为软件调试、硬件测试、系统调试3个过程[1]。通常软件调试一般比较容易进行,但硬件测试和系统调试必须在电路板制作完成、元器件焊接完毕之后才能进行,比较麻烦。本文设计了基于51单片机的实时温度测控和显示系统,应用Keil C51和单片机系统仿真软件Proteus结合来实现这三个过程,不用制作具体的电路板即可完成各模块的调试工作,充分提高开发效率、降低开发成本、提高开发速度。

1 Proteus简介

Proteus软件是是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台[2]。它来自英国LabcenterElectronics公司,基于SPICE3F 5仿真引擎的混合电路仿真软件,是一款含有大量的系统资源、丰富的硬件接口电路,具有强大的调试功能和软硬件相结合的仿真系统。它很好地解决了硬件设计和软件调试的问题,不仅能够仿真模拟、数字电路以及模数混合电路,还能够仿真基于单片机的电子系统。Proteus自身只带汇编编译器,不支持C语言,但可以与Keil C51集成开发环境连接,将用汇编和C语言编写的程序编译好之后,可以立即进行软、硬件结合的系统仿真,像使用仿真器一样来调试程序。

2 硬件方案设计

基于PROTEUS,设计了一种用功能丰富的单片机数字温度测控系统,如图1所示,单片机通过时钟模块读取当前时间,通过P1.0、P1.1、P1.2 3个I/O口连接按键,可以进行实时时间的调整和报警温度的设定,主控模块中单片机通过温度测量模块采集被控对象的实时温度,当温度大于设定的温限时启动过温报警功能,并使温控模块工作,并将当前时间和实时温度在液晶模块上显示。

图1 系统结构框图Fig.1 Structure of system

在充分考虑系统的稳定性和可靠性的前提下,为实现低成本的目标,本系统选择了经济实惠的AT89C51单片机为控制核心,温度测量模块选择美国Dallas公司的DS18B20数字温度传感器,它只有三根引脚,应用比文献[3]中的MAX6675更加方便。显示模块中,在文献[4-5]中都是简单地使用数码管显示,本设计考虑到温度的实时性,为将本系统便利的嵌入到其他的主系统中去,本设计中选择了LM016L(2行×16列)显示,分行显示时间和温度。温度控制模块由电机模拟,在Proteus中建立系统电路模型如图2所示。

2.1 温度测量模块

本设计中在温度测量模块中使用的是DS18B20。它是美国Dallas公司继DS1820之后推出的增强型单总线数字温度传感器,在测温精度、转换时间、传输距离、分辨率等方面较DS1820有很大的改进。采用DS18B20数字温度传感器组成的温度测控系统,不仅可以克服传统温度测量系统测量精度低、外围硬件电路复杂、可靠性较低等缺点,该模块还具有测温简单、精度高、连接方便[6]等优点。选用DS18B20经济方便实用,为本系统实现低成本高可靠性的目标带来了极大的方便。

DS18B20工作电压为3-5 V,测量温度范围为-55~+125℃,用户设置的报警温度存储在芯片内部EEPROM中,可掉电保护。DS18B20的使用十分简易,它只有3个引脚,其中两根是电源线VDD和GND,另外1根用作总线DQ,其输出和输入均是数字信号且与TTL电平兼容,可以与微处理器直接进行接口。

图2 系统电路原理图Fig.2 The system of the circuit principle diagram

DS18B20的供电很灵活,可使用DC3.0-5.5 V外部供电,也可以采用寄生取电模式供电,即把电源端和地端短路接地而在数据通讯线上寄生取电[7]。当采用外部电源供电方式时,GND脚接地,VCC脚接电源,DQ脚作为信号端接单片机I/O口,电源脚和DQ脚间还需要外接一个约4.7 kΩ的上拉电阻,保证总线闲置时其状态为高电平。本设计中采用的是外电源供电方式。

在本系统中DS18B20将所采集到的温度转换为数字信号,然后通过DQ直接传送至单片机,单片机从而启动程序存储器中的控制程序,驱动LM016L显示温度值。

2.2 温控模块

在此模块中,如图2所示,将P1.4口接LED-RED,P3.5口接一个SOUNDER,P3.7口通过一个光耦三极管连接控温电机,当温度大于设定值时,给各I/O口赋值,驱动模拟控温模块的电机工作。

2.3 时钟和显示模块

本系统在设计中使用了DS1302串行时钟电路,与单片机的P2.5、P2.6、P2.7进行通信。通过时钟模块,可以在液晶上显示实时时间的温度状态,可以很好的嵌入到其他的主系统中去,增强了本系统的实用性。

系统采用LM016L液晶屏显示,第一行显示时间,设定格式为“time时:分:秒”,第二行显示报警温度和测得的实时温度,设定格式为“SET:温限 T:实时温度”。

3 系统软件设计

电路是在程序的控制下,完成温度测量、显示和超限报警等功能的。软件设计由主程序和这几个子程序组成。温度测量模块中,单片机可以通过DS18B20的DQ接口直接进行访问,其工作流程为:对DS18B20进行初始化→ROM操作命令→存储器操作命令→数据处理。主CPU对ROM操作完毕后即发出控制操作命令,使DS18B20完成温度测量并将测量结果存入高速暂存器中,然后读出此结果,显示在液晶屏上,并与设定的温度值进行比较,当需要进行温度控制时,启动声光报警与控温模块。主程序流程图如图3所示。

图3 软件流程图Fig.3 Flow chart of software

4 Proteus仿真结果

在Proteus建立模型如图2所示,将Keil C51编译无错误的hex文件添加到AT89C51单片机中,在程序中设定温限为15℃,从图中可以清晰的看见液晶屏上分行显示的时间和实时温度。通过 DS18B20上的“+”、“-”调节当 DS18B20传送的温度为15.6℃时,所设计的温度控制系统需要进行温度控制,液晶显示模块如图4所示,灯光报警的红色LED灯会被点亮,如图5所示,仿真时能够听到声音报警的SOUNDER的声音。如图6所示,控制电机的开关已经从12 V电源RL1切换到220 V电源,系统处于温度控制模式。

图4 液晶显示Fig.4 Liquid crystal display

图5 灯光报警Fig.5 Light alarm

图6 温控模式Fig.6 Temperature control mode

5 结束语

文中设计了以AT89C51为控制核心、DS18B20采集温度,LM016L显示的实时温度测量和控制系统,相对于常见的温度测量系统,嵌入了时钟显示模块,具有成本低、可靠性强、实时性好、具有很好的可扩展性。通过Proteus联合Keil C51仿真,得到了很好的效果,本系统完全可以嵌入电冰箱,空调,电饭锅等常用家电上,具有很强的实用价值。

[1]董普松.Protues在单片机系统设计中的应用 [J].现代电子技术,2008(14):153-154.DONG Pu-song.Applicaion of Proteus in single chip computer system design[J].Modern Electronic Technology,2008(14):153-154.

[2]沙春芳.PROTEUSVSM在单片机系统仿真中的应用[J].现代电子技术,2004(24):60-63.SHA Chun-fang.Application of PROTEUS VSMin MCU system simulation[J].Modern Electronic Technology,2004(24):60-63.

[3]尹翠,南新元.基于MAX6675的温度采集系统的设计[J].工业控制计算机,2010(8):16-17.YIN Cui,NAN Xin-yuan.MAX6675-based temperature acquisition system[J].Industrial Control Computer,2010(8):16-17.

[4]王红仓,张俊涛.基于PROTEUS的单片机多路温度采集系统的仿真设计[J].陕西科技大学学报,2007(5)84-87.WANG Hong-cang,Zhang Jun-tao.Design of 4-channel temperature acquisition system based on ROTEUS[J].Journal of Shanxi University of Science and Technology,2007 (5)84-87.

[5]刘玉洁,DS18B20温度测量电路的设计与仿真[J].数字技术与应用,2011(4):151-152.LIU Yu-jie.DS18B20 temperature measurement circuit design and simulation[J].Digital Technology and Application,2011(4):151-152.

[6]沙占友.王晓君,马洪涛.智能化集成温度传感器原理与应用[M].北京:机械工业出版社,2002.

[7]张军.智能温度传感器DS18B20及其应用[J].仪表技术,2010(4):68-70.ZHANG Jun.Smart temperature sensor DS18B20 and its application[J].Instrumentation Technology,2010(4):68-70.

[8]Bo Su,Li Wang.Application of Proteus Virtual System Modelling(VSM)in Teaching of Microcontroller[C]//2010 International Conference on E-Health Networking,Digital Ecosystems and Technologies,2010:375-378.

猜你喜欢

调试单片机电路
电路的保护
基于单片机的SPWM控制逆变器的设计与实现
解读电路
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
巧用立创EDA软件和Altium Designer软件设计电路
基于MATLAB模拟混沌电路
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
无线通信中频线路窄带临界调试法及其应用