基于rx485的温度采集与显示终稿学位论文.docx
- 文档编号:12385113
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:45
- 大小:236.64KB
基于rx485的温度采集与显示终稿学位论文.docx
《基于rx485的温度采集与显示终稿学位论文.docx》由会员分享,可在线阅读,更多相关《基于rx485的温度采集与显示终稿学位论文.docx(45页珍藏版)》请在冰豆网上搜索。
基于rx485的温度采集与显示终稿学位论文
毕业设计论文
基于RS485的多机温度采集与显示
陈红香
指导老师姓名:
晏文靖
专业名称:
电子信息工程技术
班级学号:
07136337
论文提交日期:
2010年01月07日
论文答辩日期:
2010年01月13日
2010年01月13日
【摘要】温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。
随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。
单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。
多机温度监测系统可实现对多点温度的测量,并能根据设定值对环境温度进行调节,实现控温的目的。
本设计基于DS18B20传感器的温度测量和AT89S52单片机的控制装置,通过MAX485通信模块将温度数据传回计算机控制端,从而实现对环境温度进行监测。
本设计就是利用一台PC机与两块单片机所组成的主从式温度监测系统。
在本系统中上位机以PC和Windows操作系统为软硬件资源,下位机采用ATMEL公司的AT89S52,总线采用的是测控系统常用的RS-485。
【关键词】AT89S52PC机与单片机通信MAX485
【Abstract】Temperatureisthemainaccusedintheindustrialcontroloneoftheparameters,especiallyinthemetallurgical,chemical,buildingmaterials,food,machinery,oilindustry,hasheldtheroleofheavy-lightfoot.Aselectronictechnologyandtherapiddevelopmentofmicro-computer,computermeasurementandcontroltechnologyhasbeenrapiddevelopmentandwideapplication.SCMhasadealcanbestrong,fast,lowpowerconsumptionadvantages,applicationsintemperaturemeasurementandcontrol,controlissimpleandconvenient,measuringawiderangeofhighprecision.
Multi-machinetemperaturemonitoringsystemcanrealizethemulti-pointtemperaturemeasurements,andaccordingtosetvaluetoadjusttotheambienttemperaturetoachievetemperaturecontrolpurposes.ThedesignisbasedonDS18B20sensortemperaturemeasurementandcontrolunitMCUAT89S52,throughtheMAX485communicationmodulethetemperaturedatabacktocomputer-controlledside,thusbringingabouttheambienttemperaturemonitoring.
ThisdesignistheuseofaPC,andcomposedoftwomaster-slavemicrocontrollertemperaturemonitoringsystem.Inthissystem,hostcomputerandtheWindowsoperatingsystemtoPChardwareandsoftwareresources,thenext-bitmachineusingATMELCorporationAT89S52,thebususesacontrolsystemcommonlyusedinRS-485.
【KeyWords】AT89S52PCandSingle-chipcommunicationMAX485
目录
绪论1
第1章系统设计原理及要求2
1.1设计思路2
1.2总体设计思路框图2
1.3各部分组件说明2
第2章AT89S52单片机的原理与结构3
2.1AT89SXX系列单片机的内部结构4
2.2AT89S52单片机的引脚功能4
2.2.1I/O端口线输入输出引脚4
2.2.2控制线控制引脚4
2.2.3外接晶体线5
2.3AT89S52存储器组织5
2.4AT89S52程序存储器5
2.5AT89S52的复位方式6
2.6AT89S52的时钟电路6
第3章串口通信的基本原理7
3.1串口通信的有关概念7
3.2RS-232有关的串行通信概念7
3.3与串行口有关的SFR7
3.3.1串行通信控制寄存器SCON7
3.3.2电源控制器PCON8
3.4串行口的工作方式8
3.5串行口的初始化10
3.5.1串行口波特率10
3.5.2初始化步骤10
第4章DS18B20温度传感器11
4.1DS18B20的简介11
4.2DS18B20的特点11
4.3DS18B20的封装结构11
4.4DS18B20的测温原理12
4.5DS18B20与单片机的典型接口电路12
4.6DS18B20的软件设计13
第5章定时/计数器与中断的原理及应用14
5.1定时器/计数器有关的概念14
5.1.1与T/C有关的特殊功能寄存器14
5.1.2定时器/计数器的工作方式15
5.1.3定时器/计数器的初始化16
5.2中断有关的概念16
5.2.1中断源16
5.2.2中断的控制17
5.2.3中断响应18
第6章硬件电路其他元器件简介19
6.1单片机的最小系统19
6.2数码管的显示电路19
6.3MAX485串口通信电路20
6.3.1MAX485芯片简介20
6.3.2通信方式21
6.3.3与PC机通信方式22
第7章系统软件的设计与实现方法23
7.1软件的使用23
7.1.1AT89S52的编程器的使用23
7.1.2串口调试助手V2.2的使用方法23
7.2程序设计框图23
7.2.1DS18B20温度采集设计23
7.2.2PC机与单片机的通信程序设计24
第8章调试27
8.1调试环境27
8.1.1硬件调试27
8.1.2软件调试27
8.2调试过程27
8.2.1硬件27
8.2.2软件27
8.3硬件调试过程的问题及解决办法27
8.4软件调试过程的问题及解决办法28
8.5本次设计结果28
结论29
致谢30
参考文献31
附录32
附录A硬件电路实物图32
附录BVB6.0效果图33
绪论
基于RS485的多机温度采集与显示是通过DS18B20检测温度,然后通过MAX485通信模块,将检测到的温度发射到电脑端的接收端,从而在电脑上(VB界面)显示检测到的温度。
系统中使用到的主要材料有:
MAX485通信模块,多功能开发板,温度传感器(DS18B20),RS232-RS485接口.在实际检测时,主要通过温度传感器(DS18B20)的温度检测功能,以及MAX485通信模块的多机串行通信功能,去实现多组温度在电脑端的显示。
电脑端主要通过VB程序(VisualBasic),得以将开发板上的温度检测系统(DS18B20)所测得的温度在电脑端显示。
通信模块采用了MAX485总线通信模块,这种模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。
RS-485是一个多引出线接口,这个接口可以有多个驱动器和接收器,可以实现一台PC和多台单片机之间的串行通信;而且RS-485的最长的传输距离为1200m,适合中距离的传输。
多功能开发板通过下载温度检测程序(由AT89S52接收程序),与温度检测模块(DS18B20)连接,再连接MAX485通信模块,再通过RS232-RS485转接口与PC机连接即可实现PC与多单片机的多机通信。
第1章系统设计原理及要求
1.1设计思路
有两个智能开发板每个开发板上安装DS18B20温度传感器并显示当前检测温度值,板上的MAX485和RS232与485转换接口与PC机连接。
在PC微机上用VB建立一界面显示两个智能板上所测的温度。
1.2总体设计思路框图
图1-2基于RS485的多机温度采集与显示总体设计框图
1.3各部分组件说明
DS18B20是“一线总线”数字化温度传感器,测量温度范围为-55℃~+125℃,在-10℃~+85℃,精度范围为±0.5℃。
51系列单片机采用AT89S52单片机。
通信模块采用了MAX485总线通信模块,这种模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。
RS-485是一个多引出线接口,这个接口可以有多个驱动器和接收器,可以实现一台PC和多台单片机之间的串行通信;而且RS-485的最长的传输距离为1200m,适合中距离的传输。
在计算机接收端,编辑一个VB程序,用于接收数据和显示温度。
第2章AT89S52单片机的原理与结构
2.1AT89SXX系列单片机的内部结构
ATMEL89系列(以下简称AT89)单片机是美国ATMEL公司生产的8位高性能单片机,其主要技术优势是内部含有可编程Flash存储器,用户可以很方便地进行程序的擦写操作,在嵌入式控制领域中被广泛的应用。
内部结构如图2-1所示
图2-1MCS-51系列单片机的内部结构图
下面对各功能部件作进一步的说明:
⑴数据存储器(RAM):
片内为128个字节(单元),AT89S52单片机内部有256个字节的RAM数据存储器,片内最多可外扩64K字节。
⑵程序存储器(ROM/EPROM):
803l无此部件,8051为4KROM;8751则为4K EPROM。
AT89S51单片机内部有4 KB的闪存程序存储器(Flash),当不够使用时,可扩展为64KB外部程序存储器。
它们的逻辑空间是分开的,并有各自的寻址机构和寻址方式。
这种结构的单片机称为哈佛型结构单片机。
⑶中断系统:
具有5个中断源,2级中断优先权。
⑷定时器/计数器:
2个16位的定时器/计数器,具有四种工作方式。
⑸串行口;一个全双工的串行口,具有四种工作方式。
⑹Pl口、P2口、P3口、P0口:
为4个并行8位I/O口。
⑺特殊功能寄存器(SFR):
共有21个,用于对片内各功能模块进行管理、控制、监视。
实际上是一些控制寄存器和状态寄存器,是一个特殊功能的RAM区。
⑻微处理器(CPU):
为8位的CPU,且内含一个1位CPU(位处理器),不仅可处理字节数据,还可以进行位变量的处理。
8位机在数据采集,运算处理有明显的长处。
ATMEL52子系列功能增强的具体如下四个方面。
(1)片内ROM从4KB增加到8KB。
(2)片内RAM从128B增加到256B。
(3)定时/计数器从2个增加到3个。
(4)中断源从5个增加到6个。
2.2AT89S52单片机的引脚功能
图2-2AT89S52单片机的引脚图
2.2.1I/O端口线输入输出引脚
P0.0—P0.7(39—32):
P0口是一个漏极开路型准双向I/O口。
在访问外部存储器时,它是分时多路转换的地址(低8位)和数据总线,在访问期间激活了内部的上拉电阻。
在EPROM编程时,它接收指令字节,而在验证程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1.0—P1.7(1-8):
P1口是带内部上拉电阻的8位双向I/O口。
在EPROM编程和程序验证时,它接收低8位地址。
P2.0—P2.7(21-28):
P2口是一个带内部上拉电阻的8位双向I/O口。
在访问外部存储器时,它送出高8位地址。
在对EFROM编程和程序验证期间,它接收高8位地址。
P3.0—P3.7(10-17):
P3口是一个带内部上拉电阻的8位双向I/O口。
在MCS—5l中,这8个引脚还兼有专用功能,P3的8条口线都定义有第二功能,详见表2-2-1:
表2-2-1:
P3口各引脚与第二功能
2.2.2控制线控制引脚
ALE(30脚)地址锁存控制信号。
在系统扩展时,ALE用于控制P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。
此外,由于ALE是以晶振1/6的固
定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。
PSEN(29脚)外部程序存储器读选通信号。
在读外部ROM时,有效(低电平),以实现外部ROM单元的读操作。
EA/Vpp(31脚)访问程序存储控制信号。
当信号为低电平时,对ROM的读操作限定在外部程序存储器;当信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。
RST/Vpp(9脚)复位信号。
当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。
2.2.3外接晶体线
XTAL1(19脚)和XTAL2(18脚)外接晶体引线端。
当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
主电源引脚高VCC和低VSS
VCC(40脚)+5V电源。
VSS(20脚)地线(GND)。
2.3AT89S52存储器组织
ATMEL89S52单片机在物理上有四个存储空间:
片内程序存储器和片外程序
存储器、片内数据存储器和片外数据存储器。
ATMEL89S52片内有256字节数据存储器RAM和4KB的程序存储器ROM。
除此以外,还可以在片外扩展RAM和ROM,并且各有64KB的寻址范围。
也就是最多可以在外部扩展2×64KB存储器。
ATMEL89S52的存储器组织结构如图2-3所示:
图2-3-1ATMEL89S52存储器组织结构
2.4AT89S52程序存储器
ATMEL89S52最多可外扩64K字节程序存储器,64K程序存储器中有5个单元具有特殊用途。
5个特殊单元分别对应于5种中断源的中断服务程序的人口地址,见表2-4:
表2-4各种中断的子程序入口地址
通常在这些人口地址处都放一条约对跳转指令。
加跳转指令的目的是,由于两个
中断入口间隔仅有八个单元,存放中断服务程序往往是不够用的。
2.5AT89S52的复位方式
单片机的复位方式有上电自动复位和手工复位两种,其中C=22uF,R=200,Rk=1k。
RST引脚是复位信号的输入瑞。
复位信号是高电平有效。
图2-5上电复位电路
2.6AT89S52的时钟电路
单片机的晶振电路也叫时钟电路,是单片机时序的基础。
单片机内部有振荡器,可以产生时钟。
时钟可以由两种方式产生:
内部方式和外部方式。
外部方式:
可以通过XTAL1和XTAL2接入外部时钟。
内部方式:
在XTAL1和XTAL2端外接入石英晶体作定时元件,内部振荡器自激振荡,产生时钟。
时钟发生器对振荡脉冲进行二分频,因此,时钟是一个双相信号,由P1相和P2相构成。
FOSC可在2MHZ---12MHZ选择。
小电容可以取30PF左右。
图2-6内部方式时钟电路
其中电容为30PF,这种无极性电容是使单片机易起振并保持串口通信,准确计算出波特率。
一般情况晶振选用12MHZ,但串行通信时,使用11.0592MHZ。
第3章串口通信的基本原理
3.1串口通信的有关概念
1、RS-232是串行数据接口标准,最初都是美国EIA(电子工业联合会)制订并发布的,1969年公布的通信协议,适合的数传率为0~20bps。
2、传输率:
所谓传输率就是指每秒传输多少位,传输率也常叫波特率。
国际上规定了一个标准波特率系列,标准波特率也是最常用的波特率,标准波特率系列为110、300、600、1200、4800、9600和19200。
在通信为保证通信正确,必须通信双方必须同一波特率。
3、RS-232-C标准:
RS-232-C标准对逻辑电平的各种信号线的功能作了规定,即信号电平标准和控制信号线的定义。
RS-232-C采用负逻辑规定逻辑电平,信号电平与通常的TTL电平不兼容,逻辑“1”=-3V~-15V逻辑“0”=+3V~+与TTL电平不一样可用TTL/EIA转换器进行转换。
4、RS232接口芯片实现了TTL标准和RS-232-C标准之间的电平转换。
5、AT89S52单片机片上有通用异步接收/发送(UART)用于串行通信,发送时数据由TXD端送出,接收时数据由RXD端输入。
有两个缓冲器SBUF,一个作发送缓冲器,另一个作接收缓冲器。
它是可编程的全双工的串行口。
短距离的机间通信可使用UART的TTL电平,使用驱动芯片(MAX232或1488/1489)可接成RS232C和通用微机进行通信。
波特率时钟必须从内部定时器1或定时器2获得。
若应用要求RS232完全的握手功能,必须借助单片机其它管脚用软件处理。
3.2RS-232有关的串行通信概念
RS232是个人计算机上的通讯接口之一,由电子工业协会(ElectronicIndustriesAssociation,EIA)所制定的异步传输标准接口。
通常RS-232接口以9个接脚(DB-9)或是25个接脚(DB-25)的型态出现,一般个人计算机上会有两组RS-232接口,分别称为COM1和COM2。
3.3与串行口有关的SFR
3.3.1串行通信控制寄存器SCON
SCON是串行口控制和状态寄存器,其格式如下:
SM0、SM1:
串行口工作方式控制位,具体工作方式见表3-3-1所示:
表3-3-1串行口工作方式控制
SMOSM1
工作方式
说明
波特串
00
方式0
同步移位寄存器
fosc/12
01
方式1
10位异步收发
由定时器控制
10
方式2
11位异步收发
fosc/32或fosc/64
11
方式3
11位异步收发
由定时器控制
SM2:
多机通信控制位(方式2,3)。
1一只有接收到第9位(RB8)为1,RI才置位。
0-收到字符N就置位。
REN:
串行口接收允许位。
1一允许串行口接收。
0一禁止串行口接收。
TB8:
方式2和方式3时,为发送的第9位数据,也可以作奇偶校验位。
RB8:
方式2和方式3时,为接收到的第9位数据;方式1时,为接收到的停止位。
TI:
发送中断标志。
由硬件置位,必须由软件清0。
RI:
接收中断标志。
由硬件置位,必须由软件清0。
3.3.2电源控制器PCON
PCON的第7位SMOD是与串行口的波特率设置有关的选择位。
SMOD:
串行口波特率加倍位。
1——方式1,3波特率=定时器1溢出率/16;方式2波特率为fosc/32;
0——方式1,3波特率=定时器1溢出率/32;方式2波特率为fosc/64。
GF0、GF1:
两个通用标志位。
PD、IDL:
CHMOS器件的低功耗控制位。
3.4串行口的工作方式
1.方式0
方式0为移位寄存器输入/输出方式。
串行数据通过RXD输入/输出,TXD则用于输出移位时钟脉冲。
方式0时,收发的数据为8位,低位在前。
波特率固定为fosc
/12,其中fosc为单片机外接晶振频率。
发送是以写SBUF寄存器的指令开始的,8位输出结束时TI被置位。
方式0接收是在REN=1和RI=0同时满足时开始的。
接收的数据装入SBUF中,结束时RI被置位。
2.方式1
方式1是10位异步通信方式,1位起始位(0),8位数据位和1位停止位
(1)。
其中的起始位和停止位在发送时是自动插入的。
任何一条以SBUF为目的寄存器的指令都启动一次发送,发送的条件是TI=0,发送完置位TI。
方式1接收的前提条件是SCON中的REN为1,同时以下两个条件都满足,本次接收有效,将其装入SBUF和RB8位。
否则放弃接收结果。
两个条件是:
(1)RI=0;
(2)SM2=0或接收到的停止位为1。
方式1的波特率是可变的,波特率可由以下计算公式计算得到:
方式1波特率=2SMOD·(定时器1的溢出率)/32
其中的SMOD为PCON的最高位。
定时器1的方式0,1,2,都可以使用,其溢出率为定时时间的倒数值。
3.方式2和方式3
这两种方式都是11位异步接收/发送方式,它们的操作过程完全一样,所不同的是波特率:
方式2波特率=2SMOD·(fosc/64)
方式3波特率同方式1(定时器1作波特率发生器)。
方式2和方式3的发送起始于任何一条“写SBUF”指令。
当第9位数据(TB8)输出之后,置位TI。
方式2和方式3的前提条件也是REN为1。
在第9位数据接收到后,如果下列条件同时满足:
(1)RI=0;
(2)SM2=0或接收到的第9位为1,则将已接收的数据装入SBUF和RB8,并置位RI;如果条件不满足,则接收无效。
ATMEL89S52串行口的不同寻常的特征是包括第九位方式。
这允许在串行口通信增加的第九位用于标志特殊字节的接收。
对简单网络,第九位方案允许接收单片机仅当字节具有一个第九位时才能被中断。
用这种方法,发送器可以广播一个字节让第九位为高作为“每个人请注意”字节。
字节可以为节点地址,地址相同的节点可以打开接收接下来的字符。
所接续字节(第九位为低)不能引起其它单片机中断,因为未送它们的地址。
用这种方式。
一个单片机可以和大量的其它单片机对话而不打扰不寻址的单片机。
这种系统必须工作在严格的主从方式,由软件进行取舍安排。
3.5串行口的初始化
3.5.1串行口波特率
通常情况下,使用单片机的串行口时,选用的晶振比较固定6MHz,12MHz,11.0592MHz。
常用于和微机的通信;选用的波特率也相对固定。
串行口常用的波特率及相应的设置见表3-5-1所示:
表3-5-1串行口波特率表
3.5.2初始化步骤
在使用串行口之前,应对它进行编程初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。
具体步骤如下:
⑴确定定时器1的工作方式——编程TMOD寄存器;
⑵计算定时器1的初值——装载TH1、TL1;
⑶启动定时器1——编程TCON中的TR1位;
⑷确定串行口的控制——编程SCON;
⑸串行口在中断方式工作时,须开CPU和源中断——编程IE寄存器。
第4章DS18B20温度传感器
4.1DS18B20的简介
DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。
与传统的热敏电阻相比
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 rx485 温度 采集 显示 学位 论文