基于 89C51 单片机的数字温度计设计1 引言本次课程设计的目的是设计一种数字温度计,在设计方法要遵循模块化的设计方法,该数字温度计主要应用于环境的温度检测,所以需要以下几点要求:(1)测量的温度的范围不宜过大,保证同时能够测量零上温度和零下温度。(2)误差应当小于物理温度计由于观察造成的误差。(3)该温度计的数字界面要友好直观在温度计出现错误时要能够报错。2 设计方案及原理说明2.1 设计方案本次可程设计的课题是数字温度计,我们的重点是温度的采集即测温电路。由此可以得到以下两个方案:方案一:通过利用热敏电阻的感温效应,将随被测温度变化的电压或电流采集过来,进行 A/D 转换后,用单片机对其进行温度处理,在显示元件上显示。优点:所用的电子元件容易得到,单片机处理程序简单。缺点:电路过于复杂,精度较差,容易受到外界环境的影响。方案二:使用 DS18B20 传感器。该传感器可以测量-55℃至 125℃范围内的温度值,将采集的温度数据转换成 16 位二进制数,由单片机负责计算转换成相应温度值,并且通过显示元件上显示。优点;精度较高,电路设计较为简单,用到的电子元件较少。缺点:对与软件的要求比较高。综上,选择方案二更为合理。2.2 设计原理有上述方案,我们可以将本次课程设计分为硬件设计和软件设计两部分。其中硬件电路又分为 DS18B20 传感器检测电路、1602LCD 显示电路、包含复位电路及内部时钟电路的单片机控制电路。软件设计通过使用 C 语言编程,利用Keil Uvision3 对其进行编译并通过单片机开发板进行仿真。该系统总的来说有三大模块构成,分别是传感器模块、显示模块以及单片机模块。其组成原理是这样的,单片机写入读取和控制传感器的命令,使DS18B20 采集温度数据并将其传输到单片机后单片机负责把接收到的数字量经过数据的进制转换和相应的计算,并且将其送入到显示屏显示。为了能够显示信息,单片机还通过自行编写的程序来控制写入地址,写入数据及显示命令来达到在 1602LCD 显示屏上显示温度传感器检测到的温度的功能。设计框图如下图1 所示。图 1 数字温度计设计框图3 数字温度计硬件电路设计3.1 数字温度计设计芯片选择本次课程设计用到了 89C51 单片机、DS18B20 温度传感器和 1602LCD 屏。3.2 数字温度计硬件连接方法及原理该系统连接方法如下 1602LCD 的 DB 口是双向的数据线与单片机 P0 口连接,用单片机 P 2.1,P2.2 ,P2.3 来分别与 1602LC...