1、基本要求:利用单片机AT89C51控制DS18B20温度传感器对水温的控制,当水温低于预设温度值时系统开始加热(点亮红色发光二极管表示加热状态),当温度达到预设温度值时自动停止加热。预设温度值和实测温度值分别由两个3位数码管显示,范围为099。主要参考资料:1李全利,单片机原理及接口技术M,高等教育出版社2王文杰,单片机应用技术M,冶金工业出版社3朱清慧,PROTEUS教程电子线路设计、制版与仿真M,清华大学出版社4单片机实验指导书,天煌教仪5彭伟,单片机C语言程序设计实训100例M,电子工业出版社【任务目的】了解DS18B20智能温度传感器的基本工作原理,掌握系统的软.硬件设计方法,熟悉PR
2、OTEUS仿真软件的使用。【任务描述】用DS18B20智能传感器作为检测元件;用LED数码管显示温度;用PROTEUS实现电路设计和程序设计,并进行实时交互仿真。功能要求与方案论证功能要求:测温范围:-50+110度,误差在0.5度以内。方案论证:按照系统设计功能的要求,确定系统有三个模块组成;主控器,测温点路及显示电路。数字温度计总体电路结构框图如图硬件设计一.主控制器:单片机AT89C2051具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用,系统可以用两节电池供电。二.显示电路:显示电路采用4位共阳极LED数码管,从P1口输出段码,列扫描用P
3、3.OP3.3口来实现,列驱动用PN4249三极管。三.DS18B20工作原理DALLAS半导体公司的数字化温度传感器是支持“一线总线”接口的温度传感器。一线总线独特且经济的特点,使用户可轻松的组建传感器网络,为测量温度范围为-55+125度,在-10+85度范围内,精度为0.5度。现场温度直接以“一线总线”的数字方式传输,明显提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如环境控制等。DS18B20的测温原理图如下:图中低温度系数晶振的振荡频率受到温度而影响很小,用于产生固定频率的脉冲信号送给减法计数器1:高温度系数晶振随温度变化其振荡频率明显变化,所产生的信号作为减法计数器2的脉冲输
4、入。当计数门打开时,DS18B20就对低温系数晶振产生的脉冲信号进行计数,进而完成温度测量。计数门的开启,时间由高温度系数晶振来决定,每次测量前,首先将-55度所对应的一个基数分别置入减法计数器上,温度寄存器中。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置值将重新装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行减法计数,如此循环看,直到减法计数器2计数到0时,停止温度寄存器值得累加,此时温度寄存器中的数值就是所测温度值。图中的斜率累加器用于补偿和修正测温过程中的非线形性,其输出用于修正减法计数器的预
5、置值,只要计数门仍未关闭就重复上述过程。直到温度寄存器达到被测温度值。另外,由于DS18B20单线通信功能是分时完成,她有严格的时隙概念,因此读写时序很重要,系统对于DS18B29的各种操作必按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。系统程序设计 系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等。主程序 主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1s进行一次。其程序流程图如图所示。读出子程序 读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率,时转换时间约为750ms。在本程序设计中采用1s显示程序延时法等待转换的完成。计算温度子程序 计算温度子程序将RAM中读取值进行BCD码
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1