毕业论文基于单片机的温度控制系统.docx
- 文档编号:9412579
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:53
- 大小:713.25KB
毕业论文基于单片机的温度控制系统.docx
《毕业论文基于单片机的温度控制系统.docx》由会员分享,可在线阅读,更多相关《毕业论文基于单片机的温度控制系统.docx(53页珍藏版)》请在冰豆网上搜索。
毕业论文基于单片机的温度控制系统
毕业设计(论文)
题目基于单片机的温度控制系统设计
专业应用电子技术
二0一二年五月
基于单片机的温度控制系统设计
[摘要]:
文章介绍了基于单片机温度控制的硬件设计和软件设计,它在很多领域都广泛运用,而该系统硬件部分的重心在于单片机。
文章以温度采集系统为例,DS18B20温度测量系统是以AT89C51单片机作为控制核心,智能温度传感器DS18B20为控制对象,用LM016L液晶显示,运用C语言实现系统的各种功能。
设计完成了DS18B20的温度采集电路、显示电路、温度处理电路、报警提示电路。
借助仿真工具Proteus和单片机编程软件Keil实现了系统软、硬件的交互仿真,实现了课题设计目的。
本课题所设计的温度控制系统可实现对远程环境的温度测量与监控,适用于电力工业、农业、煤矿、火灾、高层建筑等场所,还可以用于环境恶劣的工业控制现场。
[关键词]:
数字温度传感器DS18B20;单片机;LMO16L;Proteus仿真;Keil
BasedonSCMmulti-channeldataacquisitionsystemdesign
Abstract:
thispaperintroducesthedataacquisitionbasedonsinglechipcomputerhardwaredesignandsoftwaredesign,itsexistencehasaveryimportantroleinmanyareas.Thispaperintroducesisthefocusofthedataacquisitionsystem,andthesystemhardwarepartisthecenterofgravityofthemicrocontroller.Inthispaper,themoretemperaturegatheringsystemforexample,DS18B20temperaturemeasuringsystemisbasedonAT89C51singlechipmicrocomputerascontrolcore,intelligenttemperaturesensorDS18B20istheobjectofcontrol,withLM016Lliquidcrystaldisplay,usingClanguageimplementationofvariousofsystemfunction.DesignfinishedDS18B20temperatureselectionscreencircuittestingandpoints.UsingsimulationtoolsProteusandsinglechipmicrocomputerKeilsoftwareprogrammingrealizedthesystemsoftwareandhardware,realizetheinteractionofthetopicthedesignpurpose.
Thissubjectdesigntemperaturecontrolsystemcanrealizetotheremoteenvironmenttemperaturemeasurementandmonitoring,usedinelectricpowerindustry,coalmine,fire,high-risebuildingsandotherplaces,canalsobeusedfortheenvironmentalbadindustrialcontrolfield.
Keywords:
digitaltemperaturesensorDS18B20;SCM;Proteussimulation;Keil
目录
[摘要]:
1
第一章绪论3
1.1课题研究的目的和意义3
1.2课题内容3
第二章系统设计4
2.1系统的总设计4
2.2功能模块4
第三章硬件设计5
3.1单片机主控制单元5
3.2温度信号采集单元8
3.3液晶显示屏输出12
3.3.11602LCD的基本参数及引脚功能13
3.3.21602LCD的指令说明及时序14
3.3.31602LCD的RAM地址映射及标准字库表17
3.4蜂鸣器报警电路18
第四章软件设计19
4.1主程序19
4.2温度采集子程序20
4.3数据处理子程序25
4.4显示子程序26
4.5温度处理及蜂鸣器报警子程序27
第五章仿真测试29
5.1KeilC51的使用29
5.2Proteus的仿真33
结束语:
37
致谢:
38
参考文献:
39
第一章绪论
1.1课题研究的目的和意义
温度是一个永恒的话题和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一。
温度的变化会给我们的生活、工作、生产等带来重大影响,因此对温度的测量及控制至关重要。
其测量控制一般使用各式各样形态的温度传感器。
随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日显突出,已成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其用途已遍及工农业生产和日常生活的各个领域。
然而,随着科学测量的发展,数据采集及其应用也受到了人们的关注,数据采集系统得到迅速的发展,被广泛应用于各种领域。
数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统。
尽管现在以微机为核心的可编程数据采集与处理采集技术的发展方向得到了迅速的发展,而且组成一个数据采集系统只需要一块数据采集卡,把它插在微机的扩展槽内并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响。
相较于数据采集板卡成本和功能的限制,单片机具多功能、高效率、高性能、低电压、低功耗、低价格等优点,这就使得以单片机为核心的数据采集系统在许多领域得到了广泛的应用。
1.2课题内容
数据采集也是从一个或多个信号获取对象信息的过程,它研究信息数据的采集、存储、处理等问题。
它是对传感器信号的测量与处理,以微型计算机等高技术为基础而形成的一门综合应用技术。
该文以温度采集为例,以AT89C51单片机为核心,在单片机中编写对各个硬件设备的控制程序,先通过单片机与DS18B20温度传感器建立一个联系,使DS18B20温度传感器开始工作检测所在环境的温度值,再通过LCD液晶显示器显示DS18B20温度传感器检测到的温度值,最后根据对温度范围的控制设置一温度上下限温度值用于报警提示。
当然数据的采集和显示都需要相应硬件和软件共同来完成,该系统难点是对温度传感器的温度采集并显示,而对采集到的温度通过软件程序设定来进行控制就相对来说容易多了。
第二章系统设计
2.1系统的总设计
本设计使用单片机作为控制核心,采用单个温度传感器对温度进行检测,以液晶显示屏显示检测温度,通过继电器对加热降温系统进行控制:
温度过高或者过低,蜂鸣器报警提示;温度偏低进行炉温加热处理;温度偏高进行电机降温处理;。
系统总体控制框图如图2.1所示:
蜂鸣器报警
图2.1系统总体控制框图
2.2功能模块
根据总系统的结构可以将其分为五个功能模块:
单片机主控制模块、温度信号采集模块、温度处理模块、液晶屏温度显示模块、蜂鸣器报警模块。
单片机主控制模块即整个系统的核心模块,是一个AT89C51芯片,主要通过执行其程序存储器Rom中的程序来对其4个并行I/O口进行读写操作完成对其他模块的控制。
温度信号采集模块是由一个温度信号采集器组成,主要是温度信号采集并将数据传回给单片机主控制模块。
传感器采集的温度值通过传回给主控制模块AT89C51单片机进行处理,然后送入液晶显示器进行温度显示。
温度处理模块是由继电器控制,加热炉和电机分别来对温度进行升温、降温处理。
液晶屏温度显示模块当然就是对温度的当前值进行显示。
蜂鸣器报警模块就是对当采集的温度值大于或者小于用户自定义的遇界温度值进行报警提示。
第三章硬件设计
3.1单片机主控制单元
主控制单元是单片机选用市场上常见的美国ATMEL公司的AT89C51作为控制元件,以下是一些AT89C51的介绍:
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如下所示
主要特性:
·与MCS-51兼容
·4K字节可编程FLASH存储器
·寿命:
1000写/擦循环
·数据保留时间:
10年
·全静态工作:
0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
P1口可作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口可接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
所用单片机AT89C51,见下图3.1所示:
图3.1AT89C51
(1)时钟电路:
如下图3.2连接即可构成自激振荡电路,振荡频率取决于适应晶体的振荡频率,范围可取1.2~12MHZ,C1、C2主要起频率微调和稳定作用,电容可取5~30pF。
图3.2时钟电路
(2)复位电路:
如下图3.3
图3.3复位电路
3.2温度信号采集单元
对于温度的采集需要用到DS18B20一总线温度传感器,以下DS18B20的一些介绍:
DSl8B20温度传感器是美国DALLAS半导体公司继DSl820之后最新推出的只用改进型智能温度传感器。
与传统的热敏电阻相比,他能够直接读出被测温度并且可根据要求通过简单的编程实现9~l2位的数字直读方式。
可以分别存93.75ms和750ms内完成9位和12位的数字量,并且从DSl8B20读出的信息或写入DSl8B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接DSl8B20供电,而无需额外电源。
因而使用DSl8B20可使系统结构更趋简单,可靠性更高。
他在测温精度,转换时时间,传输距离,分辨率等方面较DSl820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。
DSl8B20采用3脚PR35封装或8脚SOIC封装,其内部结构框图如3.4所示:
图3.4DSl8B20的内部结构图
DS18B20的内部结构主要有四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DSl8B20有2种封装形式:
3脚PR-35直插式和8脚SOIC贴片式管脚排列如图3.5所示:
图3.5DS18B20的管脚
DS18B20的引脚说明如下:
GND:
地
DQ:
数据I/O
VDD:
电源
NC:
空脚
64位激光ROM开始8位是产品类型的编号,接着是每个器件的惟一的序号共有48位,最后8位是前56位的CRC校验码,这也是多个DSl8B20可以采用一线进行通信的原因。
64位激光ROM的机构如表3.1所示:
表3.164位激光ROM
8位CRC编号
48位序列号
8位产品系列编码
LSBMSBLSBMSBLSBMSB
DSl8B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除EEPRAM。
后者用于存储TH,TL值。
数据先写入RAM,经校验后再传给EEPRAM。
而配置寄存器为高速暂存器中的第5个字节,他的内容用与确定温度值的数字转换分辨率,DSl8B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。
低5位一直都是1,TM是测试模式位,用于设置DSl8B20在工作模式还是在测试模式。
在DSl8B20出厂时该位被设置为0,用户不要去改动,Rl和R0决定温度转换精度位数。
如表3.2所示。
表3.2内部存储器
TM
R1
R0
1
1
1
1
1
由表3.3可见,设定的分辨率越高,所需要的温度数据转换时间就越长。
因此,在实际应用中要在分辨率和转换时间权衡考虑。
高速暂存存储器除了配置寄存器外,还有其他8个字节组成,其分配如表4所示。
其中温度信息(第l,2字节),TH和TL值第3,4节,第6~8字节,表现为全逻辑1;第9字节读出的是前面所有的8字节的CRC码,可用来保证通信正确。
表3.3温度数据转换与时间
R1
R0
分辨率
温度最大转换时间/ms
0
0
9
93.75
0
1
10
187.5
1
0
11
275.00
1
1
12
750.00
当DSl8B20接收到温度转换命令后,开始启动转换,如表3.4所示。
转换完成后的温度值就以16位带符号扩展到二进制补码形式储存在高速暂存存储器的第l,2字节。
单片机可通过单线接口读到该数据,读取时低位在前面,高位在后,数据格式以0.0625℃/LSB形式表示。
对应的温度计算:
当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变换为原码,再计算十进制值。
表3.4高速暂存存储器
温度低位
温度高位
H
L
配置
保留
保留
保留
8位CRC
在DSl8B20完成温度变换之后,温度值与贮存TH和TL内的触发值相比较因为这些寄存器仅仅是8位,所以0.5℃位在比较时被忽略。
TH或TL的最高有较位直接对应于l6位温度奇存器的符号位。
如果温度测量的结果高于TH或低于TL,那么器件内告警标志将置位。
每次温度测量更新此标志。
只要告警标志置位,DSl8B20将对告警搜索命令做出响应。
这允许并联连接许多DSl8B20,同时进行温度测量。
如果某处温度超过极限,那么可以识别出正在告警的器件并立即将其读出而不必读出非告警的器件。
部分温度转换如表3.5所示:
表3.5部分温度转换
温度
输入(2进制)
输出(16进制)
+125℃
0000011111010000
07D0H
+85℃
0000010101010000
0550H
+25.0625℃
0000000110010001
0191H
+10.125℃
0000000010100010
00A2H
+0.5℃
0000000000001000
0008H
0℃
0000000000000000
0000H
-0.5℃
1111111111111000
FFF8H
-10.125℃
1111111101011110
FF5EH
-25.0625℃
1111111101011110
EE6FH
-55℃
1110111001101111
FE90H
参数特性:
(1)独特的单线接口只需l个接口引脚即可通信
(2)多点综合测温能力使分布式温度检测应用得以简化
(3)不需要外部元件
(4)可用数据线供电
(5)需备份电源
(6)测量范围从-55℃至+125℃增量值为0.5℃
(7)以9位数字值方式读出温度
(8)在1秒(典型值)内把温度变换为数字
(9)用户可定义的非易失性的温度告警设置
(10)告警搜索命令识别和寻址温度在编定的极限之外器件温度告警情况
(11)应用范围包括恒温控制工业系统消费类产品温度计或任何热敏系统
极限参数:
(1)任何引脚相对于地的电压-0.5V至+7.0V
(2)运用温度-55℃至+125℃
(3)贮存温度-55。
C至+125℃
(4)焊接温度260℃/l0秒
如图3.6所示,为单片机与DS18B20的接口电路。
DS18B20只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机的P3.0口电源与数字输入输出脚间需要接一个4.7K的电阻。
当然如果单片机的I/O口内部自带有上拉电阻就可以不加上拉电阻了。
4.7K
图3.6DS18B20与单片机接口电路
DSl8B20使用中注意到事项:
DSl8B20虽然具有测温系统简单,测温精度高、连接方便、占用I/O口线少等优点,但在实际应用中也应注意以下问题:
(1)在实际片使用中发现,应使电源电压保持在5v左右,如果电压过低,会使所测得到温度与实际温度出现偏高现象,使温度输出定格在85℃。
(2)连接DSl8B20的总线电缆是有长度限制的。
当采用普通信号电缆传输长度超过50m时,读取的测温数据发生错误,当采用双绞线带屏蔽电缆为总线电缆时,正常通讯距离可达l50m,当采用每米胶合次数更多的双绞线带屏蔽电缆时,正常通讯距离可以进一步加长。
这种情况主要由总线分布电容使信号波形产生畸变造成的。
因此,存进行长距离测量时要充分考虑总线分布电容和阻抗匹配问题。
根据要求设计的温度采集单元如图3.7所示:
图3.7温度采集单元
在本系统要采用一条总线上挂单个DS18B20器件。
在P1.0口接DS18B20温度传感器。
由于只采用单个传感器,故无需读出DS18B20温度传感器的序列号,在程序中直接跳过ROM。
3.3液晶显示屏输出
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。
3.3.11602LCD的基本参数及引脚功能
1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图3.8所示:
图3.81602LCD尺寸图
1602LCD主要技术参数:
显示容量:
16×2个字符
芯片工作电压:
4.5—5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95×4.35(W×H)mm
引脚功能说明
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3.6所示:
表3.6:
引脚接口说明表
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
3.3.21602LCD的指令说明及时序
1602液晶模块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 基于 单片机 温度 控制系统
![提示](https://static.bdocx.com/images/bang_tan.gif)