温度遥测遥控系统的设计和实现.docx
- 文档编号:11072789
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:32
- 大小:450.13KB
温度遥测遥控系统的设计和实现.docx
《温度遥测遥控系统的设计和实现.docx》由会员分享,可在线阅读,更多相关《温度遥测遥控系统的设计和实现.docx(32页珍藏版)》请在冰豆网上搜索。
温度遥测遥控系统的设计和实现
QUST毕业论文
温度遥测遥控系统的设计和实现
QUST
温度遥测遥控系统的设计和实现
摘要
文章介绍了一种基于AT89S52单片机的水温遥控遥测系统的设计。
设计采用AT89S52单片机为控制内核,重点介绍了单片机工作方式和外围接口电路,包括温度采集模块所实现的数模转换、控制器AT89S52之间数据通过无线传送模块串行所实现的通信功能、温度显示模块所实现的数码管的动态显示功能。
系统分为上下位机,通过无线收发装置实现对水温遥测遥控。
关键词:
AT89S52单片机;ADC0809数模转换;单片机的串行通信;数码管动态显示;
1引言
温度遥测与遥控系统是一种远端测控单元装置,测控终端集A/D功能和I/O功能为一体,负责对工业设备、环境、流体的温度监测和控制,特别适合那些环境恶劣,测量人员不容易接近的场合,近年来在工农业生产中应用广泛。
目前的应用领域可分为远程遥测遥控和非远程遥测遥控,他们的主要差别在于远程遥测遥控主要是通过GPRS网络实现更大的地域跨度,但是相对来说本文所研究的非远程遥测与遥控系统则更适合于车间等小空间(300米以内)的操作,此系统的的特点是成本小,系统相对简单,容易维护,具体可应用在家庭洗浴系统、工业热能系统等
根据短距离遥控遥测系统的特点,本文提出了对近距水温遥控遥测的设计方案,并最后实现了对模拟的0-100oC的温度的无线近距离测量和控制,主要工作包括温度的数模转换、温度在数码管上的动态显示和控制器之间通过无线模块进行的串行通信。
2温度遥测遥控系统整体设计方案
本次设计,可分为上位机和下位机两大部分,分别实现温度数据的采集和温度的控制功能。
以下为系统大体原理框图(图2-1):
上位机下位机
图2-1系统原理框图
Fig.2-1Thesystemconfigurationblockdiagram
注释:
①热水注入器②冷水注入器③温度感应器
④A/D转换模块⑤无线收发模块1⑥数码管显示器
⑦无线收发模块2⑧温度手控器⑨数码管显示器
上位端阐述:
1)冷/热水注入器①/②负责接受控制器所发出的指令并调水的温度,具体为01指令为加冷水,10指令为加热水,其他指令无效。
2)温度感应器③负责采集温度并将之转换为模拟的电信号,它与A/D转换模块④组成温度测量模块负责将采集到的模拟电信号转换为8位数字信号,并将其送到控制器1,由于测量范围是0~100℃,所以误差控制在1℃是没有问题的。
3)控制器1负责:
1.每2S接受一次数字信号并将其送到无线模块并发送出去并送至数码管⑥显示。
2.负责将无线收发模块⑤接受到的控制信号控制冷/热水注入器①/②。
4)无线收发模块⑤负责每1秒发送一次温度,并随时(在发送温度数据的时间之外)准备着接受下位端的控制数据
下位端阐述:
1)无线收发模块⑦每1S接受一次温度数据并将其送至控制器2,并随时(在接受温度数据的时间之后一秒的时间里)将控制器2所采集的控制信号发送
2)控制器1负责:
1.每1S接受一次数字信号送至数码管⑨显示.2.采集温度手控器⑧的状态并送至无线模块发送出去。
3)温度手控器⑧,我们可以根据数码管所显示的数据发送指令01指令为加热,10指令为降温,其他指令无效。
4)温度显示模块以双位数码管⑥和⑨,原理为双位数码管的动态显示原理。
3系统硬件设计
本章重点讲述了温度遥测遥控系统的硬件的设计和实现,主要包括温度测量模块、温度显示模块和控制模块所包括的芯片以及各种芯片的结构功能、工作原理以及在设计中的使用方法,并且在开头一节讲述了硬件电路设计软件PROTEL99SE的使用。
3.1PROTLE99SE和温度测量系统电路图的制作
(1)电路原理设计部分(AdvancedSchematic99):
电路原理图设计部分包括电路图编辑器(简称SCH编辑器)、电路图零件库编辑器(简称Schlib编辑器)和各种文本编辑器。
本系统的主要功能是:
绘制、修改和编辑电路原理图;更新和修改电路图零件库;查看和编辑有关电路图和零件库的各种报表。
图3-1温度AD转换电路板原理图
Fig.3-1TemperatureADtransformcircuitprinciplediagram
(2)印刷电路板设计系统(AdvancedPCB99):
印刷电路板设计系统包括印刷电路板编辑器(简称PCB编辑器)、零件封装编辑器(简称PCBLib编辑器)和电路板组件管理器。
本系统的主要功能是:
绘制、修改和编辑电路板;更新和修改零件封装;管理电路板组件。
(3)自动布线系统(AdvancedRoute99):
本系统包含一个基于形状(Shape-based)的无栅格自动布线器,用于印刷电路板的自动布线,以实现PCB设计的自动化。
图3-2温度的采集和AD转换电路板图
Fig.3-2TemperatureADtransformcircuitdiagram
3.2芯片的介绍和使用
在本节中介绍了温度测量模块、显示模块、通信模块所用到的芯片的功能、结构。
并具体阐述了各芯片在系统中的设置和使用。
3.2.1AT89S52及其在系统中的使用
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程。
Flash存储器,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
管脚解释:
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0不具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,
图3-389s52单片机管脚图此时可以作为输入口使用。
作为输入使
Fig.3-3Pinmapfor89s52用时,被外部拉低的引脚由于内部电阻此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入P1.1/T2EX)。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR,A)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
端口引脚第二功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INTO(外中断0)
P3.3INT1(外中断1)
P3.4TO(定时/计数器0)
P3.5T1(定时/计数器1)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号(即机器周期),该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
3.2.2ADC0809介绍和在温度测量模块的使用
1.主要特性
1)8路输入通道,8位A/D转换器,即分辨率为8位。
2)具有转换起停控制端。
3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时)
4)单个+5V电源供电
5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
6)工作温度范围为-40~+85摄氏度
7)低功耗,约15mW。
图3-4ADC0809管脚图
Fig.3-4PinmapforADC0809
2.内部结构
ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图13.22所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。
3.引脚功能说明
IN0~IN7:
8路模拟量输入端。
D0~D7:
8位数字量输出端。
ADDA、ADDB、ADDC:
3位地址输入线,用于选通8路模拟输入中的一路
ALE:
地址锁存允许信号,输入,高电平有效。
START:
A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
EOC:
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
REF(+)、REF(-):
基准电压。
Vcc:
电源,单一+5V。
GND:
地。
ADC0809的工作过程
3.2.374HC573及其在接口电路中的使用
在单片机最小系统中74HC573是基本的芯片之一,在使用时根据需要OE接地,LE悬空。
它和74LS373等芯片一样可以根据芯片特性完成以下功能:
1.数据锁存
当输入的数据消失时,在芯片的输出端,数据仍然保持;这个概念在并行数据扩展中经常使用到。
2.数据缓冲加强驱动能力。
74LS244/74LS245/74LS373/74LS573都具备数据图3-574LS573管脚图
缓冲的能力。
Fig.3-5Pinmapfor74LS573
OE:
output-enable,输出使能;
LE:
latch-enable,数据锁存使能,latch是锁存的意思;
在本设计中,主要使用为数据所存,以作为ADC0809模拟通道选择。
在使用时根据需要OE接地,LE悬空。
3.2.474LS74双D触发器及其在温度测量模块的使用
在74LS74芯片中有两个D触发器,故称双D触发器
表3-174ls74功能表
Table3-174ls74menu-key
输 入
输出
SD
RD
CP
D
Qn+1
Qn+1
0
1
×
×
1
0
1
0
×
×
0
1
0
0
×
×
φ
φ
1
1
↑
1
1
0
1
1
↑
0
0
1
1
1
↓
×
Qn
Qn
阐述:
在本次设计中D触发器做分频器(二分频),在使用过程中,将Q1非和D1相连,然后在CLK1处输入ALE单片机机器周期信号(1MHZ),在Q1处即可输出供ADC0809使用的clk信号(5KHZ)。
图3-674LS74内部结构图
Fig.3-674LS573interconstruction
3.2.574LS02或非门
74LS51广泛使用于逻辑电路中,它能实现基本的或非功能。
图3-774LS02管脚图
Fig.3-7Pinmapfor74LS02
在本次设计中,使用74LS02配合单片机的读写管脚和ADC0809的OE管脚来实现对ADC的启动和转换完成后实现中断。
3.2.6双位数码管在显示模块的使用
数码管是一种半导体发光器件,其基本单元是发光二极管。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;
本次设计使用的数码管是共阳极双位数码管,采用动态显示方式(具体见3.2.2)
经过测量;数码管的管教显示解释如下:
COM1、COM2:
控制显示的位,“01”为显示个位;“10”为显示十位;
a、b、c、d、e、f、g、dp管脚和控制的LED灯如图3-8所示
dp
图3-8双位数码管管脚图
Fig.3-8Pinmapfordouble-digitaltube
3.3各芯片在系统电路图中的作用和联系
整块板子以ADC0809为核心,其中:
D触发器做分频器为ADC0809提供时钟信号,或非门主要作用是结合P2.7口翻译单片机发出的读写信号,翻译为ADC0809的启动AD转换的信号。
AD转换完成之后由单片机P0脚读入,在单片机内转化为可以在数码管显示的十位、个位。
其中P2.1、P2.0口完成动态显示的片选工作。
3.4无线模块SRWF-1V6.1及其在上下位机无线通信作用
本设计所用的无线模块为桑瑞公司开发的无线模块SRWF-1V6.1,此型号模块具有很强的抗干扰能力,全透明传输,体积小,功耗低传输距离远的特点,并且体积小图3-9无线模块SRWF-1引脚少便于初学者做无线设计的开Fig.3-9WirelessmoduleSRWF-1发。
表3-2插槽管脚介绍
Table3-2PinsIntroduction
序号
接口说明
连接终端接口
备注
1
GND电源
模拟地
2
电源DC3.6V—5.0V
3
RXD/TTL串行数据接收端
TTLTXD
4
TXD/TTL串行数据发射端
TTLRXD
5
SGND信号地
模拟地
可与电源地相连
6
A(TX)
A(RX)RS-485的ARS-232的TX
7
B(RX)
B(TX)RS-485的BRS-232的RX
8
SLP
休眠控制
(输入)TTL休眠信号低有效t>15ms
9
RESET
复位
(输出)TTL唤醒信号负脉冲唤醒t>1ms
在无线模块提供的两对TX,RX引脚中,RXD/TTL串行数据接收端、TXD/TTL串行数据发射端,这一对为TTL电平协议,适合交叉连接单片机的串行通信的RX、TX。
而A(TX)、B(RX)这对为RS-485、RS-232远程抄表常用的电平协议。
在模块的下方A、B、C、D、E,为选择通信的信道所用,不同的信道根据调制的频率不同区分,具体的频率信息如下:
ABC的状态:
表3-3SRWF-1信道频率
Table3-3SRWF-1ChannelFrequency
000信道
0
101
110
111
433.3030MHZ
432.6876
432.0732
431.4588
430.8444
430.2300
429.6156
429.0012
本次设计使用000信道
3.5硬件的焊接和调试
由于前年的电子电工技术实习使我掌握了焊接的基本技巧,表述如下:
先给元件焊接部分和线路板渡锡,把元件插入电路板,一手握烙铁一手拿锡丝,用电烙铁加热被焊处,加锡适量,待锡融化为水并充分融入电路板表面,离开电烙铁,等待锡点冷却。
经调查,在市场上印电路板的费用大概是300—400人民币左右,所以请陈琦老师帮忙,印刷,这对硬件的焊接技术的要求更高。
底座的焊接
在电路板有三个底座,ADC0809的用的是28脚的双排直插式的,74LS74和74LS51为14脚的双排直插式的;在焊接时,要先把底座插到电路板上再进行焊接,底座各脚的焊点要小,以免各脚之间导通,还不能形成虚焊,虚焊会导致电路不通,底座要焊接牢固,不能和电路板距离太远,以免导致虚焊。
底座还要放在公共线的两边,因为那两条线是电源线和地线。
焊接好后要对照电路仔细检查,再用万用表检测,看焊接是否良好。
插针的焊接
由于插孔太小,我使用了螺丝钻孔扩大插孔,使得插针顺利插入。
在焊接时考虑到某些管脚的不在适用范围内,可放弃不焊。
3.6温度传感器和温度转换算法
LM35总体简介
LM35是由NA所生产的温度传感器,其输出电压与摄氏温标呈线性关系,转换公式如式,0时输出为0V,每升高1℃,输出电压增加10mV。
LM35有多种不同封装型式,外观如图所示。
在常温下,LM35不需要额外的校准处理即可达到±1/4℃的准确率。
电源供应模式有单电源与正负双电源两种其引脚如图所示,正负双电源的供电模式可提供负温度的量测;两种接法的静止电流----温度关系如图所示,在静止温度中自热效应低(0.08℃),单电源模式在25℃下静止电流约50μA,工作电压较宽,可在4—20V的供电电压范围内正常工作非常省电。
温度传感器中电压和温度的线性关系:
Vout-LM35(T)=10mv/0C*T0C
如公式所示:
在一百摄氏度时Vout-LM35=1V在温度采集电路中ADC0809芯片的参考电压是5V所以我们首先要通过功放电路将LM35的输出电压放大5倍,ADC0809在输入电压为5V的情况下转换结果是11111111B,我们再将之转化为99oC,即99约等于256*4/10,此过程将在软件中实现。
图3-10LM35管脚图
Fig.3-10PinmapforLM35
4系统软件控制设置
本章阐述了第3章所讲到的控制器控制部分控制原理以及根据芯片的工作原理为芯片提供工作时序的软件设计。
在本章的最后讲述了在本次设计中所使用语言编译软件和程序烧录软件的使用。
4.1AT89S52控制寄存器及其在系统中的设置
寄存器是单片机控制及设置的核心,在AT89S52单片机中,有以下寄存器分别控制单片机及其外围电路完成各种不同的功能:
1.B寄存器符号为B,在单片机中的地址是F0H,在本次设计中B寄存器主要完成显示模数转换的结果,模数转化的结果为2位16进制数字,必须按照要求实现10进制显示,用单片汇编语言中的除法指令DIVAB,这就用到B寄存器存放被除数“10”,和除完之后的个位。
2.累加器ACC地址为E0H不必赘述
3.程序状态字PSW地址为D0H
表4-1PSW数据位
Table4-1TheBitsofPSW
D7
D6
D5
D4
D3
D2
D1
D0
CY
AC
F0
RS1
RS0
OV
P
CY:
进位标志。
有进、借位,CY=1;无进、借位,CY=0在本次设计中CY的主要用途是执行RLCA,RRCA指令时使得ACC中需要的BIT移出使用
AC:
辅助进、借位(高半字节与低半字节间的进、借位)。
F0:
用户标志位
RS1、RS0:
工作寄存器组选择位。
控制使用哪一组的R0—R7,默认为00;即第一组。
0V:
溢出标志位。
P:
奇偶校验位:
它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。
若为奇数,则P=1,否则为0。
在串行通信时使用较为频繁。
本次设计没有应用该项功能。
4.中断优先级控制寄存器IP地址为B8H默认优先级从高到低为:
INT0外部中断
T0定时中断
INT1外部中断
T1定时器中断
T2中断⑥T2定时器中断(AT89S52特有中断)⑦串行接口中断
5.中断允许控制寄存器IE地址为A8H以上两个中断寄存器将会在4.1.1中断控制器和中断向量中详细的描述
6.串行口锁存器SBUF地址为99H
7.串行口控制寄存器SCON地址为98H以上两个寄存器配合完成数据的串行发送接受详细内容在3.1.2
8.TH18DH定时器/计数器1(高8位)
TH08CH定时器/计数器1(低8位)
TL18BH定时器/计数器0(高8位)
TL08AH定时器/计数器0(低8位)
TMOD89H定时器/计数器方式控制寄存器
TCON88H定时器/计数器控制寄存器
以上定时器寄存器将会在4.1.2定时计数器控制寄存器和初值的计算中详细的介绍。
9.DPTR十六位数据地址指针包括:
DPH83H数据地址指针(高8位)
DPL82H数据地址指针(低8位)
在设计中使用数据地址指针完成查表显示功能
10.SP81H堆栈指针
4.1.1中断控制器
在单片机工作中,当CPU正在处理某项事务的时候,如果外界或内部发生了紧急事件,要求CPU暂停正在处理的工作转而去处理这个紧急事件,待处理完以后再回到原来被中断的地方,继续执行原来被中断了的程序,这样的过程称为中断。
中断能够极大地提高CPU的工作效率;在本次设计中通过对优先级的定义全局的使用了各种中断,中断的优先级和开关是通过寄存器IP和IE
中断优先级控制寄存器IP
当几个中断源同时向CPU发出中断请求时,CPU应优先响应最需紧急处理的中断请求。
为此,需要规定各个中断源的优先级,使CPU在多个中断源同时发出中断请求时能找到优先级最高的中断源,响应它的中断请求。
在优先级高的中断请求处理完了以后。
再响应优先级低的中断请求。
在单片机中,IP寄存器负责控制中断源的优先级,IP置位时的数据决定了单片机的默认中断优先顺序,如下:
中断源入口地址
外部中断00003H
定时器0溢出000BH
外部中断10013H
定时器1溢出001BH
串行口中断0023H
通常,在中断入口地址处安排一条跳转指令,以跳转到用户的服务程序入口。
中断服务程序的最后一条指令必须是中断返回指令RETI。
我们可以通过了解中断的优先顺序来分配中断处理进程使得单片机工作的更为迅速、有序
中断的允许
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 遥测 遥控 系统 设计 实现