微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单片机和PC串口通信的测温系统

基于单片机和PC串口通信的测温系统

时间:08-04 来源:互联网 点击:

 摘 要:介绍了以AT89S52 单片机为核心的温度控制系统的工作原理和设计方法。系统由芯片DS18B20 采集温度信号传输给微控制器,通过外围设备LCD1602 显示现场温度值,并设计上位机程序通过串口通信实时获取温度。系统设计包括硬件电路设计、软件设计。单片机程序采用C51,在KEIL 开发环境中调试通过完成;PC 后台软件采用VB6.0 完成。给出了前后台软件设计流程图。最后给出了设计实现的硬件实物图和采集到的前后台温度显示结果。

温度是工业控制中主要的被控参数之一,在日常生活及工农业生产中经常要用到温度的检测及控制,因此研究温度的测量方法和装置具有重要的意义。传统方法多以热电阻和热电偶等为温度传感元件,而这种模拟温度传感器输出为模拟信号,必须经过A/D 转换环节获得数字信号后才能与单片机等微处理器接口,使得硬件电路结构比较复杂、抗干扰性差、布线麻烦以及成本高等缺点。

针对上述问题,该设计提出了基于Dallas 半导体公司的数字式温度传感器DS18B20[1-2]和ATMEL 公司AT89S52 单片机构成的温度测量系统,并可通过串口连接在PC 系统上进行实时显示,该系统安装简易,可靠性高,适用于恶劣环境的现场温度测量。

1 系统构成

测温系统由微控制器、温度采集、串口通信、LCD 显示和上位机显示等几部分组成,如图1 所示。

图1 系统组成

数据采集流程为:单片机 AT89S52 获取温度传感器DS18B20 采集的温度值,经处理后传输给LCD1602 现实,并且通过串口通信上传给上位机,供上位机显示。

1.1 DS18B20 数字式温度传感器

DS18B20 温度传感器是美国DALLAS 半导体公司推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程读取9~12 位数字温度值。DS18B20 的性能特点如下:

①适应电压范围更宽(3.0~5.5 V),在寄生电源方式下可由数据线供电;

②独特的单线接口方式。与微处理器连接时仅需要一条线即可实现双向通讯;

③DS18B20 支持多点组网功能;

④DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在一只形如三极管的集成电路内;

⑤温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;

⑥可编程的分辨率为9~12 位,对应的分辨率分别为0.5℃、0.25℃、0.125℃和0.062 5℃,可实现高精度测温;

⑦转换时间为93.75 ms(9 位)和750 ms(12 位),对于一般的实时测温系统已经足够了;

⑧测量结果直接输出数字温度信号,以丹总线串行传送给CPU,同时可传送CRC 校验码,具有极强的抗干扰纠错能力;

⑨负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

1.2 RS_232 串口通信标准

RS_232C 是美国电子工业协会(EIA)制定的异步串行通信中应用最广的标准总线。该标准适用于数据传输速率在0~20Kbps 范围内的通信,已成为数据终端设备DTE 与计算机和数据通信设备DCE 的接口标准,是PC 机与通信工业中应用最广泛的一种串行接口。其工作电平规定如下:对于数据(逻辑“1”的电平低于-3V;逻辑“0”的电平高于+3V)。对于控制信号(“信号有效”的电平高于+3V,“信号无效”的电平低于-3V)。在实际工作中应保证电平在±(3~15)V。其串行口的9 根针脚功能有其固定的定义。该设计中,只要用RXD 和TXD 两条数据线即可。

1.3 AT89S52

AT89S52 是一款低功耗、高性能CMOS 工艺8 位微控制器,携有8K 在系统可编程Flash 存储器。与80C51 产品指令和引脚完全兼容。使其能为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52 还含有:256 字节RAM、32 位I/O 口线、看门狗定时器、2 个数据指针、三个16 位定时器/计数器、一个6 向量2 级中断结构、全双工串行口、片内晶振及时钟电路。另外,AT89S52 可降至0 Hz静态逻辑操作,支持2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保模式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

 1.4 LCD1602 显示模块

液晶显示模块具有体积孝功耗低、显示内容丰富、超薄轻巧等优点,在袖珍式仪表和低功耗应用系统中得到广泛的应用。目前字符型液晶显示模块已经是单片机应用设计中最常用的信息显示期间,LCD1602 液晶显示模块可以显示两行,每行16 个字符,其字符发生器ROM 中自带数字和英文字母及一些特殊符号的字符库,没有汉字。利用LCD1602可以建立8 个6×8 点阵自

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top