单片机的数字温度计设计方案2文档格式.docx
《单片机的数字温度计设计方案2文档格式.docx》由会员分享,可在线阅读,更多相关《单片机的数字温度计设计方案2文档格式.docx(29页珍藏版)》请在冰点文库上搜索。
2.5温度计设计的要求5
第三章数字温度计的设计7
3.1主控制器7
3.1.1AT89S51单片机的内部资源:
7
3.1.2引脚功能7
3.1.3单片机的最小系统9
3.2温度传感器10
3.2.1DS18B20的特点10
3.2.2DS18B20的内部结构11
3.2.3DS18B20温度传感器与单片机的接口电路12
3.3电源电路13
3.4时钟电路14
3.5复位电路14
3.6显示电路15
第四章软件设计17
4.1主程序17
4.1.1读出温度计程序17
4.1.2温度转换命令字程序18
4.1.3计算机子程序19
4.1.4显示数据刷新子程序19
第五章总结与展望21
致谢23
参考文献24
附录1汇编源程序代码25
附录2数字温度计设计总图31
第一章绪论
1.1课题背景及研究意义
随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。
传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。
温度是工业对象中的一个重要的被控参数。
然而所采用的测温元件和测量方法也不相同;
产品的工艺不同,控制温度的精度也不相同。
因此对数据采集的精度和采用的控制方法也不相同。
传统的控制方式以不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大,由于他主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。
使用单片机作为核心控制。
单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。
1.2单片机的运用
单片机是一种特殊的计算机,它是在一块半导体的芯片上集成了CPU,存储器,RAM,ROM,及输入与输出接口电路,这种芯片称为:
单片机。
由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便的优点,使它迅速的得到了推广应用,目前已成为测量控制系统中的优选机种和新电子产品中的关键部件。
单片机已不仅仅局限于小系统的概念,现已广泛应用于家用电器,机电产品,办公自动化用品,机器人,儿童玩具,航天器等领域。
1.3温度计的设计思路
本次课程设计,就是用单片机实现温度控制,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。
所以采用DS18B20温度传感器来实现基于AT89S51单片机的数字温度计的设计。
温度计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,与传统的热敏电阻不同,DS18B20可直接将被测温度转换为串行数字信号,测温范围为一55~125℃,最高分辨可达0.0625℃,温度传感器DS18B20采用三线制与单片机相连,减少了外部的硬件电路,具有低成本、易使用和精度等特点。
按照系统设计功能的要求,确定本数字温度计由三个模块组成:
主控制器、测温电路和显示电路。
第二章系统方案论证
该系统主要由温度测量和数据采集两部分电路组成,实现的方法有很多种,下面将列出在日常生活中和工农业生产中经常用到的实现方案。
2.1方案一
采用热电阻温度传感器。
热电阻是利用导体的电阻随温度变化的特性制成的测温元件。
现应用较多的有铂、铜、镍等热电阻。
其主要的特点为精度高、测量范围大、便于远距离测量。
铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。
缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。
。
铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;
但其电阻率小,在腐蚀性介质中使用稳定性差。
2.2方案二
采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成<
热电偶的构成如图2.1),热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。
通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。
数据采集部分则使用带有A/D通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。
热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D转换电路,感温电路比较麻烦。
图2.1热电偶电路图
2.3方案三
采用数字温度芯片DS18B20测量温度,输出信号全数字化。
便于单片机处理及控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和单片机AT89S51构成的温度测量装置,它直接输出温度的数字信号,。
这样,测温系统的结构就比较简单,体积也不大。
采用AT89S51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。
既可以单独对多DS18B20控制工作,还可以与PC机通信上传数据,另外AT89S51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。
该系统利用AT89S51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度。
从以上三种方案,看出方案一的设计方案不够经济,精确度不高。
方案二的测温装置可测温度范围宽、体积小,但是线性误差较大。
方案三的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案三。
2.4方案的总体设计
温在单片机电路设计中,使用传感器,是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
度计电路设计总体设计方框图如2-2所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用4位LED数码管以串口传送数据实现温度显示。
系统框图如图2-2所示
图2-2 总体设计方框图
2.5温度计设计的要求
利用AT89C51单片机设计智能数字温度计,通过温度传感器自动采集温度,经单片机内部处理为十进制温度值后,直接送人显示电路显示温度值,测温范围0℃~100℃;
最大线性偏差为±
0.1℃。
采用4位LED数码管显示温度,一位小数、三位整数。
正温度时,最高位显示百位温度或不显示,负温度时最高位显示符号“一”。
第三章数字温度计的设计
3.1主控制器
数字温度计电路设计控制器采用用单片机AT89S51,具有低电压供电和小体积等特点,成本较低,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用。
该单片机功能与C51系列的单片机有了很大的提升,但成本基本没有什么变化.与传统的AT89C51单片机相比,AT89S51主要具有以下优点:
<
1)功能增多,性能加强,价格基本不变;
2)ISP在线编程功能,改写单片机存储器内的程式不必把芯片从工作环境中剥离;
3)工作频率提高,计算速度更快;
4)AT89S51电源范围宽达4—5.5V,而AT89C51系列在低于4.8V和高于5.3V的时候则无法正常工作;
5)兼容性强。
1)为一般控制应用的8位单芯片;
2)晶片内部具时钟振荡器<
传统最高工作频率可至12MHz);
(3>
内部程式存储器<
ROM)为4KB;
(4>
内部数据存储器<
RAM)为128B;
(5>
外部程序存储器可扩充至64KB;
(6>
外部数据存储器可扩充至64KB;
(7>
26个特殊功能寄存器<
双数据指针);
8)4个8位的并行口;
9)1个全双工的串行口;
(10>
5个中断源,2个外部中断,3个内部中断。
3.1.2引脚功能
AT89S51单片机有40个引脚如图3.1;
采用引脚双列直插式封装,现将各引脚的功过能说明如下。
1)VCC:
电源电压端;
2)GND:
地端;
3)RST:
复位输入端。
当RST引脚出现两个机器周期的高电平时,单片机
图3.1AT89S51单片机引脚图
复位;
在正常运行程序时该引脚为低电平;
4)XTAL1、XTAL2:
晶体振荡器反相放大器的输入端和输出端。
使用内部振荡电路时,该引脚外接石英晶体和补偿电容。
使用外部震荡输入时从XTAL1输入,此时XTAL2悬空;
EA/VPP:
内外ROM选择/EPROM编程电源。
低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码<
存于外部EPROM中)来执行程序;
(6)P1口:
P1口是一个8位双向I/O口。
P1口内部接有上拉电阻。
P1口输出缓冲器可吸收20mA电流并能直接驱动LED显示。
当P1口的锁存器写入“1”时,P1口可作为输入端。
作为输出口使用时不需要外接上拉电阻。
(7)P3口:
P3口的P3.0-P3.5和P3.7是带有内部上拉电阻的七个双向I/O引脚。
P3.6用于固定输入片内比较器的输入信号并且它作为一通用I/O引脚而不能访问。
P3口缓冲器可吸收20mA电流。
当P3口锁存器写入“1”时,它们被上拉电阻拉高并可作为输出端。
P3口还接收一些用于闪速存储器编程和程序校验的控制信号。
P3口还用于实现AT89C2051的一些特殊功能,这些特殊功能定义如下:
P3.0RXD(串行口输入端>
P3.1TXD(串行口输出端>
P3.2/INT0(外部中断>
P3.3/INT1(外部中断1>
P3.4T0(定时器0外部输入>
P3.5T1(定时器1外部输入>
P3.6/WR(外RAM写选通信号输出端>
P3.7/RD(外RAM读选通信号输出端>
3.1.3单片机的最小系统
目前的单片机开发系统只能够仿真单片机,却没有给用户提供一个通用的最小系统。
由设计的要求,只要做很小集成度的最小系统应用在一些小的控制单元。
其应用特点是:
1)全部I/O口线均可供用户使用;
2)内部存储器容量有限<
只有4KB地址空间);
3)应用系统开发具有特殊性。
单片机最小系统如图3.2所示,其中有4个双向的8位并行I/O端口,分别记作P0、P1、P2、P3,都可以用于数据的输出和输入,P3口具有第二功能为系统提供一些控制信号。
时钟电路用于产生AT89S51单片机工作所必须的时钟控制信号,内部电路在时钟信号的控制下,严格地按时序指令工作。
AT89S51内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片的引脚XTAL1,输出端为XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。
电路中的微调电容通常选择为22pF左右,该电容的大小会影响到振荡器频率的高低、振荡器的稳定性和起振的快速性。
晶体的振荡频率为12MHz。
把EA脚接高电平,单片机访问片内程序存储器,CPU从芯片内部的ROM中取指令运行,但超过4KB范围的程序,从外部扩展的ROM中取得。
把EA脚接低电平时,只从芯片外部扩展的ROM中取得指令运行。
AT89S51的复位是由外部的复位电路来实现,由10uF电容、10K电阻构成复位电路。
RC组成微分电路,在通电的瞬间产生微分脉冲,只要脉冲的宽度大于两个机器周期,就能完成单片机复位。
2)多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
3)无须外部器件;
图3.2单片机最小系统图一线测温一线与AT89S51连接,它能直接读出被测温度,并且测出的数据放在寄存器中,将数据经过BCD码转换后送到LED显示。
DS18B20的性能特点如下:
(1)独特的单线接口仅需要一个端口引脚进行通信;
3.2温度传感器
传感器是将感受到的外界信息,按照一定的规律转换成所需的有用信息的装置,它获取的信息可以是各种物理量、化学量和生物量,而转换后的信息也有各种形式。
例如:
光、温度、声、委位移、压力等物理量,可以通过传感器相互转化。
但是通常是将非电量或电量转换成易于处理和传输的电量,有些传感器的这种转换是可逆的,即输入量为电量而输出量为机械量或热工艺量等。
3.2.1DS18B20的特点
测温系统采用芯片DS18B20,DS18B20是DALLAS公司的最新单线数字温度传感器,它的体积更小,适用电压更宽,更经济。
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,DS18B20采用外接电源方式工作,
4)可通过数据线供电,电压范围为3.0~5.5V;
(5)零待机功耗;
(6)温度以9或12位数字显示;
(7)用户可定义报警设置;
(8)报警搜索命令识别并标志超过程序限定温度<
温度报警条件)的器件;
(9)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
DS18B20的管脚排列如图3.3所示。
图3.3DS18B20的引脚分布图
表3.1DS18B20的引脚功能
GND:
电源地。
DQ:
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
VDD:
可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
3.2.2DS18B20的内部结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。
内部结构如图3.4所示,它是64位ROM的结构,开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。
I/O
图3.4DS18B20的内部结构
DS18B20温度传感器的内部存储器,包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。
高速暂存RAM的结构为8字节的存储器。
头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
该字节各位的定义如下图3.5所示。
低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
图3.5DS18B20的字节定义
3.2.3DS18B20温度传感器与单片机的接口电路
DS18B20方式供电,是电源供电方式如图3.6所示,此时DS18B20的1脚接地,2脚座位信号线,3脚接电源。
图3.6DS18B20与单片机的接口电路
3.3电源电路
图3.7所示为集成直流稳压电源电路的原理图,本电源电路是由集成稳压器构成的。
电路可分成三部分:
电源变压器部分、整流滤波部分和稳压部分。
变压器原边为工频交流220V电压,经过变压后,变压器副边的电压变为交流11V,11V交流电压经过桥式整流电路整流后变为直流10V电压,直流10V电压作为CW7805的输入电压,CW7805输出+5V电压。
图中D2为整流桥,它由四个整流二极管接成电桥形式。
C3为滤波电容,C1用于抵消输入端较长接线的电感效应,以防止自激振荡,还可抑制电源的高频脉冲干扰。
一般取0.1——1μF。
CW7805为三端固定输出集成稳压器,其输入和输出电压都为固定值,它的输入电压为+10V,输出电压为+5V。
C2和C4用以改善负载的瞬态响应,消除电路的高频噪声,同时也具有消振作用。
图3.7电源电路图
3.4时钟电路
图3.8所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,构成一个稳定的自激振荡器。
时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。
图3.8时钟电路图
3.5复位电路
图3.9所示为复位电路原理图,复位是单片机的初始化操作,其主要功能是把单片机初始化为0000H,使单片机从0000H单元开始执行程序,并使其它功能单元处于一个确定的初始状态。
本复位电路采用的是按键复位,它是通过复位端经电阻与VCC电源接通而实现的,它兼具上电复位功能。
因本系统的晶振的频率为12MHz,所以,复位信号持续时间应当超过2μS才能完成复位操作。
图3.9复位电路图
3.6显示电路
在最小系统基础上,用P0口作为数码管的段控制口,P2.0~P2.3分别作为4个数码管的位控制口,输出0,PNP晶体管导通,开通数码管得位,输出1,晶体管截止,关闭位。
电路图3.10所示为显示电路图,采用4位共阳LED数码管显示。
图3.10显示电路图
第四章软件设计
4.1主程序
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。
这样可以在一秒之内测量一次被测温度,其程序流程见图4.1所示。
图4.1主程序流程图
4.1.1读出温度计程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
其程序流程图如图4.2示
图4.2读温度流程图
4.1.2温度转换命令字程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。
温度转换命令子程序流程图如上图,图4.3所示
图4.3温度转换流程
4.1.3计算机子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图4.4所示。
图4.4 计算温度流程图
4.1.4显示数据刷新子程序
显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。
程序流程图如图4.5。
图4.5 显示数据刷新流程图
第五章总结与展望
经过这段时间的努力,终于完成了我的DS18B20数字温度计的设计,虽然没有完全达到设计要求,但从心底里说,还是非常开心的。
在本次设计的过程中,在硬件电路制作阶段,我到图书馆、网上查阅各种资料,在电脑上使用PROTEL99SE进行以及相关的绘图软件,使自己在理论分析设计和动手操作能力等各方面得到了极大提高。
我发现很多问题,虽然以前也做过这样类似的设计但这次设计真的让我长进了很多,单片机课程设计重点就在于软件算法的设计,需要有很巧妙地程序算法,我觉得写好一个程序并不是一件简单的事。
这次设计整体来说是成功的,但我也发现了自己许多错漏和不足之处。
譬如,应该尝试加一个报警电路和用液晶显示器,使电路变得跟完美。
我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单片机更应该这样,程序只有在经常地写与读的过程中才能提高,这就是我在这次设计中的最大收获。
致谢
在论文完成之际,我首先向关心帮助和指导我的指导老师夏玉红,表示衷心的感谢并致以崇高的敬意!
在论文工作中,遇到了遇到了一些问题,一直得到夏老师的亲切关怀和细心指导,使我顺利的完成了这篇论文。
夏老师以其渊博的学识、严谨的治学态度、求实的工作作风和他敏捷的思维给我留下了深刻的印象,我将终生难忘细心的指导和亲切的关怀再一次向他表示衷心的感谢,感谢他为学生营造的浓郁学术氛围,以及学习、生活上的无私帮助!
值此论文完成之际,谨向夏老师致以最崇高的谢意!
在学校的学习生活即将结束,回顾两年多来的学习经历,面对现在的收获,我感到无限欣慰。
为此,我向热心帮助过我的所有老师和同学表示由衷的感谢!
特别感谢我的师兄们以及师姐们,我的学习和生活所提供的大力支持和关心!
还要感谢一直关心帮助我成长的室友们!
在我即将完成学业之际,我深深地感谢我的家人给予我的全力支持!
最后,衷心地感谢在百忙之中评阅论文和参加答辩的各位专家、教授!
参考文献
1.刘国荣主编,单片机型计算机技术[M],北京机械工业出版社,2000
祁伟杨亭编著,单片机51程序设计教程与实验[J],北京航海天大学出版社,2006
2.何立民编著单片机高级教程——应用与设计<
第2版)[M],北京航海天大学出版社。
3.张五一,张道光.微机原理与接口技术[M].郑州:
河南科学技术出版社,2006
4.张洪润,兰清华,单片机应用技术教程[M],北京:
清华大学出版社,1997.11
5.李华,MCS-51系列单片机实用接口技术[M],北京:
北京航空航天大学出版社,1993.8
6.李朝青.单片机原理及接口技术<
简明修订版)[M].杭州:
北京航空航天大学出版社,1998
7.李广弟.单片机基础[C].北京:
北京航空航天大学出版社,1994
8.倪晓军.单片机原理与接口技术教程[M].北京:
清华大学出版社,2009
9.姚年春向华Protel99SE基础教程[M].北京.人民名邮电出版社,2009
10.楼然苗,李光飞.单片机课程设计指导[J].北京:
北京航空航天大学出版社,2007
附录1汇编源程序代码
ORG00H
TMPLEQU29H。
用于保存读出温度的低8位
TMPHEQU28H。
用于保存读出温度的高8位
FLAG1EQU38H。
是否检测到DS18B20标志位27H.0
DATAINBITP3.7
MAIN:
LCALLGET_TEMPER。
调用读温度子程序
LCALLCVTTMP
LCALL