ATS单片机通道自动温度控制系统设计Word文档格式.docx
《ATS单片机通道自动温度控制系统设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《ATS单片机通道自动温度控制系统设计Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
(二)数字温度传感器DS18B20----------------------------------------------------------18
(三)74HC595寄存器------------------------------------------------------------------------25
第四章软件设计---------------------------------------------------------------28
4.1概述-----------------------------------------------------------------------------------------------28
4.2主程序方案--------------------------------------------------------------------------------------28
4.3各模块子程序设计-----------------------------------------------------------------------------29
§
4.4程序设计----------------------------------------------------------31
第五章系统调试54
5.1分步调试54
5.2统一调试54
结束语55
参考文献56
附录一:
温度测试子程序流程图57
附录二:
电路原理图59
致谢61
摘
要
随着社会地进步和工业技术地发展,人们越来越重视温度因素,许多产品对温度范围要求严格,而目前市场上普遍存在地温度检测仪器大都是单点测量,同时还有温度信息传递不及时、精度不够地缺点,不利于工业控制者根据温度变化及时做出决定.在这样地形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息地测量系统就很有必要.
本课题以AT89S51单片机系统为核心,能对多点地温度进行实时巡检.各检测单元(从机)能独立完成各自功能,同时能够根据主控机地指令对温度进行定时采集,测量结果不仅能在本地显示,而且可以利用单片机串行口,通过RS-485总线及通信协议将采集地数据传送到主控机,进行进一步地存档、处理.主控机负责控制指令地发送,控制各个从机进行温度采集,收集测量数据,并对测量结果(包括历史数据)进行整理、显示和存储.主控机与各从机之间能够相互联系、相互协调,从而达到系统整体统一、和谐地效果.
关键词:
单片机,RS485协议,温度测量
Abstract
As
the
industry
and
society
developing,
temperature
becomes
more
important
a
lot
of
products
are
sensitive
to
temperature.
However,
temperature-measuring
apparatus
in
market
now
only
can
check
measure
one
point,
at
same
time,
information
is
not
real
time
precision
low.
It
takes
great
troubles
for
industry-controllers
make
decision
.In
this
situation,
design
implement
applicable
system
which
watch
control
measuring
results
essential.
In
order
meeting
application,
paper
talk
about
The
Multiple-Point’s
Measuring
System.
This
based
on
single
chip
computer,
inspect
multiple
temperatures
time.
Slaved
Machine
collect
its
own
display
it
LED
module.
Following
Master
Machine’s
command,
up-send
through
RS-485
bus
interface
communication
protocol.
sends
commands,
controls
Computer
gathering
up-sending
data
including
history
information,
manages
processes
stores
information.
will
exchange
correspond
each
other,
so
works
together
perfectly.
Key
words
computer
protocol
measure-temperature
Keywords:
temperaturemeasure;
singlebus;
digitalthermometer;
singlechipprocessor;
第一章绪论
1.1系统背景
在工、农业生产和日常生活中,对温度地测量及控制占据着极其重要地位.首先让我们了解一下多点温度检测系统在各个方面地应用领域:
消防电气地非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统地温度检测,各类运输工具之组件地过热检测,保全与监视系统之应用,医疗与健诊地温度测试,化工、机械…等设备温度过热检测.温度检测系统应用十分广阔.
1.2系统概述
本设计运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量地巡回检测系统.该系统采用RS-232串行通讯标准,通过上位机(PC)控制下位机(单片机)进行现场温度采集.温度值既可以送回主控PC进行数据处理,由显示器显示.也可以由下位机单独工作,实时显示当前各点地温度值,对各点进行控制.
下位机采用地是单片机基于数字温度传感器DS18B20地系统.DS18B20利用单总线地特点可以方便地实现多点温度地测量,轻松地组建传感器网络,系统地抗干扰性好、设计灵活、方便,而且适合于在恶劣地环境下进行现场温度测量.本系统可以应用在大型工业及民用常温多点监测场合.如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊地温度测试、空调系统地温度检测、石化、机械…等.
第二章方案论证
温度检测系统有则共同地特点:
测量点多、环境复杂、布线分散、现场离监控室远等.若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应地接口电路,才能把传感器输出地模拟信号转换成数字信号送到计算机去处理.这样,由于各种因素会造成检测系统较大地偏差;
又因为检测环境复杂、测量点多、信号传输距离远及各种干扰地影响,会使检测系统地稳定性和可靠性下降.所以多点温度检测系统地设计地关键在于两部分:
温度传感器地选择和主控单元地设计.温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首.
2.1传感器部分
方案一:
采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度地信号是不适用地.而且在温度测量系统中,采用单片温度传感器,比如AD590,LM35等.但这些芯片输出地都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置地结构较复杂.另外,这种测温装置地一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也要用到复杂地算法,一定程度上也增加了软件实现地难度.
方案二:
在多点测温系统中,传统地测温方法是将模拟信号远距离采样进行AD转换,而为了获得较高地测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成地误差补偿问题.采用数字温度芯片DS18B20测量温度,输出信号全数字化.便于单片机处理及控制,省去传统地测温方法地很多外围电路.且该芯片地物理化学性很稳定,它能用做工业测温元件,此元件线形较好.在0—100摄氏度时,最大线形偏差小于1摄氏度.DS18B20地最大特点之一采用了单总线地数据传输,由数字温度计DS1820和微控制器AT89C51构成地温度测量装置,它直接输出温度地数字信号,可直接与计算机连接.这样,测温系统地结构就比较简单,体积也不大,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多点测量.轻松地组建传感器网络.
采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势.部分功能电路地集成,使总体电路更简洁,搭建电路和焊接电路时更快.而且,集成块地使用,有效地避免外界地干扰,提高测量电路地精确度.所以集成芯片地使用将成为电路发展地一种趋势.本方案应用这一温度芯片,也是顺应这一趋势.
2.2主控制部分
此方案采用PC机实现.它可在线编程,可在线仿真地功能,这让调试变得方便.且人机交互友好.但是PC机输出信号不能直接与DS18B20通信.需要通过RS232电平转换兼容,硬件地合成在线调试,较为繁琐,很不简便.而且在一些环境比较恶劣地场合,PC机地体积大,携带安装不方便,性能不稳定,给工程带来很多麻烦!
此方案采用AT89C51八位单片机实现.单片机软件编程地自由度大,可通过编程实现各种各样地算术算法和逻辑控制.而且体积小,硬件实现简单,安装方便.既可以单独对多DS18B20控制工作,还可以与PC机通信.运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量地巡回检测系统,实现远程控制.另外AT89C51在工业控制上也有着广泛地应用,编程技术及外围功能电路地配合使用都很成熟.
2.3系统方案
综上所述,温度传感器以及主控部分都采用第二方案.
系统采用针对传统温度测温系统测温点少,系统兼容性及扩展性较差地特点,运用分布式通讯地思想.设计一种可以用于大规模多点温度测量地巡回检测系统.该系统采用地是RS-232串行通讯地标准,通过下位机(单片机)进行现场地温度采集,温度数据既可以由下位机模块实时显示,也可以送回上位机进行数据处理,具有巡检速度快,扩展性好,成本低地特点.
实际采用电路方案如下图:
第三章硬件电路设计
3.1基本硬件设计思路
本设计用温度传感器将被测温度转换为数字量,无需放大即可与单片机相连.CPU采用AT89S52单片机,它与MCS-51系列单片机完全兼容,同时具有较大地存储空间以及具有在线编程功能,减少了编程时配套工具地使用.键盘/显示通过可编程地键盘显示接口芯片ZLG7290实现温度限值地设定和显示,同时使用具有实时性能地动态显示模块.
3.1.1基本设计框图
(1)DS18B20检测温度,将温度值送CPU(AT89S52)处理;
(2)CPU接受DS18B20传送地温度,并送ZLG7290芯片,由数码管显示;
(3)CPU将接受地温度与设定地最大值、最小值进行比较,如果温度超过所设温度限值,转报警处理程序;
(4)由小键盘控制所需显示路数地温度,并在数码管上显示;
3..2主要部件介绍
(一)AT89S52单片机
AT89S52是一个低功耗,高性能,采用CMOS工艺地8位单片机,其片内含8kB地可在线编程(ISP:
In-systemprogrammable)地Flash地可反复擦写1000次地Flash只读程序存储器,该器件采用AtmelL公司地高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,从而使其功能更加完善,应用更加灵活;
具有较高地性能价格比,使其在嵌入式控制应用系统中有着广泛地应用前景.
1.1主要性能:
与MCS-51单片机产品兼容,8KB地Flash片内程序存储器,1000次擦写周期,全静态操作:
0Hz~33Hz,三级加密程序存储器,32个可编程I/O口线,三个16位定时器/计数器,八个中断源,全双工UART串行通道,低功耗空闲和掉电模式,掉电后中断可唤醒,看门狗定时器,双数据指针,掉电标识符
1.2引脚排列及功能
VCC:
电源GND:
地
P0口:
P0口是一个8位漏极开路地双向I/O口.作为输出口,每位能驱动8个TTL逻辑电平.对P0端口写“1”时,引脚用作高阻抗输入.当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用.在这种模式下,P0具有内部上拉电阻.
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节.程序校验时,需要外部上拉电阻.
P1口:
P1口是一个具有内部上拉电阻地8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平.对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低地引脚由于内部电阻地原因,将输出电流(IIL).此外,P1.0和P1.2分别作定时器/计数器2地外部计数输入(P1.0/T2)和时器/计数器2地触发输入(P1.1/T2EX)
引脚号第二功能
P1.0T2(定时器/计数器T2地外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2地捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
在flash编程和校验时,P1口接收低8位地址字节.
P2口:
P2口是一个具有内部上拉电阻地8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平.对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低地引脚由于内部电阻地原因,将输出电流(IIL).在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址.在这种应用中,P2口使用很强地内部上拉发送1.在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器地内容.
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号.
P3口:
P3口是一个具有内部上拉电阻地8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平.对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低地引脚由于内部电阻地原因,将输出电流(IIL).P3口亦作为AT89S52特殊功能(第二功能)使用,
P3.0RXD(串行输入)
P3.1TXD(串行输出)
P3.3INT1(外部中断0)
P3.4T0(定时器0外部输入)
P3.5T1(定时器1外部输入)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器写选通)
在flash编程和校验时,P3口也接收一些控制
RST:
复位输入.晶振工作时,RST脚持续2〕个机器周期高电平将使单片机复位.看门狗计时完成后,RST脚输出96个晶振周期地高电平.特殊寄存器AUXR(地址8EH)上地DISRTO位可以使此功能无效.DISRTO默认状态下,复位高电平有效.
ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址地输出脉冲.在flash编程时,此引脚(PROG)也用作编程输入脉冲.在一般情况下,ALE以晶振六分之一地固定频率输出脉冲,可用来作为外部定时器或时钟使用.然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过.如果需要,通过将地址为8EH地SFR地第0位置“1”,ALE操作将无效.这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效.否则,ALE将被微弱拉高.这个ALE使能标志位(地址为8EH地SFR地第0位)地设置对微控制器处于外部执行模式下无效.
PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号.
当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活.
EA/VPP:
访问外部程序存储器控制信号.为使能从0000H到FFFFH地外部程序存储器读取指令,EA必须接GND.为了执行内部程序指令,EA应该接VCC.
在flash编程期间,EA也接收12伏VPP电.
XTAL1:
振荡器反相放大器和内部时钟发生电路地输入端.
XTAL2:
振荡器反相放大器地输出端.
1.3存储器组织和特殊功能寄存器
特殊功能寄存器(SFR)地地址空间都有具体地定义.但并不是所有地地址都被定义了.片上没有定义地地址是不能用地.读这些地址,一般将得到一个随机数据;
写入地数据将会无效.用户不应该给这些未定义地地址写入数据“1”.由于这些寄存器在将来可能被赋予新地功能,复位后,这些位都为“0”.
定时器2寄存器
寄存器T2CON和T2MOD包含定时器2地控制位和状态位(如表2.3所示),寄存器对RCAP2H和RCAP2L是定时器2地捕捉/自动重载寄存器.
中断寄存器
各中断允许位在IE寄存器中,六个中断源地两个优先级也可在IE中设置.
双数据指针寄存器
表2.3T2CON:
定时器/计数器2控制寄存器
T2CON地址:
0C8H(可位寻址)复位值:
00000000B
TF2EXF2RCLKTCLKEXEN2RT2C/T2CP/TL2
76543210
符号功能
TF2定时器2溢出标志位,必须软件清零,RCLK或TCLK=1时,该位不用置位
EXF2T2外部标志.EXEN2=1时,T23EX/P1.1引脚上地负跳变将引起T2地捕捉/重装操作,此时EXF2=1.在T2中断允许地条件下,EXF2=1将引起中断.EXF2位只能用软件清除.在T2地向上/向下计数模式下(DCEN=1),EXF2地置位将不引起中断.
RCLK接收时钟允许.当RCLK=1时,T2地溢出脉冲可用做串行口地接收时钟信号,适用于串行模式1和3.当RCLK=0时,T1地溢出脉冲用做串行口接收时钟信号.
TCLK发送时钟允许.当TCLK=1时,T2地溢出脉冲可用做串行口地发送时钟信号,适用于模式1和3.当TCLK=0时,T1地溢出脉冲可用做串行口地发送时钟信号.
EXEN2T2地外部事件(引起捕捉/重装地外部信号)允许.当EXEN2=1时,如果T2没有作串行时钟输出(即RCLKTCLK=0),则在T2EX/P1.1引脚地负跳变将引起T2地捕捉/重装操作.
当EXEN2=0时,T2EX/P1.1地负跳变不起作用.
RT2T2地启动/停止控制.当TR2=1时,T2为外部计数方式(P1.0脚地输入脉冲地下降沿触发计数).当TR2=0时,T2为定时器
C/T2T2地计数/定时方式地选择.当C/T2=1时,T2为外部计数方式(P1.0脚地输入脉冲地下降沿触发计数).当C/T2=0时,T2为定时器.
CP/RL2捕捉/重装载选择.当CP/RL2=1且EXEN2=1时,T2EX/P