
[信息与通信]C51单片机数字温度计设计制作.ppt
41页数字式温度计设计与制作 单片机编程与实现C51单片机数字式温度计设计与制作 数字式温度计设计与制作 单片机编程与实现 第一部分 实际应用 温度是工农业生产中最常用的参数之一近年来,随着家用 电 器、日用装置的自动化、无公害、节能运动的日益发展,特别 是 微控制器的应用,对各类传感器的需求更是大量增加,在30多 种 常用物理量的测量传感器中,对温度传感器的需要量占首位, 大 约占50%左右 如果按传感器与被测介质的接触方式可分为两大类,一类是 接 触式温度传感器,一类是非接触式温度传感器接触式温度传 感 器的测温元件与被测对象要有良好的热接触,通过热传导及对 流 原理达到热平衡,这是温度计的是指极为被测对象的温度这 种 测温方法精度比较高,但对于运动的、热容量比较小的、或对 感 温元件有腐蚀作用的对象,这种方法将会产生很大误差非接 触 测温的测温原件与被测对象互不接触最常用的是根据辐射热 交 换原理制成的传感器数字式温度计设计与制作 单片机编程与实现第二部分 项目成果展示数字式温度计设计与制作 单片机编程与实现图6-1 数字温度计实物参考图数字式温度计设计与制作 单片机编程与实现 数字式温度计设计与制作 1.任务为某温室大棚设计一个数字式温度计, 以便当棚内温度变化时,能及时提醒工作人 员进行处理,保证温室温度变化在较小范围 。
2.要求 (1)能实现温度数据的采集与记录 (2)能实现各测量值的显示,精度为0.1℃ ,温度范围不超过±55℃ (3)能实现上下限报警数字式温度计设计与制作 单片机编程与实现 第三部分 基本功能设计数字式温度计设计与制作 单片机编程与实现具体功能如下: •温度检测:系统能够实时检测大棚温度,温度 分辨率为0.1℃,温度范围为-55℃~+55℃ •温度显示:系统能实时显示大棚温度值,显示 到小数点后一位在设置上、下限报警时,显 示上下限提醒标志 •温度报警:系统能够设置大棚温度范围,当棚 内温度超出设定范围时发生报警 •报警设置:系统能够设置上、下限报警温度值 ,设定精度为0.1℃ 数字式温度计设计与制作 单片机编程与实现知识要点:(1)DS18B20的使用;(2)蜂鸣器的使用数字式温度计设计与制作 单片机编程与实现第四部分 知识补充•知识一 数字温度传感器DS18B20的使用介 绍 •知识二 蜂鸣器的扩展 数字式温度计设计与制作 单片机编程与实现知识一 数字温度传感器DS18B20的使用介绍一、 DS18B20的外观及内部结 构DS18B20数字温度计 是DALLAS公司生产的1- Wire,即单总线器件,具有线路简单, 体 积小的特点。
因此用它来组成一 个 测温系统,具有线路简单,在一 根 通信线,可以挂很多这样的数字 温 度计,十分方便数字式温度计设计与制作 单片机编程与实现内部框图数字式温度计设计与制作 单片机编程与实现为了满足测温的灵活性 , 需要在不同的场合选择不同 的精度,通过对配置寄存器 (CONFIG)的编程即可实 现上述目的,CONFIG的格 式如图6-5所示其中R1、 R0决定温度转换的精度位 数,R1、R0与转换位数、 转换时间的关系如表6-1所 示,如果不对CONFIG编 程,表示默认12位转换精 度 数字式温度计设计与制作 单片机编程与实现DS18B20中的温度传感 器可完成对温度的测量,以 16位符号扩展的二进制补码 读数形式存储在高速缓存器 的第0、1字节单元单片机 可以通过单总线接口读到该 数据,读取时低位在前,高 位在后如果测得的温度大 于0,这5位为0,只要将测到 的数值乘于0.0625即可得到 实际温度;如果温度小于0, 这5位为1,测到的数值需要 取反加1再乘于0.0625即可 得到实际温度,不同温度与 数字输出的对应关系如表6-3 所示 温度值16进制输出 +125℃07D0H+85℃0550H+25.0625℃0191H+10.125℃00A2H+0.5℃0008H0℃0000H-0.5℃FFF8H-10.125℃FF5EH-10.125℃FF6FH-55℃FC90H数字式温度计设计与制作 单片机编程与实现DS18B20温度值格式数字式温度计设计与制作 单片机编程与实现2 2..DS18B20DS18B20的控制方法的控制方法DS18B20DS18B20与单片机的连接有两种方法:一种是与单片机的连接有两种方法:一种是VDDVDD接接 外部电源,外部电源,GNDGND接地,接地,DQDQ与单片机的与单片机的I/OI/O线相连;另一种线相连;另一种 是用寄生电源供电,此时是用寄生电源供电,此时VDDVDD、、GNDGND接地,接地,DQDQ接单片机接单片机 I/OI/O。
无论是内部寄生电源还是外部供电,无论是内部寄生电源还是外部供电,I/OI/O口线都要接口线都要接 5K5K左右的上拉电阻左右的上拉电阻 寄生 电源 供电 方式外部 电源 供电 方式数字式温度计设计与制作 单片机编程与实现根据DS18B20的通信协议,主机(单片机)控 制 DS18B20完成温度转换必须经过如下几个步骤: 每 一次读写之前都要对DS18B20进行初始化操作, 初 始化成功后执行一条对ROM的操作指令,然后进 行 存储器(包括SCRATCHPAD RAM和E2RAM)操作 指 令,使DS18B20完成温度测量并将结果存入高速 暂 存器,在此基础上,主机才能读出转换结果 DS18B20共有5条ROM操作命令(见表6-4)和6 条RAM操作命令(见表6-5)数字式温度计设计与制作 单片机编程与实现数字式温度计设计与制作 单片机编程与实现3.DS18B20的时序及编程DS18B20与单片机的通信是通过严格的时序来实现的,每次传送数据或命令都是由一系列的时序信号组成 的,共有三种基本时序:初始化时序;写0、1时序;读0、 1时序。
初始化时序如图6-6所示单片机先发一个复位脉 冲,保持低电平时间最少480us,最多不能超过960us 然 后,单片机释放总线,等待DS18B20的应答脉冲 DS18B20在接受到复位脉冲后等待15~60us才能发出应 答脉冲应答脉冲能保持60~240us单片机从发送完复 位脉冲到再次控制总线至少要等待480us 数字式温度计设计与制作 单片机编程与实现图6-6 DS18B20初始化时序数字式温度计设计与制作 单片机编程与实现初始化程序: void delay_us(uchar us)//s延时 {while(us--); } void reset() { dq=1; //dq复位 delay_us(1); //稍做延时 dq=0; //单片机将dq拉低 delay_us(80); //精确延时大于480s dq=1; //拉高总线 delay_us(8); flag=dq; //flag=0初始化成功,flag=1则初始化失败 delay_us(20); }数字式温度计设计与制作 单片机编程与实现DS18B20写时序DS18B20写数字式温度计设计与制作 单片机编程与实现DS18B20写void write_byte(uchar dat) //写一个位 { uchar i; bit onebit; for(i=1;i>1; if(onebit) {dq=0; _nop_(); _nop_(); dq=1; delay_us(5); }数字式温度计设计与制作 单片机编程与实现 DS18B20写else { dq=0; delay_us(8); dq=1; _nop_(); _nop_(); } } }数字式温度计设计与制作 单片机编程与实现DS18B20读DS18B20读时序数字式温度计设计与制作 单片机编程与实现DS18B20读bit read_bit() //读一个位 { bit dat; dq=0; _nop_(); dq=1; _nop_(); _nop_(); dat=dq; delay_us(10); return(dat); }数字式温度计设计与制作 单片机编程与实现DS18B20读uchar read_byte()//读一个字节 { uchar value,i,j; value=0; for(i=0;i>1); } return(value); }数字式温度计设计与制作 单片机编程与实现知识二 蜂鸣器的使用蜂鸣器是一种一体化结 构的电子讯响器,采用直流 电压供电。
广泛应用于计算 机、打印机、复印机、报警 器、电子玩具、汽车电子设 备、机、定时器等电子 产品中作发声器件按结构 的不同,蜂鸣器主要分为压 电式蜂鸣器和电磁式蜂鸣器 两种类型 数字式温度计设计与制作 单片机编程与实现 1.蜂鸣器的结构原理 •压电式蜂鸣器:压电式蜂鸣器主要由多谐 振荡器、压电蜂鸣片、阻抗匹配器及共鸣 箱、外壳等组成 •电磁式蜂鸣器:电磁式蜂鸣器由振荡器、 电磁线圈、磁铁、振动膜片及外壳等组成 接通电源后,振荡器产生的音频信号电 流通过电磁线圈,使电磁线圈产生磁场 振动膜片在电磁线圈和磁铁的相互作用下 ,周期性地振动发声数字式温度计设计与制作 单片机编程与实现 2.蜂鸣器驱动由于自激蜂 鸣器是直流电压 驱动的,不需要 利用交流信号进 行驱动,只需对 驱动口输出驱动 电平并通过三极 管放。
