基于AT89S51单片机的数字温度测量及显示系统设计.docx
《基于AT89S51单片机的数字温度测量及显示系统设计.docx》由会员分享,可在线阅读,更多相关《基于AT89S51单片机的数字温度测量及显示系统设计.docx(41页珍藏版)》请在冰豆网上搜索。
基于AT89S51单片机的数字温度测量及显示系统设计
基于AT89S51单片机的数字温度测量及显示系统设计
[摘要]随着科技的不断进步,在工业生产中温度是常用的被控参数,而采用单片机来对这些被控参数进行控制已成为当今的主流。
本文介绍了数字温度测量及自动控制系统的设计。
本文采用单片机来实现对温度的控制。
它的主要组成部分有:
AT89S51单片机、温度传感器、键盘与显示电路、温度控制电路。
它可以实时的显示和设定温度,实现对温度的自动控制。
通过测试表明,本设计对温度的控制有方便、简单的特点,从而大幅提高了被控温度的技术指标。
[关键词]:
单片机温度传感器键盘和显示
BasedonAT89S51digitaltemperaturemeasurement
anddisplaysystemdesign
LiuPengcheng
0702applicationofelectronic
Abstract:
Asthetechnologyadvancesinindustrialproductioninthetemperatureischargedwithcommonparameters,andtheuseofthosechargedwithSCMtotheparametersofcontrolhasbecomethemainstream.Inthispaper,digitaltemperaturemeasurementandautomaticcontrolsystemdesign.Inthispaper,SCMtoachievethetemperaturecontrol.Itisamajorcomponentof:
AT89S51SCM,temperaturesensor,keyboardanddisplaycircuit,temperaturecontrolcircuit.Itcandisplayreal-timeandtemperaturesettings,andthetemperaturecontrol.Passedthetestsshowthatthedesignofthetemperaturecontrolisconvenientandsimplecharacteristics’,thusgreatlyraisingthetemperaturewaschargedwiththetechnicalindicators.
Keywords:
MCUTemperaturesensorKeyboardandDemonstration
第1章系统的总体设计
1.1设计背景
温度控制广泛应用于人们的生产和生活中,人们使用温度计来采集温度,通过人工操作加热、通风和降温设备来控制温度,这样不但控制精度低、实时性差,而且操作人员的劳动强度大。
即使有些用户采用半导体二极管作温度传感器,但由于其互换性差,效果也不理想。
在某些行业中对温度的要求较高,由于工作环境温度不合理而引发的事故时有发生。
对工业生产可靠进行造成影响,甚至操作人员的安全。
为了避免这些缺点,需要在某些特定的环境里安装数字温度测量及控制设备。
本设计由于采用了新型单片机对温度进行控制,以其测量精度高,操作简单。
可运行性强,价格低廉等优点,特别适用于生活,医疗,工业生产等方面的温度测量及控制。
本设计是一个数字温度测量及控制系统,能测柜内的温度,并能在超限的情况下进行控制、调整,并报警。
保证环境保持在限定的温度中。
1.2电路的总体工作原理
温度控制系统采用AT89S51八位机作为微处理单元进行控制。
采用4X4键盘把设定温度的最高值和最低值存入单片机的数据存储器,还可以通过键盘完成温度检测功能的转换。
温度传感器把采集的信号与单片机里的数据相比较来控制温度控制器。
系统框图如图1.1:
图1.1系统框图
根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89S51为测控系统的核心来完成数据采集、处理、显示、报警等功能。
选用数字温度传感器DS18B20,省却了采样/保持电路、运放、数/模转换电路以及进行长距离传输时的串/并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。
该系统的总体设计思路如下:
温度传感器DS18B20把所测得的温度发送到AT89S51单片机上,经过51单片机处理,将把温度在显示电路上显示,本系统显示器为点阵字符LCD,1602液晶模块。
检测范围5摄氏度到60摄氏度。
本系统除了显示温度以外还可以设置一个温度值,对所测温度进行监控,当温度高于或低于设定温度时,开始报警并启动相应程序(温度高于设定温度时,风扇开;当温度低于设定温度时,加热器开)。
中央微处理器AT89S51:
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80S51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配置了振荡频率,并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式。
AT89S51单片机综合了微型处理器的基本功能。
按照实际需要,同时也考虑到设计成本与整个系统的精巧性,所以在本系统中就选用价格较低、工作稳定的AT89S51单片机作为整个系统的控制器。
第2章方案论证
本章主要对毕业设计的题目进行了分析,根据要实现的功能,综合比较几种设计方法,提出了实现系统功能的最佳方案。
2.1题目分析
本设计是一个数字温度控制系统,能测量温度,并能在超限的情况下进行控制、调整,并报警。
2.1.1具体指标
正常工作温度范围:
5℃~60℃
温度误差:
<1℃
2.1.2具体控制要求
根据设计的要求,要利用温度传感器实时温度。
当温度高于设定的温度时(60℃),打开降温装置进行调整使温度在设定的范围内。
当温度低于设定的温度时(5℃),打开升温装置进行调整使温度在设定的范围内。
同时要求能设定温度。
毕业设计的主要任务是能对温度进行自动的检测和控制。
设计中采用单片机来控制温度,因此要有温度的采集电路,键盘显示电路,温控电路,报警电路等几个部分。
要实现系统的设计要用到的知识点有单片机的原理及其应用,温度传感器的原理和应用,及键盘和显示电路的设计等。
2.2温度传感器的选择
2.2.1采用模拟集成温度传感器
集成传感器是采用硅半导体集成工艺而制成的,因此亦称硅传感器或单片集成温度传感器,它是将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC。
模拟集成温度传感器的主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。
图2-1是AD590用于测量热力学温度的基本应用电路。
因为流过AD590的电流与热力学温度成正比,当电阻R1和电位器R2的电阻之和为1kΩ时,输出电压
随温度的变化为1mV/K。
但由于AD590的增益有偏差,电阻也有误差,因此应对电路进行调整。
调整的方法为:
把AD590放于冰水混合物中,调整电位器R2,使
=273.2mV。
或在室温下(25℃)条件下调整电位器,使
=273.2+25=298.2(mV)。
但这样调整只可保证在0℃或25℃附近有较高精度。
AD590把被测温度转换为电流再通过放大器和A/D转换器,输出数字量送给单片机进行温度控制。
图2.1基于AD590测温基本应用电路
2.2.2采用数字单片智能温度传感器
智能温度传感器(亦称数字温度传感器)是微电子技术、计算机技术和自动测试技术(ATE)的结晶。
目前,已开发出多种智能温度传感器系列产品。
智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。
有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。
智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU).智能温度传感器的总线技术也实现了标准化、规范化,所采用的总线主要有单线(1-WIRE)总线、I2C总线、SMBUS总线和SPI总线。
温度传感器作为从机可通过专用总线接口与主机进行通信。
智能温度控制器是在智能温度传感器的基础上发展而成的。
典型产品有DS18B20,智能温度控制器适配各种微控制器,构成智能化温控系统;它们还可以脱离微控制器单独工作,自行构成一个温控仪。
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为0.5℃。
DS18B20的精度较差为±0.2℃。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量。
如:
环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小。
DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的“DS1820”体积更小、更经济、更灵活。
使您可以充分发挥“一线总线”的长处。
DS18B20、DS1822“一线总线”数字化温度传感器。
由于DS18B20将温度传感器、信号放大调理、A/D转换、接口全部集成于一芯片,与单片机连接简单、方便,与AD590相比是更新一代的温度传感器,所以温度传感器采用DS18B20。
2.3显示器的选择
2.3.1LED显示器
采用传统的七段数码LED显示器。
LED虽然价格便宜,但在现代的许多仪表、各种电子产品中逐渐被LCD所取代。
2.3.2LCD液晶屏
采用LCD液晶屏进行显示。
LCD液晶显示器是一种低压、微功耗的显示器件,只要2~3伏就可以工作,工作电流仅为几微安,是任何显示器无法比拟的,同时可以显示大量信息,除数字外,还可以显示文字、曲线,比传统的数码LED显示器显示的界面有了质的提高。
在仪表和低功耗应用系统中得到了广泛的应用。
优点为:
1显示质量高,由于液晶显示器的每一个点收到信号后就一直保持那种色彩和亮度恒定发光,因此液晶显示器的画质高而且不会闪烁。
2数字式接口,液晶显示器都是数字式的,和单片机的接口简单操作也很方便。
3功率消耗小,相比而言液晶显示器的主要功耗在内部电极和驱动IC上,因而耗电量比其他器件要小很多。
虽然LCD显示器的价格比数码管要贵,但它的显示效果好,是当今显示器的主流,所以采用LCD作为显示器。
2.4单片机的选择
2.4.1采用凌阳单片机
随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(DSP,DigitalSignalProcessing)等领域。
凌阳的16位单片机就是为适应这种发展而设计的。
它的CPU内核采用凌阳最新推出的µ’nSP™(MicrocontrollerandSignalProcessor)16位微处理器芯片(以下简称µ’nSP™)。
围绕µ’nSP™所形成的16位µ’nSP™系列单片机(以下简称µ’nSP™家族)采用的是模块式集成结构,它以µ’nSP™内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件。
µ’nSP™内核是一个通用的核结构。
除此之外的其它功能模块均为可选结构,亦即这种结构可大可小或可有可无。
借助这种通用结构附加可选结构的积木式的构成,便可形成各种不同系列派生产品,以适合不同的应用场合。
这样做无疑会使每一种派生产品具有更强的功能和更低的成本。
利用凌阳单片机有一定的好处凌阳的优势是硬件性能,抗干扰能力强,但凌阳单片机我们没有系统的学习,这对于刚接触单片机的我们来说不是很容易上手,其价格也要比89S51昂贵一些,因此我们并没有将其作为首选。
2.4.2采用AT89S51单片机
由于单片机技术在各个领域正得到越来越广泛的应用,世界上许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。
单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两个分支。
通用计算机系统主要用于海量高速数值运算,不必兼顾控制功能,其数据总线的宽度不断更新,从8位、16位迅速过渡到32位、64位,并且不断提高运算速度和完善通用操作系统,以突出其高速海量数值运算的能力,在数据处理、模拟仿真、人工智能、图像处理、多媒体、网络通信中得到了广泛应用;单片机作为最典型的嵌入式系统,由于其微小的体积和极低的成本,广泛应用于家用电器、机器人、仪器仪表、工业控制单元、办公自动化设备以及通信产品中,成为现代电子系统中最重要的智能化工具。
因此,单片机的出现大大促进了现代计算机技术的飞速发展,成为近代计算机技术发展史上一个重要里程碑。
由于MCS系列单片机集成了几乎完善的中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,这给我们利用单片机提供了极大的便利。
单片机把微型计算机的主要部件都集成在一块芯片上,使得数据传送距离大大缩短,运行速度更快,可靠性更高,抗干扰能力更强。
由于属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达到最优化,工作也相对稳定。
51的优点是价钱便宜,I/O口多,程序空间大。
因此,测控系统中,使用51单片机是最理想的选择。
单片机属于典型的嵌入式系统,所以它是低端控制系统最佳器件。
单片机的开发环境要求较低,软件资源十分丰富,开发工具和语言也大大简化。
单片机的典型代表是Intel公司在20世纪80年代初研制出来的MCS51系列单片机。
MCS51单片机很快在我国得到广泛的推广应用,成为电子系统中最普遍的应用手段,并在工业控制、交通运输、家用电器、仪器仪表等领域取得了大量应用成果。
以MCS-51技术核心为主导的单片机已成为许多厂家、电气公司竞相选用的对象,并以此为基核,推出许多与MCS51有极好兼容性的CHMOS单片机,同时增加了一些新的功能,所以用AT89S51。
第3章系统的硬件设计
3.1单片机最小系统的设计
目前的单片机开发系统只能够仿真单片机,却没有给用户提供一个通用的最小系统。
由设计的要求,只要做很小集成度的最小系统应用在一些小的控制单元。
其应用特点是:
(1)全部I/O口线均可供用户使用。
(2)内部存储器容量有限(只有4KB地址空间)。
(3)应用系统开发具有特殊性
图3.1最小系统图
单片机最小系统如图3.1所示,其中有4个双向的8位并行I/O端口,分别记作P0、P1、P2、P3,都可以用于数据的输出和输入,P3口具有第二功能为系统提供一些控制信号。
时钟电路用于产生MCS-51单片机工作所必须的时钟控制信号,内部电路在时钟信号的控制下,严格地按时序指令工作。
MCS-51内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片的引脚XTAL1,输出端为XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。
电路中的微调电容通常选择为30pF左右,该电容的大小会影响到振荡器频率的高低、振荡器的稳定性和起振的快速性。
晶体的振荡频率为12MHz。
把EA脚接高电平,单片机访问片内程序存储器,但在PC值超过0FFFH(4Kbyte地址范围)时,将自动转向执行外部程序存储器内的程序。
MCS-51的复位是由外部的复位电路来实现。
采用最简单的外部按键复位电路。
按键自动复位是通过外部复位电路的来实现的.我们选用时钟频率为12MHz,C1取47μf。
3.2温度传感电路设计
DS18B20的性能特点:
采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位)
测温范围为-55℃-+125℃,测量分辨率为0.0625℃
内含64位经过激光修正的只读存储器ROM
适配各种单片机或系统机
用户可分别设定各路温度的上、下限
内含寄生电源。
DS18B20内部结构主要由四部分组成:
64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。
DS18B20的管脚排列如图3.2所示。
图3.2DS18B20管脚图
在硬件上,DS18B20与单片机的连接有两种方法,一种是VCC接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。
无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻.我们采用的是第一种连接方法,如图3.3所示:
把DS18B20的数据线与单片机的13管脚连接,再加上上拉电阻。
图3.3温度传感电路图
DS18B20有六条控制命令,如表3.1所示:
表3-1DS18B20控制命令
指 令
约定代码
操 作 说 明
温度转换
44H
启动DS18B20进行温度转换
读暂存器
BEH
读暂存器9个字节内容
写暂存器
4EH
将数据写入暂存器的TH、TL字节
复制暂存器
48H
把暂存器的TH、TL字节写到E2RAM中
重新调E2RAM
B8H
把E2RAM中的TH、TL字节写到暂存器TH、TL字节
读电源供电方式
B4H
启动DS18B20发送电源供电方式的信号给主CPU
CPU对DS18B20的访问流程是:
先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。
DS18B20每一步操作都要遵循严格的工作时序和通信协议。
如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
3.3温度控制电路的设计
图3.4温度控制电路
实际电路如图3.4所示,通过键盘设定温度的上下限。
把实际测量的温度和设定的上下限进行比较,来控制P0.0、P0.1、P0.7端口的高低电平。
把P0.0、P0.1、P0.7端口分别与三极管的基极连接来控制温度和报警。
当测量的温度超过了设定的最高温度,P2.2由高电平变成低电平,就相当于基极输入为“0”,这时三极管导通推动小风扇和控制电路工作,反之,当基极输入为“1”时,三极管不导通,报警器和控制电路都不工作。
只要控制单片机的P0.0、P0.1、P0.7口的高低电平就可以控制模拟电路的工作。
3.4键盘电路的设计
如图3.6所示,用AT89S51的并行口P1接4×4矩阵键盘,以P1.0-P1.3作输入线,以P1.4-P1.7作输出线;液晶显示器上显示每个按键的“0-F”序号。
对应的按键的序号排列如图3.5所示:
图3.5按键的序号排列图
图3.6中微处理单元是AT89S51单片机,X1和X2接12M的两脚晶振,接两个30PF的起振电容,J1是上拉电阻.单片机的P1口8位引脚与行列式键盘输出脚相连,控制和检测行列式键盘的输入.行线通过上拉电阻接到+5V上,无按键按下时,行线处于高电平状态,有键按下时,行线的电平状态将由与此行线相连接的列线的电平决定.键盘输入的信息主要进程是:
1CPU判断是否有键按下.
2确定是按下的是哪个键.
3把此键所代表的信息翻译成计算机可以识别的代码或者其他的特征符号.
图3.6键盘硬件电路图
3.5显示电路的设计
液晶显示器是一种将液晶显示器件,连接器件,集成电路,PCB线路板,背光源,结构器件装配在一起的组件。
根据显示内容和方式的不同可以分为,数显LCD,点阵字符LCD,点阵图形LCD在此设计中我们采用点阵字符LCD,这里采用常用的2行16个字的1602液晶模块。
1602采用标准的14脚接口,其中:
第1脚:
VSS为地电源第2脚:
VDD接5V正电源
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15~16脚:
空脚。
与单片机的连接如图3.7所示。
图3.7液晶显示电路图
第4章系统的软件设计
4.1系统的主程序设计
主程序是系统的监控程序,在程序运行的过程中必须先经过初始化,包括键盘程序,中断程序,以及各个控制端口的初始化工作。
流程图如4.1所示。
系统在初始化完成后就进入温度测量程序,实时的测量当前的温度并通过显示电路在LCD上显示。
程序中以中断的方式来重新设定温度的上下限。
根据硬件设计完成对温度的控制。
按下4*4键盘上的A键可以设定温度上限,按下B键可以设定温度下限。
系统软件设计的总体流程图
Y
N
图4.1系统总体设计流程图
4.2中断程序的设计
MCS-51单片的中断系统有5个中断请求源,用户可以用关中断指令“CLREA”来屏蔽所有的中断请求,也可以用开中断指令“SETEA”来允许CPU接收中断