1、数字温度计摘要:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。 关键词:单片机,数字控制,温度计, DS18B20,AT89S511 引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切 着数字 控制, 能 控制方 发展。本设计所
2、介绍的数字温度计 的温度计 比, 数方便, 温范围 , 温 ,其温度 数字 , 要 于对 温比较 的 所, 科研 , 设计控制 单片机AT89S51, 温 DS18B20, 3 LED数以 数, 现温度,能 currency1到以上要求。2 “设计方fi数字温度计设计方fl 2.1.1方一于本设计是 温,可以 之的 其 温”,在将随 温度 的 来,进,就可以 单片机进数的 ,在 上,就可以将 温度 来,种设计需要 到, 温比较 。fi 方 进 到 温度 ,在单片机设计中, 多 是 ,所以是 到的,所以可以 一 温度 fi , ,可以 温度,进,就可以 设计要求。从以上 种方, , 方,比较单,
3、设计也比较单, 方。方的“设计 温度计设计“设计方 1所 ,控制 单片机AT89S51,温度 DS18B20, 3 LED数以 数 现温度 。1 “设计方 控 制 LED温 度 单片机 时 报警 键 2.2.1 控制 单片机AT89S51 供和“ , 个 需要 个就能 的设计需要, 适合便携手持式产品的设计 可 节池供。2.2.2 3 LED数,从P3RXD,TXD 段。2.2.3温度 DS18B20温度 是美国DALLAS半导“公司最新推 的一种改进型 能温度 , 的 温元 比,它能 温度,并且可根 际要求通单的编程 现 的数字 数方式。DS18B20的性能 下:独 的单线仅需要一个 引脚进
4、通信;多个DS18B20可以并联在惟一的三线上, 现多 组网功能;无须外部 ;可通数线供, 范围为3.05.5;零待机功耗;温度以 数字; 户可定义报警设置;报警搜索命令识别并标志超程序限定温度(温度报警条)的 ;负 性,源性反时,温度计不会因发烧毁,但不能正 工作; DS18B20 脚PR35封装 脚SOIC封装,其内部结构 2所 。2 DS18B20内部结构64 ROM的结构开始 是产品型的编号,着是每个 的惟一的序号, 48 ,最 是前面56 的CRC检 ,也是多个DS18B20可以 一线进通信的原因。温度报警触发 和,可通写入户报警上下限。DS18B20温度 的内部存储 还包括一个高速
5、暂存和一个 失性的可擦除的EERAM。高速暂存RAM的结构为字节的存储 ,结构 3所 。头个字节包含 得的温度信息,第和第字节和的拷贝,是 失的,每次上 时刷新。第个字节,为配置寄存 ,它的内 于 定温度的数字分辨率。DS18B20工作时寄存 中的分辨率为 精度的温度数。 字节各 的定义 3所 。 一 为,是工作模式 , 于设置DS18B20在工作模式还是在 试模式,DS18B20 时 设置为 , 户要 改 ,R1和0 定温度的精度 数,来设置分辨率。2I/OC64 ROM和单线高速存存储 控制 温度 高温触发 TH温触发 TL配置寄存 8 CRC发生 Vddfi fi fi fi fi fi
6、.3 DS18B20字节定义 1可 ,DS18B20温度的时 比较 ,且分辨率越高,所需要的温度数时 越 。因 ,在 际 中要将分辨率和时 。高速暂存的第 、 、字节 , 现为 。第字节 前面所 字节的CRC,可 来检 数,从 通信数的正 性。当DS18B20 到温度命令,开始 。 成的温度就以16 带 号 展的进制 式存储在高速暂存存储 的第、字节。单片机可以通单线 数,数时 在 ,高 在,数 式以0.062 式 。当 号 时, 得的温度为正,可以 将进制 为进制;当 号 时, 得的温度为负,要 将 成原,计currency1进制数。 是一部分温度对的进制温度数。fi fi 温度时 fifi
7、fifififi fififi分辨率 温度最 时 “ fi . fi 成温度,就fi 得的温度 中的 fl、 字节内 作比较。 fl ,将 内的报警标志 置 ,并对 机发 的报警搜索命令作 。因 ,可 多 fi 时 温度并进报警搜索。在 的最高 ”字节中存储 ”检 ( )。 机 的前 来计currency1 ,并和存入 fi 的 作比较,以断 机 到的 数是否正 。 fi 的 温原是 的 中温度 数 的 率温度的 , 于产生定率的信号给 计数 ;高温度 数 随温度 其 率 改,所产生的信号作为 计数 的 入。 中还 一个计数 ,当计数 开时, fi 就对温度 数 产生的时进计数进 成温度 。计
8、数 的开 时 高温度 数来 定,每次 前, 将 所对的一个基数分别置入 计数 、温度寄存 中,计数 和温度寄存 置在 所对的一个基数。计数 对温度 数 产生的信号进 计数,当 计数 的置 到时,温度寄存 的将, 计数 的置将 新装入, 计数 新开始对温度 数 产生的信号进计数, ” 到 计数 计数到 时, 温度寄存 的 温度 LSB温度 MSBTH 户字节1TL 户字节2配置寄存 CRC3, 时温度寄存 中的数就是所 温度。其 于 正 计数 的置, 要计数 关 就 上 程, 到温度寄存 温度。 一部分温度对 温度 进制 进制 fi fififi fifi fi flfi fi fi fi fl
9、 fi fi fi fififlfi fi fi fi fi fl fi flfi fl fifififi fifififi fifififi flfi fi fifififi fifififi fi fi fififi fl fifififi fififi fifi fifififi flfifififi fifi fi fi fl外,于 fi 单线通信功能是分时 成的,它 的时 ,因 写时序 要。对 fi 的各种 作 进。 作 为: fi (发 )发 功能命令发存储 作命令 数。DS18B20 DS18B20 DS18B204.7K 单片机.4 DS18B20 单片机的 fi 温度 单片机
10、的 fi 可以 种方式供,一种是 源供方式, 时 fi 的fi脚 ,脚作为信号线,脚源。 一种是寄生源供方式, 所 单片机 单线线,为 在 ”的 fi 时 内提供 的,可 一个 来 成对线的上 。当 fi 于写存储 作和温度 作时,线上须 的上 ,上 开 时 最 为fi 。 寄生源供方式时 。于单线制 一根线,因 发须是三的。 “fi “包括, 数 ,温度 ,上下限报警 ,单片机, 所 。中 三个独 式键可以分别 温度计的上下限报警设置, 中 可以在 温度4不在上下限范围内时,发 报警 , 时 数将 温度 ,时可以 报警上下限,从 的温度。中的 是上 手 , 比较方便,在程序 飞时,可以手 ,
11、 就不 在 起单片机源,就可以 现 。 是 的 ,种 最 的优 就是 资源比较少, p的 X和 X的发和 , 数 fi右移寄存 驱 , 比较清晰。5 单片机 6 温度 3 currency1分析程序 要包括 程序, 温度子程序,温度命令子程序,计currency1温度子程序, 数刷新子程序。5发DS18B20 命令发跳ROM命令发温度开始命令结束3.1 程序程序的 要功能是负责温度的 时 、 并 fi 的 的当前温度,温度 每fi进一次。 可以在一秒之内 一次 温度,其程序程 所 。7 程序程 8 温度程 温度子程序温度子程序的 要功能是 中的字节,在 时需进 校 ,校 错时不进温度数的改写。
12、其程序程 9 温度程 6始 子程序1S到?次上温度温度计currency1 数刷新发温度开始命令NYNYY发DS18B20 命令发跳ROM命令发 温度命令作,CRC校 9字节?CRC校 正? ?移入温度暂存 结束 NNY3.3温度命令子程序温度命令子程序 要是发温度开始命令,当 fi 分辨率时时 约为 “,在本程序设计中 fi 程序延时待的 成。温度命令子程序程 上, 所 3.4 计currency1温度子程序计currency1温度子程序将 中 进 的运currency1,并进温度正负的定,其程序程 fi 所 。10 计currency1温度程 11 数刷新程 3.5 数刷新子程序数刷新子程
13、序 要是对 中的 数进刷新 作,当最高 为0时将号 移入下一 。程序程 11。结 “会经将近三 的单片机课程设计,终于 成我的数字温度计的设计,虽然 currency1到设计要求,但从心底里说,还是高兴的,毕竟次设计fi 物 做 来,高兴之不得不深思呀!在本次设计的程中,我发现 多的问题,虽然以前还做 的设计但次设计真的让我 进 多,单片机课程设计 就在于currency1的设计,需要 巧妙的程序currency1,虽然以前写几次程序,但我觉的写好一个程序并不是一单的事,举个例子,以前写的那几次,数 时,我 的 是BCD,一次,我 部 的 是16进制的数 , 时在 除 删分,觉”果比较好, 好
14、多的东西, 我们 试着做,才能真正的掌握, 学习fl 些东西是难解的,更谈不上掌握。从次的课程设计中,我真真正正的意识到,在以的学习中,要fl联 际,fi我们所学的fl知识 到 际当中,学习单机片机更是 ,程序 在经 的写 的程中才能提高,就是我在次课程设计中的最 获。参文献fi 李朝青单片机原及技术( 订版)杭州:北京航空航天 学 版社,fi 7开始温度零下?温度 置“”标志计currency1数 温度BCD 计currency1 数 温度BCD 结束置“+”标志NY温度数移入 寄存 数0?百 数0? 数 号百数不 百 数 数(不 号)结束NNYY 李 弟单片机基础北京:北京航空航天 学 版社,fi 阎石数字子技术基础(第三版) 北京:高教育 版社,fi 廖 现 线 J工技术,fi8