基于单片机的数字温度计设计.docx
- 文档编号:18325196
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:35
- 大小:631.06KB
基于单片机的数字温度计设计.docx
《基于单片机的数字温度计设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字温度计设计.docx(35页珍藏版)》请在冰点文库上搜索。
基于单片机的数字温度计设计
基于单片机地数字温度计设计
摘要
随着时代地进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟地技术,本文主要介绍了一个基于单片机地测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统地过程,重点对传感器在单片机下地硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分地电路也一一进行了介绍,该系统可以方便地实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中地温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统地辅助扩展.DS18B20与AT89S52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于
恶劣环境下进行现场温度测量,有广泛地应用前景.
关键词:
单片机;温度检测;AT89S52;DS18B20;
Abstract
Alongwiththeprogressanddevelopmentoftheages,singleslicethemachinetechniquehasalreadymakewidelyavailablethelifeistous,work,research,eachrealm,havealreadybecomethetechniqueofakindofcomparisonmaturity.ThispapermainlydescribesatemperaturemeasurementsystembasedonDS18B20,detaileddescribingthedevelopmentprocessusedigitaltemperaturesensor,thepaperintroducesthehardwareconnectivityandsoftwareprogrammingoftheDS18B20basedonthesingle-chip,andgivethesoftwareflowchartofeachmodule,aswellasintroducedeachcircuitofthesystem.Systemcaneasilytocollectanddisplaythetemperature,itcanalsoarbitrarysetalarmtemperatureaccordingtotheactualneed,Itisusedconvenience,ithashighprecision,widerange,highsensitivity,smallsize,andlowpowerdissipation,Thedeviceisespeciallyappliedtomeasuretemperatureinpeople'sdailylives,industrialandagriculturalproduction,andalsoeasilyasatemperatureprocessingmoduleembedintheothersystem,turnintoasacomplementaryexpansion.
Keywords:
Singlechip。
temperaturemeasurement。
AT89S52。
DS18B20
引言………………………………………………………………………………………1
1系统方案比较
1.1方案一……………………………………………………………………………………1
1.2方案二……………………………………………………………………………………2
2主要器件介绍
2.1单片机…………………………………………………………………………………3
2.1.1AT89S52系列单片机简介……………………………………………………………3
2.1.2主要性能……………………………………………………………………………3
2.1.3引脚说明……………………………………………………………………………4
2.2温度传感器………………………………………………………………………………7
2.2.1DS18B20简介…………………………………………………………………………7
2.2.2DS18B20内部结构与原理……………………………………………………………7
2.2.3DS18B20使用地注意事项…………………………………………………………12
2.3显示和报警…………………………………………………………………………12
2.3.1数码管地结构和原理………………………………………………………………12
2.3.2蜂鸣器地结构和原理………………………………………………………………13
3硬件电路设计
3.1控制电路模块…………………………………………………………………………15
3.2显示电路模块…………………………………………………………………………15
3.3温度检测电路模块……………………………………………………………………16
3.4报警电路模块…………………………………………………………………………17
4软件设计
4.1主程序模块……………………………………………………………………………17
4.2各控制模………………………………………………………………………………17
4.1.1温度检测模块………………………………………………………………………17
4.1.2报警模块……………………………………………………………………………18
5结论……………………………………………………………………………………19
谢辞……………………………………………………………………………………20
参考文献……………………………………………………………………………20附录……………………………………………………………………………………21
引言
随着科技地不断发展,现代社会对各种信息参数地准确度和精确度地要求都有了几何级地增长,而如何准确而又迅速地获得这些参数就需要受制于现代信息基础地发展水平.在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术地前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用地非常广泛,可以说是渗透到社会地每一个领域,人民地生活与环境地温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度地测量,因此研究温度地测量方法和装置具有重要地意义.
测量温度地关键是温度传感器,温度传感器地发展经历了三个发展阶段:
①传统地分立式温度传感器
②模拟集成温度传感器
③智能集成温度传感器.
目前地智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世地,它是微电子技术、计算机技术和自动测试技术(ATE)地结晶,特点是能输出温度数据及相关地温度控制量,适配各种微控制器(MCU).社会地发展使人们对传感器地要求也越来越高,现在地温度传感器正在基于单片机地基础上从模拟式向数字式,从集成化向智能化、网络化地方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技地方向迅速发展,本文将介绍智能集成温度传感器DS18B20地结构特征及控制方法,并对以此传感器,89S51单片机为控制器构成地数字温度测量装置地工作原理及程序设计作了详细地介绍.与传统地温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确地场所,或科研实验室使用.该设计控制器使用ATMEL公司地AT89S52单片机,测温传感器使用DALLAS公司DS18B20,用液晶来实现温度显示.
1系统方案论证与比较
概系统主要由温度测量和数据采集两部分电路组成,实现地方法有很多种,下面将列出两种在日常生活中和工农业生产中经常用到地实现方案.
1.1方案一
采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起地异金属导线所组成(热电偶地构成如图2.1),热电偶产生地热电势由两种金属地接触电势和单一导体地温差电势组成.通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点地温度.数据采集部分则使用带有A/D通道地单片机,在将随被测温度变化地电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据地处理,在显示电路上,就可以将被测温度显示出来.热电偶地优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路地噪声影响以及漂移较高地缺点,并且这种设计需要用到A/D转换电路,感温电路比较麻烦.
图1.1热电偶电路图
系统主要包括对A/D0809地数据采集,自动手动工作方式检测,温度地显示等,这几项功能地信号通过输入输出电路经单片机处理.此外还有复位电路,晶振电路,启动电路等.故现场输入硬件有手动复位键、A/D转换芯片,处理芯片为51芯片,执行机构有4位数码管、报警器等.系统框图如图2.2所示:
图1.2热电偶温差电路测温系统框图
1.2方案二
采用数字温度芯片DS18B20测量温度,输出信号全数字化.便于单片机处理及控制,省去传统地测温方法地很多外围电路.且该芯片地物理化学性很稳定,它能用做工业测温元件,此元件线形较好.在0—100摄氏度时,最大线形偏差小于1摄氏度.DS18B20地最大特点之一采用了单总线地数据传输,由数字温度计DS18B20和微控制器AT89S52构成地温度测量装置,它直接输出温度地数字信号,可直接与计算机连接.这样,测温系统地结构就比较简单,体积也不大.采用51单片机控制,软件编程地自由度大,可通过编程实现各种各样地算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便.既可以单独对多DS18B20
控制工作,还可以与PC机通信上传数据,另外AT89S52在工业控制上也有着广泛地应用,编程技术及外围功能电路地配合使用都很成熟.
该系统利用AT89S52芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度.该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处理同时显示时间,并可以利用AT24C16芯片作为存储器件,以此来对某些时间点地温度数据进行存储,利用键盘来进行调时和温度查询,获得地数据可以通过MAX232芯片与计算机地RS232接口进行串口通信,方便地采集和整理时间温度数据.
系统框图如图2.3所示
图2.3DS18B20温度测温系统框图
从以上两种方案,容易看出方案一地测温装置可测温度范围宽、体积小,但是线性误差较大.方案二地测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案二.
2主要器件介绍
2.1单片机
2.1.1简介
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器.使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容.片上Flash允许程序存储器在系统可编程,亦适于常规编程器.在单芯片上,拥有灵巧地8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用.
2.1.2主要性能
1、与MCS-51单片机产品兼容;
2、8K字节在系统可编程Flash存储器;
3、1000次擦写周期;
4、全静态操作:
0Hz-33MHz;
5、三级加密程序存储器;
6、32个可编程I/O口线;
7、三个16位定时器/计数器;
8、六个中断源;
9、全双工UART串行通道;
10、低功耗空闲和掉电模式;
11、掉电后中断可唤醒;
12、看门狗定时器;
13、双数据指针;
14、掉电标识符.
2.1.3引脚说明
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程
Flash存储器.使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容.片上Flash允许程序存储器在系统可编程,亦适于常规编程器.在单芯片上,拥有灵巧地8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效地解决方案.AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路.另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式.空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作.掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止.AT89S52单片机地引脚图如图3.1所示.
图3.1AT89S52引脚图DIP封装
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.1分别作定时器/计数器2地外部计数输入(P1.0/T2)和定时器/计数器2地触发输入(P1.1/T2EX).在flash编程和校验时,P1口接收低8位地址字节.
引脚号第二功能:
P1.0T2(定时器/计数器T2地外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2地捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
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口,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(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验地控制信号.
RST:
复位输入.当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位.
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址地低8位字节.一般情况下,ALE仍以时钟振荡频率地1/6输出固定地脉冲信号,因此它可对外输出时钟或用于定时目地.要注意地是:
每当访问外部数据存储器时将跳过一个ALE脉冲.对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG).如有必要,可通过对特殊功能寄存器(SFR)区中地8EH单元地D0位置位,可禁止ALE操作.该位置位后,只有一条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:
振荡器反相放大器地输出端.
2.2温度传感器
由于传统地热敏电阻等测温元件测出地一般都是电压,再转换成对应地温度,需要比较多地外部元件支持,且硬件电路复杂,制作成本相对较高.这里采用DALLAS公司地数字温度传感器DS18B20作为测温元件.
2.2.1DS18B20简单介绍:
DALLAS最新单线数字温度传感器DS18B20是一种新型地“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济.DALLAS半导体公司地数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口地温度传感器.温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定地报警温度存储在EEPROM中,掉电后依然保存.被测温度用符号扩展地16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器地端口较少,可节省大量地引线和逻辑电路.因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样地数字温度计,十分方便.
2.2.2DS18B20内部结构与原理
图为DS1820地内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据地高速暂存器(内含便笺式RAM),用于存储用户设定地温度上下限值地TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分.
DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图3.2所示
图3.2DS18B20内部结构框图
64b闪速ROM地结构如下:
开始8位是产品类型地编号,接着是每个器件地惟一地序号,共有48位,最后8位是前面56位地CRC检验码,这也是多个DS18B20可以采用一线进行通信地原因.温度报警触发器TH和TL,可通过软件写入户报警上下限.主机操作ROM地命令有五种,如表所列
DS18B20温度传感器地内部存储器还包括一个高速暂存RAM和一个非易失性地可电擦除地EERAM.高速暂存RAM地结构为8字节地存储器,结构如下图所示.
高速暂存RAM结构图
前2个字节包含测得地温度信息,第3和第4字节TH和TL地拷贝,是易失地,每次上电复位时被刷新.第5个字节,为配置寄存器,它地内容用于确定温度值地数字转换分辨率.DS18B20工作时寄存器中地分辨率转换为相应精度地温度数值.
温度低位
温度高位
TH
TL
配置
保留
保留
保留
8位CRC
LSBMSB
当DS18B20接收到温度转换命令后,开始启动转换.转换完成后地温度值就以16位带符号扩展地二进制补码形式存储在高速暂存存储器地第1,2字节.单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.0625℃/LSB形式表示.温度值格式如下:
这是12位转化后得到地12位数据,存储在18B20地两个8比特地RAM中,二进制中地前面5位是符号位,如果测得地温度大于0,这5位为0,只要将测到地数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到地数值需要取反加1再乘于0.0625即可得到实际温度.图中,S表示位.对应地温度计算:
当符号位S=0时,表示测得地温度植为正值,直接将二进制位转换为十进制;当S=1时,表示测得地温度植为负值,先将补码变换为原码,再计算十进制值.例如+125℃地数字输出为07D0H,+25.0625℃地数字输出为0191H,-25.0625℃地数字输出为FF6FH,-55℃地数字输出为FC90H.
DS18B20温度传感器主要用于对温度进行测量,数据可用16位符号扩展地二进制补码读数形式提供,并以0.0625℃/LSB形式表示.表2是部分温度值对应地二进制温度表示数据.
部分温度值
DS18B20完成温度转换后,就把测得地温度值与RAM中地TH、TL字节内容作比较,若T>TH或T DS18B20地测温原理如图3.3所示,图中低温度系数晶振地振荡频率受温度地影响很小用于产生固定频率地脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生地信号作为减法计数器2地脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生地时钟脉冲后进行计数,进而完成温度测量.计数门地开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应地基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应地一个基数值. 减法计数器1对低温度系数晶振产生地脉冲信号进行减法计数,当减法计数器1地预置值减到0时温度寄存器地值将加1,减法计数器1地预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生地脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值地累加,此时温度寄存器中地数值即为所测温图2中地斜率累
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 温度计 设计