logo资料库

论文研究-基于单片机的温度采集系统设计 .pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
中国科技论文在线 http://www.paper.edu.cn 基于单片机的温度采集系统设计 张秀均,王杰* (中国矿业大学信息与电气工程学院,江苏 徐州 221008) 摘要:本文介绍了一个温度采集系统。该系统以 AT89S52 单片机为核心,结合按键电路、 LCD 显示电路、电源电路、电平转换电路和声音报警电路等外围硬件电路。利用单片机灵 活的编程方法和丰富的 I/O 端口对采集的数据进行处理与传输。在软件部分对计算机如何 接收数据进行了详细的介绍。本系统能实时的在本地和计算机上查看温度并设置温度报警阈 值。 关键词:电路;AT89S52 ;温度采集; DS18B20 中图分类号:TM932 Single multipoint digital temperature acquisition system design ZHANG Xiujun, WANG Jie Jiangsu Xuzhou 221008) (School of Information and Electrical Engineering,China University of Mining and Technology, Abstract: This article describes a temperature acquisition system. This design uses the SCM of AT89S52 as hardware core , combining with other peripheral circuits such as keyboard interface circuit,LCD display circuit,power circuit, voaltage convert circuit and voice alarm circuit.Using the flexible programming and the rich I/O port of the SCM ,the system can processing and transmission the collected data .In the software part, on how the computer receiving data were introduced . The system can in real time and viewed on a computer on the local temperature and set temperature alarm threshold. Key words: Circuit;AT89S52;Temperature acquisition;DS18B20 5 10 15 20 25 30 0 引言 在日常生活和工业农业生产中常要用到温度检测及控制,传统的测温元件有热电偶和热 电阻,一般用来测量中高温,输出的是电压,将其转换成对应的二进制温度码值,需要较多 的硬件支持,硬件电路复杂,软件调试较为复杂,制作成本高[1]。并且采集的数据只在本地 显示不传送给计算机,对于数据量比较大一点的地方非常不便于统一管理。针对这种情况本 文使用的温度传感器是单总线的数字温度传感器,并把采集到的事实数据送到计算机,以计 算机的强大计算能力来处理这些数据非常的方便高效且便于数据的系统管理。 1 系统硬件设计 35 系统的设计包括硬件和软件两大部分。其系统框图如图 1 所示。 作者简介:张秀均(1988—),男,在读硕士,主要研究方向:人员定位算法. E-mail: 1036179314@qq.com - 1 -
中国科技论文在线 http://www.paper.edu.cn 图 1 温度采集硬件系统 Fig. 1 temperature gathering hardware system 系统的硬件设计部分主要由以下几个模块组成: 单片机最小系统[2]:该部分主要是使单片机能稳定工作,来控制整个系统实现温度采集 显示功能。 键盘电路:采用行列式矩阵键盘作为输入按键,可以节约单片机的输入/输出端口,从 而减少硬件的复杂程度。 温度采集电路:采用单总线数字温度器件 DS18B20,单总线的好处就是可以在总线上 面挂很多个单总线器件而不用每个都接到单片机的引脚上可以节省单片机的 I/O 端口,减少 硬件的复杂程度。 报警电路:采用蜂鸣器,其硬件电路简单,成本低,能比较直观地起到报警作用。 温度 LCD 显示电路:采用 LCD1602 显示器来循环显示多个温度值并可实时设置报警阈 50 值。 电平转换电路:计算机与单片机的串口电压不匹配需要通过 MAX232 进行电平转换。 1.1 单片机最小系统 单片机最小系统包括电源、复位、晶振及 P0 口接上拉电阻[3]。(1)复位电路的极性电容 C3 的大小直接影响单片机的复位时间,一般采用 10~30uF,电容值越大需要的复位时间越 短。(2)晶振 Y1 采用 11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,晶振的 振荡频率直接影响单片机的处理速度,频率越高处理速度越快。(3)起振电容 C1、C2 一般采 用 15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好。(4)P0 口为开漏输出,作 为输出口时需加上拉电阻,阻值一般为 10k。单片机最小系统原理图如图 2 所示。 VCC 40 45 55 60 VCC S1 SW-PB R1 Res2 1K C3 Cap Pol2 10uF C2 Cap 20pF C1 Cap 20pF 2 1 Y1 XTAL R2 9 10 11 12 13 14 15 16 8 7 6 5 4 3 2 1 Res Pack4 10K 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 U1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST RXT TXD P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 XTAL2 XTAL1 VSS AT89S52 VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA ALE PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 图 2 单片机最小系统 Fig.2 SCM smallest system - 2 -
中国科技论文在线 1.2 温度采集电路 http://www.paper.edu.cn 本设计中使用 DS18B20 温度传感器进行环境温度采集和转化。如图 3 所示,AT89S52 单片机的 P2.3 脚接 DS18B20 的 I/O 脚,作为数据的读入和写出口。电阻 R4 作为 DS18B20 的 I/O 口的上拉电阻,在读时隙结束时,I/O 引脚将通过此上拉电阻拉回至高电平。 65 S1 SW-PB R1 Res2 1K VCC C3 Cap Pol2 10uF C2 Cap 20pF C1 Cap 20pF 2 1 Y1 XTAL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 U1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST RXT TXD P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 XTAL2 XTAL1 VSS AT89S52 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA ALE PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 Vup VCC R4 Res2 1K R6 Res2 10K ds18b20 D1 DALLAS 18B20 D D V D N G Q D 1 2 3 VCC R5 Res2 10K ds18b20 D2 DALLAS 18B20 D D V D N G Q D 1 2 3 图3 温度采集电路 Fig.3 temperature measurement circuit 1.3 显示电路 70 采用液晶 LCD1602 显示。单片机 AT89S52 的 P0 口接 1602 的 D0~D7 的数据接口,同 时 P2.0 口接 1602 的 RS 指令、数据寄存器选择引脚,P2.2 接 1602 的 E 引脚(使能信号, 高电平时读出数据,下降沿时写入数据),P2.1 接 1602 的 R/W 引脚(读写选择。为 1 时: 读操作;为 0 时:写操作)。其中的电位器是来调节显示对比度的,BLA、BLK 是 LED 背 光引脚。 VCC 8*1K C1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5/MOSI P1.6/MISO P1.7/SCK REST P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD XTAL1 XTAL2 GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Vcc P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA/VPP ALE/PROG PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 图 4 液晶显示电路 Fig.4 crystal display circuit - 3 - XTAL1 XTAL2 75 LCD1602 VCC 7 8 9 10 11 12 13 14 4 5 6 D0 D1 D2 D3 D4 D5 D6 D7 RS R/W E VDD 2 1K BLA V0 Vss BLK 15 3 1 16 10
中国科技论文在线 2 系统软件设计 http://www.paper.edu.cn 80 本系统的软件包括单片机软件设计和计算机软件设计两大部分。单片机系统的软件设计 分为以下几个模块:主程序模块,按键扫描模块,温度阈值设定模块, LCD 显示模块,超 限报警模块等等。 2.1 主程序模块 在主程序模块中要完成系统初始化,检测按键,调用存储模块以及调用显示模块等功能。 85 主程序流程图如 5 图所示。 开始 初始化(串口、液晶、DS18B20) 按键串口扫描 有按键按下? Y 温度阈 值设定 N 温度采集模块 N 液晶显示模块 温度超限判断 Y 超限报警 图 5 主程序流程 Fig.5 main process 2.2 按键扫描模块 90 95 判断键盘上有无键按下、去抖动。查询是否有键按下:首先单片机向行扫描口 P1.0-P1.3 输出全为“0”的扫描码 F0H,然后从列检测口 P1.4-P1.7 输入列检测信号,只要有一列信号 不为“1”,即 P1 口不为 F0H,则表示键盘中有键被按下。接着要查出按下键所在的行、 列位置。查询按下键所在的行、列位置:单片机将得到的信号取反,P1.4-P1.7 中为 1 的位 便是键所在的列。接下来要确定键所在的行,需要进行逐行扫描。单片机首先使 P1.0 接地, P1.1-P1.7 为“1”,即向门口发送扫描码为 FEH,接着输入列检测信号,若全为“1”,表 示不在第一行。接着使 P1.1 接地,其余为“1”,再读入列信号……这样逐行发“0”扫描 码,直到找到按件所在的行,将该行扫描码取反保留。当各行扫描以后仍没有找到则放弃扫 描,认为是键的误动作。对得到的行号和列号译码,得到键值。 2.3 液晶显示模块[4] 100 在液晶显示的模块中,主要是对 LCD1602 的驱动程序进行编写。在驱动程序中要完成 给出控制信号和要显示的字符参数的函数。函数形式为 void LCD_disp_char(uchar x,uchar y,uchar dat),例如要在 1 行,3 列显示字符“C”,在主程序中写代码 LCD_disp_char(1,3,C) 直接调用即可。 - 4 -
中国科技论文在线 2.4 温度采集模块 http://www.paper.edu.cn 105 DS18B20 是单总线器件,它在一根数据线上实现数据的双向传输,这就需要一定的协 议来对读写数据提出严格的时序要求,而 AT89S52 单片机并不支持单线传输。因此,必须 采用软件的方法来模拟单线的协议时序[5]。单片机操作单线器件 DS18B20 必须遵循下面的 顺序。(1)初始化(2)ROM 操作命令(3) 内存操作命令(4) 数据处理。其程序流程如图 6 所示 110 115 120 图 6 温度采集程序流程 Fig.6 temperature acquisition program flow 2.5 计算机模块设计 Microsoft Communications Control(以下简称 MSComm)是 Microsoft 公司提供的简化 Windows 下串行通信编程的 ActiveX 控件[6],它为应用程序提供了通过串行接口收发数据的 简便方法。MSComm 控件有很多重要的属性,其中首要的几个如表 1 所示: 属性 CommPort 设置 Set tings 设置 PortOpen 打开 Output 表1 MSComm 控件部分属性 说明 获取控件对应的串行口 获取波特率、校验方式、数据位、停止位 关闭通信口 发送数据 计算机软件设计步骤:(1)建立 Visual Basic 6.0 应用工程 添加 MSComm 控件:单击 菜单栏的【工程】——>【部件…】——>【控件】——>选中 Microsoft Comm Control 6.0 前 面的复选框——>点击【确定】,单击菜单栏的【视图】/【工具箱】打开工具箱 ,在工具 箱中即可看到 MSComm 控件将其添加到工程中。(2)添加其他控件 基本布局如图 7 所示: - 5 -
中国科技论文在线 http://www.paper.edu.cn 125 130 135 140 图 7 温度查看界面 Fig.7 Interface temperature View 3 结论 本文给出了数字温度采集系统的硬件和软件设计流程,实现了将采集的温度本地显示与 上位机实时查看功能。本系统可广泛的应用在需要检测某一局部范围的多个点的温度值。将 采集的数据送到了计算机,同时计算机可以发送命令来设置温度的阈值。本系统的不足之处 是没有使用数据库,不能查看历史数据。 [参考文献] (References) [1] 潘新民,王艳芳. 微型计算机控制技术[M].北京:电子工业出版社, 2004. [2] 刘军等.单片机原理与接口技术[M].上海:华东理工大学出版社,2006.2. [3] 宋浩,田丰.单片机原理及应用[M].北京: 清华大学出版社、北京大学出版社,2005. [4] 李晓静等. 液晶显示控制器与单片机的接口及编程[J].电子技术,2004,年第 6 期:15-18 [5] 张迎新. 单片微型计算机原理、应用及接口技术(第二版)[M].北京:国防工业出版社,2005. [6] 陈京培.基于 AT89552 单片机串行通信电路的设计[J].《科技信息》,2007 年,第 20 期:18-21 - 6 -
分享到:
收藏