数字温度计的设计


一、 任务与要求:
1.设计一款利用51单片机为控制器的数字温度计;

2.用专用集成温度传感器DS18B20作为数据采集传感器;

3.利用数码管显示当前温度值;

4.测量精度为0.1度,测量范围:0~99.9度;


二、 系统分析:
  本设计主要的任务是单片机软件的设计,而软件中的核心在于单片机与集成温度传感器DS18B20接口程序的设计,另外一点便是对数码管扫描显示的理解与运用。由于DS18B20集成了温度数据采集、模数转换于一体,因此外围电路非常简单。在进行软件设计前,须对该芯片反复研究,掌握其核心内容,其实程序在厂家提供的应用资料中也可以找到,关键是要对其工作过程的理解。对数码管扫描显示的程序设计,只要理解了其显示的工作原理,也不是可以掌握的。

制作重点:

★读取DS18B20的时序

由于对DS18B20传感器数据的读取有一定的时序要求,因此在编写软件时要特别注意,先反复读懂该器件的读、写时序,然后根据所选用的晶振计算出机器周期的时间,为了使计算简单,在设计时将晶振选用12M,因为51系列单片机一个机器周期正好是12个时钟周期,因此选用12M晶振时,一个机器周期正好是1微秒,这样计算时间比较方便。

★对读取数据的处理

从DS18B20芯片的资料中可以看出,其数据存储器的分配为:

存储数据与温度的对应关系见下表:

从以上的分析可以看出,温度值存储于两个字节单元中,温度与存储器的对应关系为:整个温度值由16位二进制数表示,最高的5位为符号为,为零时代表正的温度值,为“1”时,代表的是负温度值,真正表示温度的是后11位数据,最低的四位表示小数位,其中0单元的高四位和1单元的低四位组合正好形成测得的温度整数值,这样我们在对读取的数据在进行处理时,只需将0单元的高四位和1单元的低四位通过重新组合,形成一个新的8位数据,这个数据便是测得的温度数值,但这是个16进制的数据,要输出10进制数进行显示,要进行相应的转换操作,至于将16进制数转换成10进制数据的汇编程序,在许多单片机的教科书上都有例程介绍,这里不再详述。

★数码扫描输出的处理

为了节省单片机端口,输出显示采用扫描的方式进行。利用人眼对光的停留效应,通过电子开关的控制,节合显示数据的配合,完成三位数码管的扫描显示。

实物照片


特别申明:本站所载“电子电气类毕业设计专栏”内文章意在为广大电子类毕业生提供技术方案,需要做毕业设计的学生及老师可以作为参考,具体方案还得自己做时来定,现有不少学生向我们购买毕业设计元件及代做毕业设计,由于本公司是生产学生电子实习套件的厂家,技术人员精力有限,对无法批量进行生产的毕业设计,人力成本很高,因此对本栏内设计不提供套件,请网友注意!需要购买套件的请到本站“电子制作套件专栏”内选购,

查看邮购需知!            我要订货!

联系地址:

生产与研发:浙江省杭州市西湖区转塘科技园回龙路张家堡30号

市场直销:杭州市登云路639号杭州电子市场1楼CK003号(南大门进入后中间第2间)

联系人:张建平 先生

电话/传真:

0571-87649051(研发)

0571-89908336(市场)

0571-87649051(传真)

手机:13758273237  

QQ:153286663(技术研发) 33586393(技术支持) 83655724(市场)

EMAIL:zjp@oldzhang.com

zjpsh001@163.com