1、 目录目录 1 设计概述 2 1.1 设计目标和要求 2 1.2 设计思路 2 2 系统方案及硬件设计 3 2.1 设计方案 3 2.2 方案的硬件总体方框图 3 2.3 温度传感器 DS18B20 测温原理 4 2.4 硬件设计 8 2.4.1 主控制器 ATmega16 . 8 2.4.2 复位电路 8 2.4.3 时钟振荡电8 2.4.4 报警点调节电路 9 2.4.5 显示电路. 10 3 软件设计 10 3.1 系统分析. 10 3.2 各子程序及其流程图设计 11 3.2.1 初始化子程序 11 3.2.2 DS1820 的读写字节子程序 12 3.2.3 温度读取及转换子程序 1
2、3 3.2.4 计算温度子程序. 14 3.2.5 温度显示子程序. 15 3.2.6 报警子程序. 16 4 proteus 软件仿真 18 4.1 系统仿真设计 18 4.2 仿真结果分析. 18 5 系统原理图 19 6 心得体会 20 - 1 - 1 1 设计设计概述概述 1.1 1.1 设计目标和要求设计目标和要求 1.用所学的单片机知识设计制作数字温度计; 2.测温范围是-20-70; 3.误差小于 0.5; 4.所测的温度值可以由 LCD 数码管直接显示; 5.可以任意设置上下限温度的报警功能; 6.进一步熟悉 proteus,protel,word 软件的功能和使用方法; 1.
3、2 1.2 设计思路设计思路 首先确定我们所设计的是一个数字温度计,由单片机、温度传感器以及其他 电路共同实现。 根据所要实现的功能,先在 proteus 软件上仿真。根据所选用的硬件可以将 整个软件设计分为若干子程序,有初始化、查询时间、发送指令、读取数据、显 示温度等构成, 可将以上子程序分别设计, 实现各自的功能, 再在子程序中调用, 就可以实现预期的目标。 在 proteus 软件里画出相应的电路图, 将编写好的程序的编译后的文件下载 到 proteus 电路图的单片机里,进行仿真,对温度传感器设置不同的参数,看是 否达到了我们设计所要求的目标,如果不符合要求,需要检查程序算法和硬件连
4、 接是否有误。若仿真成功,就按照电路图焊接硬件。 - 2 - 2 2 系统方案及硬件设计系统方案及硬件设计 2.1 2.1 设计方案设计方案 采用数字温度芯片DS18B20 测量温度,输出信号全数字化。采用了单总线的 数据传输,由数字温度计DS18B20和ATmega16单片机构成的温度测量装置,它直 接输出温度的数字信号,也可直接与计算机连接。采用ATmega16单片机控制,软 件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积 小, 硬件实现简单, 安装方便。 该系统利用ATmega16芯片控制温度传感器DS18B20 进行实时温度检测并显示,能够实现快速测量环境温度,
5、并可以根据需要设定上 下限温度。 该系统扩展性非常强。 该测温系统电路简单、 精确度较高、 实现方便、 软件设计也比较简单。 2.2 2.2 方案的硬方案的硬件总体方框图件总体方框图 基于增强的 AVR RISC 结构的低功耗 8 位 CMOS 微控制器A Tmega16,温度传感器 采用的 DS18B20,用四位数码管显示温度。 图 1 - 3 - 2.3 2.3 温度传感器温度传感器 DS18B20DS18B20 测温原理测温原理 DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能 温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且 可根
6、据实际要求通过简单的编程实现 9-12 位的数字值读数方式。DS18B20 的性 能特点如下: (1)独特的单线接口仅需要一个端口引脚进行通信,DS18B20在与微处理器 连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 (2)DS18B20 支持多点组网功能,多个 DS18B20 可以并联在惟一的三线上, 实现多点组网测温; (3)无须外部器件,全部传感元件及转换电路集成在形如一只三极管的集 成电路内; (4)可通过数据线供电,电压范围为 3.0-5.5; (5)零待机功耗; (6) 温度以9或12位数字, 对应的可分辨温度分别为0.5、 0.25、 0.125 和0.0625,可实现高精度测温; (7)用户可定义报警设置; (8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; (9)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正 常工作; (10)测量结果直接输出数字温度信号,以“一线总线“串行传送给CPU,同 时可传送CRC校验码,具有极强的抗干扰纠错能力 DS18B20 采用 3 脚 PR