1、基于单片机的温度检测及计算器设计汇报人:杨业青 汇报时间:2017.01.17目录content软件设计1 13 3设计内容及目的单片机最小系统原理图总结与体会信息工程学院E2114 42 2设计内容及目的1利用DS18B20传感器设计一个温度检测系统,以实现实时检测环境温度的目的运用单片机最小系统设计一个简易计算器,实现四位数以内的整数的加减乘除运算 设计内容第一章节 设计内容及目的01020304熟练单片机的内部资源以及各个引脚的功能通过实践来增强动手能力通过写程序来提高自己的程序设计方法与步骤结合模数电知识以及相关的硬件知识整体把握设计内容第一章节 设计内容及目的 计算数码管 显示按键检
2、测扫描切换键计算器功能设计方法与步骤一. 简易计算器设计主体思想切换键的功能是实现计算器按键不足的问题按键检测扫描是根据切换键所处的不同状态,按下数字键后返回不同的值数码管显示的功能为显示按键输入的数值及运算的结果根据输入的数值和通过识别符号位来计算出结果信息工程学院E211 DS18B20直接将环境温度转化成数字信号,以数字码方式串行输出 数码管显示原理动态扫描原理:通过控制位选端和各段引脚送入数据,极大地节省了I/O口利用DS18B20温度传感器实现环境温度的检测把检测到的温度通过数码管显示出来二. 温度检测设计主体思想单片机最小系统原理图2一. 单片机最小系统硬件框图二. 单片机最小系统
3、原理图计算器设计温度检测设计温度检测设计计算器设计数码管控制部分:通过P0控制段码的送入,P3高四位控制位选,选通数码管DS18B20硬件电路按键检测部分检测P2口电平数码管控制部分:通过P0控制段码的送入,P3高四位控制位选,选通数码管1. 计算器及温度检测涉及的硬件电路模块0102032. DS18B20温度传感器DS18B20温度传感器特性典型的硬件连接方式DS18B20的使用方法信息工程学院E21101DS18B20温度传感器特性 数字化温度传感器DS18B20采用单总线协议,即与单片机接口仅需占用一个I/O口,无需任何外部元件,直接将模拟温度量转化为数字信号,并从单总线串行输出,从而
4、大大简化了传感器与微处理器的接口。主要特性: 适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数 据线供电 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温 DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内 温范围55+125,在-10+85时精度为0.5 可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温 在9位分辨率
5、时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在 750ms内把温度值转换为数字 测量结果直接输出数字温度信号,以一 线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力 负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。02典型的硬件连接方式要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由 于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠上拉电阻就无法提供足够的 能量,会造成无法转换温度或温度误差极大。在外部电源供电方式下,DS18B20工
6、作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证 转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。03DS18B20的使用方法工作时序:复位时序(1) 先将数据线置高电平“1”。(2) 延时(该时间要求的不是很严格,但是尽可能的短一点)(3) 数据线拉到低电平“0”。(4) 延时750微秒(该时间的时间范围可以从480到960微秒)。(5) 数据线拉到高电平“1”。(6) 延时等待(如果初始化成功则在15到60微秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,
7、不然会使程序进入死循环,所以要进行超时控制)。(7) 若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。(8) 将数据线再次拉高到高电平“1”后结束。写数据时序(1) 数据线先置低电平“0”。(2) 延时确定的时间为15微秒。(3) 按从低位到高位的顺序发送字节(一次只发送一位)。(4) 延时时间为45微秒。(5) 将数据线拉到高电平。(6) 重复上(1)到(5)的操作直到所有的字节全部发送完为止。(7) 最后将数据线拉高。读数据时序(1)将数据线拉高“1”。(2)延时2微秒。(3)将数据线拉低“0”。(4)延时6微秒。
8、(5)将数据线拉高“1”。(6)延时4微秒。(7)读数据线的状态得到1个状态位,并进行数据处理。(8)延时30微秒。(9)重复,直到读取完一个字节。DS18B20指令集:温度转换 44H 启动DS18B20进行温度转换读暂存器 BEH 读暂存器9字节二进制数字写暂存器 4EH 将数据写入暂存器的TH、TL字节复制暂存器 48H 把暂存器的TH、TL字节写到E2PROM中读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU读ROM 33H 读DS18B20温度传感器ROM中的编码(64位地址)匹配ROM 55H 发出64位ROM编码跳过ROM CCH 直接向18B20发温度
9、变换指令,适用于一个从机软件设计3一. 程序流程图开始DS18B20初始化读一位数据读一个字节写一个字节获取温度并转换读取寄存器中的温度数据显示结束1.温度显示程序设计2.计算器程序设计开始切换键是否按下?温度显示结合切换键和按键扫描函数返回不同的数值切换键所处的状态(dis)数据处理,键入数值数字键?符号键?第一个数清零,输入第二个运算数根据符号键计算出结果结束总结与体会4硬件电路程序设计的分块化总结与归纳硬件电路结合模数电知识,硬件知识的积累有益于提高硬件设计的能力 分块化分块化设计有利于把程序设计简化,更利于把握程序设计的主体思想总结学习到的知识要化为自己所用 总结与体会感谢聆听汇报人:杨业青 汇报时间:2017.01.17