文档详情

数字温度计设计PPT.ppt

发布:2018-01-09约2.68千字共17页下载文档
文本预览下载声明
数字温度计设计 设计概述 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89C51,测温传感器使用DS18B20,用两只4位共阴极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。 设计符合要求 基本范围-50℃-100℃ 精度误差为1℃ LED数码管直读显示,当温度为“负”,则显示负号。 当温度不在基本范围内时,蜂鸣器报警 键盘设置温度上下限 方案的总体设计框图 数字温度计的各个组成部分 一、主控制器 AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案 三、温度传感器 DS18B20温度传感器是美国DALLAS半导体公司推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。 1、DS18B20的性能特点如下: 独特的单线接口仅需要一个端口引脚进行通信; 多个DS18B20可以并联在惟一的三线上,实现多点组网功能; 无须外部器件; 可通过数据线供电,电压范围为3.0~5.5V; 零待机功耗; 温度以9或12位数字; 用户可定义报警设置; 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; 2、DS18B20详细引脚功能描述 见下表 3、通信过程 (1)主机拉低单总线至少480us产生复位脉冲; (2)主机释放单总线,进入接收模式,释放时产生上升沿; (3)单总线器件检测到上升沿,延时15-60us; (4)单总线器件通过拉低总线60-240us来产生应答脉冲; (5)主机接受应答信号,对从机ROM进行命令和功能命令操作; 所有读写时序至少60us,两个独立的时序间至少1us回复时间。 二、显示电路 显示电路采用两只4位共阴LED数码管和数码管的驱动芯片74LS373。 1、四位数码管 我们采用动态扫描显示 三、报警电路    P1.0输出的电平作为开关信号控制NPN型三极管的通断,来打开和关闭扬声器电路, 四、键盘输入上下限电路    本设计采用的是矩阵式键盘输入,p2.0-p2.3作为输入,p2.4-p2.7作为输出,CPU先通过键使列线输出为低电平,然后从输入口读出所以行线的状态。若行线状态都为高电平,则说明没有键按下,CPU通过输出口使列线从低位至高位逐位变低电平输出,每次均读入行线的状态,以确定那条列线为“0”状态,由行、列线的状态就可判断是哪一个键被按下 四、系统整体硬件电路 系统软件设计 系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序,键盘输入子程序,温度报警子程序。 1、主程序 主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值。 2、读出温度子程序 读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。 3、温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。 主程序流程图 读温度流程图温度 转换流程图 4 计算温度子程序 计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。 5 显示数据刷新子程序 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。 计算温度流程图
显示全部
相似文档