1、(2011届)毕业设计题目基于单片机的数字温度计设计姓名专业电子信息工程班级学号指导教师导师职称年月日I基于单片机的数字温度计设计摘要随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人们带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,用单片机和温度传感器来实现温度测温是数字温度设计的一大亮点。随着单片机的飞速发展,功能变得越来越强大,可以实现很多电路系统的设计。基于单片机的数字温度计系统就是一个很好的例子,将温度传感器与单片机最小系统相连,通过LED数码管或液晶显示屏显示出来,可以直观、方便、快速的测量温度。单片机通过编写程序亦可实现时钟显示、定时闹铃等其他功
2、能,满足人们的需求。关键字数字温度计、温度传感器、单片机IIBASEDONSCMDIGITALTHERMOMETERDESIGNABSTRACTASPEOPLELIVINGSTANDARDRISECEASELESSLY,SCMCONTROLISUNDOUBTEDLYONEOFTHEGOALSOFTHEPEOPLETOPURSUE,ITHASGIVENPEOPLEBRINGTOCONVENIENCEISNOTNEGATIVE,INCLUDINGDIGITALTHERMOMETERISONEEXAMPLE,USINGSCMANDTEMPERATURESENSORTOACHIEVETHETEMPER
3、ATUREMEASURINGTEMPERATUREISDIGITALTEMPERATUREDESIGNOFTOMCOMWITHTHERAPIDDEVELOPMENTOFMCU,FUNCTIONISBECOMINGSTRONGERANDCANREALIZEMANYCIRCUITSYSTEMDESIGNBASEDONSCMDIGITALTHERMOMETERSYSTEMISAVERYGOODEXAMPLE,WILLTHETEMPERATURESENSORANDCONNECTEDBYSINGLECHIPMINIMIZESYSTEM,LEDDIGITALDISPLAYTUBEORLCDSCREEN,I
4、NTUITIVE,CONVENIENTANDQUICKMEASURINGTEMPERATURESCMBYWRITINGAPROGRAMCANALSOBEACHIEVEDTHECLOCKDISPLAY,REGULARALARMANDOTHERFUNCTIONS,SATISFYPEOPLESNEEDSKEYWORDSDIGITALTHERMOMETER,TEMPERATURESENSORS,MICROCONTROLLERIII目录摘要IABSTRACTI1绪论111课题的来源112课题的意义113数字温度计国内外发展现状2131温度传感器的研究现状2132单片机的发展的研究现状314课题研究的主要
5、内容52数字温度计的总体设案63系统硬件电路设计731电路原理732各单元总体说明833主控制器AT89S518344位共阳数码管动态扫描935温度传感器DS18B201036电路原材料清单1737使用工具及仪表清单184系统软件设计1941流程图1942读出温度子程序1943温度转换命令子程序2044数字温度计程序清单20结论22参考文献23致谢错误未定义书签。附录24基于单片机的数字温度计设计11绪论11课题的来源温度测量在物理实验、食品生产、医疗卫生等领域,尤其在热学试验(如物体的热功当量、压强温度系数、汽化热等教学实验)中有特别重要的意义。传统所使用的温度计一般都是精度为01和1的煤油
6、、水银或酒精温度计。这些温度计的刻度间隔一般都非常紧密,不容易去准确的分辨,读数比较困难,而且它们的热容量比较大,达到热平衡所需的时间都比较长,因此很难读的准确,并且使用十分不方便。而数字温度计与传统的温度计相比,具有测温准确,测温范围广,读数方便等优点,其输出温度采用数字显示,主要用于对测温比较准确的场所,比如科研实验室使用。目前温度计的发展非常快,从原始的玻璃管温度计发展到了现在的热电偶温度计、热电阻温度计、数字温度计、电子温度计等等,温度计中传感器是它的重要组成部分,它的精度、灵敏度基本决定了温度计的精度、控制范围、测量范围和用途等。传感器的应用极其的广泛,目前已经研制出多种新型的传感器
7、。但是,作为应用系统设计人员需要根据系统要求选用合适的传感器,并与自己设计的系统相连接起来,从而构成性能优良的监控系统。12课题的意义20世纪90年代中期推出的数字温度传感器,最早采用的是8位A/D转换器,其测温精度比较低,分辨力仅达到1。目前,国外已推出多种高速度、高分辨力的数字温度传感器,所用的是912位A/D转换器,分辨力一般可达0500625。由美国DALLAS半导体公司新研制的DS1624型高分辨力数字温度传感器,能输出13位二进制数据,其分辨力高达003125,测温精度为02。为了提高多通道数字温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。以AD7817型5通道数
8、字温度传感器为例,它对本地传感器、每一路远程传感器的转换时间分别仅为27S、9S。MAXIM公司生产的DS1620,DS1620是直接数字输出的温度传感器,采用DS1620不需要在AT89S51系统中扩展A/D转换器,因此可以降低电路的复杂性。DS1620是一片片内建有温度测量并转换为数值的8引脚的集成电路,它集温度数据转换与传输、温度传感、温度控制等功能于一体。测温范围55到125,精度达到05。该芯片非常容易与单片机连接,实现温度的测控应用,单独当做温度控制器时,可不用外加其他辅助元件。DS1620可把测得的温度用9位的数据表示出来,同时,本身还有3个温度报警输出,因此在恒温箱、温度计及其
9、它对温度敏感的毕业设计2系统中得到了广泛的应用。1313数字温度计国内外发展现状随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。131温度传感器的研究现状集成温度传感器是目前应用范围最广、使用最普及的一种全集成化传感器。其
10、种类很多,大致可分为以下5类1、模拟集成温度传感器;2、模拟集成温度控制器;3、智能温度传感器;4、通用智能温度控制器;5、微机散热保护专用的智能温度控制器。集成温度传感器的主要应用领域有以下3个方面1温度测量可以构成温度变送器、数字温度计、温度巡回检测仪、网络化测温系统及智能化温度检测系统。2温度控制适用于工业过程控制、智能化温度测控系统、环境温度监测及报警系统、现场可编程温度控制系统、中央空调、风扇温控电路、微处理器及微机系统的过热保护装置、电信设备、现代办公设备、服务器中的温度测控系统、电池充电器的过热保护电路及家用电器。3特殊应用例如,热电偶冷端温度补偿、测量温差、测量平均温度、测量温
11、度场、电子密码锁(仅对内含64位ROM的单线总线智能温度传感器而言)及液晶显示器表面温度监测等8。模拟集成温度传感器是在20世纪80年代问世的,它是将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC。模拟集成温度传感器的主要特点是功能单一、价格低、测温误差小、传输距离远、响应速度快、微功耗、体积小等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等。智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(A
12、TE)的结晶。目前,国际上已基于单片机的数字温度计设计3开发出多种智能温度传感器系列产品。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。进入21世纪后,智能温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。在20
13、世纪90年代中期最早推出的智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到1。目前,国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是912位A/D转换器,分辨力一般可达0500625。由美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,能输出13位二进制数据,其分辨力高达003125,测温精度为02。为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。以AD7817型5通道智能温度传感器为例,它对本地传感器、每一路远程传感器的转换时间分别仅为27S、9S。新型智能温度传感器的测试功能也在不断增强。例如,DS
14、1629型单线智能温度传感器增加了实时日历时钟(RTC),使其功能更加完善。DS1624还增加了存储功能,利用芯片内部256字节的E2PROM存储器,可存储用户的短信息。另外,智能温度传感器正从单通道向多通道的方向发展,这就为研制和开发多路温度测控系统创造了良好条件。智能温度传感器的总线技术也实现了标准化、规范化,所采用的总线主要有单线总线、I2C总线、SMBUS总线和SPI总线。132单片机的发展的研究现状现在单片机是百花齐放、百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互
15、补,为单片机的应用提供广阔的天地15。纵观单片机的发展过程,可以预示单片机的发展趋势,大致有1低功耗CMOS化MCS51系列的8031推出时的功耗达630MW,而现在的单片机普遍都在100MW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS互补金属氧化物半导体工艺。象80C51就采用了HMOS即高密度金属氧化物半导体工艺和CHMOS互补高密度金属氧化物半导体工艺。CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和毕业设计4低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主
16、要途径。2微型单片化现在常规的单片机普遍都是将中央处理器CPU、随机存取数据存储RAM、只读程序存储器ROM、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW脉宽调制电路、WDT看门狗、有些单片机将LCD液晶驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD表面封装越来越受欢迎,使得由单片机
17、构成的系统正朝微型化方向发展。3主流与多品种共存现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的WINBOND系列单片机。所以C8051为核心的单片机占据了半壁江山。而MICROCHIP公司的PIC精简指令集RISC也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、
18、共同发展的道路。本毕业设计介绍了温度计的测量和控制之间的关系检测是控制的基础和前提,而检测的精度必须高于控制的精确度,否则无从实现控制的精度要求。不仅如此,检测还涉及国计民生各个部门,可以说在所以科学技术领域无时不在进行检测。科学技术的发展和检测技术的发展是密切相关的。现代化的检测手段能达到的精度、灵敏度及测量范围等,在很大程度上决定了科学技术的发展水平。同时,科学技术的发展达到的水平越高,又为检测技术、传感器技术提供了新的前提手段。目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等。目前的温度计中传感器是它的重要组成部分,它的精度灵
19、敏度基本决定了温度计的精度、测量范围、控制范围和用途等。传感器应用极其广泛,目前已经研制出多种新型传感器。但是,作为应用系统设计人员需要根据系统要求选用适宜的传感器,并与自己设计的系统连接起来,从而构成性能优良的监控系统。基于单片机的数字温度计设计514课题研究的主要内容本设计以单片机作为控制内核,其次主要的就是温度传感器DS18B20,及其他重要部分电路的配合下设计出一套完整的硬件系统,及它的灵魂软件系统。得到了一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广
20、,测温准确,其输出温度采用数字显示,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。当以单片机用作测控系统时,系统总要有被测信号进入输入通道,由计算机拾取必要的输入信息。对于测量系统而言,如何准确获得被测信号是其核心任务;而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。毕业设计62数字温度计的总体设案21数字温度计设计方案论证(一)方案一热敏电阻由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用
21、单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。如下图图21热敏电阻二方案二温度传感器DS18B201进而考虑到用温度传感器,在设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。2方案二的总体设计框图温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用4位LED数码管以串口传送数
22、据实现温度显示。图22总体设计方框图主控制器LED显示温度传感器单片机复位时钟振荡报警点按键调整基于单片机的数字温度计设计73系统硬件模块设计31电路原理本章主要介绍本次设计中的硬件设计部分,其中包含显示模块、按键扫描模块、温度采集模块、蜂鸣器报警模块。图41数字温度计设计电路图一、JP1与C3、与C4三个元器件组成数字温度计的电源部分,JP1的两个插孔连接电源的零线与火线,C3与C4起到滤波作用,VCC端连接在单片机40脚上,可以说这一部分是数字温度计的血脉。二、Y1与C1、C2给单片机提供晶振信号,这一部分可以说是单片机的心脏。三、最重要的一部分是DS18B20,它的连接方式是外接电源方式
23、。四、P0口是数据口,连接数码管。五、四支三极管为数码管提供驱动。六、复位电路,S3为复位开关。七、蜂鸣器电路,三极管起到开关的作用。八、显示电路,P0口是数据口连接数码管的段码,数码管采用共阳连接,P2口是控制线。毕业设计832各单元总体说明1显示模块本设计中采用4位LED数码管显示温度值,其中最后一位为小数位。2按键模块本设计中采用3按键设置,第一按键为复位按键,第二、三按键为温度调节按键,连接上拉电阻使其未按键时能够保持高电平。3温度采集模块本次设计中使用温度传感器DS18B20采集实时温度,使用PID算法控制加热炉仿真模型进行温度控制,数字温度传感器DS18B20只需一个引脚,即可与单
24、片机进行通信,在设计中将DS18B20与51单片机的P34口连接,用其来完成温度的测量。4蜂鸣器报警模块本设计中采用蜂鸣器做为报警系统,当采集到的温度经过处理后,超过规定温度上、下限时,单片机将通过P15口向蜂鸣器发送高电平信号使其发出警报生。33按键单元一般的键盘设计采用的是硬件设计,可是其在仿真设计中连接,线路会比较麻烦。所以在本此设置中我采用的是3按键软件控制,第一个按键为复位按键,其他两个为调节按键,3按键即可完成设计中起始温度设置与复位要求,方便简洁,线路清晰设计起来也较为方便。连接上上拉电阻,使其当未有按键按下时,各各按键位都处于高电平。按键操作说明1号按键为复位设置按键,第一次按
25、下它时,1号按键位将处于低电平,LED数码管将会显示HT(上限温度值),此时,可通过2号键和3好键来调整预设的上限温度值,每次按一下2号按键预设的温度上限值就上升一度,每次按一下3号键时预设的温度上限值就下降一度,此过程都会同过LED数码管显示。设置好上限温度后,再次按下1号按键,同样1号按键位处于了低电平,LED数码管将会显示LT(下限温度值),此时同样此时,可通过2号键和3好键来调整预设的下限温度值,每次按一下2号按键预设的温度下限值就上升一度,每次按一下3号键时预设的温度下限值就下降一度,此过程都会同过LED数码管显示。在设置好预设温度的上、下限时,我们再次按下1号键,此时LED数码管显
26、示的将是温度传感器DS18B20传送的温度值,51单片机将会把此测量值与先前预设的温度上、下限值进行比较处理,然后进行其他功能模块的操作。基于单片机的数字温度计设计9具体如下,按一下为设置上限,按两下为设置下限,再按一下进入显示状态。按下复位进入上下限设置时,每按一下为上限升高一度。按下复位进入上下限设置时,每按一下为下限降低一度。34主控制器AT89S5140个引脚,4KBYTESFLASH片内程序存储器,128BYTES的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路
27、,片内时钟振荡器。图31ATS8951此外,AT89S51设计和配置了振荡频率可为0HZ并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TPFQ和PLCC等三种封装形式,以适应不同产品的需求。主要功能特性复位上限下限毕业设计10兼容MCS51指令系统4K可反复擦写1000次)ISPFLASHROM32个双向I/O口4555V工作电压2个16位可编程定时/计数器时钟频率033MHZ全双工UAET串行中断口线128X8BIT内部RAM2个
28、外部中断源低功耗空闲和省电模式中断唤醒省电模式3级加密位看门狗(WDT)电路软件设置空闲和省电功能灵活的TSP字节和分页编程双数据寄存器指针354位共阳数码管动态扫描显示单元LED数码管动态显示就是一位一位地轮流点亮各位数码管,对于每一位LED数码管来说,每隔一段时间点亮一次,利用人眼的“视觉暂留“效应,采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。当扫描速度达到一定程度时,人眼就分辨不出来了。尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,认为各数码管是同时发光的。若数码管的位数不大于8位时,只需两个8位IO口。LED数码
29、管动态显示要考虑每一位点亮的保持时间和间隔时间。保持时间太短,则发光太弱而人眼无法看清;时间太长,则间隔时间也将太长(假设N位,则间隔时间保持时间X(N1),使人眼看到的数字闪烁。在程序中要基于单片机的数字温度计设计11合理的选择合适的保持时间和间隔时间。而循环次数则正比于显示的变化速度。图324位共阳数码管36温度测试单元温度传感器DS18B20DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。TO92封装的DS18B20的引脚排列见下图,其引脚
30、功能描述见表311。毕业设计12图32DS18B20表31DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。DS18B20的性能特点如下独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3055;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度
31、计不会因发热而烧毁,但不能正常工作;DS18B20采用脚PR35封装或脚SOIC封装,其内部结构框图如图33所示。图33DS18B20内部结构I/OC64位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器VDD基于单片机的数字温度计设计1364位ROM的结构开始位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器和,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存和一个非易失性的可电擦除的EERAM
32、。高速暂存RAM的结构为字节的存储器,结构如图3所示。头个字节包含测得的温度信息,第和第字节和的拷贝,是易失的,每次上电复位时被刷新。第个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低位一直为,是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为,用户要去改动,R1和0决定温度转换的精度位数,来设置分辨率。TMR1R011111图34DS18B20字节定义由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。
33、因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存的第、字节保留未用,表现为全逻辑。第字节读出前面所有字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第、字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以00625LSB形式表示。温度LSB温度MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC毕业设计14当符号位时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位时,表示测得的温度值为负值,要先将
34、补码变成原码,再计算十进制数值。表32是一部分温度值对应的二进制温度数据。表32DS18B20温度转换时间表R1R0分辨率/位温度最大转换时间/MS00993750110187510113751112750DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、T字节内容作比较。若TH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
35、DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值减到时,温度寄存器的值将加,减法计数器的预
36、置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。基于单片机的数字温度计设计15表33一部分温度对应值表温度/二进制表示十六进制表示125000001111101000007D0H8500000101010100000550H25062500000001100100000191H10125000000001010000100A2H0500000000000000100008H00
37、0000000000010000000H051111111111110000FFF8H101251111111101011110FF5EH2506251111111001101111FE6FH551111110010010000FC90H另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。DS18B20DS18B20DS18B2047KGNDGNDGNDVCCVCC单片机图35DS18B20与单片机的接口电路DS18B20温度传感
38、器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图35所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10US。采用寄生电源供电方式时VDD端接地。由于毕业设计16单线制只有一根线,因此发送接口必须是三态的。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严
39、格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20控制方法DS18B20有六条控制命令,指令约定代码操作说明CCH跳过扫描温度传感芯片序列号44H启动DS18B20进行温度转换BEH读度温度值DS18B20的复位时序(1)先将数据线置高电平“1”。(2)延时(该时间要求的不是很严格,但是尽可能的短一点)(3)数据线拉到低电
40、平“0”。(4)延时750微秒(该时间的时间范围可以从480到960微秒)。(5)数据线拉到高电平“1”。(6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。(7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。(8)将数据线再次拉高到高电平“1”后结束。DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机
41、把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60US才能完成。基于单片机的数字温度计设计17(1)将数据线拉高“1”。(2)延时2微秒。(3)将数据线拉低“0”。(4)延时15微秒。(5)将数据线拉高“1”。(6)延时15微秒。(7)读数据线的状态得到1个状态位,并进行数据处理。(8)延时30微秒。DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60US,保证DS18B20能够在15US到45
42、US之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15US之内就得释放单总线。(1)数据线先置低电平“0”。(2)延时确定的时间为15微秒。(3)按从低位到高位的顺序发送字节(一次只发送一位)。(4)延时时间为45微秒。(5)将数据线拉到高电平。(6)重复上(1)到(6)的操作直到所有的字节全部发送完为止。毕业设计18(7)最后将数据线拉高。37温度超、低温与异常情况报警单元采集到的温度经过处理后,超过规定温度上限时,单片机将通过P15口向蜂鸣器发送高电平信号使其发出警报声;当采集到的温度经过处理后,低于设定温度下限时,单片机将通过P15口向蜂鸣器发送高电平信号
43、使其发出警报声。要是由于环境温度变化太剧烈或加热,或温度传感头出现故障,而在一定时间内,不能将温度控制到规定的温度限内,单片机也将会通过P15口向蜂鸣器发送高电平信号使其发出警报生。在实验中设置的下限温度是20摄氏度,当温度达到20摄氏度时,蜂鸣器就虎发出报警。实验中设置的上限温度为40摄氏度,当温度达到所示的40摄氏度时,蜂鸣器就会开始报警。基于单片机的数字温度计设计194系统软件设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。41流程图图51主程序流程图图52读温度流程图42读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,
44、在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图52所示。获取温度值超出温度上下限报警转换并显示YN初始化开始发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完CRC校验正确移入温度暂存器结束NNY毕业设计20发DS18B20复位命令发跳过ROM命令发温度转换开始命令结束图53温度转换流程图43温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750MS,在本程序设计中采用1S显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图53所示44数字温度计程序清单计算温度子程序将RAM中
45、读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图54所示。基于单片机的数字温度计设计21图54计算温度流程图图55显示数据刷新流程图开始温度零下温度值取补码置“”标志计算小数位温度BCD值计算整数位温度BCD值结束置“”标志NY温度数据移入显示寄存器十位数0百位数0十位数显示符号百位数不显示百位数显示数据(不显示符号)结束NNYY毕业设计22结论经过最后的学习,终于完成了我的基于单片机的数字温度计的设计,虽然没有完全达到设计要求,但从心底里说,还是比较高兴的。过程当中用到的单片机作为控制内核,四段数码管作为显示部分,及其他电路,共同组成了我的成果数字温度计。首先设计的是它
46、的硬件电路,最重要的部分是89S51控制内核,所有的数据处理都是采用的单片机,其次是DS18B20温度采集电路,其他还有晶振电路,复位电路,报警点及上下限温度调整电路。其次我们设计了它的灵魂软件电路,通过用C语言编程实现对器件的控制。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,不仅使我真正的学会了数字温度计的设计,而且我相信通过这次的学习我能够达到举一反三的效果,同时这次的不足之处是在有些细节方面刚开始做的很不详细,我想原因在于自己平时对自己的学习要求的不够严格,才造成遇到一些问题显得惊慌失措,在日后我会克服这些缺点的。基于单片机的
47、数字温度计设计23参考文献1李朝青单片机原理及接口技术(简明修订版)杭州北京航空航天大学出版社,19982李广弟单片机基础北京北京航空航天大学出版社,19943阎石数字电子技术基础(第三版)北京高等教育出版社,19894廖常初现场总线概述J电工技术,19995新颖电子模块应用手册北京机械工业出版社,20056周美娟单片机技术及系统设计M北京清华大学出版社,20077韩志军沈晋源王振波单片机应用系统设计入门向导与设计实例M北京机械工业出版社,20058王幸之钟爱琴等AT89系列单片机原理与接口技术M北京北京航空航天大学出版社,200410YANGY,YIJ,WOO,YY,ANDKIMBOPTIM
48、UMDESIGNFORLINEARITYANDEFFICIENCYOFMICROWAVEDOHERTYAMPLIFIERUSINGANEWLOADMATCHINGTECHNIQUE,MICROWJJ,2001,44,12,PP203611LABORATORYATTHENASALANGLEYRESEARCHCENTERTHEDATAACQUISITIONANDCONTROLSYSTEMSOFTHEJETNOISEM199812滕召胜,李继锋,黄大春,等基于数字温度传感器DS1620的储粮温度自动测试系统J仪表技术和传感器,2000,(2)283013王主军数字式温度测控芯片DS1620在温度测量
49、中的应用J电子技术应用,1999,25(6)717214刘洋,吴双,赵永刚热电偶温度传感器的研究与发展现状M中国仪器仪表,2003,111315孙涵芳,徐爱御单片机原理及应用M北京北京航空航天大学出版社,198810516张琳娜,刘武发传感检测技术及应用M中国计量出版社,19995217李建民单片机在温度控制系统中的应用J江汉大学学报,199610218周向红,刘国繁51系列单片机应用于实践教程M北京北京航空航天大学出版社,200811820019占沙友智能化集成温度传感器原理及应用M机械工业出版社,2002343520赵健,吴顺伟基于单片机的温湿度测量系统的研发J电子技术,2008年09期23毕业设计24附录数字温度计程序清单/初始化子程序INDCLUEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTSBITP13P11UCHARDISBUF4UCHARCODETAB0XC0,0XF9,0XA4,0XBO,0X99,0X92,0X82,OXF8,0X80,0X90,0XFF,0XBFUCHARCO