基于Proteus软件的单片机高精度温度计的设计

时间:2022-10-13 04:08:58

基于Proteus软件的单片机高精度温度计的设计

摘要:本设计基于AT89S51单片机及DS18B20温度传感器设计高精度温度计,并采用proteus软件及Keil51软件进行仿真实验,达到3路温度显示的结果。本设计,通用性好,功能强,重量轻,耗能低,可靠性高。

关键词:温度控制;单片机;AT89S51;DS18b20温度传感器;1602LCD

中图分类号:TP212.11 文献标识码:A文章编号:1007-9599 (2011) 17-0000-01

MCU High-Precision Thermometer Design on Proteus Software

Luo Yongzhong

(Tianjin Polytechnic University,School of Electrical Engineering and Automation,Tianjin300387,China)

Abstract:The design is based on AT89S51 microcontroller and high-precision thermometer DS18B20 temperature sensor design,using the Proteus software and Keil51 simulation software to achieve the 3-way temperature display results.Oriented design,good features,light weight,low power consumption and high reliability.

Keywords:Temperature control;MCU;AT89S51;DS18b20 temperature sensor;1602LCD

一、引言

Proteus和Keil C的结合为单片机的开发提供了一个完美的平台,Proteus是模拟电路,数字电路,模数混合电路的设计与仿真平台;更是单片机系统先进的设计与仿真平台。实现了在计算机上完成从原理图与电路设计,电路分析与仿真,单片机代码级调试与仿真,系统测试与功能.验证到形成PCB的完整的设计与仿真过程。软件主要由ISIS和ARES两部分组成,ISIS的主要功能是原理图设计及电路原理的交互仿真,ARES主要用于印制电路板设计。其中Proteus ISIS可以仿真51系列,AVR,PIC,ARM等常用的MCU,并提供周边设备的仿真。

二、单片机高精度温度计系统硬件设计

本设计方案是以AT89S51单片机为控制核心,用温度传感器DS18B20进行温度采集,继而显示在LED上,从而达到显示当前环境温度的目的。整个系统硬件部分包括单片机、温度检测系统、LED显示器。

(一)AT897S51介绍。是一个低功耗,高性能CMOS8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。

(二)1602液晶显示器介绍。字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。1602LCD应用于智能仪表、通信和办公自动化等领域,它的主要作用是显示ASCII码字符,因此又被称作“字符型显示器件”。

(三)DS18b20温度传感器介绍。DS18B20是DALLAS公司生产的单总线数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃-+125℃,可编程为9位-12位A/D转换精度,对应的可辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,支持3V-5.5V的电压范围,使系统设计更灵活、方便,其工作电源既可在远端引入,也可采用寄生电源方式产生。

三、系统软件流程

主程序:在主程序流程中,初始化液晶模块,然后延时一段时间,进入While循环,读取温度,将温度显示在LED上。主程序的流程如下:

开始LCD模块初始延时While(1)读取温度值温度值显示While(1)循环

DS18B20模板程序:首先DS18B20初始化,复位DS18B20,然后单片机等待DS18B20的应答脉冲。一旦单片机检测到应答脉冲,便发起跳过ROM匹配操作命令。成功执行了ROM操作命令后,就可以使用内存操作命令,启动温度转换,延时一段时间后,等待温度转换完成。再发起跳过ROM匹配操作命令,然后读暂存器,将转换结果读出,并转为显示码,送到LED显示。

1602液晶模块程序:首先对1602液晶显示器进行初始化,按键复位后,延时15ms,进行初始化设置,依次为显示关闭、显示清屏、显示光标移动设置,最后进行写操作。

四、仿真结果

仿真电路及仿真结果如图1-3所示

五、结语

本文基于Proteus的单片机虚拟开发环境及KEIL51软件对高精度数字温度计进行了系统的设计与仿真,实现了对温度的测量,并能3位LED显示,利用仿真系统,不但可以节约开发时间和开发成本,而且还具有很大的灵活性和可扩展性。

参考文献:

[1]谢维成,杨加国.单片机原理与应用及C51程序设计[M].清华大学出版社,2009,7

[2]蒋浑平,周国雄.基于Proteus的单片机系统设计与仿真实例[M].机械工业出社

[3]胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2002

[4]李杰写.数显式温度计的制作[J].电子世界,2003,10

[5]戴蓉,游凤荷,周景霞.单片机和多片DS1820组成的多点温度测控系统[J].汉理工大学马房山东院

[6]赵海兰,赵祥伟.智能温度传感器DS18B20的原理与应用[J].

[作者简介]罗永忠,男,天津工业大学电气工程与自动化学院,自动化08届本科生。

上一篇:引入教学实例,提高学习兴趣 下一篇:如何加强初中信息技术创新教育