基于单片机的实时温度采集系统毕业设计Word文件下载.docx
- 文档编号:22051374
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:80
- 大小:1.87MB
基于单片机的实时温度采集系统毕业设计Word文件下载.docx
《基于单片机的实时温度采集系统毕业设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的实时温度采集系统毕业设计Word文件下载.docx(80页珍藏版)》请在冰豆网上搜索。
计算机控制系统是随着现代大型工业生产自动化的不断兴起而应运产生的综合控制系统,它紧密依赖于最新发展的计算机技术、网络通信技术和控制技术,在计算机参与工业系统控制的历史长河中扮演了重要的角色。
1.2本章小结
本课题所研究的实时温度采集系统相对传统的测温方式有很大的优势,不仅电路简单,而且精度高,测温范围大,通信距离远,通过电脑还能大量地采集存储温度数据并进行处理。
所以本系统应用的范围也非常广,比如可以应用于电冰箱的质量检测,中央空调的温度控制,同时管理多个对温度要求较高的车间或实验室,以及各种条件恶劣,温度复杂多变的环境。
第2章系统硬件结构
2.151系列单片机系统简介
单片机是现代电子设计中使用最广泛的电子元器件。
它的价格低廉,功能强大,体积小,性能稳定,深受广大电子设计爱好者的的喜爱。
目前各类产品中都能看到单片机的身影,如门铃、报警器、玩具,以及各类数据采集系统等[2]。
单片机以高性能、高速度、体积小、价格低廉、可重复编程和功能扩展方便等优点,获得广泛的应用。
其主要应用领域有以下几点。
●家用电器及玩具。
由于51系列单片机价格低、体积小、控制能力强、功能扩展方便等优点,使其广泛应用于电视、冰箱、洗衣机、玩具、家用防盗报警器等。
●智能测量设备。
以前的测量仪表体积大功能单一,限制了测量仪表的发展。
选用单片机改造各种测量控制仪表,可以使其体积减小,功能扩展,从而产生新一代的智能化仪表,如各种数字万用表、示波器等。
●机电一体化产品。
机电一体化产品是指将机械技术、微电子技术和计算机技术结合在一起,从而产生的具有智能化特性的产品,它是机械工业的主要发展方向。
单片机可以作为机电一体化产品的控制器,从而简化原机械产品的结构,扩展其功能。
●自动测控系统。
采用单片机可以设计各种数据采集系统、自适应控制系统等,如温度的自动控制、电压电流的数据采集。
●计算机控制及通信技术。
51系列单片机都有集成的串行通信接口,可以通过该接口和计算机的串行接口进行通信,实现计算机的程序控制和通信等。
2.2测温器件DS18B20介绍
DS18B20是DALLAS公司生产的单线总线数字温度传感器,可把温度信号直接通过串行总线输出到单片机上,在一条总线上可以同时挂接多个单线器件,每个器件通过其独立的光刻64位ROM来区分,总线本身可以向所有挂接的DS18B20供电,而不需额外电源[7]。
由于DS18B20这一特点,非常适合于多点温度检测系统,硬件结构简单,方便联网,因此在仓库管理、工农业生产制造、气象观测、科学研究以及日常生活中被广泛应用。
以下是DS18B20的主要特点:
●独特的单线接口,只需一个引脚即可实现通信;
●多点能力非常适合于分布式测温系统;
●不需要外部元器件;
●寄生电源功能,可用数据线供电而不用另接电源;
●以数字值方式输出温度;
●测量范围大,从-55℃到125℃。
图2-1是DS10B20的方框图。
图2-1DS10B20的方框图[31]
图2-2是DS18B20的寄生电源工作方式。
当I/O引脚位高电平时,便通过总线获取维持其工作的电量,这使得DS18B20有了一个双重的优点:
第一,利用此引脚,远程温度检测时无需本地电源;
第二,缺少正常电源也可以维持其工作。
由于在温度转换时,其工作电流高达1mA,所以必须在单线上提供一强的上拉。
如图2所示,通过一MOSFET把I/O线直接拉到电源即可达到这一点。
图2-2DS18B20的寄生电源方式[31]
向DS18B20供电的另一种方式是使用连接到VDD引脚的外部电源,如图2-3所示。
这种方法的优点是不需要强的上拉,上拉电阻也可以省去。
图2-3DS18B20的独立供电方式[31]
2.3串口通信技术的硬件基础
在单片机的应用系统中广泛采用异步串行通信的方式进行数据通信。
然而,在进行串行通信的线路连接的时候,还需要选择标准接口,考虑电平转换、传输介质等问题。
通信的双方共同遵守某种约定,称为物理接口标准,包括电缆的机械特性、电器特性、信号功能及传输过程的定义。
对于串行接口,目前用得比较多的是RS-232标准、RS-422标准以及RS-485标准等。
在远距离、干扰大,或者和计算机进行串口通信的场合,需要考虑选用串行接口标准的问题。
2.3.1RS-232、RS-485简介
RS-232标准是美国电子工业协会EIA与Bell等公司一起开发,于1962年公布,1969年最后修订的串行通信协议。
它适合于0~20000b/s范围内的通信。
字母RS表示RecommendedStandard,232是识别代号。
RS-232标准最初是为远程通信连接数据终端DTE与数据通信设备DCE而制定的。
目前,计算机与终端或外设之间的近距离连接,很多都采用RS-232接口,例如串口的鼠标、键盘,以及数据采集系统等。
在RS-232标准中,对串行通信接口的信号功能、电器特性和机械特性等都做了明确的规定。
由于RS-232在微机系统中的广泛使用,加上51系列单片机内部集成的异步串行通行接口,使得它们之间的连接很方便。
RS-232的机械特性主要规定了使用的连接器的机械规格和电缆长度。
由于在RS-232标准中只规定采用一对物理连接器,但对连接器本身的物理特性没有具体的定义,因此市场上出现了DB-25、DB-15和DB-9等各种类型的连接器,其引脚的定义也各不相同。
目前使用最多的是DB-9型连接器,一般的计算机和测控仪器中都使用。
DB-9型RS-232引脚结构,如图2-4所示。
图2-4DB-9型RS232引脚结构
表2-1是各管脚的说明:
表2-1RS232管脚说明
旧制JIS名称
新制JIS名称
全称
说明
FG
SG
FrameGround
连到机器的接地线
TXD
SD
TransmittedData
数据输出线
RXD
RD
ReceivedData
数据输入线
RTS
RS
RequesttoSend
要求发送数据
CTS
CS
CleartoSend
回应对方发送的RTS的发送许可
DSR
DR
DataSetReady
告知本机在待命状态
DTR
ER
DataTerminalReady
告知数据终端处于待命状态
CD
CarrierDetect
载波检出
SignalGround
信号线的接地线
现在通常计算机均配有这种标准的232接口,通常这种接口用于联接鼠标、MODEM或打印机等外部设备。
实际应用中,电子工程师在设计计算机与外围设备的通信时,通常在9针的基础再进行简化,只用其中的2、3、5三个管脚进行通信。
这三个管脚分别是接收线、发送线和地线,在一般情况下即可满足通讯的要求,计算机和外部通讯的接线方法如图2-5。
图中2、3两脚是交叉互联的,因为一个设备的发送线必须联接到另外一台设备的接收线上,反之亦然。
图2-5计算机与外部通信电路图
RS-485标准是一种平衡传输方式的串行接口标准。
RS-485标准是一种多发送器的电路标准,允许在双导线上有多个发送器,也允许一个发送器驱动多个负载设备。
RS-485标准的特点是抗干扰能力强,传输距离远,速率高。
如果采用双绞线传输信号,若最大传输速率为10Mb/s,传输距离为15m;
在最大100kb/s的传输速率下,可以传输1200m;
如果最大传输速率为9600b/s,则传输距离可达1500m。
RS-485标准最多允许在平衡电缆上连接32个发送器/接收器,特别适用于工业控制领域进行分布式管理、联网检测控件等,目前得到了很广泛的应用。
2.3.2器件MAX232介绍
电平转换芯片MAX232是美信公司设计专用于进行将TTL电平转换成RS-232电平的芯片。
片内有泵电源,能将+5V电压在芯片内提高到RS-232电平所需的+10V或-10V电平,转换电路如图2-6所示,其中1uF电容最好用金属钽电容,并且安装时尽量靠近芯片。
信号传输线可用双芯屏蔽线,双芯作为信号线,外层屏蔽线作为地线。
图2-6MAX232电平转换电路
2.3.3器件MAX485介绍
目前常用的与TTL的电平接口的RS-485传输线发送(驱动)器和接收器芯片是差分平衡收发器MAX485。
其片内含有一个发送器和一个接收器,MAX485的1脚RO为接收器输出,接TTL电平RXD信号,4脚DI为发送器输入,接TTL电平TXD信号;
7脚为发送器和接收器的-VT、6脚为发送器和接收器的+VT,接传输线;
3脚DE为发送使能端,接+5V;
2脚RE是接收使能端,应接地。
2.4显示系统的硬件原理
2.4.1串行寄存器74LS164功能
74LS164为8位串入并出的移位寄存器[10]。
当清除端(Clear)为低电平时,输出端(QA~QH)均为低电平。
串行数据输入端(A,B)可控制输入数据,当A或B任意一个为低电平,则禁止新数据输入。
在时钟端(Clock)脉冲上升沿作用下QA为低电平。
当A、B有一个为高电平,则另一个就允许输入数据,并在Clock上升沿的作用下决定QA的状态。
其真值表如图***所示,H为高电平,L为低电平,×
为任意电平,↑为上升沿,QA0、QB0、QC0、QH0为规定的稳态条件建立前的电平,QAn、QBn、QGn为最近的上升沿前的电平。
表2-2为74LS164的真值表。
表2-274LS164的真值表
输入
输出
Clear
Clock
AB
QAQBQC·
·
QH
L
H
×
↑
×
HH
L×
L
LLL·
L
QA0QB0QC0·
QH0
HQAnQBn·
QGn
LQAnQBn·
2.4.2数码管原理
常用的数码管有7段、8段和“米”字段之分。
并分为共阴极和共阳极两种。
共阴极LED显示器的发光二极管的阴极连接在一起,通常此公共阴极接地。
当某个发光二极管的阳极接高电平时,发光二极管点亮,相应的段被显示。
同样,共阳极LED显示器的发光二极管的阴极连接在一起,通常此公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。
使用数码管时,为了显示数字或符号,要为数码管提供代码,因为这些代码是通过各段的亮与灭来为显示不同字型的,因此称之为段码。
各字符与段码的对应关系如表2-3所示。
数码管常用的显示方式有两种:
静态显示方式和动态显示方式。
数码管工作于静态显示方式时,各位的共阴极(或共阳极)连接在一起并接地(或+5V);
每位的段选线分别与一个8位的锁存器输出相连。
所以称为静态显示。
数码管工作于动态显示方式时,通常将所有的段选线并联在一起,由一个8位I/O口控制,形成段选线的多路复用。
而各位的公共极分别由相应的I/O线控制,实现各位的分时选通。
表2-3共阴极数码管字符段码对照表
显示字符
共阴极
共阳极
3FH
C0H
c
39H
C6H
1
06H
F9H
d
5EH
A1H
2
5BH
A4H
E
79H
86H
3
4FH
B0H
F
71H
8EH
4
66H
99H
P
73H
8CH
5
6DH
92H
U
3EH
C1H
6
7DH
82H
T
31H
CEH
7
07H
F8H
Y
6EH
91H
8
7FH
80H
76H
89H
9
6FH
90H
38H
C7H
A
77H
88H
“灭”
00H
FFH
b
7CH
83H
—
40H
BFH
2.4.3数字串行显示的实现
本课题的LED显示部分采用串行移位寄存器74LS164驱动共阴极数码管实数据的静态显示。
电路图如图2-7所示。
最靠近数据输入方向的数码管用于显示温度通道。
其他四个用于显示温度数值,当温度为负数时,第二个数码管用于显示温度的符号。
最后一个数码管用于显示温度的小数部分,显示精度为0.5℃。
图2-7数码管显示电路
2.5本章小结
本章主要介绍了整个系统的硬件电路的设计,包括单片机的介绍、RS232、RS485通信的原理、测温原理以及数码管的显示等。
由于DS18B20独特的一线总线结构,很容易实现分布式测温,而且硬件结构简单、连线方便,并通过RS485协议传输,能够传输很远的距离,所以本系统很适合于远距离分布式测温的工作。
第3章系统软件设计
3.1总体程序设计思路
3.1.1制定通信协议
要想实现通信必须得有通信协议,只有通信双方都遵守这一协议才能实现正确的通信,完成正确的数据收发过程。
由于本课题通信的数据和控制命令不太复杂,因此通信协议的制定也比较简单。
如图3-1所示。
图3-1通信协议
3.1.2下位机的程序设计思路
由于硬件结构简单,单片机与DS18B20的连接只需一个I/O口,所以任何数据读取和命令发送比较复杂,必须严格按照DS18B20的时隙来工作。
首先是复位操作,复位成功后才能继续执行相应的ROM操作,由于ROM操作完成后将要发送的是针对所有器件转换温度命令,所以此次ROM操作执行跳过ROM,ROM操作完成后开始转换温度,由于DS18B20转换温度需要一段时间,所以再发送出转换温度命令后必须进行延时,等待器件转换完成后再执行下一步的复位操作,复位成功后继续ROM操作,此时将要读取数据,所以必须进行匹配ROM操作,选择相应的器件,以读取其温度,读取完毕即可通过单片机发送给电脑以进行下一步的处理。
图3-2是DS18B20测温程序流程图。
图3-2多点温度采集程序框图
3.1.3上位机软件的程序功能
上位机软件采用VisualBasic6.0编写,主要用于实时地显示采集的温度和进行数据处理,并能够有效地进行远程控制。
因此上位机软件应具有显示温度、选择测温通道、调整温度精度、绘制温度曲线以及记录温度等功能。
以下是该软件功能的详细介绍。
本软件能够通过串口接收单片机发送过来的温度数据,接收到后通过软件上的显示部分将温度值显示出来,用户单击主界面上的小显示窗口后会弹出一个单独的大的温度显示窗口,这使得用户能够很方便的观察温度值。
本软件还具有一定的数据处理功能,可以单击“绘制曲线”按钮绘制温度曲线或单击“采集温度”按钮制作温度列表并将其保存到电脑上,同时还可以调整采集的间隔和时长。
本软件还具有报警功能,当温度值超出设定好的上下限范围后便会启动报警,同时绘制的温度曲线将会以红色显示。
本软件还附带一个读取DS18B20的64位ROM的小工具,首先对单片机烧写响应的读取ROM的程序,单片机读取到ROM值后会发送给计算机,计算机通过该工具接收后会分析单片机发送过来的数据,然后将ROM值提取出来并转化为单片机代码。
3.2下位机程序分块介绍
下位机主要用于温度数据的采集与发送和数据的显示,因此下位机软件应该包括对DS18B20的读写操作、串行口的收发以及数码管显示三个部分。
3.2.1DS18B20的程序介绍
由于DS18B20与单片机的连接十分简单,只需一根线即可,因此只能采用串行传输的方式,并且需严格按照规定的流程进行数据的读取和命令的发送等操作,所以程序编写要相对复杂许多。
下面是DS18B20的常用操作。
一.复位操作
主机通过拉低单线480us以上,产生复位脉冲,在主机释放总线后产生一个上升沿,单线器件DS18B20检测到该上升沿后,延时15~60us,通过拉低总线60~240us来产生应答脉冲,主机接收到应答脉冲后,说明有单线器件在线,然后即可进行下一步操作[24]。
二.读操作
读取数据时,把数据线从高电平拉至低电平,低电平保持最少1us,来自DS18B20的输出数据在读时隙下降沿之后15us内有效,所有读时隙最短必须持续60us,两时隙之间最少保持1us的回复时间。
三.写操作
主机将数据线从高电平拉至低电平时产生写时隙,DS18B20在DQ变低的后的15~60us进行采样,为高就写"
1"
为低就写"
0"
。
对DS18B20的存储器操作命令都是通过写操作实现的,如表3-1所示。
表3-1DS18B20的写操作命令
指令名称
代码
功能
写存储器
[4EH]
主机向存储器中写数据
读存储器
[BEH]
主机连续读0~8存储器内容
复制存储器
[48H]
复制TH、TL等存储器的内容到EEPROM中
温度转换
[44H]
启动温度转换
重新调出
[B8H]
从EEPROM调出TH、TL等数据到存储器中
读电源
[B4H]
器件向主机传送它的供电方式
四.ROM操作
64位光刻ROM记录了器件的识别信息。
每一个DS18B20包括一个唯一的64位的光刻ROM。
开始的8位是单线产品系列编码。
接着的48位是唯一的系列号。
最后的8位是开始56位的CRC校验数据。
主机通过发出匹配ROM命令后,可向其发出特定的操作指令。
ROM操作指令如表3-2所示。
表3-2DS18B20的ROM操作命令
读ROM
[33H]
在口线上接一个器件时读其ROM码
匹配ROM
[55H]
找出某个指定的ROM码的器件
跳过ROM
[CCH]
对口线上所有器件的操作
搜索ROM
[F0H]
口线上有多个器件时,找出每个器件的ROM码
搜索报警
[ECH]
找出各器件是否超限
读ROM命令允许总线主机读DS18B20的8位产品系列编码,唯一的48位序列号,以及8位的CRC。
此命令只能在总线上仅有一个DS18B20的情况下使用。
如果总线上存在多于一个的从属器件,那么当所有从片企图同时发送时将发生数据冲突的现象。
在使用匹配ROM命令后,继续发送64位的ROM数据系列,允许总线主机对多点总线上特定的DS18B20寻址。
只有与64位ROM序列严格相符的DS18B20才能对后继的存储器操作命令作出响应。
所有与64位ROM序列不符的从片将等待复位脉冲。
此命令在总线上有单个或多个器件的情况下均可使用。
跳过ROM命令通过允许总线主机不提供64位ROM编码而访问存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 实时 温度 采集 系统 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)