基于AT89C51单片机LCD显示3点DS18B20温度控制器设计学士学位论文.docx
- 文档编号:25663550
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:54
- 大小:2.26MB
基于AT89C51单片机LCD显示3点DS18B20温度控制器设计学士学位论文.docx
《基于AT89C51单片机LCD显示3点DS18B20温度控制器设计学士学位论文.docx》由会员分享,可在线阅读,更多相关《基于AT89C51单片机LCD显示3点DS18B20温度控制器设计学士学位论文.docx(54页珍藏版)》请在冰豆网上搜索。
基于AT89C51单片机LCD显示3点DS18B20温度控制器设计学士学位论文
密级:
公开
科学技术学院
NANCHANGUNIVERSITYCOLLEGEOF
SCIENCEANDTECHNOLOGY
学士学位论文
THESISOFBACHELOR
题目基于AT89C51设计温度控制器
南昌大学科学技术学院
学士学位论文原创性申明
本人郑重申明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。
本人完全意识到本申明的法律后果由本人承担。
作者签名:
日期:
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权南昌大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于
保密□,在年解密后适用本授权书。
不保密□。
(请在以上相应方框内打“√”)
作者签名:
日期:
导师签名:
日期:
基于AT89C51设计温度控制器
专业:
09级通信工程学号:
7023809013姓名:
朱宇指导老师:
张福阳
摘要:
随着现代化科技的进步,在很多工业控制场合需要非常精确的控制温度的变化。
这就需要高精度的温度控制器来实现此目的。
本次设计的作品是基于单片机AT89C51、温度采集器DS18B20、液晶显示器LCD1602为一体的多点温度控制器,包含整流稳压电源功能、键盘设置温度上下限功能、控制报警功能等。
以实现设计出测量准确、快速显示、精度高、可调温控范围等优点的温度控制系统。
关键词:
温度控制器,AT89C51,DS18B20,LCD1602
DesignaTemperatureControllerBaseonAT89C51
Abstract:
Withthemodernizationofscienceandtechnologyprogress,inmanyindustrialcontroloccasionsrequiringveryprecisecontroloftemperaturechange.Thisrequireshighprecisiontemperaturecontrollertoachievethisgoal.ThedesignoftheworksisbasedonAT89C51,temperatureacquisitionDS18B20,LCD1602asoneofthemultipointtemperaturecontroller,andwiththerectificationandregulatedpowersupplyfunction,keyboardsetupperandlowertemperaturefunction,controlandalarmfunctions.Inordertoachieveaccuratemeasurement,fastdisplay,highprecision,adjustabletemperaturerangeandotheradvantagesofthetemperaturecontrolsystem.
Keywords:
temperaturecontrol,AT89C51,DS18B20,LCD1602
第一章绪论
1.1选题的依据及意义
随着现代化科技的进步,在很多工业控制场合需要非常精确的控制温度的变化,例如:
发酵罐的温度控制,孵卵器的温度控制等,都需要对上限、下限温度进行严密控制。
而在日常生活中,温度的控制应用也非常广泛,例如:
热得快,电饭锅,冰箱,电脑等家用电器都应用到温度的控制器。
因而在各种环境下,温度温控制系统越来越凸显其重要性。
1.2国内外研究现状及发展趋势
在现今的国内外温度控制器的研究中主要有两种控制目标,即动态温度跟踪与恒值温度控制。
动态温度跟踪实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。
恒值温度控制的目的是使被控对象的温度恒定在某一数值上,且要求其波动幅度(即稳态误差)不能超过某一给定值。
我国对于温度测控技术的研究较晚,始于20世纪80年代。
我国工程技术人员在吸收发达国家温度测控技术的基础上,才掌握了温度室内微机控制技术,该技术仅限于对温度的单项环境因子的控制。
我国温度测控设施计算机应用,在总体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展。
在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。
国外对温度控制技术研究较早,始于20世纪70年代。
先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。
80年代末出现了分布式控制系统。
目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。
现在世界各国的温度测控技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。
未来的温度控制器的研究将向着智能化和高性能化发展。
智能可定义为:
能有效的获取、传递、处理、再生和利用信息,从而在任意给定的环境下成功的达到目的的能力。
人工智能是应用除了数学式子以外的方法把人们的思维过程模型化,并利用计算机来模仿人的智能的学科。
它的应用范围远比控制理论广泛,如包括判断、理解、推理、预测、识别、规划、决策、学习和问题求解等,是高度脑力行为和体力行为的综合。
而高性能则体现在固件本身的工艺上,在极高温、极低温、强酸碱等各种极端的环境中仍然能正常工作。
1.3本课题研究内容
用单片机AT89C51、开发工具KeilC51及C语言设计一个温度控制器。
用Proteus进行模拟仿真,要求检测、显示三个地点的温度,硬件作品能够通过按键设置上、下限温度。
在检测到温度高于上限,或者低于下限温度后,自动控制继电器或开关电路,并用声光等形式报警。
同时要求作品中包含直流稳压电源功能。
第二章主要硬件介绍
2.1单片机AT89C51
1、特征概述:
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
2、管脚功能:
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口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
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:
复位输入。
当复位时,应保持2个机器周期有效。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2.2DS18B20温度传感器
图2.1引脚示意图图2.2实物图
1、适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电。
2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
3、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
5、温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。
6、可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
7、在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
8、测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
表2.1DS18B20温度测量分辨率表
R1
R0
分辨率/b
测量精度
温度最大转换时间/ms
0
0
9
0.5
93.75
0
1
10
0.25
187.5
1
0
11
0.125
375
1
1
12
0.0625
750
2.3液晶显示器LCD1602
图2.3LCD1602实物图
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
图2.4LCD1602引脚图
管脚功能介绍,LCD1602采用标准的16脚接口,其中:
第1脚:
VSS为电源地。
第2脚:
VCC接5V电源正极。
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
表2.2LCD1602的内部显示地址
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
80H
81H
82H
83H
84H
85H
86H
87H
88H
89H
8AH
8BH
8CH
8DH
8EH
8FH
C0H
C1H
C2H
C3H
C4H
C5H
C6H
C7H
C8H
C9H
CAH
CBH
CCH
CDH
CEH
CFH
第三章构架设计
3.1硬件构架
1、主机:
由于系统控制方案简单,数据量也不大,因此选用AT89C51作为控制系统的核心。
2、温度检测:
本系统温度检测部分是采用Dallas半导体公司生产的数字化温度传感器DSl8B20。
3、电源电路:
由直流稳压电源提供+9V电源,在本次设计中,将220V的市电降压到12V,经桥式整流和滤波后再使用7809芯片获得较为稳定的+9V电源。
4、显示器:
使用LCD1602液晶显示器,2*16字符显示。
动态显示A、B、C三点的温度值。
5、报警器:
报警功能由蜂鸣器,LED灯来实现,当实时温度超出预置温度范围时。
控制端口驱动蜂鸣器鸣叫、LED闪烁灯报警,并控制继电器的动作。
6、键盘:
键盘有四个功能键,设置键,上加键,下减键,确定键。
用于设置上、下限温度。
综上所述:
设计出温度控制系统构架如图3.1所示。
图3.1温控系统构架图
3.2各模块仿真图
在proteus软件的仿真实验中,温控系统构架中各个模块如下图所示:
图3.2是温度显示模块,在显示屏中动态的显示A、B、C三点的温度值。
图3.3是DS28B20温度测试模块,单片机通过循环读取这三个DS18B20的数据,实时更新显示屏的数据显示。
图3.4是报警功能模块,它的功能是通过声、关形式做出报警,绿灯模拟继电器工作,实现对电路的控制。
图3.5是按键模块,进入设置功能和调节上、下按键后,显示屏会对应显示设定的报警温度值。
图3.6是晶振和复位电路,这个模块主要是使单片机能够正常工作。
图3.2温度显示模块
图3.3DS18B20温度传感器模块
图3.4报警模块
图3.5按键控制模块
图3.6复位及晶振模块
3.3程序构架
在本设计中,程序构架设计如图3.7和图3.8所示。
在设计过程中通过3个I/O口循环读取DS18B20的数据,以达到实时动态显示A、B、C三点的温度。
设置功能是通过检测外部中断0产生中断,可随时设置温度的上、下限值,并通过确认键来退出中断。
图3.7主程序构架框图
图3.8中断程序构架
第四章软件仿真
4.1稳压直流电源仿真原理图
在本设计中,独立电源的原理图如图4.1所示。
变压器的指标为:
220V转12V,功率是25W。
整流电路是于4个1N914二极管组成。
C1的指标为:
1000uF/25V,主要是为平稳化直流电压而设制的。
C2的作用是滤除高频杂波。
稳压芯片采用的是78L09,经过78L09稳压后,在VO口输出稳定的+9V电压供温控模块使用。
D6为指示灯,D6点亮则说明电源已经工作。
图4.1稳压电源原理图
4.2温度控制系统模块仿真图
在完成整个温控系统的仿真任务中,首先要熟悉proteus软件和keil软件的基本使用方法。
在proteus软件中按照预先设计好的硬件构架搭建电路,由于这软件的元器件名都是英文标注的,我们可事先在网上查找到相关的元器件英文对照表,这样,搭建电路图才会事半功倍。
元器件的选择要适合电路的需要,因而参数指标也要事先计算好。
Keil是一款单片机程序编辑软件,能将C语言和汇编语言进行编译、连接,生成单片机运行文件。
而在proteus和keil结合仿真中,proteus软件主要是运行keil中生成的.hex文件。
特别要注意的是在keil软件中生成.hex文件必须在设置中选择12.0MHz晶振和执行生成.hex文件这两个选项。
生成好的.hex文件可通过双击proteus中单片机后把.hex文件根目录加载到单片机中即可运行。
在本次设计中,可调节任意一个DS18B20的读数和观察LCD1602显示的读数来验证程序的正确与否。
按键功能是通过中断方式来设置的,其优点是随时可以设置报警温度的上、下限值,退出中断后又立即可以进行温度的测、显和报警功能。
图4.2温控模块仿真图
第五章硬件制作和结论
5.1实物结果图片
图5.1实物图是指针式万用表测量稳压直流电源,万用表档位调到直流10V档,测出读数为9V。
指示灯点亮。
说明直流稳压电源工作正常,并达到设计要求的标准。
图5.1稳压电源
图5.2所示为温控系统的实物图片,温控系统的所有子电路模块都焊接在同一块电路板上。
图5.2温控系统实物图
图5.3所示为电路板的焊接实物图,布线要尽量使实物外观完美,也要减少跳线的使用量。
在本次设计中,由于事先画好布线草图,所以在跳线的使用上只用了2根。
图5.3电路板焊接及走线图
图5.4是在通电后,液晶显示器正确显示A、B、C三点的温度值。
此时,测得常温A点的值为26.9℃,B点值为26.7℃,C点的值为26.9℃。
图5.4正确显示温度值
5.2硬件的测试与检修
1、硬件调试:
第一步:
对单片机烧录可执行文件,这一步要先学会烧录软件和烧录器的使用。
第二步:
检查焊接是否有虚焊、短路、断路,无误后上电测工作电压是否正常。
电压正常则可断电插入单片机和显示屏。
第三步:
上电,检测各个功能是否达到设计要求。
2、硬件检修:
硬件检修是针对调试中出现的问题进行查找、修理、改进。
下面是几种常见的故障和修理的办法:
(1)稳压电源没有电压输出,指示灯不亮。
一般是稳压芯片7809的引脚接错了,分清引脚功能,正确接入即可。
(2)LCD1602显示器不亮,可查看插槽和排针的顺序是否一致,且查看是否有接触不良,也可以调节控制背光电源的变阻器。
(3)单片机不能读取DS18B20,或者不能不能正确读取DS18B20的读数,可先查看DS18B20的引脚是否接错,引脚焊接无误的话可查看程序和仿真是否正确。
5.3总结描述
基于单片机AT89C51设计的数字式多点温度控制系统具有温度采集、显示、简单的设置及控制报警功能。
给它提供稳定的工作电压是保证其工作正常的重要前提,因此,设计中包含了稳压直流电源的设计要求。
稳压直流电源制作是通过降压、整流、滤波、稳压实现的。
在实际作品中稳压电源工作稳定,完全符合设计要求。
设计的温度控制器测温范围宽为-55~+125℃,作品中使用到的DS18B20测量精度可通过编程调节,精度范围为0.25~0.0625℃。
在本设计中采用的是默认分辨率,即12位二进制表示一个数值,精度是0.0625℃。
温度显示器使用LCD1602,它能显示16*2个字符,所以它可以实时的显示单片机从DS18B20中采集的温度数值,把三点的温度同时显示在同一块液晶显示器中。
本设计中还添加了按键设置功能,通过按键的设置功能可以对报警温度进行设置,如果A、B、C三点的温度有任意一个温度低于或者高于设置好的范围就会触发报警功能和继电器控制功能,在程序中,报警功能和控制功能是通过将读取的温度值与设定好的p、q两个参数的值进行比较后经过单片机的判断而做出的响应。
总结整个设计过程,从选题到硬件的完成,我的收获颇丰。
首先,我在确定题目后查找和阅读了很多相关的理论知识,尤其是对DS18B20这个器件做了很多的了解,也重新温习了一遍单片机应用知识和C语言的应用知识。
其次,刚开始我对于proteus的使用不了解,然后我通过观看、模仿网络上的proteus的教学视频,初步掌握了这个软件的基本使用方法和技巧。
在结合keil编程软件的仿真中,进一步加强了对硬件的了解。
最后,完成硬件作品也是很关键的步骤,再多的理论知识也只有通过其产生的实物应用才能体现它的价值。
因而制作出完美的实物作品是必不可少的。
经过自己的努力和细心,通过焊接、调试、检修我制作出了硬件作品,验证了自己在本次设计中学习到的知识和设计的正确性。
参考文献(References)
[1]郭天祥.新概念51单片机C语言教程.北京:
电子工业出版社,2009.
[2]李建忠.单片机原理与应用.西安:
西安电子科技大学出版社,2009.
[3]房小翠,王金凤.单片微型计算机与机电接口技术.北京:
国防工业出版社,2002
[4]李珍.单片机原理与控制技术.北京:
清华大学出版社,2002
[5]阎实.数字电子技术基础.北京:
高等教育出版社,1983.
[6]谭浩强.C语言程序设计(第三版).北京:
清华大学出版社,2005.
[7]陈杰,黄鸿.传感器监测与技术.北京:
高等教育出版社,2002.
[8]张红润,张亚凡,邓洪.传感器原理与应用.北京:
清华大学出版社,2008.
[9]童师白,华成英.模拟电子技术基础.北京:
高等教育出版社,1980.
[10]朱清慧,张凤蕊.proteus教程.北京:
清华大学出版社,2008.
致谢
经过将近六个月,终于将毕业设计完成了,在设计过程中遇到了无数的困惑,都在同学和老师的帮助下找到了解决办法,尤其要强烈感谢我的毕业设计指导老师张福阳老师,他对我进行了无私的指导和帮助,不厌其烦的对我的设计提出建议和帮助我进行论文的修改。
另外在校工程训练实验室仿真和制作硬件的时候,实验室管理老师也给我提供很多器件资料和硬件制作方面的帮助,在此向这位实验室管理老师表示最衷心的感谢,同时也感谢这次毕业设计所涉及到的参考文献的各位学者和作者,本设计参考了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本次设计和论文的写作。
更要感谢我的几个室友,在我程序设计中给予我很多建议和帮助,在生活坏境上给我营造了一个良好的学习、设计的氛围。
由于我的学术水平和设计水平有限,因而在作品和论文上有很多不足之处,恳请各位老师和同学批评和指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89C51 单片机 LCD 显示 DS18B20 温度 控制器 设计 学士学位 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)